1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package lightsail
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAllocateStaticIp = "AllocateStaticIp"
17
18// AllocateStaticIpRequest generates a "aws/request.Request" representing the
19// client's request for the AllocateStaticIp operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AllocateStaticIp for more information on using the AllocateStaticIp
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AllocateStaticIpRequest method.
34//    req, resp := client.AllocateStaticIpRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
42func (c *Lightsail) AllocateStaticIpRequest(input *AllocateStaticIpInput) (req *request.Request, output *AllocateStaticIpOutput) {
43	op := &request.Operation{
44		Name:       opAllocateStaticIp,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AllocateStaticIpInput{}
51	}
52
53	output = &AllocateStaticIpOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AllocateStaticIp API operation for Amazon Lightsail.
59//
60// Allocates a static IP address.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon Lightsail's
67// API operation AllocateStaticIp for usage and error information.
68//
69// Returned Error Types:
70//   * ServiceException
71//   A general service exception.
72//
73//   * InvalidInputException
74//   Lightsail throws this exception when user input does not conform to the validation
75//   rules of an input field.
76//
77//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
78//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
79//   view, or edit these resources.
80//
81//   * NotFoundException
82//   Lightsail throws this exception when it cannot find a resource.
83//
84//   * OperationFailureException
85//   Lightsail throws this exception when an operation fails to execute.
86//
87//   * AccessDeniedException
88//   Lightsail throws this exception when the user cannot be authenticated or
89//   uses invalid credentials to access a resource.
90//
91//   * AccountSetupInProgressException
92//   Lightsail throws this exception when an account is still in the setup in
93//   progress state.
94//
95//   * UnauthenticatedException
96//   Lightsail throws this exception when the user has not been authenticated.
97//
98// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
99func (c *Lightsail) AllocateStaticIp(input *AllocateStaticIpInput) (*AllocateStaticIpOutput, error) {
100	req, out := c.AllocateStaticIpRequest(input)
101	return out, req.Send()
102}
103
104// AllocateStaticIpWithContext is the same as AllocateStaticIp with the addition of
105// the ability to pass a context and additional request options.
106//
107// See AllocateStaticIp for details on how to use this API operation.
108//
109// The context must be non-nil and will be used for request cancellation. If
110// the context is nil a panic will occur. In the future the SDK may create
111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
112// for more information on using Contexts.
113func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *AllocateStaticIpInput, opts ...request.Option) (*AllocateStaticIpOutput, error) {
114	req, out := c.AllocateStaticIpRequest(input)
115	req.SetContext(ctx)
116	req.ApplyOptions(opts...)
117	return out, req.Send()
118}
119
120const opAttachCertificateToDistribution = "AttachCertificateToDistribution"
121
122// AttachCertificateToDistributionRequest generates a "aws/request.Request" representing the
123// client's request for the AttachCertificateToDistribution operation. The "output" return
124// value will be populated with the request's response once the request completes
125// successfully.
126//
127// Use "Send" method on the returned Request to send the API call to the service.
128// the "output" return value is not valid until after Send returns without error.
129//
130// See AttachCertificateToDistribution for more information on using the AttachCertificateToDistribution
131// API call, and error handling.
132//
133// This method is useful when you want to inject custom logic or configuration
134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
135//
136//
137//    // Example sending a request using the AttachCertificateToDistributionRequest method.
138//    req, resp := client.AttachCertificateToDistributionRequest(params)
139//
140//    err := req.Send()
141//    if err == nil { // resp is now filled
142//        fmt.Println(resp)
143//    }
144//
145// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
146func (c *Lightsail) AttachCertificateToDistributionRequest(input *AttachCertificateToDistributionInput) (req *request.Request, output *AttachCertificateToDistributionOutput) {
147	op := &request.Operation{
148		Name:       opAttachCertificateToDistribution,
149		HTTPMethod: "POST",
150		HTTPPath:   "/",
151	}
152
153	if input == nil {
154		input = &AttachCertificateToDistributionInput{}
155	}
156
157	output = &AttachCertificateToDistributionOutput{}
158	req = c.newRequest(op, input, output)
159	return
160}
161
162// AttachCertificateToDistribution API operation for Amazon Lightsail.
163//
164// Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery
165// network (CDN) distribution.
166//
167// After the certificate is attached, your distribution accepts HTTPS traffic
168// for all of the domains that are associated with the certificate.
169//
170// Use the CreateCertificate action to create a certificate that you can attach
171// to your distribution.
172//
173// Only certificates created in the us-east-1 AWS Region can be attached to
174// Lightsail distributions. Lightsail distributions are global resources that
175// can reference an origin in any AWS Region, and distribute its content globally.
176// However, all distributions are located in the us-east-1 Region.
177//
178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
179// with awserr.Error's Code and Message methods to get detailed information about
180// the error.
181//
182// See the AWS API reference guide for Amazon Lightsail's
183// API operation AttachCertificateToDistribution for usage and error information.
184//
185// Returned Error Types:
186//   * ServiceException
187//   A general service exception.
188//
189//   * InvalidInputException
190//   Lightsail throws this exception when user input does not conform to the validation
191//   rules of an input field.
192//
193//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
194//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
195//   view, or edit these resources.
196//
197//   * NotFoundException
198//   Lightsail throws this exception when it cannot find a resource.
199//
200//   * OperationFailureException
201//   Lightsail throws this exception when an operation fails to execute.
202//
203//   * AccessDeniedException
204//   Lightsail throws this exception when the user cannot be authenticated or
205//   uses invalid credentials to access a resource.
206//
207//   * UnauthenticatedException
208//   Lightsail throws this exception when the user has not been authenticated.
209//
210// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
211func (c *Lightsail) AttachCertificateToDistribution(input *AttachCertificateToDistributionInput) (*AttachCertificateToDistributionOutput, error) {
212	req, out := c.AttachCertificateToDistributionRequest(input)
213	return out, req.Send()
214}
215
216// AttachCertificateToDistributionWithContext is the same as AttachCertificateToDistribution with the addition of
217// the ability to pass a context and additional request options.
218//
219// See AttachCertificateToDistribution for details on how to use this API operation.
220//
221// The context must be non-nil and will be used for request cancellation. If
222// the context is nil a panic will occur. In the future the SDK may create
223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
224// for more information on using Contexts.
225func (c *Lightsail) AttachCertificateToDistributionWithContext(ctx aws.Context, input *AttachCertificateToDistributionInput, opts ...request.Option) (*AttachCertificateToDistributionOutput, error) {
226	req, out := c.AttachCertificateToDistributionRequest(input)
227	req.SetContext(ctx)
228	req.ApplyOptions(opts...)
229	return out, req.Send()
230}
231
232const opAttachDisk = "AttachDisk"
233
234// AttachDiskRequest generates a "aws/request.Request" representing the
235// client's request for the AttachDisk operation. The "output" return
236// value will be populated with the request's response once the request completes
237// successfully.
238//
239// Use "Send" method on the returned Request to send the API call to the service.
240// the "output" return value is not valid until after Send returns without error.
241//
242// See AttachDisk for more information on using the AttachDisk
243// API call, and error handling.
244//
245// This method is useful when you want to inject custom logic or configuration
246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
247//
248//
249//    // Example sending a request using the AttachDiskRequest method.
250//    req, resp := client.AttachDiskRequest(params)
251//
252//    err := req.Send()
253//    if err == nil { // resp is now filled
254//        fmt.Println(resp)
255//    }
256//
257// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
258func (c *Lightsail) AttachDiskRequest(input *AttachDiskInput) (req *request.Request, output *AttachDiskOutput) {
259	op := &request.Operation{
260		Name:       opAttachDisk,
261		HTTPMethod: "POST",
262		HTTPPath:   "/",
263	}
264
265	if input == nil {
266		input = &AttachDiskInput{}
267	}
268
269	output = &AttachDiskOutput{}
270	req = c.newRequest(op, input, output)
271	return
272}
273
274// AttachDisk API operation for Amazon Lightsail.
275//
276// Attaches a block storage disk to a running or stopped Lightsail instance
277// and exposes it to the instance with the specified disk name.
278//
279// The attach disk operation supports tag-based access control via resource
280// tags applied to the resource identified by disk name. For more information,
281// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
282//
283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
284// with awserr.Error's Code and Message methods to get detailed information about
285// the error.
286//
287// See the AWS API reference guide for Amazon Lightsail's
288// API operation AttachDisk for usage and error information.
289//
290// Returned Error Types:
291//   * ServiceException
292//   A general service exception.
293//
294//   * InvalidInputException
295//   Lightsail throws this exception when user input does not conform to the validation
296//   rules of an input field.
297//
298//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
299//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
300//   view, or edit these resources.
301//
302//   * NotFoundException
303//   Lightsail throws this exception when it cannot find a resource.
304//
305//   * OperationFailureException
306//   Lightsail throws this exception when an operation fails to execute.
307//
308//   * AccessDeniedException
309//   Lightsail throws this exception when the user cannot be authenticated or
310//   uses invalid credentials to access a resource.
311//
312//   * AccountSetupInProgressException
313//   Lightsail throws this exception when an account is still in the setup in
314//   progress state.
315//
316//   * UnauthenticatedException
317//   Lightsail throws this exception when the user has not been authenticated.
318//
319// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
320func (c *Lightsail) AttachDisk(input *AttachDiskInput) (*AttachDiskOutput, error) {
321	req, out := c.AttachDiskRequest(input)
322	return out, req.Send()
323}
324
325// AttachDiskWithContext is the same as AttachDisk with the addition of
326// the ability to pass a context and additional request options.
327//
328// See AttachDisk for details on how to use this API operation.
329//
330// The context must be non-nil and will be used for request cancellation. If
331// the context is nil a panic will occur. In the future the SDK may create
332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
333// for more information on using Contexts.
334func (c *Lightsail) AttachDiskWithContext(ctx aws.Context, input *AttachDiskInput, opts ...request.Option) (*AttachDiskOutput, error) {
335	req, out := c.AttachDiskRequest(input)
336	req.SetContext(ctx)
337	req.ApplyOptions(opts...)
338	return out, req.Send()
339}
340
341const opAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
342
343// AttachInstancesToLoadBalancerRequest generates a "aws/request.Request" representing the
344// client's request for the AttachInstancesToLoadBalancer operation. The "output" return
345// value will be populated with the request's response once the request completes
346// successfully.
347//
348// Use "Send" method on the returned Request to send the API call to the service.
349// the "output" return value is not valid until after Send returns without error.
350//
351// See AttachInstancesToLoadBalancer for more information on using the AttachInstancesToLoadBalancer
352// API call, and error handling.
353//
354// This method is useful when you want to inject custom logic or configuration
355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
356//
357//
358//    // Example sending a request using the AttachInstancesToLoadBalancerRequest method.
359//    req, resp := client.AttachInstancesToLoadBalancerRequest(params)
360//
361//    err := req.Send()
362//    if err == nil { // resp is now filled
363//        fmt.Println(resp)
364//    }
365//
366// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
367func (c *Lightsail) AttachInstancesToLoadBalancerRequest(input *AttachInstancesToLoadBalancerInput) (req *request.Request, output *AttachInstancesToLoadBalancerOutput) {
368	op := &request.Operation{
369		Name:       opAttachInstancesToLoadBalancer,
370		HTTPMethod: "POST",
371		HTTPPath:   "/",
372	}
373
374	if input == nil {
375		input = &AttachInstancesToLoadBalancerInput{}
376	}
377
378	output = &AttachInstancesToLoadBalancerOutput{}
379	req = c.newRequest(op, input, output)
380	return
381}
382
383// AttachInstancesToLoadBalancer API operation for Amazon Lightsail.
384//
385// Attaches one or more Lightsail instances to a load balancer.
386//
387// After some time, the instances are attached to the load balancer and the
388// health check status is available.
389//
390// The attach instances to load balancer operation supports tag-based access
391// control via resource tags applied to the resource identified by load balancer
392// name. For more information, see the Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
393//
394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
395// with awserr.Error's Code and Message methods to get detailed information about
396// the error.
397//
398// See the AWS API reference guide for Amazon Lightsail's
399// API operation AttachInstancesToLoadBalancer for usage and error information.
400//
401// Returned Error Types:
402//   * ServiceException
403//   A general service exception.
404//
405//   * InvalidInputException
406//   Lightsail throws this exception when user input does not conform to the validation
407//   rules of an input field.
408//
409//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
410//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
411//   view, or edit these resources.
412//
413//   * NotFoundException
414//   Lightsail throws this exception when it cannot find a resource.
415//
416//   * OperationFailureException
417//   Lightsail throws this exception when an operation fails to execute.
418//
419//   * AccessDeniedException
420//   Lightsail throws this exception when the user cannot be authenticated or
421//   uses invalid credentials to access a resource.
422//
423//   * AccountSetupInProgressException
424//   Lightsail throws this exception when an account is still in the setup in
425//   progress state.
426//
427//   * UnauthenticatedException
428//   Lightsail throws this exception when the user has not been authenticated.
429//
430// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
431func (c *Lightsail) AttachInstancesToLoadBalancer(input *AttachInstancesToLoadBalancerInput) (*AttachInstancesToLoadBalancerOutput, error) {
432	req, out := c.AttachInstancesToLoadBalancerRequest(input)
433	return out, req.Send()
434}
435
436// AttachInstancesToLoadBalancerWithContext is the same as AttachInstancesToLoadBalancer with the addition of
437// the ability to pass a context and additional request options.
438//
439// See AttachInstancesToLoadBalancer for details on how to use this API operation.
440//
441// The context must be non-nil and will be used for request cancellation. If
442// the context is nil a panic will occur. In the future the SDK may create
443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
444// for more information on using Contexts.
445func (c *Lightsail) AttachInstancesToLoadBalancerWithContext(ctx aws.Context, input *AttachInstancesToLoadBalancerInput, opts ...request.Option) (*AttachInstancesToLoadBalancerOutput, error) {
446	req, out := c.AttachInstancesToLoadBalancerRequest(input)
447	req.SetContext(ctx)
448	req.ApplyOptions(opts...)
449	return out, req.Send()
450}
451
452const opAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
453
454// AttachLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
455// client's request for the AttachLoadBalancerTlsCertificate operation. The "output" return
456// value will be populated with the request's response once the request completes
457// successfully.
458//
459// Use "Send" method on the returned Request to send the API call to the service.
460// the "output" return value is not valid until after Send returns without error.
461//
462// See AttachLoadBalancerTlsCertificate for more information on using the AttachLoadBalancerTlsCertificate
463// API call, and error handling.
464//
465// This method is useful when you want to inject custom logic or configuration
466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
467//
468//
469//    // Example sending a request using the AttachLoadBalancerTlsCertificateRequest method.
470//    req, resp := client.AttachLoadBalancerTlsCertificateRequest(params)
471//
472//    err := req.Send()
473//    if err == nil { // resp is now filled
474//        fmt.Println(resp)
475//    }
476//
477// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
478func (c *Lightsail) AttachLoadBalancerTlsCertificateRequest(input *AttachLoadBalancerTlsCertificateInput) (req *request.Request, output *AttachLoadBalancerTlsCertificateOutput) {
479	op := &request.Operation{
480		Name:       opAttachLoadBalancerTlsCertificate,
481		HTTPMethod: "POST",
482		HTTPPath:   "/",
483	}
484
485	if input == nil {
486		input = &AttachLoadBalancerTlsCertificateInput{}
487	}
488
489	output = &AttachLoadBalancerTlsCertificateOutput{}
490	req = c.newRequest(op, input, output)
491	return
492}
493
494// AttachLoadBalancerTlsCertificate API operation for Amazon Lightsail.
495//
496// Attaches a Transport Layer Security (TLS) certificate to your load balancer.
497// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
498//
499// Once you create and validate your certificate, you can attach it to your
500// load balancer. You can also use this API to rotate the certificates on your
501// account. Use the AttachLoadBalancerTlsCertificate action with the non-attached
502// certificate, and it will replace the existing one and become the attached
503// certificate.
504//
505// The AttachLoadBalancerTlsCertificate operation supports tag-based access
506// control via resource tags applied to the resource identified by load balancer
507// name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
508//
509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
510// with awserr.Error's Code and Message methods to get detailed information about
511// the error.
512//
513// See the AWS API reference guide for Amazon Lightsail's
514// API operation AttachLoadBalancerTlsCertificate for usage and error information.
515//
516// Returned Error Types:
517//   * ServiceException
518//   A general service exception.
519//
520//   * InvalidInputException
521//   Lightsail throws this exception when user input does not conform to the validation
522//   rules of an input field.
523//
524//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
525//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
526//   view, or edit these resources.
527//
528//   * NotFoundException
529//   Lightsail throws this exception when it cannot find a resource.
530//
531//   * OperationFailureException
532//   Lightsail throws this exception when an operation fails to execute.
533//
534//   * AccessDeniedException
535//   Lightsail throws this exception when the user cannot be authenticated or
536//   uses invalid credentials to access a resource.
537//
538//   * AccountSetupInProgressException
539//   Lightsail throws this exception when an account is still in the setup in
540//   progress state.
541//
542//   * UnauthenticatedException
543//   Lightsail throws this exception when the user has not been authenticated.
544//
545// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
546func (c *Lightsail) AttachLoadBalancerTlsCertificate(input *AttachLoadBalancerTlsCertificateInput) (*AttachLoadBalancerTlsCertificateOutput, error) {
547	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
548	return out, req.Send()
549}
550
551// AttachLoadBalancerTlsCertificateWithContext is the same as AttachLoadBalancerTlsCertificate with the addition of
552// the ability to pass a context and additional request options.
553//
554// See AttachLoadBalancerTlsCertificate for details on how to use this API operation.
555//
556// The context must be non-nil and will be used for request cancellation. If
557// the context is nil a panic will occur. In the future the SDK may create
558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
559// for more information on using Contexts.
560func (c *Lightsail) AttachLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *AttachLoadBalancerTlsCertificateInput, opts ...request.Option) (*AttachLoadBalancerTlsCertificateOutput, error) {
561	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
562	req.SetContext(ctx)
563	req.ApplyOptions(opts...)
564	return out, req.Send()
565}
566
567const opAttachStaticIp = "AttachStaticIp"
568
569// AttachStaticIpRequest generates a "aws/request.Request" representing the
570// client's request for the AttachStaticIp operation. The "output" return
571// value will be populated with the request's response once the request completes
572// successfully.
573//
574// Use "Send" method on the returned Request to send the API call to the service.
575// the "output" return value is not valid until after Send returns without error.
576//
577// See AttachStaticIp for more information on using the AttachStaticIp
578// API call, and error handling.
579//
580// This method is useful when you want to inject custom logic or configuration
581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
582//
583//
584//    // Example sending a request using the AttachStaticIpRequest method.
585//    req, resp := client.AttachStaticIpRequest(params)
586//
587//    err := req.Send()
588//    if err == nil { // resp is now filled
589//        fmt.Println(resp)
590//    }
591//
592// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
593func (c *Lightsail) AttachStaticIpRequest(input *AttachStaticIpInput) (req *request.Request, output *AttachStaticIpOutput) {
594	op := &request.Operation{
595		Name:       opAttachStaticIp,
596		HTTPMethod: "POST",
597		HTTPPath:   "/",
598	}
599
600	if input == nil {
601		input = &AttachStaticIpInput{}
602	}
603
604	output = &AttachStaticIpOutput{}
605	req = c.newRequest(op, input, output)
606	return
607}
608
609// AttachStaticIp API operation for Amazon Lightsail.
610//
611// Attaches a static IP address to a specific Amazon Lightsail instance.
612//
613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
614// with awserr.Error's Code and Message methods to get detailed information about
615// the error.
616//
617// See the AWS API reference guide for Amazon Lightsail's
618// API operation AttachStaticIp for usage and error information.
619//
620// Returned Error Types:
621//   * ServiceException
622//   A general service exception.
623//
624//   * InvalidInputException
625//   Lightsail throws this exception when user input does not conform to the validation
626//   rules of an input field.
627//
628//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
629//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
630//   view, or edit these resources.
631//
632//   * NotFoundException
633//   Lightsail throws this exception when it cannot find a resource.
634//
635//   * OperationFailureException
636//   Lightsail throws this exception when an operation fails to execute.
637//
638//   * AccessDeniedException
639//   Lightsail throws this exception when the user cannot be authenticated or
640//   uses invalid credentials to access a resource.
641//
642//   * AccountSetupInProgressException
643//   Lightsail throws this exception when an account is still in the setup in
644//   progress state.
645//
646//   * UnauthenticatedException
647//   Lightsail throws this exception when the user has not been authenticated.
648//
649// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
650func (c *Lightsail) AttachStaticIp(input *AttachStaticIpInput) (*AttachStaticIpOutput, error) {
651	req, out := c.AttachStaticIpRequest(input)
652	return out, req.Send()
653}
654
655// AttachStaticIpWithContext is the same as AttachStaticIp with the addition of
656// the ability to pass a context and additional request options.
657//
658// See AttachStaticIp for details on how to use this API operation.
659//
660// The context must be non-nil and will be used for request cancellation. If
661// the context is nil a panic will occur. In the future the SDK may create
662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
663// for more information on using Contexts.
664func (c *Lightsail) AttachStaticIpWithContext(ctx aws.Context, input *AttachStaticIpInput, opts ...request.Option) (*AttachStaticIpOutput, error) {
665	req, out := c.AttachStaticIpRequest(input)
666	req.SetContext(ctx)
667	req.ApplyOptions(opts...)
668	return out, req.Send()
669}
670
671const opCloseInstancePublicPorts = "CloseInstancePublicPorts"
672
673// CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the
674// client's request for the CloseInstancePublicPorts operation. The "output" return
675// value will be populated with the request's response once the request completes
676// successfully.
677//
678// Use "Send" method on the returned Request to send the API call to the service.
679// the "output" return value is not valid until after Send returns without error.
680//
681// See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts
682// API call, and error handling.
683//
684// This method is useful when you want to inject custom logic or configuration
685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
686//
687//
688//    // Example sending a request using the CloseInstancePublicPortsRequest method.
689//    req, resp := client.CloseInstancePublicPortsRequest(params)
690//
691//    err := req.Send()
692//    if err == nil { // resp is now filled
693//        fmt.Println(resp)
694//    }
695//
696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
697func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPortsInput) (req *request.Request, output *CloseInstancePublicPortsOutput) {
698	op := &request.Operation{
699		Name:       opCloseInstancePublicPorts,
700		HTTPMethod: "POST",
701		HTTPPath:   "/",
702	}
703
704	if input == nil {
705		input = &CloseInstancePublicPortsInput{}
706	}
707
708	output = &CloseInstancePublicPortsOutput{}
709	req = c.newRequest(op, input, output)
710	return
711}
712
713// CloseInstancePublicPorts API operation for Amazon Lightsail.
714//
715// Closes ports for a specific Amazon Lightsail instance.
716//
717// The CloseInstancePublicPorts action supports tag-based access control via
718// resource tags applied to the resource identified by instanceName. For more
719// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
720//
721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
722// with awserr.Error's Code and Message methods to get detailed information about
723// the error.
724//
725// See the AWS API reference guide for Amazon Lightsail's
726// API operation CloseInstancePublicPorts for usage and error information.
727//
728// Returned Error Types:
729//   * ServiceException
730//   A general service exception.
731//
732//   * InvalidInputException
733//   Lightsail throws this exception when user input does not conform to the validation
734//   rules of an input field.
735//
736//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
737//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
738//   view, or edit these resources.
739//
740//   * NotFoundException
741//   Lightsail throws this exception when it cannot find a resource.
742//
743//   * OperationFailureException
744//   Lightsail throws this exception when an operation fails to execute.
745//
746//   * AccessDeniedException
747//   Lightsail throws this exception when the user cannot be authenticated or
748//   uses invalid credentials to access a resource.
749//
750//   * AccountSetupInProgressException
751//   Lightsail throws this exception when an account is still in the setup in
752//   progress state.
753//
754//   * UnauthenticatedException
755//   Lightsail throws this exception when the user has not been authenticated.
756//
757// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
758func (c *Lightsail) CloseInstancePublicPorts(input *CloseInstancePublicPortsInput) (*CloseInstancePublicPortsOutput, error) {
759	req, out := c.CloseInstancePublicPortsRequest(input)
760	return out, req.Send()
761}
762
763// CloseInstancePublicPortsWithContext is the same as CloseInstancePublicPorts with the addition of
764// the ability to pass a context and additional request options.
765//
766// See CloseInstancePublicPorts for details on how to use this API operation.
767//
768// The context must be non-nil and will be used for request cancellation. If
769// the context is nil a panic will occur. In the future the SDK may create
770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
771// for more information on using Contexts.
772func (c *Lightsail) CloseInstancePublicPortsWithContext(ctx aws.Context, input *CloseInstancePublicPortsInput, opts ...request.Option) (*CloseInstancePublicPortsOutput, error) {
773	req, out := c.CloseInstancePublicPortsRequest(input)
774	req.SetContext(ctx)
775	req.ApplyOptions(opts...)
776	return out, req.Send()
777}
778
779const opCopySnapshot = "CopySnapshot"
780
781// CopySnapshotRequest generates a "aws/request.Request" representing the
782// client's request for the CopySnapshot operation. The "output" return
783// value will be populated with the request's response once the request completes
784// successfully.
785//
786// Use "Send" method on the returned Request to send the API call to the service.
787// the "output" return value is not valid until after Send returns without error.
788//
789// See CopySnapshot for more information on using the CopySnapshot
790// API call, and error handling.
791//
792// This method is useful when you want to inject custom logic or configuration
793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
794//
795//
796//    // Example sending a request using the CopySnapshotRequest method.
797//    req, resp := client.CopySnapshotRequest(params)
798//
799//    err := req.Send()
800//    if err == nil { // resp is now filled
801//        fmt.Println(resp)
802//    }
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
805func (c *Lightsail) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
806	op := &request.Operation{
807		Name:       opCopySnapshot,
808		HTTPMethod: "POST",
809		HTTPPath:   "/",
810	}
811
812	if input == nil {
813		input = &CopySnapshotInput{}
814	}
815
816	output = &CopySnapshotOutput{}
817	req = c.newRequest(op, input, output)
818	return
819}
820
821// CopySnapshot API operation for Amazon Lightsail.
822//
823// Copies a manual snapshot of an instance or disk as another manual snapshot,
824// or copies an automatic snapshot of an instance or disk as a manual snapshot.
825// This operation can also be used to copy a manual or automatic snapshot of
826// an instance or a disk from one AWS Region to another in Amazon Lightsail.
827//
828// When copying a manual snapshot, be sure to define the source region, source
829// snapshot name, and target snapshot name parameters.
830//
831// When copying an automatic snapshot, be sure to define the source region,
832// source resource name, target snapshot name, and either the restore date or
833// the use latest restorable auto snapshot parameters.
834//
835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
836// with awserr.Error's Code and Message methods to get detailed information about
837// the error.
838//
839// See the AWS API reference guide for Amazon Lightsail's
840// API operation CopySnapshot for usage and error information.
841//
842// Returned Error Types:
843//   * ServiceException
844//   A general service exception.
845//
846//   * InvalidInputException
847//   Lightsail throws this exception when user input does not conform to the validation
848//   rules of an input field.
849//
850//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
851//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
852//   view, or edit these resources.
853//
854//   * NotFoundException
855//   Lightsail throws this exception when it cannot find a resource.
856//
857//   * OperationFailureException
858//   Lightsail throws this exception when an operation fails to execute.
859//
860//   * AccessDeniedException
861//   Lightsail throws this exception when the user cannot be authenticated or
862//   uses invalid credentials to access a resource.
863//
864//   * AccountSetupInProgressException
865//   Lightsail throws this exception when an account is still in the setup in
866//   progress state.
867//
868//   * UnauthenticatedException
869//   Lightsail throws this exception when the user has not been authenticated.
870//
871// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
872func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
873	req, out := c.CopySnapshotRequest(input)
874	return out, req.Send()
875}
876
877// CopySnapshotWithContext is the same as CopySnapshot with the addition of
878// the ability to pass a context and additional request options.
879//
880// See CopySnapshot for details on how to use this API operation.
881//
882// The context must be non-nil and will be used for request cancellation. If
883// the context is nil a panic will occur. In the future the SDK may create
884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
885// for more information on using Contexts.
886func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
887	req, out := c.CopySnapshotRequest(input)
888	req.SetContext(ctx)
889	req.ApplyOptions(opts...)
890	return out, req.Send()
891}
892
893const opCreateBucket = "CreateBucket"
894
895// CreateBucketRequest generates a "aws/request.Request" representing the
896// client's request for the CreateBucket operation. The "output" return
897// value will be populated with the request's response once the request completes
898// successfully.
899//
900// Use "Send" method on the returned Request to send the API call to the service.
901// the "output" return value is not valid until after Send returns without error.
902//
903// See CreateBucket for more information on using the CreateBucket
904// API call, and error handling.
905//
906// This method is useful when you want to inject custom logic or configuration
907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
908//
909//
910//    // Example sending a request using the CreateBucketRequest method.
911//    req, resp := client.CreateBucketRequest(params)
912//
913//    err := req.Send()
914//    if err == nil { // resp is now filled
915//        fmt.Println(resp)
916//    }
917//
918// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucket
919func (c *Lightsail) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) {
920	op := &request.Operation{
921		Name:       opCreateBucket,
922		HTTPMethod: "POST",
923		HTTPPath:   "/",
924	}
925
926	if input == nil {
927		input = &CreateBucketInput{}
928	}
929
930	output = &CreateBucketOutput{}
931	req = c.newRequest(op, input, output)
932	return
933}
934
935// CreateBucket API operation for Amazon Lightsail.
936//
937// Creates an Amazon Lightsail bucket.
938//
939// A bucket is a cloud storage resource available in the Lightsail object storage
940// service. Use buckets to store objects such as data and its descriptive metadata.
941// For more information about buckets, see Buckets in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/buckets-in-amazon-lightsail)
942// in the Amazon Lightsail Developer Guide.
943//
944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
945// with awserr.Error's Code and Message methods to get detailed information about
946// the error.
947//
948// See the AWS API reference guide for Amazon Lightsail's
949// API operation CreateBucket for usage and error information.
950//
951// Returned Error Types:
952//   * AccessDeniedException
953//   Lightsail throws this exception when the user cannot be authenticated or
954//   uses invalid credentials to access a resource.
955//
956//   * InvalidInputException
957//   Lightsail throws this exception when user input does not conform to the validation
958//   rules of an input field.
959//
960//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
961//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
962//   view, or edit these resources.
963//
964//   * ServiceException
965//   A general service exception.
966//
967//   * UnauthenticatedException
968//   Lightsail throws this exception when the user has not been authenticated.
969//
970// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucket
971func (c *Lightsail) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
972	req, out := c.CreateBucketRequest(input)
973	return out, req.Send()
974}
975
976// CreateBucketWithContext is the same as CreateBucket with the addition of
977// the ability to pass a context and additional request options.
978//
979// See CreateBucket for details on how to use this API operation.
980//
981// The context must be non-nil and will be used for request cancellation. If
982// the context is nil a panic will occur. In the future the SDK may create
983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
984// for more information on using Contexts.
985func (c *Lightsail) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) {
986	req, out := c.CreateBucketRequest(input)
987	req.SetContext(ctx)
988	req.ApplyOptions(opts...)
989	return out, req.Send()
990}
991
992const opCreateBucketAccessKey = "CreateBucketAccessKey"
993
994// CreateBucketAccessKeyRequest generates a "aws/request.Request" representing the
995// client's request for the CreateBucketAccessKey operation. The "output" return
996// value will be populated with the request's response once the request completes
997// successfully.
998//
999// Use "Send" method on the returned Request to send the API call to the service.
1000// the "output" return value is not valid until after Send returns without error.
1001//
1002// See CreateBucketAccessKey for more information on using the CreateBucketAccessKey
1003// API call, and error handling.
1004//
1005// This method is useful when you want to inject custom logic or configuration
1006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1007//
1008//
1009//    // Example sending a request using the CreateBucketAccessKeyRequest method.
1010//    req, resp := client.CreateBucketAccessKeyRequest(params)
1011//
1012//    err := req.Send()
1013//    if err == nil { // resp is now filled
1014//        fmt.Println(resp)
1015//    }
1016//
1017// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucketAccessKey
1018func (c *Lightsail) CreateBucketAccessKeyRequest(input *CreateBucketAccessKeyInput) (req *request.Request, output *CreateBucketAccessKeyOutput) {
1019	op := &request.Operation{
1020		Name:       opCreateBucketAccessKey,
1021		HTTPMethod: "POST",
1022		HTTPPath:   "/",
1023	}
1024
1025	if input == nil {
1026		input = &CreateBucketAccessKeyInput{}
1027	}
1028
1029	output = &CreateBucketAccessKeyOutput{}
1030	req = c.newRequest(op, input, output)
1031	return
1032}
1033
1034// CreateBucketAccessKey API operation for Amazon Lightsail.
1035//
1036// Creates a new access key for the specified Amazon Lightsail bucket. Access
1037// keys consist of an access key ID and corresponding secret access key.
1038//
1039// Access keys grant full programmatic access to the specified bucket and its
1040// objects. You can have a maximum of two access keys per bucket. Use the GetBucketAccessKeys
1041// action to get a list of current access keys for a specific bucket. For more
1042// information about access keys, see Creating access keys for a bucket in Amazon
1043// Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
1044// in the Amazon Lightsail Developer Guide.
1045//
1046// The secretAccessKey value is returned only in response to the CreateBucketAccessKey
1047// action. You can get a secret access key only when you first create an access
1048// key; you cannot get the secret access key later. If you lose the secret access
1049// key, you must create a new access key.
1050//
1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1052// with awserr.Error's Code and Message methods to get detailed information about
1053// the error.
1054//
1055// See the AWS API reference guide for Amazon Lightsail's
1056// API operation CreateBucketAccessKey for usage and error information.
1057//
1058// Returned Error Types:
1059//   * AccessDeniedException
1060//   Lightsail throws this exception when the user cannot be authenticated or
1061//   uses invalid credentials to access a resource.
1062//
1063//   * NotFoundException
1064//   Lightsail throws this exception when it cannot find a resource.
1065//
1066//   * InvalidInputException
1067//   Lightsail throws this exception when user input does not conform to the validation
1068//   rules of an input field.
1069//
1070//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1071//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1072//   view, or edit these resources.
1073//
1074//   * ServiceException
1075//   A general service exception.
1076//
1077//   * UnauthenticatedException
1078//   Lightsail throws this exception when the user has not been authenticated.
1079//
1080// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateBucketAccessKey
1081func (c *Lightsail) CreateBucketAccessKey(input *CreateBucketAccessKeyInput) (*CreateBucketAccessKeyOutput, error) {
1082	req, out := c.CreateBucketAccessKeyRequest(input)
1083	return out, req.Send()
1084}
1085
1086// CreateBucketAccessKeyWithContext is the same as CreateBucketAccessKey with the addition of
1087// the ability to pass a context and additional request options.
1088//
1089// See CreateBucketAccessKey for details on how to use this API operation.
1090//
1091// The context must be non-nil and will be used for request cancellation. If
1092// the context is nil a panic will occur. In the future the SDK may create
1093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1094// for more information on using Contexts.
1095func (c *Lightsail) CreateBucketAccessKeyWithContext(ctx aws.Context, input *CreateBucketAccessKeyInput, opts ...request.Option) (*CreateBucketAccessKeyOutput, error) {
1096	req, out := c.CreateBucketAccessKeyRequest(input)
1097	req.SetContext(ctx)
1098	req.ApplyOptions(opts...)
1099	return out, req.Send()
1100}
1101
1102const opCreateCertificate = "CreateCertificate"
1103
1104// CreateCertificateRequest generates a "aws/request.Request" representing the
1105// client's request for the CreateCertificate operation. The "output" return
1106// value will be populated with the request's response once the request completes
1107// successfully.
1108//
1109// Use "Send" method on the returned Request to send the API call to the service.
1110// the "output" return value is not valid until after Send returns without error.
1111//
1112// See CreateCertificate for more information on using the CreateCertificate
1113// API call, and error handling.
1114//
1115// This method is useful when you want to inject custom logic or configuration
1116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1117//
1118//
1119//    // Example sending a request using the CreateCertificateRequest method.
1120//    req, resp := client.CreateCertificateRequest(params)
1121//
1122//    err := req.Send()
1123//    if err == nil { // resp is now filled
1124//        fmt.Println(resp)
1125//    }
1126//
1127// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
1128func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) {
1129	op := &request.Operation{
1130		Name:       opCreateCertificate,
1131		HTTPMethod: "POST",
1132		HTTPPath:   "/",
1133	}
1134
1135	if input == nil {
1136		input = &CreateCertificateInput{}
1137	}
1138
1139	output = &CreateCertificateOutput{}
1140	req = c.newRequest(op, input, output)
1141	return
1142}
1143
1144// CreateCertificate API operation for Amazon Lightsail.
1145//
1146// Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network
1147// (CDN) distribution and a container service.
1148//
1149// After the certificate is valid, use the AttachCertificateToDistribution action
1150// to use the certificate and its domains with your distribution. Or use the
1151// UpdateContainerService action to use the certificate and its domains with
1152// your container service.
1153//
1154// Only certificates created in the us-east-1 AWS Region can be attached to
1155// Lightsail distributions. Lightsail distributions are global resources that
1156// can reference an origin in any AWS Region, and distribute its content globally.
1157// However, all distributions are located in the us-east-1 Region.
1158//
1159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1160// with awserr.Error's Code and Message methods to get detailed information about
1161// the error.
1162//
1163// See the AWS API reference guide for Amazon Lightsail's
1164// API operation CreateCertificate for usage and error information.
1165//
1166// Returned Error Types:
1167//   * ServiceException
1168//   A general service exception.
1169//
1170//   * InvalidInputException
1171//   Lightsail throws this exception when user input does not conform to the validation
1172//   rules of an input field.
1173//
1174//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1175//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1176//   view, or edit these resources.
1177//
1178//   * NotFoundException
1179//   Lightsail throws this exception when it cannot find a resource.
1180//
1181//   * AccessDeniedException
1182//   Lightsail throws this exception when the user cannot be authenticated or
1183//   uses invalid credentials to access a resource.
1184//
1185//   * UnauthenticatedException
1186//   Lightsail throws this exception when the user has not been authenticated.
1187//
1188// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
1189func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) {
1190	req, out := c.CreateCertificateRequest(input)
1191	return out, req.Send()
1192}
1193
1194// CreateCertificateWithContext is the same as CreateCertificate with the addition of
1195// the ability to pass a context and additional request options.
1196//
1197// See CreateCertificate for details on how to use this API operation.
1198//
1199// The context must be non-nil and will be used for request cancellation. If
1200// the context is nil a panic will occur. In the future the SDK may create
1201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1202// for more information on using Contexts.
1203func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) {
1204	req, out := c.CreateCertificateRequest(input)
1205	req.SetContext(ctx)
1206	req.ApplyOptions(opts...)
1207	return out, req.Send()
1208}
1209
1210const opCreateCloudFormationStack = "CreateCloudFormationStack"
1211
1212// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
1213// client's request for the CreateCloudFormationStack operation. The "output" return
1214// value will be populated with the request's response once the request completes
1215// successfully.
1216//
1217// Use "Send" method on the returned Request to send the API call to the service.
1218// the "output" return value is not valid until after Send returns without error.
1219//
1220// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
1221// API call, and error handling.
1222//
1223// This method is useful when you want to inject custom logic or configuration
1224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1225//
1226//
1227//    // Example sending a request using the CreateCloudFormationStackRequest method.
1228//    req, resp := client.CreateCloudFormationStackRequest(params)
1229//
1230//    err := req.Send()
1231//    if err == nil { // resp is now filled
1232//        fmt.Println(resp)
1233//    }
1234//
1235// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1236func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
1237	op := &request.Operation{
1238		Name:       opCreateCloudFormationStack,
1239		HTTPMethod: "POST",
1240		HTTPPath:   "/",
1241	}
1242
1243	if input == nil {
1244		input = &CreateCloudFormationStackInput{}
1245	}
1246
1247	output = &CreateCloudFormationStackOutput{}
1248	req = c.newRequest(op, input, output)
1249	return
1250}
1251
1252// CreateCloudFormationStack API operation for Amazon Lightsail.
1253//
1254// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
1255// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
1256// stack record that can be used to track the AWS CloudFormation stack created.
1257// Use the get cloud formation stack records operation to get a list of the
1258// CloudFormation stacks created.
1259//
1260// Wait until after your new Amazon EC2 instance is created before running the
1261// create cloud formation stack operation again with the same export snapshot
1262// record.
1263//
1264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1265// with awserr.Error's Code and Message methods to get detailed information about
1266// the error.
1267//
1268// See the AWS API reference guide for Amazon Lightsail's
1269// API operation CreateCloudFormationStack for usage and error information.
1270//
1271// Returned Error Types:
1272//   * ServiceException
1273//   A general service exception.
1274//
1275//   * InvalidInputException
1276//   Lightsail throws this exception when user input does not conform to the validation
1277//   rules of an input field.
1278//
1279//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1280//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1281//   view, or edit these resources.
1282//
1283//   * NotFoundException
1284//   Lightsail throws this exception when it cannot find a resource.
1285//
1286//   * OperationFailureException
1287//   Lightsail throws this exception when an operation fails to execute.
1288//
1289//   * AccessDeniedException
1290//   Lightsail throws this exception when the user cannot be authenticated or
1291//   uses invalid credentials to access a resource.
1292//
1293//   * AccountSetupInProgressException
1294//   Lightsail throws this exception when an account is still in the setup in
1295//   progress state.
1296//
1297//   * UnauthenticatedException
1298//   Lightsail throws this exception when the user has not been authenticated.
1299//
1300// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1301func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
1302	req, out := c.CreateCloudFormationStackRequest(input)
1303	return out, req.Send()
1304}
1305
1306// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
1307// the ability to pass a context and additional request options.
1308//
1309// See CreateCloudFormationStack for details on how to use this API operation.
1310//
1311// The context must be non-nil and will be used for request cancellation. If
1312// the context is nil a panic will occur. In the future the SDK may create
1313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1314// for more information on using Contexts.
1315func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
1316	req, out := c.CreateCloudFormationStackRequest(input)
1317	req.SetContext(ctx)
1318	req.ApplyOptions(opts...)
1319	return out, req.Send()
1320}
1321
1322const opCreateContactMethod = "CreateContactMethod"
1323
1324// CreateContactMethodRequest generates a "aws/request.Request" representing the
1325// client's request for the CreateContactMethod operation. The "output" return
1326// value will be populated with the request's response once the request completes
1327// successfully.
1328//
1329// Use "Send" method on the returned Request to send the API call to the service.
1330// the "output" return value is not valid until after Send returns without error.
1331//
1332// See CreateContactMethod for more information on using the CreateContactMethod
1333// API call, and error handling.
1334//
1335// This method is useful when you want to inject custom logic or configuration
1336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1337//
1338//
1339//    // Example sending a request using the CreateContactMethodRequest method.
1340//    req, resp := client.CreateContactMethodRequest(params)
1341//
1342//    err := req.Send()
1343//    if err == nil { // resp is now filled
1344//        fmt.Println(resp)
1345//    }
1346//
1347// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1348func (c *Lightsail) CreateContactMethodRequest(input *CreateContactMethodInput) (req *request.Request, output *CreateContactMethodOutput) {
1349	op := &request.Operation{
1350		Name:       opCreateContactMethod,
1351		HTTPMethod: "POST",
1352		HTTPPath:   "/",
1353	}
1354
1355	if input == nil {
1356		input = &CreateContactMethodInput{}
1357	}
1358
1359	output = &CreateContactMethodOutput{}
1360	req = c.newRequest(op, input, output)
1361	return
1362}
1363
1364// CreateContactMethod API operation for Amazon Lightsail.
1365//
1366// Creates an email or SMS text message contact method.
1367//
1368// A contact method is used to send you notifications about your Amazon Lightsail
1369// resources. You can add one email address and one mobile phone number contact
1370// method in each AWS Region. However, SMS text messaging is not supported in
1371// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
1372// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
1373//
1374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1375// with awserr.Error's Code and Message methods to get detailed information about
1376// the error.
1377//
1378// See the AWS API reference guide for Amazon Lightsail's
1379// API operation CreateContactMethod for usage and error information.
1380//
1381// Returned Error Types:
1382//   * ServiceException
1383//   A general service exception.
1384//
1385//   * InvalidInputException
1386//   Lightsail throws this exception when user input does not conform to the validation
1387//   rules of an input field.
1388//
1389//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1390//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1391//   view, or edit these resources.
1392//
1393//   * NotFoundException
1394//   Lightsail throws this exception when it cannot find a resource.
1395//
1396//   * OperationFailureException
1397//   Lightsail throws this exception when an operation fails to execute.
1398//
1399//   * AccessDeniedException
1400//   Lightsail throws this exception when the user cannot be authenticated or
1401//   uses invalid credentials to access a resource.
1402//
1403//   * UnauthenticatedException
1404//   Lightsail throws this exception when the user has not been authenticated.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1407func (c *Lightsail) CreateContactMethod(input *CreateContactMethodInput) (*CreateContactMethodOutput, error) {
1408	req, out := c.CreateContactMethodRequest(input)
1409	return out, req.Send()
1410}
1411
1412// CreateContactMethodWithContext is the same as CreateContactMethod with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See CreateContactMethod for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *Lightsail) CreateContactMethodWithContext(ctx aws.Context, input *CreateContactMethodInput, opts ...request.Option) (*CreateContactMethodOutput, error) {
1422	req, out := c.CreateContactMethodRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428const opCreateContainerService = "CreateContainerService"
1429
1430// CreateContainerServiceRequest generates a "aws/request.Request" representing the
1431// client's request for the CreateContainerService operation. The "output" return
1432// value will be populated with the request's response once the request completes
1433// successfully.
1434//
1435// Use "Send" method on the returned Request to send the API call to the service.
1436// the "output" return value is not valid until after Send returns without error.
1437//
1438// See CreateContainerService for more information on using the CreateContainerService
1439// API call, and error handling.
1440//
1441// This method is useful when you want to inject custom logic or configuration
1442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1443//
1444//
1445//    // Example sending a request using the CreateContainerServiceRequest method.
1446//    req, resp := client.CreateContainerServiceRequest(params)
1447//
1448//    err := req.Send()
1449//    if err == nil { // resp is now filled
1450//        fmt.Println(resp)
1451//    }
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
1454func (c *Lightsail) CreateContainerServiceRequest(input *CreateContainerServiceInput) (req *request.Request, output *CreateContainerServiceOutput) {
1455	op := &request.Operation{
1456		Name:       opCreateContainerService,
1457		HTTPMethod: "POST",
1458		HTTPPath:   "/",
1459	}
1460
1461	if input == nil {
1462		input = &CreateContainerServiceInput{}
1463	}
1464
1465	output = &CreateContainerServiceOutput{}
1466	req = c.newRequest(op, input, output)
1467	return
1468}
1469
1470// CreateContainerService API operation for Amazon Lightsail.
1471//
1472// Creates an Amazon Lightsail container service.
1473//
1474// A Lightsail container service is a compute resource to which you can deploy
1475// containers. For more information, see Container services in Amazon Lightsail
1476// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services)
1477// in the Lightsail Dev Guide.
1478//
1479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1480// with awserr.Error's Code and Message methods to get detailed information about
1481// the error.
1482//
1483// See the AWS API reference guide for Amazon Lightsail's
1484// API operation CreateContainerService for usage and error information.
1485//
1486// Returned Error Types:
1487//   * ServiceException
1488//   A general service exception.
1489//
1490//   * InvalidInputException
1491//   Lightsail throws this exception when user input does not conform to the validation
1492//   rules of an input field.
1493//
1494//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1495//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1496//   view, or edit these resources.
1497//
1498//   * NotFoundException
1499//   Lightsail throws this exception when it cannot find a resource.
1500//
1501//   * AccessDeniedException
1502//   Lightsail throws this exception when the user cannot be authenticated or
1503//   uses invalid credentials to access a resource.
1504//
1505//   * UnauthenticatedException
1506//   Lightsail throws this exception when the user has not been authenticated.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
1509func (c *Lightsail) CreateContainerService(input *CreateContainerServiceInput) (*CreateContainerServiceOutput, error) {
1510	req, out := c.CreateContainerServiceRequest(input)
1511	return out, req.Send()
1512}
1513
1514// CreateContainerServiceWithContext is the same as CreateContainerService with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See CreateContainerService for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *Lightsail) CreateContainerServiceWithContext(ctx aws.Context, input *CreateContainerServiceInput, opts ...request.Option) (*CreateContainerServiceOutput, error) {
1524	req, out := c.CreateContainerServiceRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
1531
1532// CreateContainerServiceDeploymentRequest generates a "aws/request.Request" representing the
1533// client's request for the CreateContainerServiceDeployment operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See CreateContainerServiceDeployment for more information on using the CreateContainerServiceDeployment
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the CreateContainerServiceDeploymentRequest method.
1548//    req, resp := client.CreateContainerServiceDeploymentRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
1556func (c *Lightsail) CreateContainerServiceDeploymentRequest(input *CreateContainerServiceDeploymentInput) (req *request.Request, output *CreateContainerServiceDeploymentOutput) {
1557	op := &request.Operation{
1558		Name:       opCreateContainerServiceDeployment,
1559		HTTPMethod: "POST",
1560		HTTPPath:   "/",
1561	}
1562
1563	if input == nil {
1564		input = &CreateContainerServiceDeploymentInput{}
1565	}
1566
1567	output = &CreateContainerServiceDeploymentOutput{}
1568	req = c.newRequest(op, input, output)
1569	return
1570}
1571
1572// CreateContainerServiceDeployment API operation for Amazon Lightsail.
1573//
1574// Creates a deployment for your Amazon Lightsail container service.
1575//
1576// A deployment specifies the containers that will be launched on the container
1577// service and their settings, such as the ports to open, the environment variables
1578// to apply, and the launch command to run. It also specifies the container
1579// that will serve as the public endpoint of the deployment and its settings,
1580// such as the HTTP or HTTPS port to use, and the health check configuration.
1581//
1582// You can deploy containers to your container service using container images
1583// from a public registry like Docker Hub, or from your local machine. For more
1584// information, see Creating container images for your Amazon Lightsail container
1585// services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-container-images)
1586// in the Amazon Lightsail Developer Guide.
1587//
1588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1589// with awserr.Error's Code and Message methods to get detailed information about
1590// the error.
1591//
1592// See the AWS API reference guide for Amazon Lightsail's
1593// API operation CreateContainerServiceDeployment for usage and error information.
1594//
1595// Returned Error Types:
1596//   * ServiceException
1597//   A general service exception.
1598//
1599//   * InvalidInputException
1600//   Lightsail throws this exception when user input does not conform to the validation
1601//   rules of an input field.
1602//
1603//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1604//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1605//   view, or edit these resources.
1606//
1607//   * NotFoundException
1608//   Lightsail throws this exception when it cannot find a resource.
1609//
1610//   * AccessDeniedException
1611//   Lightsail throws this exception when the user cannot be authenticated or
1612//   uses invalid credentials to access a resource.
1613//
1614//   * UnauthenticatedException
1615//   Lightsail throws this exception when the user has not been authenticated.
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
1618func (c *Lightsail) CreateContainerServiceDeployment(input *CreateContainerServiceDeploymentInput) (*CreateContainerServiceDeploymentOutput, error) {
1619	req, out := c.CreateContainerServiceDeploymentRequest(input)
1620	return out, req.Send()
1621}
1622
1623// CreateContainerServiceDeploymentWithContext is the same as CreateContainerServiceDeployment with the addition of
1624// the ability to pass a context and additional request options.
1625//
1626// See CreateContainerServiceDeployment for details on how to use this API operation.
1627//
1628// The context must be non-nil and will be used for request cancellation. If
1629// the context is nil a panic will occur. In the future the SDK may create
1630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1631// for more information on using Contexts.
1632func (c *Lightsail) CreateContainerServiceDeploymentWithContext(ctx aws.Context, input *CreateContainerServiceDeploymentInput, opts ...request.Option) (*CreateContainerServiceDeploymentOutput, error) {
1633	req, out := c.CreateContainerServiceDeploymentRequest(input)
1634	req.SetContext(ctx)
1635	req.ApplyOptions(opts...)
1636	return out, req.Send()
1637}
1638
1639const opCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
1640
1641// CreateContainerServiceRegistryLoginRequest generates a "aws/request.Request" representing the
1642// client's request for the CreateContainerServiceRegistryLogin operation. The "output" return
1643// value will be populated with the request's response once the request completes
1644// successfully.
1645//
1646// Use "Send" method on the returned Request to send the API call to the service.
1647// the "output" return value is not valid until after Send returns without error.
1648//
1649// See CreateContainerServiceRegistryLogin for more information on using the CreateContainerServiceRegistryLogin
1650// API call, and error handling.
1651//
1652// This method is useful when you want to inject custom logic or configuration
1653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1654//
1655//
1656//    // Example sending a request using the CreateContainerServiceRegistryLoginRequest method.
1657//    req, resp := client.CreateContainerServiceRegistryLoginRequest(params)
1658//
1659//    err := req.Send()
1660//    if err == nil { // resp is now filled
1661//        fmt.Println(resp)
1662//    }
1663//
1664// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
1665func (c *Lightsail) CreateContainerServiceRegistryLoginRequest(input *CreateContainerServiceRegistryLoginInput) (req *request.Request, output *CreateContainerServiceRegistryLoginOutput) {
1666	op := &request.Operation{
1667		Name:       opCreateContainerServiceRegistryLogin,
1668		HTTPMethod: "POST",
1669		HTTPPath:   "/",
1670	}
1671
1672	if input == nil {
1673		input = &CreateContainerServiceRegistryLoginInput{}
1674	}
1675
1676	output = &CreateContainerServiceRegistryLoginOutput{}
1677	req = c.newRequest(op, input, output)
1678	return
1679}
1680
1681// CreateContainerServiceRegistryLogin API operation for Amazon Lightsail.
1682//
1683// Creates a temporary set of log in credentials that you can use to log in
1684// to the Docker process on your local machine. After you're logged in, you
1685// can use the native Docker commands to push your local container images to
1686// the container image registry of your Amazon Lightsail account so that you
1687// can use them with your Lightsail container service. The log in credentials
1688// expire 12 hours after they are created, at which point you will need to create
1689// a new set of log in credentials.
1690//
1691// You can only push container images to the container service registry of your
1692// Lightsail account. You cannot pull container images or perform any other
1693// container image management actions on the container service registry.
1694//
1695// After you push your container images to the container image registry of your
1696// Lightsail account, use the RegisterContainerImage action to register the
1697// pushed images to a specific Lightsail container service.
1698//
1699// This action is not required if you install and use the Lightsail Control
1700// (lightsailctl) plugin to push container images to your Lightsail container
1701// service. For more information, see Pushing and managing container images
1702// on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
1703// in the Amazon Lightsail Developer Guide.
1704//
1705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1706// with awserr.Error's Code and Message methods to get detailed information about
1707// the error.
1708//
1709// See the AWS API reference guide for Amazon Lightsail's
1710// API operation CreateContainerServiceRegistryLogin for usage and error information.
1711//
1712// Returned Error Types:
1713//   * ServiceException
1714//   A general service exception.
1715//
1716//   * InvalidInputException
1717//   Lightsail throws this exception when user input does not conform to the validation
1718//   rules of an input field.
1719//
1720//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1721//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1722//   view, or edit these resources.
1723//
1724//   * NotFoundException
1725//   Lightsail throws this exception when it cannot find a resource.
1726//
1727//   * AccessDeniedException
1728//   Lightsail throws this exception when the user cannot be authenticated or
1729//   uses invalid credentials to access a resource.
1730//
1731//   * UnauthenticatedException
1732//   Lightsail throws this exception when the user has not been authenticated.
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
1735func (c *Lightsail) CreateContainerServiceRegistryLogin(input *CreateContainerServiceRegistryLoginInput) (*CreateContainerServiceRegistryLoginOutput, error) {
1736	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
1737	return out, req.Send()
1738}
1739
1740// CreateContainerServiceRegistryLoginWithContext is the same as CreateContainerServiceRegistryLogin with the addition of
1741// the ability to pass a context and additional request options.
1742//
1743// See CreateContainerServiceRegistryLogin for details on how to use this API operation.
1744//
1745// The context must be non-nil and will be used for request cancellation. If
1746// the context is nil a panic will occur. In the future the SDK may create
1747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1748// for more information on using Contexts.
1749func (c *Lightsail) CreateContainerServiceRegistryLoginWithContext(ctx aws.Context, input *CreateContainerServiceRegistryLoginInput, opts ...request.Option) (*CreateContainerServiceRegistryLoginOutput, error) {
1750	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
1751	req.SetContext(ctx)
1752	req.ApplyOptions(opts...)
1753	return out, req.Send()
1754}
1755
1756const opCreateDisk = "CreateDisk"
1757
1758// CreateDiskRequest generates a "aws/request.Request" representing the
1759// client's request for the CreateDisk operation. The "output" return
1760// value will be populated with the request's response once the request completes
1761// successfully.
1762//
1763// Use "Send" method on the returned Request to send the API call to the service.
1764// the "output" return value is not valid until after Send returns without error.
1765//
1766// See CreateDisk for more information on using the CreateDisk
1767// API call, and error handling.
1768//
1769// This method is useful when you want to inject custom logic or configuration
1770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1771//
1772//
1773//    // Example sending a request using the CreateDiskRequest method.
1774//    req, resp := client.CreateDiskRequest(params)
1775//
1776//    err := req.Send()
1777//    if err == nil { // resp is now filled
1778//        fmt.Println(resp)
1779//    }
1780//
1781// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1782func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
1783	op := &request.Operation{
1784		Name:       opCreateDisk,
1785		HTTPMethod: "POST",
1786		HTTPPath:   "/",
1787	}
1788
1789	if input == nil {
1790		input = &CreateDiskInput{}
1791	}
1792
1793	output = &CreateDiskOutput{}
1794	req = c.newRequest(op, input, output)
1795	return
1796}
1797
1798// CreateDisk API operation for Amazon Lightsail.
1799//
1800// Creates a block storage disk that can be attached to an Amazon Lightsail
1801// instance in the same Availability Zone (e.g., us-east-2a).
1802//
1803// The create disk operation supports tag-based access control via request tags.
1804// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
1805//
1806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1807// with awserr.Error's Code and Message methods to get detailed information about
1808// the error.
1809//
1810// See the AWS API reference guide for Amazon Lightsail's
1811// API operation CreateDisk for usage and error information.
1812//
1813// Returned Error Types:
1814//   * ServiceException
1815//   A general service exception.
1816//
1817//   * InvalidInputException
1818//   Lightsail throws this exception when user input does not conform to the validation
1819//   rules of an input field.
1820//
1821//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1822//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1823//   view, or edit these resources.
1824//
1825//   * NotFoundException
1826//   Lightsail throws this exception when it cannot find a resource.
1827//
1828//   * OperationFailureException
1829//   Lightsail throws this exception when an operation fails to execute.
1830//
1831//   * AccessDeniedException
1832//   Lightsail throws this exception when the user cannot be authenticated or
1833//   uses invalid credentials to access a resource.
1834//
1835//   * AccountSetupInProgressException
1836//   Lightsail throws this exception when an account is still in the setup in
1837//   progress state.
1838//
1839//   * UnauthenticatedException
1840//   Lightsail throws this exception when the user has not been authenticated.
1841//
1842// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1843func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
1844	req, out := c.CreateDiskRequest(input)
1845	return out, req.Send()
1846}
1847
1848// CreateDiskWithContext is the same as CreateDisk with the addition of
1849// the ability to pass a context and additional request options.
1850//
1851// See CreateDisk for details on how to use this API operation.
1852//
1853// The context must be non-nil and will be used for request cancellation. If
1854// the context is nil a panic will occur. In the future the SDK may create
1855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1856// for more information on using Contexts.
1857func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
1858	req, out := c.CreateDiskRequest(input)
1859	req.SetContext(ctx)
1860	req.ApplyOptions(opts...)
1861	return out, req.Send()
1862}
1863
1864const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
1865
1866// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
1867// client's request for the CreateDiskFromSnapshot operation. The "output" return
1868// value will be populated with the request's response once the request completes
1869// successfully.
1870//
1871// Use "Send" method on the returned Request to send the API call to the service.
1872// the "output" return value is not valid until after Send returns without error.
1873//
1874// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1875// API call, and error handling.
1876//
1877// This method is useful when you want to inject custom logic or configuration
1878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1879//
1880//
1881//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1882//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1883//
1884//    err := req.Send()
1885//    if err == nil { // resp is now filled
1886//        fmt.Println(resp)
1887//    }
1888//
1889// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1890func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1891	op := &request.Operation{
1892		Name:       opCreateDiskFromSnapshot,
1893		HTTPMethod: "POST",
1894		HTTPPath:   "/",
1895	}
1896
1897	if input == nil {
1898		input = &CreateDiskFromSnapshotInput{}
1899	}
1900
1901	output = &CreateDiskFromSnapshotOutput{}
1902	req = c.newRequest(op, input, output)
1903	return
1904}
1905
1906// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1907//
1908// Creates a block storage disk from a manual or automatic snapshot of a disk.
1909// The resulting disk can be attached to an Amazon Lightsail instance in the
1910// same Availability Zone (e.g., us-east-2a).
1911//
1912// The create disk from snapshot operation supports tag-based access control
1913// via request tags and resource tags applied to the resource identified by
1914// disk snapshot name. For more information, see the Amazon Lightsail Developer
1915// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
1916//
1917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1918// with awserr.Error's Code and Message methods to get detailed information about
1919// the error.
1920//
1921// See the AWS API reference guide for Amazon Lightsail's
1922// API operation CreateDiskFromSnapshot for usage and error information.
1923//
1924// Returned Error Types:
1925//   * ServiceException
1926//   A general service exception.
1927//
1928//   * InvalidInputException
1929//   Lightsail throws this exception when user input does not conform to the validation
1930//   rules of an input field.
1931//
1932//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1933//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1934//   view, or edit these resources.
1935//
1936//   * NotFoundException
1937//   Lightsail throws this exception when it cannot find a resource.
1938//
1939//   * OperationFailureException
1940//   Lightsail throws this exception when an operation fails to execute.
1941//
1942//   * AccessDeniedException
1943//   Lightsail throws this exception when the user cannot be authenticated or
1944//   uses invalid credentials to access a resource.
1945//
1946//   * AccountSetupInProgressException
1947//   Lightsail throws this exception when an account is still in the setup in
1948//   progress state.
1949//
1950//   * UnauthenticatedException
1951//   Lightsail throws this exception when the user has not been authenticated.
1952//
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1954func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1955	req, out := c.CreateDiskFromSnapshotRequest(input)
1956	return out, req.Send()
1957}
1958
1959// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1960// the ability to pass a context and additional request options.
1961//
1962// See CreateDiskFromSnapshot for details on how to use this API operation.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1969	req, out := c.CreateDiskFromSnapshotRequest(input)
1970	req.SetContext(ctx)
1971	req.ApplyOptions(opts...)
1972	return out, req.Send()
1973}
1974
1975const opCreateDiskSnapshot = "CreateDiskSnapshot"
1976
1977// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1978// client's request for the CreateDiskSnapshot operation. The "output" return
1979// value will be populated with the request's response once the request completes
1980// successfully.
1981//
1982// Use "Send" method on the returned Request to send the API call to the service.
1983// the "output" return value is not valid until after Send returns without error.
1984//
1985// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1986// API call, and error handling.
1987//
1988// This method is useful when you want to inject custom logic or configuration
1989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1990//
1991//
1992//    // Example sending a request using the CreateDiskSnapshotRequest method.
1993//    req, resp := client.CreateDiskSnapshotRequest(params)
1994//
1995//    err := req.Send()
1996//    if err == nil { // resp is now filled
1997//        fmt.Println(resp)
1998//    }
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
2001func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
2002	op := &request.Operation{
2003		Name:       opCreateDiskSnapshot,
2004		HTTPMethod: "POST",
2005		HTTPPath:   "/",
2006	}
2007
2008	if input == nil {
2009		input = &CreateDiskSnapshotInput{}
2010	}
2011
2012	output = &CreateDiskSnapshotOutput{}
2013	req = c.newRequest(op, input, output)
2014	return
2015}
2016
2017// CreateDiskSnapshot API operation for Amazon Lightsail.
2018//
2019// Creates a snapshot of a block storage disk. You can use snapshots for backups,
2020// to make copies of disks, and to save data before shutting down a Lightsail
2021// instance.
2022//
2023// You can take a snapshot of an attached disk that is in use; however, snapshots
2024// only capture data that has been written to your disk at the time the snapshot
2025// command is issued. This may exclude any data that has been cached by any
2026// applications or the operating system. If you can pause any file systems on
2027// the disk long enough to take a snapshot, your snapshot should be complete.
2028// Nevertheless, if you cannot pause all file writes to the disk, you should
2029// unmount the disk from within the Lightsail instance, issue the create disk
2030// snapshot command, and then remount the disk to ensure a consistent and complete
2031// snapshot. You may remount and use your disk while the snapshot status is
2032// pending.
2033//
2034// You can also use this operation to create a snapshot of an instance's system
2035// volume. You might want to do this, for example, to recover data from the
2036// system volume of a botched instance or to create a backup of the system volume
2037// like you would for a block storage disk. To create a snapshot of a system
2038// volume, just define the instance name parameter when issuing the snapshot
2039// command, and a snapshot of the defined instance's system volume will be created.
2040// After the snapshot is available, you can create a block storage disk from
2041// the snapshot and attach it to a running instance to access the data on the
2042// disk.
2043//
2044// The create disk snapshot operation supports tag-based access control via
2045// request tags. For more information, see the Amazon Lightsail Developer Guide
2046// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2047//
2048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2049// with awserr.Error's Code and Message methods to get detailed information about
2050// the error.
2051//
2052// See the AWS API reference guide for Amazon Lightsail's
2053// API operation CreateDiskSnapshot for usage and error information.
2054//
2055// Returned Error Types:
2056//   * ServiceException
2057//   A general service exception.
2058//
2059//   * InvalidInputException
2060//   Lightsail throws this exception when user input does not conform to the validation
2061//   rules of an input field.
2062//
2063//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2064//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2065//   view, or edit these resources.
2066//
2067//   * NotFoundException
2068//   Lightsail throws this exception when it cannot find a resource.
2069//
2070//   * OperationFailureException
2071//   Lightsail throws this exception when an operation fails to execute.
2072//
2073//   * AccessDeniedException
2074//   Lightsail throws this exception when the user cannot be authenticated or
2075//   uses invalid credentials to access a resource.
2076//
2077//   * AccountSetupInProgressException
2078//   Lightsail throws this exception when an account is still in the setup in
2079//   progress state.
2080//
2081//   * UnauthenticatedException
2082//   Lightsail throws this exception when the user has not been authenticated.
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
2085func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
2086	req, out := c.CreateDiskSnapshotRequest(input)
2087	return out, req.Send()
2088}
2089
2090// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
2091// the ability to pass a context and additional request options.
2092//
2093// See CreateDiskSnapshot for details on how to use this API operation.
2094//
2095// The context must be non-nil and will be used for request cancellation. If
2096// the context is nil a panic will occur. In the future the SDK may create
2097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2098// for more information on using Contexts.
2099func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
2100	req, out := c.CreateDiskSnapshotRequest(input)
2101	req.SetContext(ctx)
2102	req.ApplyOptions(opts...)
2103	return out, req.Send()
2104}
2105
2106const opCreateDistribution = "CreateDistribution"
2107
2108// CreateDistributionRequest generates a "aws/request.Request" representing the
2109// client's request for the CreateDistribution operation. The "output" return
2110// value will be populated with the request's response once the request completes
2111// successfully.
2112//
2113// Use "Send" method on the returned Request to send the API call to the service.
2114// the "output" return value is not valid until after Send returns without error.
2115//
2116// See CreateDistribution for more information on using the CreateDistribution
2117// API call, and error handling.
2118//
2119// This method is useful when you want to inject custom logic or configuration
2120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2121//
2122//
2123//    // Example sending a request using the CreateDistributionRequest method.
2124//    req, resp := client.CreateDistributionRequest(params)
2125//
2126//    err := req.Send()
2127//    if err == nil { // resp is now filled
2128//        fmt.Println(resp)
2129//    }
2130//
2131// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
2132func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) {
2133	op := &request.Operation{
2134		Name:       opCreateDistribution,
2135		HTTPMethod: "POST",
2136		HTTPPath:   "/",
2137	}
2138
2139	if input == nil {
2140		input = &CreateDistributionInput{}
2141	}
2142
2143	output = &CreateDistributionOutput{}
2144	req = c.newRequest(op, input, output)
2145	return
2146}
2147
2148// CreateDistribution API operation for Amazon Lightsail.
2149//
2150// Creates an Amazon Lightsail content delivery network (CDN) distribution.
2151//
2152// A distribution is a globally distributed network of caching servers that
2153// improve the performance of your website or web application hosted on a Lightsail
2154// instance. For more information, see Content delivery networks in Amazon Lightsail
2155// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-network-distributions).
2156//
2157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2158// with awserr.Error's Code and Message methods to get detailed information about
2159// the error.
2160//
2161// See the AWS API reference guide for Amazon Lightsail's
2162// API operation CreateDistribution for usage and error information.
2163//
2164// Returned Error Types:
2165//   * ServiceException
2166//   A general service exception.
2167//
2168//   * InvalidInputException
2169//   Lightsail throws this exception when user input does not conform to the validation
2170//   rules of an input field.
2171//
2172//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2173//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2174//   view, or edit these resources.
2175//
2176//   * NotFoundException
2177//   Lightsail throws this exception when it cannot find a resource.
2178//
2179//   * OperationFailureException
2180//   Lightsail throws this exception when an operation fails to execute.
2181//
2182//   * AccessDeniedException
2183//   Lightsail throws this exception when the user cannot be authenticated or
2184//   uses invalid credentials to access a resource.
2185//
2186//   * UnauthenticatedException
2187//   Lightsail throws this exception when the user has not been authenticated.
2188//
2189// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
2190func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) {
2191	req, out := c.CreateDistributionRequest(input)
2192	return out, req.Send()
2193}
2194
2195// CreateDistributionWithContext is the same as CreateDistribution with the addition of
2196// the ability to pass a context and additional request options.
2197//
2198// See CreateDistribution for details on how to use this API operation.
2199//
2200// The context must be non-nil and will be used for request cancellation. If
2201// the context is nil a panic will occur. In the future the SDK may create
2202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2203// for more information on using Contexts.
2204func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) {
2205	req, out := c.CreateDistributionRequest(input)
2206	req.SetContext(ctx)
2207	req.ApplyOptions(opts...)
2208	return out, req.Send()
2209}
2210
2211const opCreateDomain = "CreateDomain"
2212
2213// CreateDomainRequest generates a "aws/request.Request" representing the
2214// client's request for the CreateDomain operation. The "output" return
2215// value will be populated with the request's response once the request completes
2216// successfully.
2217//
2218// Use "Send" method on the returned Request to send the API call to the service.
2219// the "output" return value is not valid until after Send returns without error.
2220//
2221// See CreateDomain for more information on using the CreateDomain
2222// API call, and error handling.
2223//
2224// This method is useful when you want to inject custom logic or configuration
2225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2226//
2227//
2228//    // Example sending a request using the CreateDomainRequest method.
2229//    req, resp := client.CreateDomainRequest(params)
2230//
2231//    err := req.Send()
2232//    if err == nil { // resp is now filled
2233//        fmt.Println(resp)
2234//    }
2235//
2236// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
2237func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
2238	op := &request.Operation{
2239		Name:       opCreateDomain,
2240		HTTPMethod: "POST",
2241		HTTPPath:   "/",
2242	}
2243
2244	if input == nil {
2245		input = &CreateDomainInput{}
2246	}
2247
2248	output = &CreateDomainOutput{}
2249	req = c.newRequest(op, input, output)
2250	return
2251}
2252
2253// CreateDomain API operation for Amazon Lightsail.
2254//
2255// Creates a domain resource for the specified domain (e.g., example.com).
2256//
2257// The create domain operation supports tag-based access control via request
2258// tags. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2259//
2260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2261// with awserr.Error's Code and Message methods to get detailed information about
2262// the error.
2263//
2264// See the AWS API reference guide for Amazon Lightsail's
2265// API operation CreateDomain for usage and error information.
2266//
2267// Returned Error Types:
2268//   * ServiceException
2269//   A general service exception.
2270//
2271//   * InvalidInputException
2272//   Lightsail throws this exception when user input does not conform to the validation
2273//   rules of an input field.
2274//
2275//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2276//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2277//   view, or edit these resources.
2278//
2279//   * NotFoundException
2280//   Lightsail throws this exception when it cannot find a resource.
2281//
2282//   * OperationFailureException
2283//   Lightsail throws this exception when an operation fails to execute.
2284//
2285//   * AccessDeniedException
2286//   Lightsail throws this exception when the user cannot be authenticated or
2287//   uses invalid credentials to access a resource.
2288//
2289//   * AccountSetupInProgressException
2290//   Lightsail throws this exception when an account is still in the setup in
2291//   progress state.
2292//
2293//   * UnauthenticatedException
2294//   Lightsail throws this exception when the user has not been authenticated.
2295//
2296// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
2297func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
2298	req, out := c.CreateDomainRequest(input)
2299	return out, req.Send()
2300}
2301
2302// CreateDomainWithContext is the same as CreateDomain with the addition of
2303// the ability to pass a context and additional request options.
2304//
2305// See CreateDomain for details on how to use this API operation.
2306//
2307// The context must be non-nil and will be used for request cancellation. If
2308// the context is nil a panic will occur. In the future the SDK may create
2309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2310// for more information on using Contexts.
2311func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
2312	req, out := c.CreateDomainRequest(input)
2313	req.SetContext(ctx)
2314	req.ApplyOptions(opts...)
2315	return out, req.Send()
2316}
2317
2318const opCreateDomainEntry = "CreateDomainEntry"
2319
2320// CreateDomainEntryRequest generates a "aws/request.Request" representing the
2321// client's request for the CreateDomainEntry operation. The "output" return
2322// value will be populated with the request's response once the request completes
2323// successfully.
2324//
2325// Use "Send" method on the returned Request to send the API call to the service.
2326// the "output" return value is not valid until after Send returns without error.
2327//
2328// See CreateDomainEntry for more information on using the CreateDomainEntry
2329// API call, and error handling.
2330//
2331// This method is useful when you want to inject custom logic or configuration
2332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2333//
2334//
2335//    // Example sending a request using the CreateDomainEntryRequest method.
2336//    req, resp := client.CreateDomainEntryRequest(params)
2337//
2338//    err := req.Send()
2339//    if err == nil { // resp is now filled
2340//        fmt.Println(resp)
2341//    }
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
2344func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
2345	op := &request.Operation{
2346		Name:       opCreateDomainEntry,
2347		HTTPMethod: "POST",
2348		HTTPPath:   "/",
2349	}
2350
2351	if input == nil {
2352		input = &CreateDomainEntryInput{}
2353	}
2354
2355	output = &CreateDomainEntryOutput{}
2356	req = c.newRequest(op, input, output)
2357	return
2358}
2359
2360// CreateDomainEntry API operation for Amazon Lightsail.
2361//
2362// Creates one of the following domain name system (DNS) records in a domain
2363// DNS zone: Address (A), canonical name (CNAME), mail exchanger (MX), name
2364// server (NS), start of authority (SOA), service locator (SRV), or text (TXT).
2365//
2366// The create domain entry operation supports tag-based access control via resource
2367// tags applied to the resource identified by domain name. For more information,
2368// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2369//
2370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2371// with awserr.Error's Code and Message methods to get detailed information about
2372// the error.
2373//
2374// See the AWS API reference guide for Amazon Lightsail's
2375// API operation CreateDomainEntry for usage and error information.
2376//
2377// Returned Error Types:
2378//   * ServiceException
2379//   A general service exception.
2380//
2381//   * InvalidInputException
2382//   Lightsail throws this exception when user input does not conform to the validation
2383//   rules of an input field.
2384//
2385//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2386//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2387//   view, or edit these resources.
2388//
2389//   * NotFoundException
2390//   Lightsail throws this exception when it cannot find a resource.
2391//
2392//   * OperationFailureException
2393//   Lightsail throws this exception when an operation fails to execute.
2394//
2395//   * AccessDeniedException
2396//   Lightsail throws this exception when the user cannot be authenticated or
2397//   uses invalid credentials to access a resource.
2398//
2399//   * AccountSetupInProgressException
2400//   Lightsail throws this exception when an account is still in the setup in
2401//   progress state.
2402//
2403//   * UnauthenticatedException
2404//   Lightsail throws this exception when the user has not been authenticated.
2405//
2406// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
2407func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
2408	req, out := c.CreateDomainEntryRequest(input)
2409	return out, req.Send()
2410}
2411
2412// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
2413// the ability to pass a context and additional request options.
2414//
2415// See CreateDomainEntry for details on how to use this API operation.
2416//
2417// The context must be non-nil and will be used for request cancellation. If
2418// the context is nil a panic will occur. In the future the SDK may create
2419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2420// for more information on using Contexts.
2421func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
2422	req, out := c.CreateDomainEntryRequest(input)
2423	req.SetContext(ctx)
2424	req.ApplyOptions(opts...)
2425	return out, req.Send()
2426}
2427
2428const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
2429
2430// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
2431// client's request for the CreateInstanceSnapshot operation. The "output" return
2432// value will be populated with the request's response once the request completes
2433// successfully.
2434//
2435// Use "Send" method on the returned Request to send the API call to the service.
2436// the "output" return value is not valid until after Send returns without error.
2437//
2438// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
2439// API call, and error handling.
2440//
2441// This method is useful when you want to inject custom logic or configuration
2442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2443//
2444//
2445//    // Example sending a request using the CreateInstanceSnapshotRequest method.
2446//    req, resp := client.CreateInstanceSnapshotRequest(params)
2447//
2448//    err := req.Send()
2449//    if err == nil { // resp is now filled
2450//        fmt.Println(resp)
2451//    }
2452//
2453// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
2454func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
2455	op := &request.Operation{
2456		Name:       opCreateInstanceSnapshot,
2457		HTTPMethod: "POST",
2458		HTTPPath:   "/",
2459	}
2460
2461	if input == nil {
2462		input = &CreateInstanceSnapshotInput{}
2463	}
2464
2465	output = &CreateInstanceSnapshotOutput{}
2466	req = c.newRequest(op, input, output)
2467	return
2468}
2469
2470// CreateInstanceSnapshot API operation for Amazon Lightsail.
2471//
2472// Creates a snapshot of a specific virtual private server, or instance. You
2473// can use a snapshot to create a new instance that is based on that snapshot.
2474//
2475// The create instance snapshot operation supports tag-based access control
2476// via request tags. For more information, see the Amazon Lightsail Developer
2477// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2478//
2479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2480// with awserr.Error's Code and Message methods to get detailed information about
2481// the error.
2482//
2483// See the AWS API reference guide for Amazon Lightsail's
2484// API operation CreateInstanceSnapshot for usage and error information.
2485//
2486// Returned Error Types:
2487//   * ServiceException
2488//   A general service exception.
2489//
2490//   * InvalidInputException
2491//   Lightsail throws this exception when user input does not conform to the validation
2492//   rules of an input field.
2493//
2494//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2495//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2496//   view, or edit these resources.
2497//
2498//   * NotFoundException
2499//   Lightsail throws this exception when it cannot find a resource.
2500//
2501//   * OperationFailureException
2502//   Lightsail throws this exception when an operation fails to execute.
2503//
2504//   * AccessDeniedException
2505//   Lightsail throws this exception when the user cannot be authenticated or
2506//   uses invalid credentials to access a resource.
2507//
2508//   * AccountSetupInProgressException
2509//   Lightsail throws this exception when an account is still in the setup in
2510//   progress state.
2511//
2512//   * UnauthenticatedException
2513//   Lightsail throws this exception when the user has not been authenticated.
2514//
2515// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
2516func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
2517	req, out := c.CreateInstanceSnapshotRequest(input)
2518	return out, req.Send()
2519}
2520
2521// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
2522// the ability to pass a context and additional request options.
2523//
2524// See CreateInstanceSnapshot for details on how to use this API operation.
2525//
2526// The context must be non-nil and will be used for request cancellation. If
2527// the context is nil a panic will occur. In the future the SDK may create
2528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2529// for more information on using Contexts.
2530func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
2531	req, out := c.CreateInstanceSnapshotRequest(input)
2532	req.SetContext(ctx)
2533	req.ApplyOptions(opts...)
2534	return out, req.Send()
2535}
2536
2537const opCreateInstances = "CreateInstances"
2538
2539// CreateInstancesRequest generates a "aws/request.Request" representing the
2540// client's request for the CreateInstances operation. The "output" return
2541// value will be populated with the request's response once the request completes
2542// successfully.
2543//
2544// Use "Send" method on the returned Request to send the API call to the service.
2545// the "output" return value is not valid until after Send returns without error.
2546//
2547// See CreateInstances for more information on using the CreateInstances
2548// API call, and error handling.
2549//
2550// This method is useful when you want to inject custom logic or configuration
2551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2552//
2553//
2554//    // Example sending a request using the CreateInstancesRequest method.
2555//    req, resp := client.CreateInstancesRequest(params)
2556//
2557//    err := req.Send()
2558//    if err == nil { // resp is now filled
2559//        fmt.Println(resp)
2560//    }
2561//
2562// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2563func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
2564	op := &request.Operation{
2565		Name:       opCreateInstances,
2566		HTTPMethod: "POST",
2567		HTTPPath:   "/",
2568	}
2569
2570	if input == nil {
2571		input = &CreateInstancesInput{}
2572	}
2573
2574	output = &CreateInstancesOutput{}
2575	req = c.newRequest(op, input, output)
2576	return
2577}
2578
2579// CreateInstances API operation for Amazon Lightsail.
2580//
2581// Creates one or more Amazon Lightsail instances.
2582//
2583// The create instances operation supports tag-based access control via request
2584// tags. For more information, see the Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2585//
2586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2587// with awserr.Error's Code and Message methods to get detailed information about
2588// the error.
2589//
2590// See the AWS API reference guide for Amazon Lightsail's
2591// API operation CreateInstances for usage and error information.
2592//
2593// Returned Error Types:
2594//   * ServiceException
2595//   A general service exception.
2596//
2597//   * InvalidInputException
2598//   Lightsail throws this exception when user input does not conform to the validation
2599//   rules of an input field.
2600//
2601//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2602//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2603//   view, or edit these resources.
2604//
2605//   * NotFoundException
2606//   Lightsail throws this exception when it cannot find a resource.
2607//
2608//   * OperationFailureException
2609//   Lightsail throws this exception when an operation fails to execute.
2610//
2611//   * AccessDeniedException
2612//   Lightsail throws this exception when the user cannot be authenticated or
2613//   uses invalid credentials to access a resource.
2614//
2615//   * AccountSetupInProgressException
2616//   Lightsail throws this exception when an account is still in the setup in
2617//   progress state.
2618//
2619//   * UnauthenticatedException
2620//   Lightsail throws this exception when the user has not been authenticated.
2621//
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2623func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
2624	req, out := c.CreateInstancesRequest(input)
2625	return out, req.Send()
2626}
2627
2628// CreateInstancesWithContext is the same as CreateInstances with the addition of
2629// the ability to pass a context and additional request options.
2630//
2631// See CreateInstances for details on how to use this API operation.
2632//
2633// The context must be non-nil and will be used for request cancellation. If
2634// the context is nil a panic will occur. In the future the SDK may create
2635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2636// for more information on using Contexts.
2637func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
2638	req, out := c.CreateInstancesRequest(input)
2639	req.SetContext(ctx)
2640	req.ApplyOptions(opts...)
2641	return out, req.Send()
2642}
2643
2644const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
2645
2646// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
2647// client's request for the CreateInstancesFromSnapshot operation. The "output" return
2648// value will be populated with the request's response once the request completes
2649// successfully.
2650//
2651// Use "Send" method on the returned Request to send the API call to the service.
2652// the "output" return value is not valid until after Send returns without error.
2653//
2654// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
2655// API call, and error handling.
2656//
2657// This method is useful when you want to inject custom logic or configuration
2658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2659//
2660//
2661//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
2662//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
2663//
2664//    err := req.Send()
2665//    if err == nil { // resp is now filled
2666//        fmt.Println(resp)
2667//    }
2668//
2669// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2670func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
2671	op := &request.Operation{
2672		Name:       opCreateInstancesFromSnapshot,
2673		HTTPMethod: "POST",
2674		HTTPPath:   "/",
2675	}
2676
2677	if input == nil {
2678		input = &CreateInstancesFromSnapshotInput{}
2679	}
2680
2681	output = &CreateInstancesFromSnapshotOutput{}
2682	req = c.newRequest(op, input, output)
2683	return
2684}
2685
2686// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
2687//
2688// Creates one or more new instances from a manual or automatic snapshot of
2689// an instance.
2690//
2691// The create instances from snapshot operation supports tag-based access control
2692// via request tags and resource tags applied to the resource identified by
2693// instance snapshot name. For more information, see the Amazon Lightsail Developer
2694// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2695//
2696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2697// with awserr.Error's Code and Message methods to get detailed information about
2698// the error.
2699//
2700// See the AWS API reference guide for Amazon Lightsail's
2701// API operation CreateInstancesFromSnapshot for usage and error information.
2702//
2703// Returned Error Types:
2704//   * ServiceException
2705//   A general service exception.
2706//
2707//   * InvalidInputException
2708//   Lightsail throws this exception when user input does not conform to the validation
2709//   rules of an input field.
2710//
2711//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2712//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2713//   view, or edit these resources.
2714//
2715//   * NotFoundException
2716//   Lightsail throws this exception when it cannot find a resource.
2717//
2718//   * OperationFailureException
2719//   Lightsail throws this exception when an operation fails to execute.
2720//
2721//   * AccessDeniedException
2722//   Lightsail throws this exception when the user cannot be authenticated or
2723//   uses invalid credentials to access a resource.
2724//
2725//   * AccountSetupInProgressException
2726//   Lightsail throws this exception when an account is still in the setup in
2727//   progress state.
2728//
2729//   * UnauthenticatedException
2730//   Lightsail throws this exception when the user has not been authenticated.
2731//
2732// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2733func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
2734	req, out := c.CreateInstancesFromSnapshotRequest(input)
2735	return out, req.Send()
2736}
2737
2738// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
2739// the ability to pass a context and additional request options.
2740//
2741// See CreateInstancesFromSnapshot for details on how to use this API operation.
2742//
2743// The context must be non-nil and will be used for request cancellation. If
2744// the context is nil a panic will occur. In the future the SDK may create
2745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2746// for more information on using Contexts.
2747func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
2748	req, out := c.CreateInstancesFromSnapshotRequest(input)
2749	req.SetContext(ctx)
2750	req.ApplyOptions(opts...)
2751	return out, req.Send()
2752}
2753
2754const opCreateKeyPair = "CreateKeyPair"
2755
2756// CreateKeyPairRequest generates a "aws/request.Request" representing the
2757// client's request for the CreateKeyPair operation. The "output" return
2758// value will be populated with the request's response once the request completes
2759// successfully.
2760//
2761// Use "Send" method on the returned Request to send the API call to the service.
2762// the "output" return value is not valid until after Send returns without error.
2763//
2764// See CreateKeyPair for more information on using the CreateKeyPair
2765// API call, and error handling.
2766//
2767// This method is useful when you want to inject custom logic or configuration
2768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2769//
2770//
2771//    // Example sending a request using the CreateKeyPairRequest method.
2772//    req, resp := client.CreateKeyPairRequest(params)
2773//
2774//    err := req.Send()
2775//    if err == nil { // resp is now filled
2776//        fmt.Println(resp)
2777//    }
2778//
2779// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2780func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
2781	op := &request.Operation{
2782		Name:       opCreateKeyPair,
2783		HTTPMethod: "POST",
2784		HTTPPath:   "/",
2785	}
2786
2787	if input == nil {
2788		input = &CreateKeyPairInput{}
2789	}
2790
2791	output = &CreateKeyPairOutput{}
2792	req = c.newRequest(op, input, output)
2793	return
2794}
2795
2796// CreateKeyPair API operation for Amazon Lightsail.
2797//
2798// Creates an SSH key pair.
2799//
2800// The create key pair operation supports tag-based access control via request
2801// tags. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2802//
2803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2804// with awserr.Error's Code and Message methods to get detailed information about
2805// the error.
2806//
2807// See the AWS API reference guide for Amazon Lightsail's
2808// API operation CreateKeyPair for usage and error information.
2809//
2810// Returned Error Types:
2811//   * ServiceException
2812//   A general service exception.
2813//
2814//   * InvalidInputException
2815//   Lightsail throws this exception when user input does not conform to the validation
2816//   rules of an input field.
2817//
2818//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2819//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2820//   view, or edit these resources.
2821//
2822//   * NotFoundException
2823//   Lightsail throws this exception when it cannot find a resource.
2824//
2825//   * OperationFailureException
2826//   Lightsail throws this exception when an operation fails to execute.
2827//
2828//   * AccessDeniedException
2829//   Lightsail throws this exception when the user cannot be authenticated or
2830//   uses invalid credentials to access a resource.
2831//
2832//   * AccountSetupInProgressException
2833//   Lightsail throws this exception when an account is still in the setup in
2834//   progress state.
2835//
2836//   * UnauthenticatedException
2837//   Lightsail throws this exception when the user has not been authenticated.
2838//
2839// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2840func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
2841	req, out := c.CreateKeyPairRequest(input)
2842	return out, req.Send()
2843}
2844
2845// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
2846// the ability to pass a context and additional request options.
2847//
2848// See CreateKeyPair for details on how to use this API operation.
2849//
2850// The context must be non-nil and will be used for request cancellation. If
2851// the context is nil a panic will occur. In the future the SDK may create
2852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2853// for more information on using Contexts.
2854func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
2855	req, out := c.CreateKeyPairRequest(input)
2856	req.SetContext(ctx)
2857	req.ApplyOptions(opts...)
2858	return out, req.Send()
2859}
2860
2861const opCreateLoadBalancer = "CreateLoadBalancer"
2862
2863// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
2864// client's request for the CreateLoadBalancer operation. The "output" return
2865// value will be populated with the request's response once the request completes
2866// successfully.
2867//
2868// Use "Send" method on the returned Request to send the API call to the service.
2869// the "output" return value is not valid until after Send returns without error.
2870//
2871// See CreateLoadBalancer for more information on using the CreateLoadBalancer
2872// API call, and error handling.
2873//
2874// This method is useful when you want to inject custom logic or configuration
2875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2876//
2877//
2878//    // Example sending a request using the CreateLoadBalancerRequest method.
2879//    req, resp := client.CreateLoadBalancerRequest(params)
2880//
2881//    err := req.Send()
2882//    if err == nil { // resp is now filled
2883//        fmt.Println(resp)
2884//    }
2885//
2886// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2887func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
2888	op := &request.Operation{
2889		Name:       opCreateLoadBalancer,
2890		HTTPMethod: "POST",
2891		HTTPPath:   "/",
2892	}
2893
2894	if input == nil {
2895		input = &CreateLoadBalancerInput{}
2896	}
2897
2898	output = &CreateLoadBalancerOutput{}
2899	req = c.newRequest(op, input, output)
2900	return
2901}
2902
2903// CreateLoadBalancer API operation for Amazon Lightsail.
2904//
2905// Creates a Lightsail load balancer. To learn more about deciding whether to
2906// load balance your application, see Configure your Lightsail instances for
2907// load balancing (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/configure-lightsail-instances-for-load-balancing).
2908// You can create up to 5 load balancers per AWS Region in your account.
2909//
2910// When you create a load balancer, you can specify a unique name and port settings.
2911// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
2912// operation.
2913//
2914// The create load balancer operation supports tag-based access control via
2915// request tags. For more information, see the Amazon Lightsail Developer Guide
2916// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
2917//
2918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2919// with awserr.Error's Code and Message methods to get detailed information about
2920// the error.
2921//
2922// See the AWS API reference guide for Amazon Lightsail's
2923// API operation CreateLoadBalancer for usage and error information.
2924//
2925// Returned Error Types:
2926//   * ServiceException
2927//   A general service exception.
2928//
2929//   * InvalidInputException
2930//   Lightsail throws this exception when user input does not conform to the validation
2931//   rules of an input field.
2932//
2933//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2934//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2935//   view, or edit these resources.
2936//
2937//   * NotFoundException
2938//   Lightsail throws this exception when it cannot find a resource.
2939//
2940//   * OperationFailureException
2941//   Lightsail throws this exception when an operation fails to execute.
2942//
2943//   * AccessDeniedException
2944//   Lightsail throws this exception when the user cannot be authenticated or
2945//   uses invalid credentials to access a resource.
2946//
2947//   * AccountSetupInProgressException
2948//   Lightsail throws this exception when an account is still in the setup in
2949//   progress state.
2950//
2951//   * UnauthenticatedException
2952//   Lightsail throws this exception when the user has not been authenticated.
2953//
2954// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2955func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
2956	req, out := c.CreateLoadBalancerRequest(input)
2957	return out, req.Send()
2958}
2959
2960// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
2961// the ability to pass a context and additional request options.
2962//
2963// See CreateLoadBalancer for details on how to use this API operation.
2964//
2965// The context must be non-nil and will be used for request cancellation. If
2966// the context is nil a panic will occur. In the future the SDK may create
2967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2968// for more information on using Contexts.
2969func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
2970	req, out := c.CreateLoadBalancerRequest(input)
2971	req.SetContext(ctx)
2972	req.ApplyOptions(opts...)
2973	return out, req.Send()
2974}
2975
2976const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2977
2978// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2979// client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
2980// value will be populated with the request's response once the request completes
2981// successfully.
2982//
2983// Use "Send" method on the returned Request to send the API call to the service.
2984// the "output" return value is not valid until after Send returns without error.
2985//
2986// See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
2987// API call, and error handling.
2988//
2989// This method is useful when you want to inject custom logic or configuration
2990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2991//
2992//
2993//    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
2994//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
2995//
2996//    err := req.Send()
2997//    if err == nil { // resp is now filled
2998//        fmt.Println(resp)
2999//    }
3000//
3001// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
3002func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
3003	op := &request.Operation{
3004		Name:       opCreateLoadBalancerTlsCertificate,
3005		HTTPMethod: "POST",
3006		HTTPPath:   "/",
3007	}
3008
3009	if input == nil {
3010		input = &CreateLoadBalancerTlsCertificateInput{}
3011	}
3012
3013	output = &CreateLoadBalancerTlsCertificateOutput{}
3014	req = c.newRequest(op, input, output)
3015	return
3016}
3017
3018// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
3019//
3020// Creates an SSL/TLS certificate for an Amazon Lightsail load balancer.
3021//
3022// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
3023//
3024// The CreateLoadBalancerTlsCertificate operation supports tag-based access
3025// control via resource tags applied to the resource identified by load balancer
3026// name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
3027//
3028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3029// with awserr.Error's Code and Message methods to get detailed information about
3030// the error.
3031//
3032// See the AWS API reference guide for Amazon Lightsail's
3033// API operation CreateLoadBalancerTlsCertificate for usage and error information.
3034//
3035// Returned Error Types:
3036//   * ServiceException
3037//   A general service exception.
3038//
3039//   * InvalidInputException
3040//   Lightsail throws this exception when user input does not conform to the validation
3041//   rules of an input field.
3042//
3043//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3044//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3045//   view, or edit these resources.
3046//
3047//   * NotFoundException
3048//   Lightsail throws this exception when it cannot find a resource.
3049//
3050//   * OperationFailureException
3051//   Lightsail throws this exception when an operation fails to execute.
3052//
3053//   * AccessDeniedException
3054//   Lightsail throws this exception when the user cannot be authenticated or
3055//   uses invalid credentials to access a resource.
3056//
3057//   * AccountSetupInProgressException
3058//   Lightsail throws this exception when an account is still in the setup in
3059//   progress state.
3060//
3061//   * UnauthenticatedException
3062//   Lightsail throws this exception when the user has not been authenticated.
3063//
3064// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
3065func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
3066	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
3067	return out, req.Send()
3068}
3069
3070// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
3071// the ability to pass a context and additional request options.
3072//
3073// See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
3074//
3075// The context must be non-nil and will be used for request cancellation. If
3076// the context is nil a panic will occur. In the future the SDK may create
3077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3078// for more information on using Contexts.
3079func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
3080	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
3081	req.SetContext(ctx)
3082	req.ApplyOptions(opts...)
3083	return out, req.Send()
3084}
3085
3086const opCreateRelationalDatabase = "CreateRelationalDatabase"
3087
3088// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
3089// client's request for the CreateRelationalDatabase operation. The "output" return
3090// value will be populated with the request's response once the request completes
3091// successfully.
3092//
3093// Use "Send" method on the returned Request to send the API call to the service.
3094// the "output" return value is not valid until after Send returns without error.
3095//
3096// See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
3097// API call, and error handling.
3098//
3099// This method is useful when you want to inject custom logic or configuration
3100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3101//
3102//
3103//    // Example sending a request using the CreateRelationalDatabaseRequest method.
3104//    req, resp := client.CreateRelationalDatabaseRequest(params)
3105//
3106//    err := req.Send()
3107//    if err == nil { // resp is now filled
3108//        fmt.Println(resp)
3109//    }
3110//
3111// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
3112func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
3113	op := &request.Operation{
3114		Name:       opCreateRelationalDatabase,
3115		HTTPMethod: "POST",
3116		HTTPPath:   "/",
3117	}
3118
3119	if input == nil {
3120		input = &CreateRelationalDatabaseInput{}
3121	}
3122
3123	output = &CreateRelationalDatabaseOutput{}
3124	req = c.newRequest(op, input, output)
3125	return
3126}
3127
3128// CreateRelationalDatabase API operation for Amazon Lightsail.
3129//
3130// Creates a new database in Amazon Lightsail.
3131//
3132// The create relational database operation supports tag-based access control
3133// via request tags. For more information, see the Amazon Lightsail Developer
3134// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
3135//
3136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3137// with awserr.Error's Code and Message methods to get detailed information about
3138// the error.
3139//
3140// See the AWS API reference guide for Amazon Lightsail's
3141// API operation CreateRelationalDatabase for usage and error information.
3142//
3143// Returned Error Types:
3144//   * ServiceException
3145//   A general service exception.
3146//
3147//   * InvalidInputException
3148//   Lightsail throws this exception when user input does not conform to the validation
3149//   rules of an input field.
3150//
3151//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3152//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3153//   view, or edit these resources.
3154//
3155//   * NotFoundException
3156//   Lightsail throws this exception when it cannot find a resource.
3157//
3158//   * OperationFailureException
3159//   Lightsail throws this exception when an operation fails to execute.
3160//
3161//   * AccessDeniedException
3162//   Lightsail throws this exception when the user cannot be authenticated or
3163//   uses invalid credentials to access a resource.
3164//
3165//   * AccountSetupInProgressException
3166//   Lightsail throws this exception when an account is still in the setup in
3167//   progress state.
3168//
3169//   * UnauthenticatedException
3170//   Lightsail throws this exception when the user has not been authenticated.
3171//
3172// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
3173func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
3174	req, out := c.CreateRelationalDatabaseRequest(input)
3175	return out, req.Send()
3176}
3177
3178// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
3179// the ability to pass a context and additional request options.
3180//
3181// See CreateRelationalDatabase for details on how to use this API operation.
3182//
3183// The context must be non-nil and will be used for request cancellation. If
3184// the context is nil a panic will occur. In the future the SDK may create
3185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3186// for more information on using Contexts.
3187func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
3188	req, out := c.CreateRelationalDatabaseRequest(input)
3189	req.SetContext(ctx)
3190	req.ApplyOptions(opts...)
3191	return out, req.Send()
3192}
3193
3194const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
3195
3196// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
3197// client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
3198// value will be populated with the request's response once the request completes
3199// successfully.
3200//
3201// Use "Send" method on the returned Request to send the API call to the service.
3202// the "output" return value is not valid until after Send returns without error.
3203//
3204// See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
3205// API call, and error handling.
3206//
3207// This method is useful when you want to inject custom logic or configuration
3208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3209//
3210//
3211//    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
3212//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
3213//
3214//    err := req.Send()
3215//    if err == nil { // resp is now filled
3216//        fmt.Println(resp)
3217//    }
3218//
3219// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
3220func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
3221	op := &request.Operation{
3222		Name:       opCreateRelationalDatabaseFromSnapshot,
3223		HTTPMethod: "POST",
3224		HTTPPath:   "/",
3225	}
3226
3227	if input == nil {
3228		input = &CreateRelationalDatabaseFromSnapshotInput{}
3229	}
3230
3231	output = &CreateRelationalDatabaseFromSnapshotOutput{}
3232	req = c.newRequest(op, input, output)
3233	return
3234}
3235
3236// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
3237//
3238// Creates a new database from an existing database snapshot in Amazon Lightsail.
3239//
3240// You can create a new database from a snapshot in if something goes wrong
3241// with your original database, or to change it to a different plan, such as
3242// a high availability or standard plan.
3243//
3244// The create relational database from snapshot operation supports tag-based
3245// access control via request tags and resource tags applied to the resource
3246// identified by relationalDatabaseSnapshotName. For more information, see the
3247// Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
3248//
3249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3250// with awserr.Error's Code and Message methods to get detailed information about
3251// the error.
3252//
3253// See the AWS API reference guide for Amazon Lightsail's
3254// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
3255//
3256// Returned Error Types:
3257//   * ServiceException
3258//   A general service exception.
3259//
3260//   * InvalidInputException
3261//   Lightsail throws this exception when user input does not conform to the validation
3262//   rules of an input field.
3263//
3264//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3265//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3266//   view, or edit these resources.
3267//
3268//   * NotFoundException
3269//   Lightsail throws this exception when it cannot find a resource.
3270//
3271//   * OperationFailureException
3272//   Lightsail throws this exception when an operation fails to execute.
3273//
3274//   * AccessDeniedException
3275//   Lightsail throws this exception when the user cannot be authenticated or
3276//   uses invalid credentials to access a resource.
3277//
3278//   * AccountSetupInProgressException
3279//   Lightsail throws this exception when an account is still in the setup in
3280//   progress state.
3281//
3282//   * UnauthenticatedException
3283//   Lightsail throws this exception when the user has not been authenticated.
3284//
3285// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
3286func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
3287	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
3288	return out, req.Send()
3289}
3290
3291// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
3292// the ability to pass a context and additional request options.
3293//
3294// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
3295//
3296// The context must be non-nil and will be used for request cancellation. If
3297// the context is nil a panic will occur. In the future the SDK may create
3298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3299// for more information on using Contexts.
3300func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
3301	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
3302	req.SetContext(ctx)
3303	req.ApplyOptions(opts...)
3304	return out, req.Send()
3305}
3306
3307const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
3308
3309// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
3310// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
3311// value will be populated with the request's response once the request completes
3312// successfully.
3313//
3314// Use "Send" method on the returned Request to send the API call to the service.
3315// the "output" return value is not valid until after Send returns without error.
3316//
3317// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
3318// API call, and error handling.
3319//
3320// This method is useful when you want to inject custom logic or configuration
3321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3322//
3323//
3324//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
3325//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
3326//
3327//    err := req.Send()
3328//    if err == nil { // resp is now filled
3329//        fmt.Println(resp)
3330//    }
3331//
3332// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
3333func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
3334	op := &request.Operation{
3335		Name:       opCreateRelationalDatabaseSnapshot,
3336		HTTPMethod: "POST",
3337		HTTPPath:   "/",
3338	}
3339
3340	if input == nil {
3341		input = &CreateRelationalDatabaseSnapshotInput{}
3342	}
3343
3344	output = &CreateRelationalDatabaseSnapshotOutput{}
3345	req = c.newRequest(op, input, output)
3346	return
3347}
3348
3349// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
3350//
3351// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
3352// for backups, to make copies of a database, and to save data before deleting
3353// a database.
3354//
3355// The create relational database snapshot operation supports tag-based access
3356// control via request tags. For more information, see the Amazon Lightsail
3357// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
3358//
3359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3360// with awserr.Error's Code and Message methods to get detailed information about
3361// the error.
3362//
3363// See the AWS API reference guide for Amazon Lightsail's
3364// API operation CreateRelationalDatabaseSnapshot for usage and error information.
3365//
3366// Returned Error Types:
3367//   * ServiceException
3368//   A general service exception.
3369//
3370//   * InvalidInputException
3371//   Lightsail throws this exception when user input does not conform to the validation
3372//   rules of an input field.
3373//
3374//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3375//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3376//   view, or edit these resources.
3377//
3378//   * NotFoundException
3379//   Lightsail throws this exception when it cannot find a resource.
3380//
3381//   * OperationFailureException
3382//   Lightsail throws this exception when an operation fails to execute.
3383//
3384//   * AccessDeniedException
3385//   Lightsail throws this exception when the user cannot be authenticated or
3386//   uses invalid credentials to access a resource.
3387//
3388//   * AccountSetupInProgressException
3389//   Lightsail throws this exception when an account is still in the setup in
3390//   progress state.
3391//
3392//   * UnauthenticatedException
3393//   Lightsail throws this exception when the user has not been authenticated.
3394//
3395// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
3396func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
3397	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
3398	return out, req.Send()
3399}
3400
3401// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
3402// the ability to pass a context and additional request options.
3403//
3404// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
3405//
3406// The context must be non-nil and will be used for request cancellation. If
3407// the context is nil a panic will occur. In the future the SDK may create
3408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3409// for more information on using Contexts.
3410func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
3411	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
3412	req.SetContext(ctx)
3413	req.ApplyOptions(opts...)
3414	return out, req.Send()
3415}
3416
3417const opDeleteAlarm = "DeleteAlarm"
3418
3419// DeleteAlarmRequest generates a "aws/request.Request" representing the
3420// client's request for the DeleteAlarm operation. The "output" return
3421// value will be populated with the request's response once the request completes
3422// successfully.
3423//
3424// Use "Send" method on the returned Request to send the API call to the service.
3425// the "output" return value is not valid until after Send returns without error.
3426//
3427// See DeleteAlarm for more information on using the DeleteAlarm
3428// API call, and error handling.
3429//
3430// This method is useful when you want to inject custom logic or configuration
3431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3432//
3433//
3434//    // Example sending a request using the DeleteAlarmRequest method.
3435//    req, resp := client.DeleteAlarmRequest(params)
3436//
3437//    err := req.Send()
3438//    if err == nil { // resp is now filled
3439//        fmt.Println(resp)
3440//    }
3441//
3442// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
3443func (c *Lightsail) DeleteAlarmRequest(input *DeleteAlarmInput) (req *request.Request, output *DeleteAlarmOutput) {
3444	op := &request.Operation{
3445		Name:       opDeleteAlarm,
3446		HTTPMethod: "POST",
3447		HTTPPath:   "/",
3448	}
3449
3450	if input == nil {
3451		input = &DeleteAlarmInput{}
3452	}
3453
3454	output = &DeleteAlarmOutput{}
3455	req = c.newRequest(op, input, output)
3456	return
3457}
3458
3459// DeleteAlarm API operation for Amazon Lightsail.
3460//
3461// Deletes an alarm.
3462//
3463// An alarm is used to monitor a single metric for one of your resources. When
3464// a metric condition is met, the alarm can notify you by email, SMS text message,
3465// and a banner displayed on the Amazon Lightsail console. For more information,
3466// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
3467//
3468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3469// with awserr.Error's Code and Message methods to get detailed information about
3470// the error.
3471//
3472// See the AWS API reference guide for Amazon Lightsail's
3473// API operation DeleteAlarm for usage and error information.
3474//
3475// Returned Error Types:
3476//   * ServiceException
3477//   A general service exception.
3478//
3479//   * InvalidInputException
3480//   Lightsail throws this exception when user input does not conform to the validation
3481//   rules of an input field.
3482//
3483//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3484//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3485//   view, or edit these resources.
3486//
3487//   * OperationFailureException
3488//   Lightsail throws this exception when an operation fails to execute.
3489//
3490//   * UnauthenticatedException
3491//   Lightsail throws this exception when the user has not been authenticated.
3492//
3493//   * AccessDeniedException
3494//   Lightsail throws this exception when the user cannot be authenticated or
3495//   uses invalid credentials to access a resource.
3496//
3497//   * NotFoundException
3498//   Lightsail throws this exception when it cannot find a resource.
3499//
3500// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
3501func (c *Lightsail) DeleteAlarm(input *DeleteAlarmInput) (*DeleteAlarmOutput, error) {
3502	req, out := c.DeleteAlarmRequest(input)
3503	return out, req.Send()
3504}
3505
3506// DeleteAlarmWithContext is the same as DeleteAlarm with the addition of
3507// the ability to pass a context and additional request options.
3508//
3509// See DeleteAlarm for details on how to use this API operation.
3510//
3511// The context must be non-nil and will be used for request cancellation. If
3512// the context is nil a panic will occur. In the future the SDK may create
3513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3514// for more information on using Contexts.
3515func (c *Lightsail) DeleteAlarmWithContext(ctx aws.Context, input *DeleteAlarmInput, opts ...request.Option) (*DeleteAlarmOutput, error) {
3516	req, out := c.DeleteAlarmRequest(input)
3517	req.SetContext(ctx)
3518	req.ApplyOptions(opts...)
3519	return out, req.Send()
3520}
3521
3522const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
3523
3524// DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
3525// client's request for the DeleteAutoSnapshot operation. The "output" return
3526// value will be populated with the request's response once the request completes
3527// successfully.
3528//
3529// Use "Send" method on the returned Request to send the API call to the service.
3530// the "output" return value is not valid until after Send returns without error.
3531//
3532// See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
3533// API call, and error handling.
3534//
3535// This method is useful when you want to inject custom logic or configuration
3536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3537//
3538//
3539//    // Example sending a request using the DeleteAutoSnapshotRequest method.
3540//    req, resp := client.DeleteAutoSnapshotRequest(params)
3541//
3542//    err := req.Send()
3543//    if err == nil { // resp is now filled
3544//        fmt.Println(resp)
3545//    }
3546//
3547// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3548func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
3549	op := &request.Operation{
3550		Name:       opDeleteAutoSnapshot,
3551		HTTPMethod: "POST",
3552		HTTPPath:   "/",
3553	}
3554
3555	if input == nil {
3556		input = &DeleteAutoSnapshotInput{}
3557	}
3558
3559	output = &DeleteAutoSnapshotOutput{}
3560	req = c.newRequest(op, input, output)
3561	return
3562}
3563
3564// DeleteAutoSnapshot API operation for Amazon Lightsail.
3565//
3566// Deletes an automatic snapshot of an instance or disk. For more information,
3567// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
3568//
3569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3570// with awserr.Error's Code and Message methods to get detailed information about
3571// the error.
3572//
3573// See the AWS API reference guide for Amazon Lightsail's
3574// API operation DeleteAutoSnapshot for usage and error information.
3575//
3576// Returned Error Types:
3577//   * ServiceException
3578//   A general service exception.
3579//
3580//   * InvalidInputException
3581//   Lightsail throws this exception when user input does not conform to the validation
3582//   rules of an input field.
3583//
3584//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3585//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3586//   view, or edit these resources.
3587//
3588//   * NotFoundException
3589//   Lightsail throws this exception when it cannot find a resource.
3590//
3591//   * OperationFailureException
3592//   Lightsail throws this exception when an operation fails to execute.
3593//
3594//   * AccessDeniedException
3595//   Lightsail throws this exception when the user cannot be authenticated or
3596//   uses invalid credentials to access a resource.
3597//
3598//   * UnauthenticatedException
3599//   Lightsail throws this exception when the user has not been authenticated.
3600//
3601// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3602func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
3603	req, out := c.DeleteAutoSnapshotRequest(input)
3604	return out, req.Send()
3605}
3606
3607// DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
3608// the ability to pass a context and additional request options.
3609//
3610// See DeleteAutoSnapshot for details on how to use this API operation.
3611//
3612// The context must be non-nil and will be used for request cancellation. If
3613// the context is nil a panic will occur. In the future the SDK may create
3614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3615// for more information on using Contexts.
3616func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
3617	req, out := c.DeleteAutoSnapshotRequest(input)
3618	req.SetContext(ctx)
3619	req.ApplyOptions(opts...)
3620	return out, req.Send()
3621}
3622
3623const opDeleteBucket = "DeleteBucket"
3624
3625// DeleteBucketRequest generates a "aws/request.Request" representing the
3626// client's request for the DeleteBucket operation. The "output" return
3627// value will be populated with the request's response once the request completes
3628// successfully.
3629//
3630// Use "Send" method on the returned Request to send the API call to the service.
3631// the "output" return value is not valid until after Send returns without error.
3632//
3633// See DeleteBucket for more information on using the DeleteBucket
3634// API call, and error handling.
3635//
3636// This method is useful when you want to inject custom logic or configuration
3637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3638//
3639//
3640//    // Example sending a request using the DeleteBucketRequest method.
3641//    req, resp := client.DeleteBucketRequest(params)
3642//
3643//    err := req.Send()
3644//    if err == nil { // resp is now filled
3645//        fmt.Println(resp)
3646//    }
3647//
3648// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucket
3649func (c *Lightsail) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) {
3650	op := &request.Operation{
3651		Name:       opDeleteBucket,
3652		HTTPMethod: "POST",
3653		HTTPPath:   "/",
3654	}
3655
3656	if input == nil {
3657		input = &DeleteBucketInput{}
3658	}
3659
3660	output = &DeleteBucketOutput{}
3661	req = c.newRequest(op, input, output)
3662	return
3663}
3664
3665// DeleteBucket API operation for Amazon Lightsail.
3666//
3667// Deletes a Amazon Lightsail bucket.
3668//
3669// When you delete your bucket, the bucket name is released and can be reused
3670// for a new bucket in your account or another AWS account.
3671//
3672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3673// with awserr.Error's Code and Message methods to get detailed information about
3674// the error.
3675//
3676// See the AWS API reference guide for Amazon Lightsail's
3677// API operation DeleteBucket for usage and error information.
3678//
3679// Returned Error Types:
3680//   * AccessDeniedException
3681//   Lightsail throws this exception when the user cannot be authenticated or
3682//   uses invalid credentials to access a resource.
3683//
3684//   * InvalidInputException
3685//   Lightsail throws this exception when user input does not conform to the validation
3686//   rules of an input field.
3687//
3688//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3689//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3690//   view, or edit these resources.
3691//
3692//   * NotFoundException
3693//   Lightsail throws this exception when it cannot find a resource.
3694//
3695//   * ServiceException
3696//   A general service exception.
3697//
3698//   * UnauthenticatedException
3699//   Lightsail throws this exception when the user has not been authenticated.
3700//
3701// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucket
3702func (c *Lightsail) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
3703	req, out := c.DeleteBucketRequest(input)
3704	return out, req.Send()
3705}
3706
3707// DeleteBucketWithContext is the same as DeleteBucket with the addition of
3708// the ability to pass a context and additional request options.
3709//
3710// See DeleteBucket for details on how to use this API operation.
3711//
3712// The context must be non-nil and will be used for request cancellation. If
3713// the context is nil a panic will occur. In the future the SDK may create
3714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3715// for more information on using Contexts.
3716func (c *Lightsail) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
3717	req, out := c.DeleteBucketRequest(input)
3718	req.SetContext(ctx)
3719	req.ApplyOptions(opts...)
3720	return out, req.Send()
3721}
3722
3723const opDeleteBucketAccessKey = "DeleteBucketAccessKey"
3724
3725// DeleteBucketAccessKeyRequest generates a "aws/request.Request" representing the
3726// client's request for the DeleteBucketAccessKey operation. The "output" return
3727// value will be populated with the request's response once the request completes
3728// successfully.
3729//
3730// Use "Send" method on the returned Request to send the API call to the service.
3731// the "output" return value is not valid until after Send returns without error.
3732//
3733// See DeleteBucketAccessKey for more information on using the DeleteBucketAccessKey
3734// API call, and error handling.
3735//
3736// This method is useful when you want to inject custom logic or configuration
3737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3738//
3739//
3740//    // Example sending a request using the DeleteBucketAccessKeyRequest method.
3741//    req, resp := client.DeleteBucketAccessKeyRequest(params)
3742//
3743//    err := req.Send()
3744//    if err == nil { // resp is now filled
3745//        fmt.Println(resp)
3746//    }
3747//
3748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucketAccessKey
3749func (c *Lightsail) DeleteBucketAccessKeyRequest(input *DeleteBucketAccessKeyInput) (req *request.Request, output *DeleteBucketAccessKeyOutput) {
3750	op := &request.Operation{
3751		Name:       opDeleteBucketAccessKey,
3752		HTTPMethod: "POST",
3753		HTTPPath:   "/",
3754	}
3755
3756	if input == nil {
3757		input = &DeleteBucketAccessKeyInput{}
3758	}
3759
3760	output = &DeleteBucketAccessKeyOutput{}
3761	req = c.newRequest(op, input, output)
3762	return
3763}
3764
3765// DeleteBucketAccessKey API operation for Amazon Lightsail.
3766//
3767// Deletes an access key for the specified Amazon Lightsail bucket.
3768//
3769// We recommend that you delete an access key if the secret access key is compromised.
3770//
3771// For more information about access keys, see Creating access keys for a bucket
3772// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
3773// in the Amazon Lightsail Developer Guide.
3774//
3775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3776// with awserr.Error's Code and Message methods to get detailed information about
3777// the error.
3778//
3779// See the AWS API reference guide for Amazon Lightsail's
3780// API operation DeleteBucketAccessKey for usage and error information.
3781//
3782// Returned Error Types:
3783//   * AccessDeniedException
3784//   Lightsail throws this exception when the user cannot be authenticated or
3785//   uses invalid credentials to access a resource.
3786//
3787//   * InvalidInputException
3788//   Lightsail throws this exception when user input does not conform to the validation
3789//   rules of an input field.
3790//
3791//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3792//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3793//   view, or edit these resources.
3794//
3795//   * NotFoundException
3796//   Lightsail throws this exception when it cannot find a resource.
3797//
3798//   * ServiceException
3799//   A general service exception.
3800//
3801//   * UnauthenticatedException
3802//   Lightsail throws this exception when the user has not been authenticated.
3803//
3804// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteBucketAccessKey
3805func (c *Lightsail) DeleteBucketAccessKey(input *DeleteBucketAccessKeyInput) (*DeleteBucketAccessKeyOutput, error) {
3806	req, out := c.DeleteBucketAccessKeyRequest(input)
3807	return out, req.Send()
3808}
3809
3810// DeleteBucketAccessKeyWithContext is the same as DeleteBucketAccessKey with the addition of
3811// the ability to pass a context and additional request options.
3812//
3813// See DeleteBucketAccessKey for details on how to use this API operation.
3814//
3815// The context must be non-nil and will be used for request cancellation. If
3816// the context is nil a panic will occur. In the future the SDK may create
3817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3818// for more information on using Contexts.
3819func (c *Lightsail) DeleteBucketAccessKeyWithContext(ctx aws.Context, input *DeleteBucketAccessKeyInput, opts ...request.Option) (*DeleteBucketAccessKeyOutput, error) {
3820	req, out := c.DeleteBucketAccessKeyRequest(input)
3821	req.SetContext(ctx)
3822	req.ApplyOptions(opts...)
3823	return out, req.Send()
3824}
3825
3826const opDeleteCertificate = "DeleteCertificate"
3827
3828// DeleteCertificateRequest generates a "aws/request.Request" representing the
3829// client's request for the DeleteCertificate operation. The "output" return
3830// value will be populated with the request's response once the request completes
3831// successfully.
3832//
3833// Use "Send" method on the returned Request to send the API call to the service.
3834// the "output" return value is not valid until after Send returns without error.
3835//
3836// See DeleteCertificate for more information on using the DeleteCertificate
3837// API call, and error handling.
3838//
3839// This method is useful when you want to inject custom logic or configuration
3840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3841//
3842//
3843//    // Example sending a request using the DeleteCertificateRequest method.
3844//    req, resp := client.DeleteCertificateRequest(params)
3845//
3846//    err := req.Send()
3847//    if err == nil { // resp is now filled
3848//        fmt.Println(resp)
3849//    }
3850//
3851// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3852func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) {
3853	op := &request.Operation{
3854		Name:       opDeleteCertificate,
3855		HTTPMethod: "POST",
3856		HTTPPath:   "/",
3857	}
3858
3859	if input == nil {
3860		input = &DeleteCertificateInput{}
3861	}
3862
3863	output = &DeleteCertificateOutput{}
3864	req = c.newRequest(op, input, output)
3865	return
3866}
3867
3868// DeleteCertificate API operation for Amazon Lightsail.
3869//
3870// Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery
3871// network (CDN) distribution.
3872//
3873// Certificates that are currently attached to a distribution cannot be deleted.
3874// Use the DetachCertificateFromDistribution action to detach a certificate
3875// from a distribution.
3876//
3877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3878// with awserr.Error's Code and Message methods to get detailed information about
3879// the error.
3880//
3881// See the AWS API reference guide for Amazon Lightsail's
3882// API operation DeleteCertificate for usage and error information.
3883//
3884// Returned Error Types:
3885//   * ServiceException
3886//   A general service exception.
3887//
3888//   * InvalidInputException
3889//   Lightsail throws this exception when user input does not conform to the validation
3890//   rules of an input field.
3891//
3892//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3893//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3894//   view, or edit these resources.
3895//
3896//   * AccessDeniedException
3897//   Lightsail throws this exception when the user cannot be authenticated or
3898//   uses invalid credentials to access a resource.
3899//
3900//   * NotFoundException
3901//   Lightsail throws this exception when it cannot find a resource.
3902//
3903//   * UnauthenticatedException
3904//   Lightsail throws this exception when the user has not been authenticated.
3905//
3906// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3907func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) {
3908	req, out := c.DeleteCertificateRequest(input)
3909	return out, req.Send()
3910}
3911
3912// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of
3913// the ability to pass a context and additional request options.
3914//
3915// See DeleteCertificate for details on how to use this API operation.
3916//
3917// The context must be non-nil and will be used for request cancellation. If
3918// the context is nil a panic will occur. In the future the SDK may create
3919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3920// for more information on using Contexts.
3921func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) {
3922	req, out := c.DeleteCertificateRequest(input)
3923	req.SetContext(ctx)
3924	req.ApplyOptions(opts...)
3925	return out, req.Send()
3926}
3927
3928const opDeleteContactMethod = "DeleteContactMethod"
3929
3930// DeleteContactMethodRequest generates a "aws/request.Request" representing the
3931// client's request for the DeleteContactMethod operation. The "output" return
3932// value will be populated with the request's response once the request completes
3933// successfully.
3934//
3935// Use "Send" method on the returned Request to send the API call to the service.
3936// the "output" return value is not valid until after Send returns without error.
3937//
3938// See DeleteContactMethod for more information on using the DeleteContactMethod
3939// API call, and error handling.
3940//
3941// This method is useful when you want to inject custom logic or configuration
3942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3943//
3944//
3945//    // Example sending a request using the DeleteContactMethodRequest method.
3946//    req, resp := client.DeleteContactMethodRequest(params)
3947//
3948//    err := req.Send()
3949//    if err == nil { // resp is now filled
3950//        fmt.Println(resp)
3951//    }
3952//
3953// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
3954func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) {
3955	op := &request.Operation{
3956		Name:       opDeleteContactMethod,
3957		HTTPMethod: "POST",
3958		HTTPPath:   "/",
3959	}
3960
3961	if input == nil {
3962		input = &DeleteContactMethodInput{}
3963	}
3964
3965	output = &DeleteContactMethodOutput{}
3966	req = c.newRequest(op, input, output)
3967	return
3968}
3969
3970// DeleteContactMethod API operation for Amazon Lightsail.
3971//
3972// Deletes a contact method.
3973//
3974// A contact method is used to send you notifications about your Amazon Lightsail
3975// resources. You can add one email address and one mobile phone number contact
3976// method in each AWS Region. However, SMS text messaging is not supported in
3977// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
3978// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
3979//
3980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3981// with awserr.Error's Code and Message methods to get detailed information about
3982// the error.
3983//
3984// See the AWS API reference guide for Amazon Lightsail's
3985// API operation DeleteContactMethod for usage and error information.
3986//
3987// Returned Error Types:
3988//   * ServiceException
3989//   A general service exception.
3990//
3991//   * InvalidInputException
3992//   Lightsail throws this exception when user input does not conform to the validation
3993//   rules of an input field.
3994//
3995//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3996//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3997//   view, or edit these resources.
3998//
3999//   * OperationFailureException
4000//   Lightsail throws this exception when an operation fails to execute.
4001//
4002//   * UnauthenticatedException
4003//   Lightsail throws this exception when the user has not been authenticated.
4004//
4005//   * AccessDeniedException
4006//   Lightsail throws this exception when the user cannot be authenticated or
4007//   uses invalid credentials to access a resource.
4008//
4009//   * NotFoundException
4010//   Lightsail throws this exception when it cannot find a resource.
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
4013func (c *Lightsail) DeleteContactMethod(input *DeleteContactMethodInput) (*DeleteContactMethodOutput, error) {
4014	req, out := c.DeleteContactMethodRequest(input)
4015	return out, req.Send()
4016}
4017
4018// DeleteContactMethodWithContext is the same as DeleteContactMethod with the addition of
4019// the ability to pass a context and additional request options.
4020//
4021// See DeleteContactMethod for details on how to use this API operation.
4022//
4023// The context must be non-nil and will be used for request cancellation. If
4024// the context is nil a panic will occur. In the future the SDK may create
4025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4026// for more information on using Contexts.
4027func (c *Lightsail) DeleteContactMethodWithContext(ctx aws.Context, input *DeleteContactMethodInput, opts ...request.Option) (*DeleteContactMethodOutput, error) {
4028	req, out := c.DeleteContactMethodRequest(input)
4029	req.SetContext(ctx)
4030	req.ApplyOptions(opts...)
4031	return out, req.Send()
4032}
4033
4034const opDeleteContainerImage = "DeleteContainerImage"
4035
4036// DeleteContainerImageRequest generates a "aws/request.Request" representing the
4037// client's request for the DeleteContainerImage operation. The "output" return
4038// value will be populated with the request's response once the request completes
4039// successfully.
4040//
4041// Use "Send" method on the returned Request to send the API call to the service.
4042// the "output" return value is not valid until after Send returns without error.
4043//
4044// See DeleteContainerImage for more information on using the DeleteContainerImage
4045// API call, and error handling.
4046//
4047// This method is useful when you want to inject custom logic or configuration
4048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4049//
4050//
4051//    // Example sending a request using the DeleteContainerImageRequest method.
4052//    req, resp := client.DeleteContainerImageRequest(params)
4053//
4054//    err := req.Send()
4055//    if err == nil { // resp is now filled
4056//        fmt.Println(resp)
4057//    }
4058//
4059// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
4060func (c *Lightsail) DeleteContainerImageRequest(input *DeleteContainerImageInput) (req *request.Request, output *DeleteContainerImageOutput) {
4061	op := &request.Operation{
4062		Name:       opDeleteContainerImage,
4063		HTTPMethod: "POST",
4064		HTTPPath:   "/",
4065	}
4066
4067	if input == nil {
4068		input = &DeleteContainerImageInput{}
4069	}
4070
4071	output = &DeleteContainerImageOutput{}
4072	req = c.newRequest(op, input, output)
4073	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4074	return
4075}
4076
4077// DeleteContainerImage API operation for Amazon Lightsail.
4078//
4079// Deletes a container image that is registered to your Amazon Lightsail container
4080// service.
4081//
4082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4083// with awserr.Error's Code and Message methods to get detailed information about
4084// the error.
4085//
4086// See the AWS API reference guide for Amazon Lightsail's
4087// API operation DeleteContainerImage for usage and error information.
4088//
4089// Returned Error Types:
4090//   * ServiceException
4091//   A general service exception.
4092//
4093//   * InvalidInputException
4094//   Lightsail throws this exception when user input does not conform to the validation
4095//   rules of an input field.
4096//
4097//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4098//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4099//   view, or edit these resources.
4100//
4101//   * NotFoundException
4102//   Lightsail throws this exception when it cannot find a resource.
4103//
4104//   * AccessDeniedException
4105//   Lightsail throws this exception when the user cannot be authenticated or
4106//   uses invalid credentials to access a resource.
4107//
4108//   * UnauthenticatedException
4109//   Lightsail throws this exception when the user has not been authenticated.
4110//
4111// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
4112func (c *Lightsail) DeleteContainerImage(input *DeleteContainerImageInput) (*DeleteContainerImageOutput, error) {
4113	req, out := c.DeleteContainerImageRequest(input)
4114	return out, req.Send()
4115}
4116
4117// DeleteContainerImageWithContext is the same as DeleteContainerImage with the addition of
4118// the ability to pass a context and additional request options.
4119//
4120// See DeleteContainerImage for details on how to use this API operation.
4121//
4122// The context must be non-nil and will be used for request cancellation. If
4123// the context is nil a panic will occur. In the future the SDK may create
4124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4125// for more information on using Contexts.
4126func (c *Lightsail) DeleteContainerImageWithContext(ctx aws.Context, input *DeleteContainerImageInput, opts ...request.Option) (*DeleteContainerImageOutput, error) {
4127	req, out := c.DeleteContainerImageRequest(input)
4128	req.SetContext(ctx)
4129	req.ApplyOptions(opts...)
4130	return out, req.Send()
4131}
4132
4133const opDeleteContainerService = "DeleteContainerService"
4134
4135// DeleteContainerServiceRequest generates a "aws/request.Request" representing the
4136// client's request for the DeleteContainerService operation. The "output" return
4137// value will be populated with the request's response once the request completes
4138// successfully.
4139//
4140// Use "Send" method on the returned Request to send the API call to the service.
4141// the "output" return value is not valid until after Send returns without error.
4142//
4143// See DeleteContainerService for more information on using the DeleteContainerService
4144// API call, and error handling.
4145//
4146// This method is useful when you want to inject custom logic or configuration
4147// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4148//
4149//
4150//    // Example sending a request using the DeleteContainerServiceRequest method.
4151//    req, resp := client.DeleteContainerServiceRequest(params)
4152//
4153//    err := req.Send()
4154//    if err == nil { // resp is now filled
4155//        fmt.Println(resp)
4156//    }
4157//
4158// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
4159func (c *Lightsail) DeleteContainerServiceRequest(input *DeleteContainerServiceInput) (req *request.Request, output *DeleteContainerServiceOutput) {
4160	op := &request.Operation{
4161		Name:       opDeleteContainerService,
4162		HTTPMethod: "POST",
4163		HTTPPath:   "/",
4164	}
4165
4166	if input == nil {
4167		input = &DeleteContainerServiceInput{}
4168	}
4169
4170	output = &DeleteContainerServiceOutput{}
4171	req = c.newRequest(op, input, output)
4172	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4173	return
4174}
4175
4176// DeleteContainerService API operation for Amazon Lightsail.
4177//
4178// Deletes your Amazon Lightsail container service.
4179//
4180// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4181// with awserr.Error's Code and Message methods to get detailed information about
4182// the error.
4183//
4184// See the AWS API reference guide for Amazon Lightsail's
4185// API operation DeleteContainerService for usage and error information.
4186//
4187// Returned Error Types:
4188//   * ServiceException
4189//   A general service exception.
4190//
4191//   * InvalidInputException
4192//   Lightsail throws this exception when user input does not conform to the validation
4193//   rules of an input field.
4194//
4195//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4196//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4197//   view, or edit these resources.
4198//
4199//   * NotFoundException
4200//   Lightsail throws this exception when it cannot find a resource.
4201//
4202//   * AccessDeniedException
4203//   Lightsail throws this exception when the user cannot be authenticated or
4204//   uses invalid credentials to access a resource.
4205//
4206//   * UnauthenticatedException
4207//   Lightsail throws this exception when the user has not been authenticated.
4208//
4209// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
4210func (c *Lightsail) DeleteContainerService(input *DeleteContainerServiceInput) (*DeleteContainerServiceOutput, error) {
4211	req, out := c.DeleteContainerServiceRequest(input)
4212	return out, req.Send()
4213}
4214
4215// DeleteContainerServiceWithContext is the same as DeleteContainerService with the addition of
4216// the ability to pass a context and additional request options.
4217//
4218// See DeleteContainerService for details on how to use this API operation.
4219//
4220// The context must be non-nil and will be used for request cancellation. If
4221// the context is nil a panic will occur. In the future the SDK may create
4222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4223// for more information on using Contexts.
4224func (c *Lightsail) DeleteContainerServiceWithContext(ctx aws.Context, input *DeleteContainerServiceInput, opts ...request.Option) (*DeleteContainerServiceOutput, error) {
4225	req, out := c.DeleteContainerServiceRequest(input)
4226	req.SetContext(ctx)
4227	req.ApplyOptions(opts...)
4228	return out, req.Send()
4229}
4230
4231const opDeleteDisk = "DeleteDisk"
4232
4233// DeleteDiskRequest generates a "aws/request.Request" representing the
4234// client's request for the DeleteDisk operation. The "output" return
4235// value will be populated with the request's response once the request completes
4236// successfully.
4237//
4238// Use "Send" method on the returned Request to send the API call to the service.
4239// the "output" return value is not valid until after Send returns without error.
4240//
4241// See DeleteDisk for more information on using the DeleteDisk
4242// API call, and error handling.
4243//
4244// This method is useful when you want to inject custom logic or configuration
4245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4246//
4247//
4248//    // Example sending a request using the DeleteDiskRequest method.
4249//    req, resp := client.DeleteDiskRequest(params)
4250//
4251//    err := req.Send()
4252//    if err == nil { // resp is now filled
4253//        fmt.Println(resp)
4254//    }
4255//
4256// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
4257func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
4258	op := &request.Operation{
4259		Name:       opDeleteDisk,
4260		HTTPMethod: "POST",
4261		HTTPPath:   "/",
4262	}
4263
4264	if input == nil {
4265		input = &DeleteDiskInput{}
4266	}
4267
4268	output = &DeleteDiskOutput{}
4269	req = c.newRequest(op, input, output)
4270	return
4271}
4272
4273// DeleteDisk API operation for Amazon Lightsail.
4274//
4275// Deletes the specified block storage disk. The disk must be in the available
4276// state (not attached to a Lightsail instance).
4277//
4278// The disk may remain in the deleting state for several minutes.
4279//
4280// The delete disk operation supports tag-based access control via resource
4281// tags applied to the resource identified by disk name. For more information,
4282// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4283//
4284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4285// with awserr.Error's Code and Message methods to get detailed information about
4286// the error.
4287//
4288// See the AWS API reference guide for Amazon Lightsail's
4289// API operation DeleteDisk for usage and error information.
4290//
4291// Returned Error Types:
4292//   * ServiceException
4293//   A general service exception.
4294//
4295//   * InvalidInputException
4296//   Lightsail throws this exception when user input does not conform to the validation
4297//   rules of an input field.
4298//
4299//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4300//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4301//   view, or edit these resources.
4302//
4303//   * NotFoundException
4304//   Lightsail throws this exception when it cannot find a resource.
4305//
4306//   * OperationFailureException
4307//   Lightsail throws this exception when an operation fails to execute.
4308//
4309//   * AccessDeniedException
4310//   Lightsail throws this exception when the user cannot be authenticated or
4311//   uses invalid credentials to access a resource.
4312//
4313//   * AccountSetupInProgressException
4314//   Lightsail throws this exception when an account is still in the setup in
4315//   progress state.
4316//
4317//   * UnauthenticatedException
4318//   Lightsail throws this exception when the user has not been authenticated.
4319//
4320// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
4321func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
4322	req, out := c.DeleteDiskRequest(input)
4323	return out, req.Send()
4324}
4325
4326// DeleteDiskWithContext is the same as DeleteDisk with the addition of
4327// the ability to pass a context and additional request options.
4328//
4329// See DeleteDisk for details on how to use this API operation.
4330//
4331// The context must be non-nil and will be used for request cancellation. If
4332// the context is nil a panic will occur. In the future the SDK may create
4333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4334// for more information on using Contexts.
4335func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
4336	req, out := c.DeleteDiskRequest(input)
4337	req.SetContext(ctx)
4338	req.ApplyOptions(opts...)
4339	return out, req.Send()
4340}
4341
4342const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
4343
4344// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
4345// client's request for the DeleteDiskSnapshot operation. The "output" return
4346// value will be populated with the request's response once the request completes
4347// successfully.
4348//
4349// Use "Send" method on the returned Request to send the API call to the service.
4350// the "output" return value is not valid until after Send returns without error.
4351//
4352// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
4353// API call, and error handling.
4354//
4355// This method is useful when you want to inject custom logic or configuration
4356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4357//
4358//
4359//    // Example sending a request using the DeleteDiskSnapshotRequest method.
4360//    req, resp := client.DeleteDiskSnapshotRequest(params)
4361//
4362//    err := req.Send()
4363//    if err == nil { // resp is now filled
4364//        fmt.Println(resp)
4365//    }
4366//
4367// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
4368func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
4369	op := &request.Operation{
4370		Name:       opDeleteDiskSnapshot,
4371		HTTPMethod: "POST",
4372		HTTPPath:   "/",
4373	}
4374
4375	if input == nil {
4376		input = &DeleteDiskSnapshotInput{}
4377	}
4378
4379	output = &DeleteDiskSnapshotOutput{}
4380	req = c.newRequest(op, input, output)
4381	return
4382}
4383
4384// DeleteDiskSnapshot API operation for Amazon Lightsail.
4385//
4386// Deletes the specified disk snapshot.
4387//
4388// When you make periodic snapshots of a disk, the snapshots are incremental,
4389// and only the blocks on the device that have changed since your last snapshot
4390// are saved in the new snapshot. When you delete a snapshot, only the data
4391// not needed for any other snapshot is removed. So regardless of which prior
4392// snapshots have been deleted, all active snapshots will have access to all
4393// the information needed to restore the disk.
4394//
4395// The delete disk snapshot operation supports tag-based access control via
4396// resource tags applied to the resource identified by disk snapshot name. For
4397// more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4398//
4399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4400// with awserr.Error's Code and Message methods to get detailed information about
4401// the error.
4402//
4403// See the AWS API reference guide for Amazon Lightsail's
4404// API operation DeleteDiskSnapshot for usage and error information.
4405//
4406// Returned Error Types:
4407//   * ServiceException
4408//   A general service exception.
4409//
4410//   * InvalidInputException
4411//   Lightsail throws this exception when user input does not conform to the validation
4412//   rules of an input field.
4413//
4414//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4415//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4416//   view, or edit these resources.
4417//
4418//   * NotFoundException
4419//   Lightsail throws this exception when it cannot find a resource.
4420//
4421//   * OperationFailureException
4422//   Lightsail throws this exception when an operation fails to execute.
4423//
4424//   * AccessDeniedException
4425//   Lightsail throws this exception when the user cannot be authenticated or
4426//   uses invalid credentials to access a resource.
4427//
4428//   * AccountSetupInProgressException
4429//   Lightsail throws this exception when an account is still in the setup in
4430//   progress state.
4431//
4432//   * UnauthenticatedException
4433//   Lightsail throws this exception when the user has not been authenticated.
4434//
4435// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
4436func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
4437	req, out := c.DeleteDiskSnapshotRequest(input)
4438	return out, req.Send()
4439}
4440
4441// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
4442// the ability to pass a context and additional request options.
4443//
4444// See DeleteDiskSnapshot for details on how to use this API operation.
4445//
4446// The context must be non-nil and will be used for request cancellation. If
4447// the context is nil a panic will occur. In the future the SDK may create
4448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4449// for more information on using Contexts.
4450func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
4451	req, out := c.DeleteDiskSnapshotRequest(input)
4452	req.SetContext(ctx)
4453	req.ApplyOptions(opts...)
4454	return out, req.Send()
4455}
4456
4457const opDeleteDistribution = "DeleteDistribution"
4458
4459// DeleteDistributionRequest generates a "aws/request.Request" representing the
4460// client's request for the DeleteDistribution operation. The "output" return
4461// value will be populated with the request's response once the request completes
4462// successfully.
4463//
4464// Use "Send" method on the returned Request to send the API call to the service.
4465// the "output" return value is not valid until after Send returns without error.
4466//
4467// See DeleteDistribution for more information on using the DeleteDistribution
4468// API call, and error handling.
4469//
4470// This method is useful when you want to inject custom logic or configuration
4471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4472//
4473//
4474//    // Example sending a request using the DeleteDistributionRequest method.
4475//    req, resp := client.DeleteDistributionRequest(params)
4476//
4477//    err := req.Send()
4478//    if err == nil { // resp is now filled
4479//        fmt.Println(resp)
4480//    }
4481//
4482// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
4483func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) {
4484	op := &request.Operation{
4485		Name:       opDeleteDistribution,
4486		HTTPMethod: "POST",
4487		HTTPPath:   "/",
4488	}
4489
4490	if input == nil {
4491		input = &DeleteDistributionInput{}
4492	}
4493
4494	output = &DeleteDistributionOutput{}
4495	req = c.newRequest(op, input, output)
4496	return
4497}
4498
4499// DeleteDistribution API operation for Amazon Lightsail.
4500//
4501// Deletes your Amazon Lightsail content delivery network (CDN) distribution.
4502//
4503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4504// with awserr.Error's Code and Message methods to get detailed information about
4505// the error.
4506//
4507// See the AWS API reference guide for Amazon Lightsail's
4508// API operation DeleteDistribution for usage and error information.
4509//
4510// Returned Error Types:
4511//   * ServiceException
4512//   A general service exception.
4513//
4514//   * InvalidInputException
4515//   Lightsail throws this exception when user input does not conform to the validation
4516//   rules of an input field.
4517//
4518//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4519//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4520//   view, or edit these resources.
4521//
4522//   * NotFoundException
4523//   Lightsail throws this exception when it cannot find a resource.
4524//
4525//   * OperationFailureException
4526//   Lightsail throws this exception when an operation fails to execute.
4527//
4528//   * AccessDeniedException
4529//   Lightsail throws this exception when the user cannot be authenticated or
4530//   uses invalid credentials to access a resource.
4531//
4532//   * UnauthenticatedException
4533//   Lightsail throws this exception when the user has not been authenticated.
4534//
4535// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
4536func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) {
4537	req, out := c.DeleteDistributionRequest(input)
4538	return out, req.Send()
4539}
4540
4541// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of
4542// the ability to pass a context and additional request options.
4543//
4544// See DeleteDistribution for details on how to use this API operation.
4545//
4546// The context must be non-nil and will be used for request cancellation. If
4547// the context is nil a panic will occur. In the future the SDK may create
4548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4549// for more information on using Contexts.
4550func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) {
4551	req, out := c.DeleteDistributionRequest(input)
4552	req.SetContext(ctx)
4553	req.ApplyOptions(opts...)
4554	return out, req.Send()
4555}
4556
4557const opDeleteDomain = "DeleteDomain"
4558
4559// DeleteDomainRequest generates a "aws/request.Request" representing the
4560// client's request for the DeleteDomain operation. The "output" return
4561// value will be populated with the request's response once the request completes
4562// successfully.
4563//
4564// Use "Send" method on the returned Request to send the API call to the service.
4565// the "output" return value is not valid until after Send returns without error.
4566//
4567// See DeleteDomain for more information on using the DeleteDomain
4568// API call, and error handling.
4569//
4570// This method is useful when you want to inject custom logic or configuration
4571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4572//
4573//
4574//    // Example sending a request using the DeleteDomainRequest method.
4575//    req, resp := client.DeleteDomainRequest(params)
4576//
4577//    err := req.Send()
4578//    if err == nil { // resp is now filled
4579//        fmt.Println(resp)
4580//    }
4581//
4582// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
4583func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
4584	op := &request.Operation{
4585		Name:       opDeleteDomain,
4586		HTTPMethod: "POST",
4587		HTTPPath:   "/",
4588	}
4589
4590	if input == nil {
4591		input = &DeleteDomainInput{}
4592	}
4593
4594	output = &DeleteDomainOutput{}
4595	req = c.newRequest(op, input, output)
4596	return
4597}
4598
4599// DeleteDomain API operation for Amazon Lightsail.
4600//
4601// Deletes the specified domain recordset and all of its domain records.
4602//
4603// The delete domain operation supports tag-based access control via resource
4604// tags applied to the resource identified by domain name. For more information,
4605// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4606//
4607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4608// with awserr.Error's Code and Message methods to get detailed information about
4609// the error.
4610//
4611// See the AWS API reference guide for Amazon Lightsail's
4612// API operation DeleteDomain for usage and error information.
4613//
4614// Returned Error Types:
4615//   * ServiceException
4616//   A general service exception.
4617//
4618//   * InvalidInputException
4619//   Lightsail throws this exception when user input does not conform to the validation
4620//   rules of an input field.
4621//
4622//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4623//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4624//   view, or edit these resources.
4625//
4626//   * NotFoundException
4627//   Lightsail throws this exception when it cannot find a resource.
4628//
4629//   * OperationFailureException
4630//   Lightsail throws this exception when an operation fails to execute.
4631//
4632//   * AccessDeniedException
4633//   Lightsail throws this exception when the user cannot be authenticated or
4634//   uses invalid credentials to access a resource.
4635//
4636//   * AccountSetupInProgressException
4637//   Lightsail throws this exception when an account is still in the setup in
4638//   progress state.
4639//
4640//   * UnauthenticatedException
4641//   Lightsail throws this exception when the user has not been authenticated.
4642//
4643// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
4644func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
4645	req, out := c.DeleteDomainRequest(input)
4646	return out, req.Send()
4647}
4648
4649// DeleteDomainWithContext is the same as DeleteDomain with the addition of
4650// the ability to pass a context and additional request options.
4651//
4652// See DeleteDomain for details on how to use this API operation.
4653//
4654// The context must be non-nil and will be used for request cancellation. If
4655// the context is nil a panic will occur. In the future the SDK may create
4656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4657// for more information on using Contexts.
4658func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
4659	req, out := c.DeleteDomainRequest(input)
4660	req.SetContext(ctx)
4661	req.ApplyOptions(opts...)
4662	return out, req.Send()
4663}
4664
4665const opDeleteDomainEntry = "DeleteDomainEntry"
4666
4667// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
4668// client's request for the DeleteDomainEntry operation. The "output" return
4669// value will be populated with the request's response once the request completes
4670// successfully.
4671//
4672// Use "Send" method on the returned Request to send the API call to the service.
4673// the "output" return value is not valid until after Send returns without error.
4674//
4675// See DeleteDomainEntry for more information on using the DeleteDomainEntry
4676// API call, and error handling.
4677//
4678// This method is useful when you want to inject custom logic or configuration
4679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4680//
4681//
4682//    // Example sending a request using the DeleteDomainEntryRequest method.
4683//    req, resp := client.DeleteDomainEntryRequest(params)
4684//
4685//    err := req.Send()
4686//    if err == nil { // resp is now filled
4687//        fmt.Println(resp)
4688//    }
4689//
4690// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
4691func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
4692	op := &request.Operation{
4693		Name:       opDeleteDomainEntry,
4694		HTTPMethod: "POST",
4695		HTTPPath:   "/",
4696	}
4697
4698	if input == nil {
4699		input = &DeleteDomainEntryInput{}
4700	}
4701
4702	output = &DeleteDomainEntryOutput{}
4703	req = c.newRequest(op, input, output)
4704	return
4705}
4706
4707// DeleteDomainEntry API operation for Amazon Lightsail.
4708//
4709// Deletes a specific domain entry.
4710//
4711// The delete domain entry operation supports tag-based access control via resource
4712// tags applied to the resource identified by domain name. For more information,
4713// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4714//
4715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4716// with awserr.Error's Code and Message methods to get detailed information about
4717// the error.
4718//
4719// See the AWS API reference guide for Amazon Lightsail's
4720// API operation DeleteDomainEntry for usage and error information.
4721//
4722// Returned Error Types:
4723//   * ServiceException
4724//   A general service exception.
4725//
4726//   * InvalidInputException
4727//   Lightsail throws this exception when user input does not conform to the validation
4728//   rules of an input field.
4729//
4730//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4731//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4732//   view, or edit these resources.
4733//
4734//   * NotFoundException
4735//   Lightsail throws this exception when it cannot find a resource.
4736//
4737//   * OperationFailureException
4738//   Lightsail throws this exception when an operation fails to execute.
4739//
4740//   * AccessDeniedException
4741//   Lightsail throws this exception when the user cannot be authenticated or
4742//   uses invalid credentials to access a resource.
4743//
4744//   * AccountSetupInProgressException
4745//   Lightsail throws this exception when an account is still in the setup in
4746//   progress state.
4747//
4748//   * UnauthenticatedException
4749//   Lightsail throws this exception when the user has not been authenticated.
4750//
4751// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
4752func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
4753	req, out := c.DeleteDomainEntryRequest(input)
4754	return out, req.Send()
4755}
4756
4757// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
4758// the ability to pass a context and additional request options.
4759//
4760// See DeleteDomainEntry for details on how to use this API operation.
4761//
4762// The context must be non-nil and will be used for request cancellation. If
4763// the context is nil a panic will occur. In the future the SDK may create
4764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4765// for more information on using Contexts.
4766func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
4767	req, out := c.DeleteDomainEntryRequest(input)
4768	req.SetContext(ctx)
4769	req.ApplyOptions(opts...)
4770	return out, req.Send()
4771}
4772
4773const opDeleteInstance = "DeleteInstance"
4774
4775// DeleteInstanceRequest generates a "aws/request.Request" representing the
4776// client's request for the DeleteInstance operation. The "output" return
4777// value will be populated with the request's response once the request completes
4778// successfully.
4779//
4780// Use "Send" method on the returned Request to send the API call to the service.
4781// the "output" return value is not valid until after Send returns without error.
4782//
4783// See DeleteInstance for more information on using the DeleteInstance
4784// API call, and error handling.
4785//
4786// This method is useful when you want to inject custom logic or configuration
4787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4788//
4789//
4790//    // Example sending a request using the DeleteInstanceRequest method.
4791//    req, resp := client.DeleteInstanceRequest(params)
4792//
4793//    err := req.Send()
4794//    if err == nil { // resp is now filled
4795//        fmt.Println(resp)
4796//    }
4797//
4798// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
4799func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
4800	op := &request.Operation{
4801		Name:       opDeleteInstance,
4802		HTTPMethod: "POST",
4803		HTTPPath:   "/",
4804	}
4805
4806	if input == nil {
4807		input = &DeleteInstanceInput{}
4808	}
4809
4810	output = &DeleteInstanceOutput{}
4811	req = c.newRequest(op, input, output)
4812	return
4813}
4814
4815// DeleteInstance API operation for Amazon Lightsail.
4816//
4817// Deletes an Amazon Lightsail instance.
4818//
4819// The delete instance operation supports tag-based access control via resource
4820// tags applied to the resource identified by instance name. For more information,
4821// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4822//
4823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4824// with awserr.Error's Code and Message methods to get detailed information about
4825// the error.
4826//
4827// See the AWS API reference guide for Amazon Lightsail's
4828// API operation DeleteInstance for usage and error information.
4829//
4830// Returned Error Types:
4831//   * ServiceException
4832//   A general service exception.
4833//
4834//   * InvalidInputException
4835//   Lightsail throws this exception when user input does not conform to the validation
4836//   rules of an input field.
4837//
4838//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4839//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4840//   view, or edit these resources.
4841//
4842//   * NotFoundException
4843//   Lightsail throws this exception when it cannot find a resource.
4844//
4845//   * OperationFailureException
4846//   Lightsail throws this exception when an operation fails to execute.
4847//
4848//   * AccessDeniedException
4849//   Lightsail throws this exception when the user cannot be authenticated or
4850//   uses invalid credentials to access a resource.
4851//
4852//   * AccountSetupInProgressException
4853//   Lightsail throws this exception when an account is still in the setup in
4854//   progress state.
4855//
4856//   * UnauthenticatedException
4857//   Lightsail throws this exception when the user has not been authenticated.
4858//
4859// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
4860func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
4861	req, out := c.DeleteInstanceRequest(input)
4862	return out, req.Send()
4863}
4864
4865// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
4866// the ability to pass a context and additional request options.
4867//
4868// See DeleteInstance for details on how to use this API operation.
4869//
4870// The context must be non-nil and will be used for request cancellation. If
4871// the context is nil a panic will occur. In the future the SDK may create
4872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4873// for more information on using Contexts.
4874func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
4875	req, out := c.DeleteInstanceRequest(input)
4876	req.SetContext(ctx)
4877	req.ApplyOptions(opts...)
4878	return out, req.Send()
4879}
4880
4881const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
4882
4883// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
4884// client's request for the DeleteInstanceSnapshot operation. The "output" return
4885// value will be populated with the request's response once the request completes
4886// successfully.
4887//
4888// Use "Send" method on the returned Request to send the API call to the service.
4889// the "output" return value is not valid until after Send returns without error.
4890//
4891// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
4892// API call, and error handling.
4893//
4894// This method is useful when you want to inject custom logic or configuration
4895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4896//
4897//
4898//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
4899//    req, resp := client.DeleteInstanceSnapshotRequest(params)
4900//
4901//    err := req.Send()
4902//    if err == nil { // resp is now filled
4903//        fmt.Println(resp)
4904//    }
4905//
4906// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
4907func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
4908	op := &request.Operation{
4909		Name:       opDeleteInstanceSnapshot,
4910		HTTPMethod: "POST",
4911		HTTPPath:   "/",
4912	}
4913
4914	if input == nil {
4915		input = &DeleteInstanceSnapshotInput{}
4916	}
4917
4918	output = &DeleteInstanceSnapshotOutput{}
4919	req = c.newRequest(op, input, output)
4920	return
4921}
4922
4923// DeleteInstanceSnapshot API operation for Amazon Lightsail.
4924//
4925// Deletes a specific snapshot of a virtual private server (or instance).
4926//
4927// The delete instance snapshot operation supports tag-based access control
4928// via resource tags applied to the resource identified by instance snapshot
4929// name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
4930//
4931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4932// with awserr.Error's Code and Message methods to get detailed information about
4933// the error.
4934//
4935// See the AWS API reference guide for Amazon Lightsail's
4936// API operation DeleteInstanceSnapshot for usage and error information.
4937//
4938// Returned Error Types:
4939//   * ServiceException
4940//   A general service exception.
4941//
4942//   * InvalidInputException
4943//   Lightsail throws this exception when user input does not conform to the validation
4944//   rules of an input field.
4945//
4946//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4947//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4948//   view, or edit these resources.
4949//
4950//   * NotFoundException
4951//   Lightsail throws this exception when it cannot find a resource.
4952//
4953//   * OperationFailureException
4954//   Lightsail throws this exception when an operation fails to execute.
4955//
4956//   * AccessDeniedException
4957//   Lightsail throws this exception when the user cannot be authenticated or
4958//   uses invalid credentials to access a resource.
4959//
4960//   * AccountSetupInProgressException
4961//   Lightsail throws this exception when an account is still in the setup in
4962//   progress state.
4963//
4964//   * UnauthenticatedException
4965//   Lightsail throws this exception when the user has not been authenticated.
4966//
4967// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
4968func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
4969	req, out := c.DeleteInstanceSnapshotRequest(input)
4970	return out, req.Send()
4971}
4972
4973// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
4974// the ability to pass a context and additional request options.
4975//
4976// See DeleteInstanceSnapshot for details on how to use this API operation.
4977//
4978// The context must be non-nil and will be used for request cancellation. If
4979// the context is nil a panic will occur. In the future the SDK may create
4980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4981// for more information on using Contexts.
4982func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
4983	req, out := c.DeleteInstanceSnapshotRequest(input)
4984	req.SetContext(ctx)
4985	req.ApplyOptions(opts...)
4986	return out, req.Send()
4987}
4988
4989const opDeleteKeyPair = "DeleteKeyPair"
4990
4991// DeleteKeyPairRequest generates a "aws/request.Request" representing the
4992// client's request for the DeleteKeyPair operation. The "output" return
4993// value will be populated with the request's response once the request completes
4994// successfully.
4995//
4996// Use "Send" method on the returned Request to send the API call to the service.
4997// the "output" return value is not valid until after Send returns without error.
4998//
4999// See DeleteKeyPair for more information on using the DeleteKeyPair
5000// API call, and error handling.
5001//
5002// This method is useful when you want to inject custom logic or configuration
5003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5004//
5005//
5006//    // Example sending a request using the DeleteKeyPairRequest method.
5007//    req, resp := client.DeleteKeyPairRequest(params)
5008//
5009//    err := req.Send()
5010//    if err == nil { // resp is now filled
5011//        fmt.Println(resp)
5012//    }
5013//
5014// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
5015func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
5016	op := &request.Operation{
5017		Name:       opDeleteKeyPair,
5018		HTTPMethod: "POST",
5019		HTTPPath:   "/",
5020	}
5021
5022	if input == nil {
5023		input = &DeleteKeyPairInput{}
5024	}
5025
5026	output = &DeleteKeyPairOutput{}
5027	req = c.newRequest(op, input, output)
5028	return
5029}
5030
5031// DeleteKeyPair API operation for Amazon Lightsail.
5032//
5033// Deletes a specific SSH key pair.
5034//
5035// The delete key pair operation supports tag-based access control via resource
5036// tags applied to the resource identified by key pair name. For more information,
5037// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5038//
5039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5040// with awserr.Error's Code and Message methods to get detailed information about
5041// the error.
5042//
5043// See the AWS API reference guide for Amazon Lightsail's
5044// API operation DeleteKeyPair for usage and error information.
5045//
5046// Returned Error Types:
5047//   * ServiceException
5048//   A general service exception.
5049//
5050//   * InvalidInputException
5051//   Lightsail throws this exception when user input does not conform to the validation
5052//   rules of an input field.
5053//
5054//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5055//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5056//   view, or edit these resources.
5057//
5058//   * NotFoundException
5059//   Lightsail throws this exception when it cannot find a resource.
5060//
5061//   * OperationFailureException
5062//   Lightsail throws this exception when an operation fails to execute.
5063//
5064//   * AccessDeniedException
5065//   Lightsail throws this exception when the user cannot be authenticated or
5066//   uses invalid credentials to access a resource.
5067//
5068//   * AccountSetupInProgressException
5069//   Lightsail throws this exception when an account is still in the setup in
5070//   progress state.
5071//
5072//   * UnauthenticatedException
5073//   Lightsail throws this exception when the user has not been authenticated.
5074//
5075// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
5076func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
5077	req, out := c.DeleteKeyPairRequest(input)
5078	return out, req.Send()
5079}
5080
5081// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
5082// the ability to pass a context and additional request options.
5083//
5084// See DeleteKeyPair for details on how to use this API operation.
5085//
5086// The context must be non-nil and will be used for request cancellation. If
5087// the context is nil a panic will occur. In the future the SDK may create
5088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5089// for more information on using Contexts.
5090func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
5091	req, out := c.DeleteKeyPairRequest(input)
5092	req.SetContext(ctx)
5093	req.ApplyOptions(opts...)
5094	return out, req.Send()
5095}
5096
5097const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
5098
5099// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
5100// client's request for the DeleteKnownHostKeys operation. The "output" return
5101// value will be populated with the request's response once the request completes
5102// successfully.
5103//
5104// Use "Send" method on the returned Request to send the API call to the service.
5105// the "output" return value is not valid until after Send returns without error.
5106//
5107// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
5108// API call, and error handling.
5109//
5110// This method is useful when you want to inject custom logic or configuration
5111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5112//
5113//
5114//    // Example sending a request using the DeleteKnownHostKeysRequest method.
5115//    req, resp := client.DeleteKnownHostKeysRequest(params)
5116//
5117//    err := req.Send()
5118//    if err == nil { // resp is now filled
5119//        fmt.Println(resp)
5120//    }
5121//
5122// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
5123func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
5124	op := &request.Operation{
5125		Name:       opDeleteKnownHostKeys,
5126		HTTPMethod: "POST",
5127		HTTPPath:   "/",
5128	}
5129
5130	if input == nil {
5131		input = &DeleteKnownHostKeysInput{}
5132	}
5133
5134	output = &DeleteKnownHostKeysOutput{}
5135	req = c.newRequest(op, input, output)
5136	return
5137}
5138
5139// DeleteKnownHostKeys API operation for Amazon Lightsail.
5140//
5141// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
5142// SSH or RDP clients to authenticate an instance. This operation enables the
5143// Lightsail browser-based SSH or RDP clients to connect to the instance after
5144// a host key mismatch.
5145//
5146// Perform this operation only if you were expecting the host key or certificate
5147// mismatch or if you are familiar with the new host key or certificate on the
5148// instance. For more information, see Troubleshooting connection issues when
5149// using the Amazon Lightsail browser-based SSH or RDP client (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-troubleshooting-browser-based-ssh-rdp-client-connection).
5150//
5151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5152// with awserr.Error's Code and Message methods to get detailed information about
5153// the error.
5154//
5155// See the AWS API reference guide for Amazon Lightsail's
5156// API operation DeleteKnownHostKeys for usage and error information.
5157//
5158// Returned Error Types:
5159//   * ServiceException
5160//   A general service exception.
5161//
5162//   * InvalidInputException
5163//   Lightsail throws this exception when user input does not conform to the validation
5164//   rules of an input field.
5165//
5166//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5167//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5168//   view, or edit these resources.
5169//
5170//   * NotFoundException
5171//   Lightsail throws this exception when it cannot find a resource.
5172//
5173//   * OperationFailureException
5174//   Lightsail throws this exception when an operation fails to execute.
5175//
5176//   * AccessDeniedException
5177//   Lightsail throws this exception when the user cannot be authenticated or
5178//   uses invalid credentials to access a resource.
5179//
5180//   * AccountSetupInProgressException
5181//   Lightsail throws this exception when an account is still in the setup in
5182//   progress state.
5183//
5184//   * UnauthenticatedException
5185//   Lightsail throws this exception when the user has not been authenticated.
5186//
5187// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
5188func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
5189	req, out := c.DeleteKnownHostKeysRequest(input)
5190	return out, req.Send()
5191}
5192
5193// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
5194// the ability to pass a context and additional request options.
5195//
5196// See DeleteKnownHostKeys for details on how to use this API operation.
5197//
5198// The context must be non-nil and will be used for request cancellation. If
5199// the context is nil a panic will occur. In the future the SDK may create
5200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5201// for more information on using Contexts.
5202func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
5203	req, out := c.DeleteKnownHostKeysRequest(input)
5204	req.SetContext(ctx)
5205	req.ApplyOptions(opts...)
5206	return out, req.Send()
5207}
5208
5209const opDeleteLoadBalancer = "DeleteLoadBalancer"
5210
5211// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
5212// client's request for the DeleteLoadBalancer operation. The "output" return
5213// value will be populated with the request's response once the request completes
5214// successfully.
5215//
5216// Use "Send" method on the returned Request to send the API call to the service.
5217// the "output" return value is not valid until after Send returns without error.
5218//
5219// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
5220// API call, and error handling.
5221//
5222// This method is useful when you want to inject custom logic or configuration
5223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5224//
5225//
5226//    // Example sending a request using the DeleteLoadBalancerRequest method.
5227//    req, resp := client.DeleteLoadBalancerRequest(params)
5228//
5229//    err := req.Send()
5230//    if err == nil { // resp is now filled
5231//        fmt.Println(resp)
5232//    }
5233//
5234// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
5235func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
5236	op := &request.Operation{
5237		Name:       opDeleteLoadBalancer,
5238		HTTPMethod: "POST",
5239		HTTPPath:   "/",
5240	}
5241
5242	if input == nil {
5243		input = &DeleteLoadBalancerInput{}
5244	}
5245
5246	output = &DeleteLoadBalancerOutput{}
5247	req = c.newRequest(op, input, output)
5248	return
5249}
5250
5251// DeleteLoadBalancer API operation for Amazon Lightsail.
5252//
5253// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
5254// Once the load balancer is deleted, you will need to create a new load balancer,
5255// create a new certificate, and verify domain ownership again.
5256//
5257// The delete load balancer operation supports tag-based access control via
5258// resource tags applied to the resource identified by load balancer name. For
5259// more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5260//
5261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5262// with awserr.Error's Code and Message methods to get detailed information about
5263// the error.
5264//
5265// See the AWS API reference guide for Amazon Lightsail's
5266// API operation DeleteLoadBalancer for usage and error information.
5267//
5268// Returned Error Types:
5269//   * ServiceException
5270//   A general service exception.
5271//
5272//   * InvalidInputException
5273//   Lightsail throws this exception when user input does not conform to the validation
5274//   rules of an input field.
5275//
5276//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5277//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5278//   view, or edit these resources.
5279//
5280//   * NotFoundException
5281//   Lightsail throws this exception when it cannot find a resource.
5282//
5283//   * OperationFailureException
5284//   Lightsail throws this exception when an operation fails to execute.
5285//
5286//   * AccessDeniedException
5287//   Lightsail throws this exception when the user cannot be authenticated or
5288//   uses invalid credentials to access a resource.
5289//
5290//   * AccountSetupInProgressException
5291//   Lightsail throws this exception when an account is still in the setup in
5292//   progress state.
5293//
5294//   * UnauthenticatedException
5295//   Lightsail throws this exception when the user has not been authenticated.
5296//
5297// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
5298func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
5299	req, out := c.DeleteLoadBalancerRequest(input)
5300	return out, req.Send()
5301}
5302
5303// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
5304// the ability to pass a context and additional request options.
5305//
5306// See DeleteLoadBalancer for details on how to use this API operation.
5307//
5308// The context must be non-nil and will be used for request cancellation. If
5309// the context is nil a panic will occur. In the future the SDK may create
5310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5311// for more information on using Contexts.
5312func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
5313	req, out := c.DeleteLoadBalancerRequest(input)
5314	req.SetContext(ctx)
5315	req.ApplyOptions(opts...)
5316	return out, req.Send()
5317}
5318
5319const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
5320
5321// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
5322// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
5323// value will be populated with the request's response once the request completes
5324// successfully.
5325//
5326// Use "Send" method on the returned Request to send the API call to the service.
5327// the "output" return value is not valid until after Send returns without error.
5328//
5329// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
5330// API call, and error handling.
5331//
5332// This method is useful when you want to inject custom logic or configuration
5333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5334//
5335//
5336//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
5337//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
5338//
5339//    err := req.Send()
5340//    if err == nil { // resp is now filled
5341//        fmt.Println(resp)
5342//    }
5343//
5344// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
5345func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
5346	op := &request.Operation{
5347		Name:       opDeleteLoadBalancerTlsCertificate,
5348		HTTPMethod: "POST",
5349		HTTPPath:   "/",
5350	}
5351
5352	if input == nil {
5353		input = &DeleteLoadBalancerTlsCertificateInput{}
5354	}
5355
5356	output = &DeleteLoadBalancerTlsCertificateOutput{}
5357	req = c.newRequest(op, input, output)
5358	return
5359}
5360
5361// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
5362//
5363// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
5364//
5365// The DeleteLoadBalancerTlsCertificate operation supports tag-based access
5366// control via resource tags applied to the resource identified by load balancer
5367// name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5368//
5369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5370// with awserr.Error's Code and Message methods to get detailed information about
5371// the error.
5372//
5373// See the AWS API reference guide for Amazon Lightsail's
5374// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
5375//
5376// Returned Error Types:
5377//   * ServiceException
5378//   A general service exception.
5379//
5380//   * InvalidInputException
5381//   Lightsail throws this exception when user input does not conform to the validation
5382//   rules of an input field.
5383//
5384//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5385//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5386//   view, or edit these resources.
5387//
5388//   * NotFoundException
5389//   Lightsail throws this exception when it cannot find a resource.
5390//
5391//   * OperationFailureException
5392//   Lightsail throws this exception when an operation fails to execute.
5393//
5394//   * AccessDeniedException
5395//   Lightsail throws this exception when the user cannot be authenticated or
5396//   uses invalid credentials to access a resource.
5397//
5398//   * AccountSetupInProgressException
5399//   Lightsail throws this exception when an account is still in the setup in
5400//   progress state.
5401//
5402//   * UnauthenticatedException
5403//   Lightsail throws this exception when the user has not been authenticated.
5404//
5405// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
5406func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
5407	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
5408	return out, req.Send()
5409}
5410
5411// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
5412// the ability to pass a context and additional request options.
5413//
5414// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
5415//
5416// The context must be non-nil and will be used for request cancellation. If
5417// the context is nil a panic will occur. In the future the SDK may create
5418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5419// for more information on using Contexts.
5420func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
5421	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
5422	req.SetContext(ctx)
5423	req.ApplyOptions(opts...)
5424	return out, req.Send()
5425}
5426
5427const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
5428
5429// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
5430// client's request for the DeleteRelationalDatabase operation. The "output" return
5431// value will be populated with the request's response once the request completes
5432// successfully.
5433//
5434// Use "Send" method on the returned Request to send the API call to the service.
5435// the "output" return value is not valid until after Send returns without error.
5436//
5437// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
5438// API call, and error handling.
5439//
5440// This method is useful when you want to inject custom logic or configuration
5441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5442//
5443//
5444//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
5445//    req, resp := client.DeleteRelationalDatabaseRequest(params)
5446//
5447//    err := req.Send()
5448//    if err == nil { // resp is now filled
5449//        fmt.Println(resp)
5450//    }
5451//
5452// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
5453func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
5454	op := &request.Operation{
5455		Name:       opDeleteRelationalDatabase,
5456		HTTPMethod: "POST",
5457		HTTPPath:   "/",
5458	}
5459
5460	if input == nil {
5461		input = &DeleteRelationalDatabaseInput{}
5462	}
5463
5464	output = &DeleteRelationalDatabaseOutput{}
5465	req = c.newRequest(op, input, output)
5466	return
5467}
5468
5469// DeleteRelationalDatabase API operation for Amazon Lightsail.
5470//
5471// Deletes a database in Amazon Lightsail.
5472//
5473// The delete relational database operation supports tag-based access control
5474// via resource tags applied to the resource identified by relationalDatabaseName.
5475// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5476//
5477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5478// with awserr.Error's Code and Message methods to get detailed information about
5479// the error.
5480//
5481// See the AWS API reference guide for Amazon Lightsail's
5482// API operation DeleteRelationalDatabase for usage and error information.
5483//
5484// Returned Error Types:
5485//   * ServiceException
5486//   A general service exception.
5487//
5488//   * InvalidInputException
5489//   Lightsail throws this exception when user input does not conform to the validation
5490//   rules of an input field.
5491//
5492//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5493//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5494//   view, or edit these resources.
5495//
5496//   * NotFoundException
5497//   Lightsail throws this exception when it cannot find a resource.
5498//
5499//   * OperationFailureException
5500//   Lightsail throws this exception when an operation fails to execute.
5501//
5502//   * AccessDeniedException
5503//   Lightsail throws this exception when the user cannot be authenticated or
5504//   uses invalid credentials to access a resource.
5505//
5506//   * AccountSetupInProgressException
5507//   Lightsail throws this exception when an account is still in the setup in
5508//   progress state.
5509//
5510//   * UnauthenticatedException
5511//   Lightsail throws this exception when the user has not been authenticated.
5512//
5513// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
5514func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
5515	req, out := c.DeleteRelationalDatabaseRequest(input)
5516	return out, req.Send()
5517}
5518
5519// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
5520// the ability to pass a context and additional request options.
5521//
5522// See DeleteRelationalDatabase for details on how to use this API operation.
5523//
5524// The context must be non-nil and will be used for request cancellation. If
5525// the context is nil a panic will occur. In the future the SDK may create
5526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5527// for more information on using Contexts.
5528func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
5529	req, out := c.DeleteRelationalDatabaseRequest(input)
5530	req.SetContext(ctx)
5531	req.ApplyOptions(opts...)
5532	return out, req.Send()
5533}
5534
5535const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
5536
5537// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
5538// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
5539// value will be populated with the request's response once the request completes
5540// successfully.
5541//
5542// Use "Send" method on the returned Request to send the API call to the service.
5543// the "output" return value is not valid until after Send returns without error.
5544//
5545// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
5546// API call, and error handling.
5547//
5548// This method is useful when you want to inject custom logic or configuration
5549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5550//
5551//
5552//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
5553//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
5554//
5555//    err := req.Send()
5556//    if err == nil { // resp is now filled
5557//        fmt.Println(resp)
5558//    }
5559//
5560// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
5561func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
5562	op := &request.Operation{
5563		Name:       opDeleteRelationalDatabaseSnapshot,
5564		HTTPMethod: "POST",
5565		HTTPPath:   "/",
5566	}
5567
5568	if input == nil {
5569		input = &DeleteRelationalDatabaseSnapshotInput{}
5570	}
5571
5572	output = &DeleteRelationalDatabaseSnapshotOutput{}
5573	req = c.newRequest(op, input, output)
5574	return
5575}
5576
5577// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
5578//
5579// Deletes a database snapshot in Amazon Lightsail.
5580//
5581// The delete relational database snapshot operation supports tag-based access
5582// control via resource tags applied to the resource identified by relationalDatabaseName.
5583// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5584//
5585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5586// with awserr.Error's Code and Message methods to get detailed information about
5587// the error.
5588//
5589// See the AWS API reference guide for Amazon Lightsail's
5590// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
5591//
5592// Returned Error Types:
5593//   * ServiceException
5594//   A general service exception.
5595//
5596//   * InvalidInputException
5597//   Lightsail throws this exception when user input does not conform to the validation
5598//   rules of an input field.
5599//
5600//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5601//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5602//   view, or edit these resources.
5603//
5604//   * NotFoundException
5605//   Lightsail throws this exception when it cannot find a resource.
5606//
5607//   * OperationFailureException
5608//   Lightsail throws this exception when an operation fails to execute.
5609//
5610//   * AccessDeniedException
5611//   Lightsail throws this exception when the user cannot be authenticated or
5612//   uses invalid credentials to access a resource.
5613//
5614//   * AccountSetupInProgressException
5615//   Lightsail throws this exception when an account is still in the setup in
5616//   progress state.
5617//
5618//   * UnauthenticatedException
5619//   Lightsail throws this exception when the user has not been authenticated.
5620//
5621// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
5622func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
5623	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
5624	return out, req.Send()
5625}
5626
5627// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
5628// the ability to pass a context and additional request options.
5629//
5630// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
5631//
5632// The context must be non-nil and will be used for request cancellation. If
5633// the context is nil a panic will occur. In the future the SDK may create
5634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5635// for more information on using Contexts.
5636func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
5637	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
5638	req.SetContext(ctx)
5639	req.ApplyOptions(opts...)
5640	return out, req.Send()
5641}
5642
5643const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
5644
5645// DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the
5646// client's request for the DetachCertificateFromDistribution operation. The "output" return
5647// value will be populated with the request's response once the request completes
5648// successfully.
5649//
5650// Use "Send" method on the returned Request to send the API call to the service.
5651// the "output" return value is not valid until after Send returns without error.
5652//
5653// See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution
5654// API call, and error handling.
5655//
5656// This method is useful when you want to inject custom logic or configuration
5657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5658//
5659//
5660//    // Example sending a request using the DetachCertificateFromDistributionRequest method.
5661//    req, resp := client.DetachCertificateFromDistributionRequest(params)
5662//
5663//    err := req.Send()
5664//    if err == nil { // resp is now filled
5665//        fmt.Println(resp)
5666//    }
5667//
5668// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
5669func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) {
5670	op := &request.Operation{
5671		Name:       opDetachCertificateFromDistribution,
5672		HTTPMethod: "POST",
5673		HTTPPath:   "/",
5674	}
5675
5676	if input == nil {
5677		input = &DetachCertificateFromDistributionInput{}
5678	}
5679
5680	output = &DetachCertificateFromDistributionOutput{}
5681	req = c.newRequest(op, input, output)
5682	return
5683}
5684
5685// DetachCertificateFromDistribution API operation for Amazon Lightsail.
5686//
5687// Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery
5688// network (CDN) distribution.
5689//
5690// After the certificate is detached, your distribution stops accepting traffic
5691// for all of the domains that are associated with the certificate.
5692//
5693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5694// with awserr.Error's Code and Message methods to get detailed information about
5695// the error.
5696//
5697// See the AWS API reference guide for Amazon Lightsail's
5698// API operation DetachCertificateFromDistribution for usage and error information.
5699//
5700// Returned Error Types:
5701//   * ServiceException
5702//   A general service exception.
5703//
5704//   * InvalidInputException
5705//   Lightsail throws this exception when user input does not conform to the validation
5706//   rules of an input field.
5707//
5708//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5709//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5710//   view, or edit these resources.
5711//
5712//   * NotFoundException
5713//   Lightsail throws this exception when it cannot find a resource.
5714//
5715//   * OperationFailureException
5716//   Lightsail throws this exception when an operation fails to execute.
5717//
5718//   * AccessDeniedException
5719//   Lightsail throws this exception when the user cannot be authenticated or
5720//   uses invalid credentials to access a resource.
5721//
5722//   * UnauthenticatedException
5723//   Lightsail throws this exception when the user has not been authenticated.
5724//
5725// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
5726func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) {
5727	req, out := c.DetachCertificateFromDistributionRequest(input)
5728	return out, req.Send()
5729}
5730
5731// DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of
5732// the ability to pass a context and additional request options.
5733//
5734// See DetachCertificateFromDistribution for details on how to use this API operation.
5735//
5736// The context must be non-nil and will be used for request cancellation. If
5737// the context is nil a panic will occur. In the future the SDK may create
5738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5739// for more information on using Contexts.
5740func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) {
5741	req, out := c.DetachCertificateFromDistributionRequest(input)
5742	req.SetContext(ctx)
5743	req.ApplyOptions(opts...)
5744	return out, req.Send()
5745}
5746
5747const opDetachDisk = "DetachDisk"
5748
5749// DetachDiskRequest generates a "aws/request.Request" representing the
5750// client's request for the DetachDisk operation. The "output" return
5751// value will be populated with the request's response once the request completes
5752// successfully.
5753//
5754// Use "Send" method on the returned Request to send the API call to the service.
5755// the "output" return value is not valid until after Send returns without error.
5756//
5757// See DetachDisk for more information on using the DetachDisk
5758// API call, and error handling.
5759//
5760// This method is useful when you want to inject custom logic or configuration
5761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5762//
5763//
5764//    // Example sending a request using the DetachDiskRequest method.
5765//    req, resp := client.DetachDiskRequest(params)
5766//
5767//    err := req.Send()
5768//    if err == nil { // resp is now filled
5769//        fmt.Println(resp)
5770//    }
5771//
5772// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
5773func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
5774	op := &request.Operation{
5775		Name:       opDetachDisk,
5776		HTTPMethod: "POST",
5777		HTTPPath:   "/",
5778	}
5779
5780	if input == nil {
5781		input = &DetachDiskInput{}
5782	}
5783
5784	output = &DetachDiskOutput{}
5785	req = c.newRequest(op, input, output)
5786	return
5787}
5788
5789// DetachDisk API operation for Amazon Lightsail.
5790//
5791// Detaches a stopped block storage disk from a Lightsail instance. Make sure
5792// to unmount any file systems on the device within your operating system before
5793// stopping the instance and detaching the disk.
5794//
5795// The detach disk operation supports tag-based access control via resource
5796// tags applied to the resource identified by disk name. For more information,
5797// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5798//
5799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5800// with awserr.Error's Code and Message methods to get detailed information about
5801// the error.
5802//
5803// See the AWS API reference guide for Amazon Lightsail's
5804// API operation DetachDisk for usage and error information.
5805//
5806// Returned Error Types:
5807//   * ServiceException
5808//   A general service exception.
5809//
5810//   * InvalidInputException
5811//   Lightsail throws this exception when user input does not conform to the validation
5812//   rules of an input field.
5813//
5814//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5815//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5816//   view, or edit these resources.
5817//
5818//   * NotFoundException
5819//   Lightsail throws this exception when it cannot find a resource.
5820//
5821//   * OperationFailureException
5822//   Lightsail throws this exception when an operation fails to execute.
5823//
5824//   * AccessDeniedException
5825//   Lightsail throws this exception when the user cannot be authenticated or
5826//   uses invalid credentials to access a resource.
5827//
5828//   * AccountSetupInProgressException
5829//   Lightsail throws this exception when an account is still in the setup in
5830//   progress state.
5831//
5832//   * UnauthenticatedException
5833//   Lightsail throws this exception when the user has not been authenticated.
5834//
5835// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
5836func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
5837	req, out := c.DetachDiskRequest(input)
5838	return out, req.Send()
5839}
5840
5841// DetachDiskWithContext is the same as DetachDisk with the addition of
5842// the ability to pass a context and additional request options.
5843//
5844// See DetachDisk for details on how to use this API operation.
5845//
5846// The context must be non-nil and will be used for request cancellation. If
5847// the context is nil a panic will occur. In the future the SDK may create
5848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5849// for more information on using Contexts.
5850func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
5851	req, out := c.DetachDiskRequest(input)
5852	req.SetContext(ctx)
5853	req.ApplyOptions(opts...)
5854	return out, req.Send()
5855}
5856
5857const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
5858
5859// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
5860// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
5861// value will be populated with the request's response once the request completes
5862// successfully.
5863//
5864// Use "Send" method on the returned Request to send the API call to the service.
5865// the "output" return value is not valid until after Send returns without error.
5866//
5867// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
5868// API call, and error handling.
5869//
5870// This method is useful when you want to inject custom logic or configuration
5871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5872//
5873//
5874//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
5875//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
5876//
5877//    err := req.Send()
5878//    if err == nil { // resp is now filled
5879//        fmt.Println(resp)
5880//    }
5881//
5882// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
5883func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
5884	op := &request.Operation{
5885		Name:       opDetachInstancesFromLoadBalancer,
5886		HTTPMethod: "POST",
5887		HTTPPath:   "/",
5888	}
5889
5890	if input == nil {
5891		input = &DetachInstancesFromLoadBalancerInput{}
5892	}
5893
5894	output = &DetachInstancesFromLoadBalancerOutput{}
5895	req = c.newRequest(op, input, output)
5896	return
5897}
5898
5899// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
5900//
5901// Detaches the specified instances from a Lightsail load balancer.
5902//
5903// This operation waits until the instances are no longer needed before they
5904// are detached from the load balancer.
5905//
5906// The detach instances from load balancer operation supports tag-based access
5907// control via resource tags applied to the resource identified by load balancer
5908// name. For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
5909//
5910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5911// with awserr.Error's Code and Message methods to get detailed information about
5912// the error.
5913//
5914// See the AWS API reference guide for Amazon Lightsail's
5915// API operation DetachInstancesFromLoadBalancer for usage and error information.
5916//
5917// Returned Error Types:
5918//   * ServiceException
5919//   A general service exception.
5920//
5921//   * InvalidInputException
5922//   Lightsail throws this exception when user input does not conform to the validation
5923//   rules of an input field.
5924//
5925//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5926//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5927//   view, or edit these resources.
5928//
5929//   * NotFoundException
5930//   Lightsail throws this exception when it cannot find a resource.
5931//
5932//   * OperationFailureException
5933//   Lightsail throws this exception when an operation fails to execute.
5934//
5935//   * AccessDeniedException
5936//   Lightsail throws this exception when the user cannot be authenticated or
5937//   uses invalid credentials to access a resource.
5938//
5939//   * AccountSetupInProgressException
5940//   Lightsail throws this exception when an account is still in the setup in
5941//   progress state.
5942//
5943//   * UnauthenticatedException
5944//   Lightsail throws this exception when the user has not been authenticated.
5945//
5946// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
5947func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
5948	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5949	return out, req.Send()
5950}
5951
5952// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
5953// the ability to pass a context and additional request options.
5954//
5955// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
5956//
5957// The context must be non-nil and will be used for request cancellation. If
5958// the context is nil a panic will occur. In the future the SDK may create
5959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5960// for more information on using Contexts.
5961func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
5962	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5963	req.SetContext(ctx)
5964	req.ApplyOptions(opts...)
5965	return out, req.Send()
5966}
5967
5968const opDetachStaticIp = "DetachStaticIp"
5969
5970// DetachStaticIpRequest generates a "aws/request.Request" representing the
5971// client's request for the DetachStaticIp operation. The "output" return
5972// value will be populated with the request's response once the request completes
5973// successfully.
5974//
5975// Use "Send" method on the returned Request to send the API call to the service.
5976// the "output" return value is not valid until after Send returns without error.
5977//
5978// See DetachStaticIp for more information on using the DetachStaticIp
5979// API call, and error handling.
5980//
5981// This method is useful when you want to inject custom logic or configuration
5982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5983//
5984//
5985//    // Example sending a request using the DetachStaticIpRequest method.
5986//    req, resp := client.DetachStaticIpRequest(params)
5987//
5988//    err := req.Send()
5989//    if err == nil { // resp is now filled
5990//        fmt.Println(resp)
5991//    }
5992//
5993// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
5994func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
5995	op := &request.Operation{
5996		Name:       opDetachStaticIp,
5997		HTTPMethod: "POST",
5998		HTTPPath:   "/",
5999	}
6000
6001	if input == nil {
6002		input = &DetachStaticIpInput{}
6003	}
6004
6005	output = &DetachStaticIpOutput{}
6006	req = c.newRequest(op, input, output)
6007	return
6008}
6009
6010// DetachStaticIp API operation for Amazon Lightsail.
6011//
6012// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
6013//
6014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6015// with awserr.Error's Code and Message methods to get detailed information about
6016// the error.
6017//
6018// See the AWS API reference guide for Amazon Lightsail's
6019// API operation DetachStaticIp for usage and error information.
6020//
6021// Returned Error Types:
6022//   * ServiceException
6023//   A general service exception.
6024//
6025//   * InvalidInputException
6026//   Lightsail throws this exception when user input does not conform to the validation
6027//   rules of an input field.
6028//
6029//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6030//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6031//   view, or edit these resources.
6032//
6033//   * NotFoundException
6034//   Lightsail throws this exception when it cannot find a resource.
6035//
6036//   * OperationFailureException
6037//   Lightsail throws this exception when an operation fails to execute.
6038//
6039//   * AccessDeniedException
6040//   Lightsail throws this exception when the user cannot be authenticated or
6041//   uses invalid credentials to access a resource.
6042//
6043//   * AccountSetupInProgressException
6044//   Lightsail throws this exception when an account is still in the setup in
6045//   progress state.
6046//
6047//   * UnauthenticatedException
6048//   Lightsail throws this exception when the user has not been authenticated.
6049//
6050// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
6051func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
6052	req, out := c.DetachStaticIpRequest(input)
6053	return out, req.Send()
6054}
6055
6056// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
6057// the ability to pass a context and additional request options.
6058//
6059// See DetachStaticIp for details on how to use this API operation.
6060//
6061// The context must be non-nil and will be used for request cancellation. If
6062// the context is nil a panic will occur. In the future the SDK may create
6063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6064// for more information on using Contexts.
6065func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
6066	req, out := c.DetachStaticIpRequest(input)
6067	req.SetContext(ctx)
6068	req.ApplyOptions(opts...)
6069	return out, req.Send()
6070}
6071
6072const opDisableAddOn = "DisableAddOn"
6073
6074// DisableAddOnRequest generates a "aws/request.Request" representing the
6075// client's request for the DisableAddOn operation. The "output" return
6076// value will be populated with the request's response once the request completes
6077// successfully.
6078//
6079// Use "Send" method on the returned Request to send the API call to the service.
6080// the "output" return value is not valid until after Send returns without error.
6081//
6082// See DisableAddOn for more information on using the DisableAddOn
6083// API call, and error handling.
6084//
6085// This method is useful when you want to inject custom logic or configuration
6086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6087//
6088//
6089//    // Example sending a request using the DisableAddOnRequest method.
6090//    req, resp := client.DisableAddOnRequest(params)
6091//
6092//    err := req.Send()
6093//    if err == nil { // resp is now filled
6094//        fmt.Println(resp)
6095//    }
6096//
6097// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
6098func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
6099	op := &request.Operation{
6100		Name:       opDisableAddOn,
6101		HTTPMethod: "POST",
6102		HTTPPath:   "/",
6103	}
6104
6105	if input == nil {
6106		input = &DisableAddOnInput{}
6107	}
6108
6109	output = &DisableAddOnOutput{}
6110	req = c.newRequest(op, input, output)
6111	return
6112}
6113
6114// DisableAddOn API operation for Amazon Lightsail.
6115//
6116// Disables an add-on for an Amazon Lightsail resource. For more information,
6117// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
6118//
6119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6120// with awserr.Error's Code and Message methods to get detailed information about
6121// the error.
6122//
6123// See the AWS API reference guide for Amazon Lightsail's
6124// API operation DisableAddOn for usage and error information.
6125//
6126// Returned Error Types:
6127//   * ServiceException
6128//   A general service exception.
6129//
6130//   * InvalidInputException
6131//   Lightsail throws this exception when user input does not conform to the validation
6132//   rules of an input field.
6133//
6134//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6135//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6136//   view, or edit these resources.
6137//
6138//   * NotFoundException
6139//   Lightsail throws this exception when it cannot find a resource.
6140//
6141//   * OperationFailureException
6142//   Lightsail throws this exception when an operation fails to execute.
6143//
6144//   * AccessDeniedException
6145//   Lightsail throws this exception when the user cannot be authenticated or
6146//   uses invalid credentials to access a resource.
6147//
6148//   * UnauthenticatedException
6149//   Lightsail throws this exception when the user has not been authenticated.
6150//
6151// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
6152func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
6153	req, out := c.DisableAddOnRequest(input)
6154	return out, req.Send()
6155}
6156
6157// DisableAddOnWithContext is the same as DisableAddOn with the addition of
6158// the ability to pass a context and additional request options.
6159//
6160// See DisableAddOn for details on how to use this API operation.
6161//
6162// The context must be non-nil and will be used for request cancellation. If
6163// the context is nil a panic will occur. In the future the SDK may create
6164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6165// for more information on using Contexts.
6166func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
6167	req, out := c.DisableAddOnRequest(input)
6168	req.SetContext(ctx)
6169	req.ApplyOptions(opts...)
6170	return out, req.Send()
6171}
6172
6173const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
6174
6175// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
6176// client's request for the DownloadDefaultKeyPair operation. The "output" return
6177// value will be populated with the request's response once the request completes
6178// successfully.
6179//
6180// Use "Send" method on the returned Request to send the API call to the service.
6181// the "output" return value is not valid until after Send returns without error.
6182//
6183// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
6184// API call, and error handling.
6185//
6186// This method is useful when you want to inject custom logic or configuration
6187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6188//
6189//
6190//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
6191//    req, resp := client.DownloadDefaultKeyPairRequest(params)
6192//
6193//    err := req.Send()
6194//    if err == nil { // resp is now filled
6195//        fmt.Println(resp)
6196//    }
6197//
6198// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
6199func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
6200	op := &request.Operation{
6201		Name:       opDownloadDefaultKeyPair,
6202		HTTPMethod: "POST",
6203		HTTPPath:   "/",
6204	}
6205
6206	if input == nil {
6207		input = &DownloadDefaultKeyPairInput{}
6208	}
6209
6210	output = &DownloadDefaultKeyPairOutput{}
6211	req = c.newRequest(op, input, output)
6212	return
6213}
6214
6215// DownloadDefaultKeyPair API operation for Amazon Lightsail.
6216//
6217// Downloads the default SSH key pair from the user's account.
6218//
6219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6220// with awserr.Error's Code and Message methods to get detailed information about
6221// the error.
6222//
6223// See the AWS API reference guide for Amazon Lightsail's
6224// API operation DownloadDefaultKeyPair for usage and error information.
6225//
6226// Returned Error Types:
6227//   * ServiceException
6228//   A general service exception.
6229//
6230//   * InvalidInputException
6231//   Lightsail throws this exception when user input does not conform to the validation
6232//   rules of an input field.
6233//
6234//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6235//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6236//   view, or edit these resources.
6237//
6238//   * NotFoundException
6239//   Lightsail throws this exception when it cannot find a resource.
6240//
6241//   * OperationFailureException
6242//   Lightsail throws this exception when an operation fails to execute.
6243//
6244//   * AccessDeniedException
6245//   Lightsail throws this exception when the user cannot be authenticated or
6246//   uses invalid credentials to access a resource.
6247//
6248//   * AccountSetupInProgressException
6249//   Lightsail throws this exception when an account is still in the setup in
6250//   progress state.
6251//
6252//   * UnauthenticatedException
6253//   Lightsail throws this exception when the user has not been authenticated.
6254//
6255// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
6256func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
6257	req, out := c.DownloadDefaultKeyPairRequest(input)
6258	return out, req.Send()
6259}
6260
6261// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
6262// the ability to pass a context and additional request options.
6263//
6264// See DownloadDefaultKeyPair for details on how to use this API operation.
6265//
6266// The context must be non-nil and will be used for request cancellation. If
6267// the context is nil a panic will occur. In the future the SDK may create
6268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6269// for more information on using Contexts.
6270func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
6271	req, out := c.DownloadDefaultKeyPairRequest(input)
6272	req.SetContext(ctx)
6273	req.ApplyOptions(opts...)
6274	return out, req.Send()
6275}
6276
6277const opEnableAddOn = "EnableAddOn"
6278
6279// EnableAddOnRequest generates a "aws/request.Request" representing the
6280// client's request for the EnableAddOn operation. The "output" return
6281// value will be populated with the request's response once the request completes
6282// successfully.
6283//
6284// Use "Send" method on the returned Request to send the API call to the service.
6285// the "output" return value is not valid until after Send returns without error.
6286//
6287// See EnableAddOn for more information on using the EnableAddOn
6288// API call, and error handling.
6289//
6290// This method is useful when you want to inject custom logic or configuration
6291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6292//
6293//
6294//    // Example sending a request using the EnableAddOnRequest method.
6295//    req, resp := client.EnableAddOnRequest(params)
6296//
6297//    err := req.Send()
6298//    if err == nil { // resp is now filled
6299//        fmt.Println(resp)
6300//    }
6301//
6302// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
6303func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
6304	op := &request.Operation{
6305		Name:       opEnableAddOn,
6306		HTTPMethod: "POST",
6307		HTTPPath:   "/",
6308	}
6309
6310	if input == nil {
6311		input = &EnableAddOnInput{}
6312	}
6313
6314	output = &EnableAddOnOutput{}
6315	req = c.newRequest(op, input, output)
6316	return
6317}
6318
6319// EnableAddOn API operation for Amazon Lightsail.
6320//
6321// Enables or modifies an add-on for an Amazon Lightsail resource. For more
6322// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
6323//
6324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6325// with awserr.Error's Code and Message methods to get detailed information about
6326// the error.
6327//
6328// See the AWS API reference guide for Amazon Lightsail's
6329// API operation EnableAddOn for usage and error information.
6330//
6331// Returned Error Types:
6332//   * ServiceException
6333//   A general service exception.
6334//
6335//   * InvalidInputException
6336//   Lightsail throws this exception when user input does not conform to the validation
6337//   rules of an input field.
6338//
6339//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6340//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6341//   view, or edit these resources.
6342//
6343//   * NotFoundException
6344//   Lightsail throws this exception when it cannot find a resource.
6345//
6346//   * OperationFailureException
6347//   Lightsail throws this exception when an operation fails to execute.
6348//
6349//   * AccessDeniedException
6350//   Lightsail throws this exception when the user cannot be authenticated or
6351//   uses invalid credentials to access a resource.
6352//
6353//   * UnauthenticatedException
6354//   Lightsail throws this exception when the user has not been authenticated.
6355//
6356// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
6357func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
6358	req, out := c.EnableAddOnRequest(input)
6359	return out, req.Send()
6360}
6361
6362// EnableAddOnWithContext is the same as EnableAddOn with the addition of
6363// the ability to pass a context and additional request options.
6364//
6365// See EnableAddOn for details on how to use this API operation.
6366//
6367// The context must be non-nil and will be used for request cancellation. If
6368// the context is nil a panic will occur. In the future the SDK may create
6369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6370// for more information on using Contexts.
6371func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
6372	req, out := c.EnableAddOnRequest(input)
6373	req.SetContext(ctx)
6374	req.ApplyOptions(opts...)
6375	return out, req.Send()
6376}
6377
6378const opExportSnapshot = "ExportSnapshot"
6379
6380// ExportSnapshotRequest generates a "aws/request.Request" representing the
6381// client's request for the ExportSnapshot operation. The "output" return
6382// value will be populated with the request's response once the request completes
6383// successfully.
6384//
6385// Use "Send" method on the returned Request to send the API call to the service.
6386// the "output" return value is not valid until after Send returns without error.
6387//
6388// See ExportSnapshot for more information on using the ExportSnapshot
6389// API call, and error handling.
6390//
6391// This method is useful when you want to inject custom logic or configuration
6392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6393//
6394//
6395//    // Example sending a request using the ExportSnapshotRequest method.
6396//    req, resp := client.ExportSnapshotRequest(params)
6397//
6398//    err := req.Send()
6399//    if err == nil { // resp is now filled
6400//        fmt.Println(resp)
6401//    }
6402//
6403// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
6404func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
6405	op := &request.Operation{
6406		Name:       opExportSnapshot,
6407		HTTPMethod: "POST",
6408		HTTPPath:   "/",
6409	}
6410
6411	if input == nil {
6412		input = &ExportSnapshotInput{}
6413	}
6414
6415	output = &ExportSnapshotOutput{}
6416	req = c.newRequest(op, input, output)
6417	return
6418}
6419
6420// ExportSnapshot API operation for Amazon Lightsail.
6421//
6422// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
6423// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
6424// record that can be used with the create cloud formation stack operation to
6425// create new Amazon EC2 instances.
6426//
6427// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
6428// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
6429// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
6430// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
6431// in Amazon EC2 as the source Lightsail snapshot.
6432//
6433// The export snapshot operation supports tag-based access control via resource
6434// tags applied to the resource identified by source snapshot name. For more
6435// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
6436//
6437// Use the get instance snapshots or get disk snapshots operations to get a
6438// list of snapshots that you can export to Amazon EC2.
6439//
6440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6441// with awserr.Error's Code and Message methods to get detailed information about
6442// the error.
6443//
6444// See the AWS API reference guide for Amazon Lightsail's
6445// API operation ExportSnapshot for usage and error information.
6446//
6447// Returned Error Types:
6448//   * ServiceException
6449//   A general service exception.
6450//
6451//   * InvalidInputException
6452//   Lightsail throws this exception when user input does not conform to the validation
6453//   rules of an input field.
6454//
6455//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6456//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6457//   view, or edit these resources.
6458//
6459//   * NotFoundException
6460//   Lightsail throws this exception when it cannot find a resource.
6461//
6462//   * OperationFailureException
6463//   Lightsail throws this exception when an operation fails to execute.
6464//
6465//   * AccessDeniedException
6466//   Lightsail throws this exception when the user cannot be authenticated or
6467//   uses invalid credentials to access a resource.
6468//
6469//   * AccountSetupInProgressException
6470//   Lightsail throws this exception when an account is still in the setup in
6471//   progress state.
6472//
6473//   * UnauthenticatedException
6474//   Lightsail throws this exception when the user has not been authenticated.
6475//
6476// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
6477func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
6478	req, out := c.ExportSnapshotRequest(input)
6479	return out, req.Send()
6480}
6481
6482// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
6483// the ability to pass a context and additional request options.
6484//
6485// See ExportSnapshot for details on how to use this API operation.
6486//
6487// The context must be non-nil and will be used for request cancellation. If
6488// the context is nil a panic will occur. In the future the SDK may create
6489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6490// for more information on using Contexts.
6491func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
6492	req, out := c.ExportSnapshotRequest(input)
6493	req.SetContext(ctx)
6494	req.ApplyOptions(opts...)
6495	return out, req.Send()
6496}
6497
6498const opGetActiveNames = "GetActiveNames"
6499
6500// GetActiveNamesRequest generates a "aws/request.Request" representing the
6501// client's request for the GetActiveNames operation. The "output" return
6502// value will be populated with the request's response once the request completes
6503// successfully.
6504//
6505// Use "Send" method on the returned Request to send the API call to the service.
6506// the "output" return value is not valid until after Send returns without error.
6507//
6508// See GetActiveNames for more information on using the GetActiveNames
6509// API call, and error handling.
6510//
6511// This method is useful when you want to inject custom logic or configuration
6512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6513//
6514//
6515//    // Example sending a request using the GetActiveNamesRequest method.
6516//    req, resp := client.GetActiveNamesRequest(params)
6517//
6518//    err := req.Send()
6519//    if err == nil { // resp is now filled
6520//        fmt.Println(resp)
6521//    }
6522//
6523// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
6524func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
6525	op := &request.Operation{
6526		Name:       opGetActiveNames,
6527		HTTPMethod: "POST",
6528		HTTPPath:   "/",
6529	}
6530
6531	if input == nil {
6532		input = &GetActiveNamesInput{}
6533	}
6534
6535	output = &GetActiveNamesOutput{}
6536	req = c.newRequest(op, input, output)
6537	return
6538}
6539
6540// GetActiveNames API operation for Amazon Lightsail.
6541//
6542// Returns the names of all active (not deleted) resources.
6543//
6544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6545// with awserr.Error's Code and Message methods to get detailed information about
6546// the error.
6547//
6548// See the AWS API reference guide for Amazon Lightsail's
6549// API operation GetActiveNames for usage and error information.
6550//
6551// Returned Error Types:
6552//   * ServiceException
6553//   A general service exception.
6554//
6555//   * InvalidInputException
6556//   Lightsail throws this exception when user input does not conform to the validation
6557//   rules of an input field.
6558//
6559//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6560//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6561//   view, or edit these resources.
6562//
6563//   * NotFoundException
6564//   Lightsail throws this exception when it cannot find a resource.
6565//
6566//   * OperationFailureException
6567//   Lightsail throws this exception when an operation fails to execute.
6568//
6569//   * AccessDeniedException
6570//   Lightsail throws this exception when the user cannot be authenticated or
6571//   uses invalid credentials to access a resource.
6572//
6573//   * AccountSetupInProgressException
6574//   Lightsail throws this exception when an account is still in the setup in
6575//   progress state.
6576//
6577//   * UnauthenticatedException
6578//   Lightsail throws this exception when the user has not been authenticated.
6579//
6580// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
6581func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
6582	req, out := c.GetActiveNamesRequest(input)
6583	return out, req.Send()
6584}
6585
6586// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
6587// the ability to pass a context and additional request options.
6588//
6589// See GetActiveNames for details on how to use this API operation.
6590//
6591// The context must be non-nil and will be used for request cancellation. If
6592// the context is nil a panic will occur. In the future the SDK may create
6593// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6594// for more information on using Contexts.
6595func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
6596	req, out := c.GetActiveNamesRequest(input)
6597	req.SetContext(ctx)
6598	req.ApplyOptions(opts...)
6599	return out, req.Send()
6600}
6601
6602const opGetAlarms = "GetAlarms"
6603
6604// GetAlarmsRequest generates a "aws/request.Request" representing the
6605// client's request for the GetAlarms operation. The "output" return
6606// value will be populated with the request's response once the request completes
6607// successfully.
6608//
6609// Use "Send" method on the returned Request to send the API call to the service.
6610// the "output" return value is not valid until after Send returns without error.
6611//
6612// See GetAlarms for more information on using the GetAlarms
6613// API call, and error handling.
6614//
6615// This method is useful when you want to inject custom logic or configuration
6616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6617//
6618//
6619//    // Example sending a request using the GetAlarmsRequest method.
6620//    req, resp := client.GetAlarmsRequest(params)
6621//
6622//    err := req.Send()
6623//    if err == nil { // resp is now filled
6624//        fmt.Println(resp)
6625//    }
6626//
6627// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
6628func (c *Lightsail) GetAlarmsRequest(input *GetAlarmsInput) (req *request.Request, output *GetAlarmsOutput) {
6629	op := &request.Operation{
6630		Name:       opGetAlarms,
6631		HTTPMethod: "POST",
6632		HTTPPath:   "/",
6633	}
6634
6635	if input == nil {
6636		input = &GetAlarmsInput{}
6637	}
6638
6639	output = &GetAlarmsOutput{}
6640	req = c.newRequest(op, input, output)
6641	return
6642}
6643
6644// GetAlarms API operation for Amazon Lightsail.
6645//
6646// Returns information about the configured alarms. Specify an alarm name in
6647// your request to return information about a specific alarm, or specify a monitored
6648// resource name to return information about all alarms for a specific resource.
6649//
6650// An alarm is used to monitor a single metric for one of your resources. When
6651// a metric condition is met, the alarm can notify you by email, SMS text message,
6652// and a banner displayed on the Amazon Lightsail console. For more information,
6653// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
6654//
6655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6656// with awserr.Error's Code and Message methods to get detailed information about
6657// the error.
6658//
6659// See the AWS API reference guide for Amazon Lightsail's
6660// API operation GetAlarms for usage and error information.
6661//
6662// Returned Error Types:
6663//   * ServiceException
6664//   A general service exception.
6665//
6666//   * InvalidInputException
6667//   Lightsail throws this exception when user input does not conform to the validation
6668//   rules of an input field.
6669//
6670//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6671//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6672//   view, or edit these resources.
6673//
6674//   * OperationFailureException
6675//   Lightsail throws this exception when an operation fails to execute.
6676//
6677//   * UnauthenticatedException
6678//   Lightsail throws this exception when the user has not been authenticated.
6679//
6680//   * AccessDeniedException
6681//   Lightsail throws this exception when the user cannot be authenticated or
6682//   uses invalid credentials to access a resource.
6683//
6684//   * NotFoundException
6685//   Lightsail throws this exception when it cannot find a resource.
6686//
6687// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
6688func (c *Lightsail) GetAlarms(input *GetAlarmsInput) (*GetAlarmsOutput, error) {
6689	req, out := c.GetAlarmsRequest(input)
6690	return out, req.Send()
6691}
6692
6693// GetAlarmsWithContext is the same as GetAlarms with the addition of
6694// the ability to pass a context and additional request options.
6695//
6696// See GetAlarms for details on how to use this API operation.
6697//
6698// The context must be non-nil and will be used for request cancellation. If
6699// the context is nil a panic will occur. In the future the SDK may create
6700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6701// for more information on using Contexts.
6702func (c *Lightsail) GetAlarmsWithContext(ctx aws.Context, input *GetAlarmsInput, opts ...request.Option) (*GetAlarmsOutput, error) {
6703	req, out := c.GetAlarmsRequest(input)
6704	req.SetContext(ctx)
6705	req.ApplyOptions(opts...)
6706	return out, req.Send()
6707}
6708
6709const opGetAutoSnapshots = "GetAutoSnapshots"
6710
6711// GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
6712// client's request for the GetAutoSnapshots operation. The "output" return
6713// value will be populated with the request's response once the request completes
6714// successfully.
6715//
6716// Use "Send" method on the returned Request to send the API call to the service.
6717// the "output" return value is not valid until after Send returns without error.
6718//
6719// See GetAutoSnapshots for more information on using the GetAutoSnapshots
6720// API call, and error handling.
6721//
6722// This method is useful when you want to inject custom logic or configuration
6723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6724//
6725//
6726//    // Example sending a request using the GetAutoSnapshotsRequest method.
6727//    req, resp := client.GetAutoSnapshotsRequest(params)
6728//
6729//    err := req.Send()
6730//    if err == nil { // resp is now filled
6731//        fmt.Println(resp)
6732//    }
6733//
6734// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
6735func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
6736	op := &request.Operation{
6737		Name:       opGetAutoSnapshots,
6738		HTTPMethod: "POST",
6739		HTTPPath:   "/",
6740	}
6741
6742	if input == nil {
6743		input = &GetAutoSnapshotsInput{}
6744	}
6745
6746	output = &GetAutoSnapshotsOutput{}
6747	req = c.newRequest(op, input, output)
6748	return
6749}
6750
6751// GetAutoSnapshots API operation for Amazon Lightsail.
6752//
6753// Returns the available automatic snapshots for an instance or disk. For more
6754// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
6755//
6756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6757// with awserr.Error's Code and Message methods to get detailed information about
6758// the error.
6759//
6760// See the AWS API reference guide for Amazon Lightsail's
6761// API operation GetAutoSnapshots for usage and error information.
6762//
6763// Returned Error Types:
6764//   * ServiceException
6765//   A general service exception.
6766//
6767//   * InvalidInputException
6768//   Lightsail throws this exception when user input does not conform to the validation
6769//   rules of an input field.
6770//
6771//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6772//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6773//   view, or edit these resources.
6774//
6775//   * NotFoundException
6776//   Lightsail throws this exception when it cannot find a resource.
6777//
6778//   * OperationFailureException
6779//   Lightsail throws this exception when an operation fails to execute.
6780//
6781//   * AccessDeniedException
6782//   Lightsail throws this exception when the user cannot be authenticated or
6783//   uses invalid credentials to access a resource.
6784//
6785//   * UnauthenticatedException
6786//   Lightsail throws this exception when the user has not been authenticated.
6787//
6788// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
6789func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
6790	req, out := c.GetAutoSnapshotsRequest(input)
6791	return out, req.Send()
6792}
6793
6794// GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
6795// the ability to pass a context and additional request options.
6796//
6797// See GetAutoSnapshots for details on how to use this API operation.
6798//
6799// The context must be non-nil and will be used for request cancellation. If
6800// the context is nil a panic will occur. In the future the SDK may create
6801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6802// for more information on using Contexts.
6803func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
6804	req, out := c.GetAutoSnapshotsRequest(input)
6805	req.SetContext(ctx)
6806	req.ApplyOptions(opts...)
6807	return out, req.Send()
6808}
6809
6810const opGetBlueprints = "GetBlueprints"
6811
6812// GetBlueprintsRequest generates a "aws/request.Request" representing the
6813// client's request for the GetBlueprints operation. The "output" return
6814// value will be populated with the request's response once the request completes
6815// successfully.
6816//
6817// Use "Send" method on the returned Request to send the API call to the service.
6818// the "output" return value is not valid until after Send returns without error.
6819//
6820// See GetBlueprints for more information on using the GetBlueprints
6821// API call, and error handling.
6822//
6823// This method is useful when you want to inject custom logic or configuration
6824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6825//
6826//
6827//    // Example sending a request using the GetBlueprintsRequest method.
6828//    req, resp := client.GetBlueprintsRequest(params)
6829//
6830//    err := req.Send()
6831//    if err == nil { // resp is now filled
6832//        fmt.Println(resp)
6833//    }
6834//
6835// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
6836func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
6837	op := &request.Operation{
6838		Name:       opGetBlueprints,
6839		HTTPMethod: "POST",
6840		HTTPPath:   "/",
6841	}
6842
6843	if input == nil {
6844		input = &GetBlueprintsInput{}
6845	}
6846
6847	output = &GetBlueprintsOutput{}
6848	req = c.newRequest(op, input, output)
6849	return
6850}
6851
6852// GetBlueprints API operation for Amazon Lightsail.
6853//
6854// Returns the list of available instance images, or blueprints. You can use
6855// a blueprint to create a new instance already running a specific operating
6856// system, as well as a preinstalled app or development stack. The software
6857// each instance is running depends on the blueprint image you choose.
6858//
6859// Use active blueprints when creating new instances. Inactive blueprints are
6860// listed to support customers with existing instances and are not necessarily
6861// available to create new instances. Blueprints are marked inactive when they
6862// become outdated due to operating system updates or new application releases.
6863//
6864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6865// with awserr.Error's Code and Message methods to get detailed information about
6866// the error.
6867//
6868// See the AWS API reference guide for Amazon Lightsail's
6869// API operation GetBlueprints for usage and error information.
6870//
6871// Returned Error Types:
6872//   * ServiceException
6873//   A general service exception.
6874//
6875//   * InvalidInputException
6876//   Lightsail throws this exception when user input does not conform to the validation
6877//   rules of an input field.
6878//
6879//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6880//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6881//   view, or edit these resources.
6882//
6883//   * NotFoundException
6884//   Lightsail throws this exception when it cannot find a resource.
6885//
6886//   * OperationFailureException
6887//   Lightsail throws this exception when an operation fails to execute.
6888//
6889//   * AccessDeniedException
6890//   Lightsail throws this exception when the user cannot be authenticated or
6891//   uses invalid credentials to access a resource.
6892//
6893//   * AccountSetupInProgressException
6894//   Lightsail throws this exception when an account is still in the setup in
6895//   progress state.
6896//
6897//   * UnauthenticatedException
6898//   Lightsail throws this exception when the user has not been authenticated.
6899//
6900// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
6901func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
6902	req, out := c.GetBlueprintsRequest(input)
6903	return out, req.Send()
6904}
6905
6906// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
6907// the ability to pass a context and additional request options.
6908//
6909// See GetBlueprints for details on how to use this API operation.
6910//
6911// The context must be non-nil and will be used for request cancellation. If
6912// the context is nil a panic will occur. In the future the SDK may create
6913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6914// for more information on using Contexts.
6915func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
6916	req, out := c.GetBlueprintsRequest(input)
6917	req.SetContext(ctx)
6918	req.ApplyOptions(opts...)
6919	return out, req.Send()
6920}
6921
6922const opGetBucketAccessKeys = "GetBucketAccessKeys"
6923
6924// GetBucketAccessKeysRequest generates a "aws/request.Request" representing the
6925// client's request for the GetBucketAccessKeys operation. The "output" return
6926// value will be populated with the request's response once the request completes
6927// successfully.
6928//
6929// Use "Send" method on the returned Request to send the API call to the service.
6930// the "output" return value is not valid until after Send returns without error.
6931//
6932// See GetBucketAccessKeys for more information on using the GetBucketAccessKeys
6933// API call, and error handling.
6934//
6935// This method is useful when you want to inject custom logic or configuration
6936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6937//
6938//
6939//    // Example sending a request using the GetBucketAccessKeysRequest method.
6940//    req, resp := client.GetBucketAccessKeysRequest(params)
6941//
6942//    err := req.Send()
6943//    if err == nil { // resp is now filled
6944//        fmt.Println(resp)
6945//    }
6946//
6947// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketAccessKeys
6948func (c *Lightsail) GetBucketAccessKeysRequest(input *GetBucketAccessKeysInput) (req *request.Request, output *GetBucketAccessKeysOutput) {
6949	op := &request.Operation{
6950		Name:       opGetBucketAccessKeys,
6951		HTTPMethod: "POST",
6952		HTTPPath:   "/",
6953	}
6954
6955	if input == nil {
6956		input = &GetBucketAccessKeysInput{}
6957	}
6958
6959	output = &GetBucketAccessKeysOutput{}
6960	req = c.newRequest(op, input, output)
6961	return
6962}
6963
6964// GetBucketAccessKeys API operation for Amazon Lightsail.
6965//
6966// Returns the existing access key IDs for the specified Amazon Lightsail bucket.
6967//
6968// This action does not return the secret access key value of an access key.
6969// You can get a secret access key only when you create it from the response
6970// of the CreateBucketAccessKey action. If you lose the secret access key, you
6971// must create a new access key.
6972//
6973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6974// with awserr.Error's Code and Message methods to get detailed information about
6975// the error.
6976//
6977// See the AWS API reference guide for Amazon Lightsail's
6978// API operation GetBucketAccessKeys for usage and error information.
6979//
6980// Returned Error Types:
6981//   * AccessDeniedException
6982//   Lightsail throws this exception when the user cannot be authenticated or
6983//   uses invalid credentials to access a resource.
6984//
6985//   * InvalidInputException
6986//   Lightsail throws this exception when user input does not conform to the validation
6987//   rules of an input field.
6988//
6989//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6990//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6991//   view, or edit these resources.
6992//
6993//   * NotFoundException
6994//   Lightsail throws this exception when it cannot find a resource.
6995//
6996//   * ServiceException
6997//   A general service exception.
6998//
6999//   * UnauthenticatedException
7000//   Lightsail throws this exception when the user has not been authenticated.
7001//
7002// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketAccessKeys
7003func (c *Lightsail) GetBucketAccessKeys(input *GetBucketAccessKeysInput) (*GetBucketAccessKeysOutput, error) {
7004	req, out := c.GetBucketAccessKeysRequest(input)
7005	return out, req.Send()
7006}
7007
7008// GetBucketAccessKeysWithContext is the same as GetBucketAccessKeys with the addition of
7009// the ability to pass a context and additional request options.
7010//
7011// See GetBucketAccessKeys for details on how to use this API operation.
7012//
7013// The context must be non-nil and will be used for request cancellation. If
7014// the context is nil a panic will occur. In the future the SDK may create
7015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7016// for more information on using Contexts.
7017func (c *Lightsail) GetBucketAccessKeysWithContext(ctx aws.Context, input *GetBucketAccessKeysInput, opts ...request.Option) (*GetBucketAccessKeysOutput, error) {
7018	req, out := c.GetBucketAccessKeysRequest(input)
7019	req.SetContext(ctx)
7020	req.ApplyOptions(opts...)
7021	return out, req.Send()
7022}
7023
7024const opGetBucketBundles = "GetBucketBundles"
7025
7026// GetBucketBundlesRequest generates a "aws/request.Request" representing the
7027// client's request for the GetBucketBundles operation. The "output" return
7028// value will be populated with the request's response once the request completes
7029// successfully.
7030//
7031// Use "Send" method on the returned Request to send the API call to the service.
7032// the "output" return value is not valid until after Send returns without error.
7033//
7034// See GetBucketBundles for more information on using the GetBucketBundles
7035// API call, and error handling.
7036//
7037// This method is useful when you want to inject custom logic or configuration
7038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7039//
7040//
7041//    // Example sending a request using the GetBucketBundlesRequest method.
7042//    req, resp := client.GetBucketBundlesRequest(params)
7043//
7044//    err := req.Send()
7045//    if err == nil { // resp is now filled
7046//        fmt.Println(resp)
7047//    }
7048//
7049// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketBundles
7050func (c *Lightsail) GetBucketBundlesRequest(input *GetBucketBundlesInput) (req *request.Request, output *GetBucketBundlesOutput) {
7051	op := &request.Operation{
7052		Name:       opGetBucketBundles,
7053		HTTPMethod: "POST",
7054		HTTPPath:   "/",
7055	}
7056
7057	if input == nil {
7058		input = &GetBucketBundlesInput{}
7059	}
7060
7061	output = &GetBucketBundlesOutput{}
7062	req = c.newRequest(op, input, output)
7063	return
7064}
7065
7066// GetBucketBundles API operation for Amazon Lightsail.
7067//
7068// Returns the bundles that you can apply to a Amazon Lightsail bucket.
7069//
7070// The bucket bundle specifies the monthly cost, storage quota, and data transfer
7071// quota for a bucket.
7072//
7073// Use the UpdateBucketBundle action to update the bundle for a bucket.
7074//
7075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7076// with awserr.Error's Code and Message methods to get detailed information about
7077// the error.
7078//
7079// See the AWS API reference guide for Amazon Lightsail's
7080// API operation GetBucketBundles for usage and error information.
7081//
7082// Returned Error Types:
7083//   * AccessDeniedException
7084//   Lightsail throws this exception when the user cannot be authenticated or
7085//   uses invalid credentials to access a resource.
7086//
7087//   * InvalidInputException
7088//   Lightsail throws this exception when user input does not conform to the validation
7089//   rules of an input field.
7090//
7091//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7092//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7093//   view, or edit these resources.
7094//
7095//   * ServiceException
7096//   A general service exception.
7097//
7098//   * UnauthenticatedException
7099//   Lightsail throws this exception when the user has not been authenticated.
7100//
7101// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketBundles
7102func (c *Lightsail) GetBucketBundles(input *GetBucketBundlesInput) (*GetBucketBundlesOutput, error) {
7103	req, out := c.GetBucketBundlesRequest(input)
7104	return out, req.Send()
7105}
7106
7107// GetBucketBundlesWithContext is the same as GetBucketBundles with the addition of
7108// the ability to pass a context and additional request options.
7109//
7110// See GetBucketBundles for details on how to use this API operation.
7111//
7112// The context must be non-nil and will be used for request cancellation. If
7113// the context is nil a panic will occur. In the future the SDK may create
7114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7115// for more information on using Contexts.
7116func (c *Lightsail) GetBucketBundlesWithContext(ctx aws.Context, input *GetBucketBundlesInput, opts ...request.Option) (*GetBucketBundlesOutput, error) {
7117	req, out := c.GetBucketBundlesRequest(input)
7118	req.SetContext(ctx)
7119	req.ApplyOptions(opts...)
7120	return out, req.Send()
7121}
7122
7123const opGetBucketMetricData = "GetBucketMetricData"
7124
7125// GetBucketMetricDataRequest generates a "aws/request.Request" representing the
7126// client's request for the GetBucketMetricData operation. The "output" return
7127// value will be populated with the request's response once the request completes
7128// successfully.
7129//
7130// Use "Send" method on the returned Request to send the API call to the service.
7131// the "output" return value is not valid until after Send returns without error.
7132//
7133// See GetBucketMetricData for more information on using the GetBucketMetricData
7134// API call, and error handling.
7135//
7136// This method is useful when you want to inject custom logic or configuration
7137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7138//
7139//
7140//    // Example sending a request using the GetBucketMetricDataRequest method.
7141//    req, resp := client.GetBucketMetricDataRequest(params)
7142//
7143//    err := req.Send()
7144//    if err == nil { // resp is now filled
7145//        fmt.Println(resp)
7146//    }
7147//
7148// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketMetricData
7149func (c *Lightsail) GetBucketMetricDataRequest(input *GetBucketMetricDataInput) (req *request.Request, output *GetBucketMetricDataOutput) {
7150	op := &request.Operation{
7151		Name:       opGetBucketMetricData,
7152		HTTPMethod: "POST",
7153		HTTPPath:   "/",
7154	}
7155
7156	if input == nil {
7157		input = &GetBucketMetricDataInput{}
7158	}
7159
7160	output = &GetBucketMetricDataOutput{}
7161	req = c.newRequest(op, input, output)
7162	return
7163}
7164
7165// GetBucketMetricData API operation for Amazon Lightsail.
7166//
7167// Returns the data points of a specific metric for an Amazon Lightsail bucket.
7168//
7169// Metrics report the utilization of a bucket. View and collect metric data
7170// regularly to monitor the number of objects stored in a bucket (including
7171// object versions) and the storage space used by those objects.
7172//
7173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7174// with awserr.Error's Code and Message methods to get detailed information about
7175// the error.
7176//
7177// See the AWS API reference guide for Amazon Lightsail's
7178// API operation GetBucketMetricData for usage and error information.
7179//
7180// Returned Error Types:
7181//   * AccessDeniedException
7182//   Lightsail throws this exception when the user cannot be authenticated or
7183//   uses invalid credentials to access a resource.
7184//
7185//   * InvalidInputException
7186//   Lightsail throws this exception when user input does not conform to the validation
7187//   rules of an input field.
7188//
7189//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7190//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7191//   view, or edit these resources.
7192//
7193//   * NotFoundException
7194//   Lightsail throws this exception when it cannot find a resource.
7195//
7196//   * ServiceException
7197//   A general service exception.
7198//
7199//   * UnauthenticatedException
7200//   Lightsail throws this exception when the user has not been authenticated.
7201//
7202// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBucketMetricData
7203func (c *Lightsail) GetBucketMetricData(input *GetBucketMetricDataInput) (*GetBucketMetricDataOutput, error) {
7204	req, out := c.GetBucketMetricDataRequest(input)
7205	return out, req.Send()
7206}
7207
7208// GetBucketMetricDataWithContext is the same as GetBucketMetricData with the addition of
7209// the ability to pass a context and additional request options.
7210//
7211// See GetBucketMetricData for details on how to use this API operation.
7212//
7213// The context must be non-nil and will be used for request cancellation. If
7214// the context is nil a panic will occur. In the future the SDK may create
7215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7216// for more information on using Contexts.
7217func (c *Lightsail) GetBucketMetricDataWithContext(ctx aws.Context, input *GetBucketMetricDataInput, opts ...request.Option) (*GetBucketMetricDataOutput, error) {
7218	req, out := c.GetBucketMetricDataRequest(input)
7219	req.SetContext(ctx)
7220	req.ApplyOptions(opts...)
7221	return out, req.Send()
7222}
7223
7224const opGetBuckets = "GetBuckets"
7225
7226// GetBucketsRequest generates a "aws/request.Request" representing the
7227// client's request for the GetBuckets operation. The "output" return
7228// value will be populated with the request's response once the request completes
7229// successfully.
7230//
7231// Use "Send" method on the returned Request to send the API call to the service.
7232// the "output" return value is not valid until after Send returns without error.
7233//
7234// See GetBuckets for more information on using the GetBuckets
7235// API call, and error handling.
7236//
7237// This method is useful when you want to inject custom logic or configuration
7238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7239//
7240//
7241//    // Example sending a request using the GetBucketsRequest method.
7242//    req, resp := client.GetBucketsRequest(params)
7243//
7244//    err := req.Send()
7245//    if err == nil { // resp is now filled
7246//        fmt.Println(resp)
7247//    }
7248//
7249// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBuckets
7250func (c *Lightsail) GetBucketsRequest(input *GetBucketsInput) (req *request.Request, output *GetBucketsOutput) {
7251	op := &request.Operation{
7252		Name:       opGetBuckets,
7253		HTTPMethod: "POST",
7254		HTTPPath:   "/",
7255	}
7256
7257	if input == nil {
7258		input = &GetBucketsInput{}
7259	}
7260
7261	output = &GetBucketsOutput{}
7262	req = c.newRequest(op, input, output)
7263	return
7264}
7265
7266// GetBuckets API operation for Amazon Lightsail.
7267//
7268// Returns information about one or more Amazon Lightsail buckets.
7269//
7270// For more information about buckets, see Buckets in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/buckets-in-amazon-lightsail)
7271// in the Amazon Lightsail Developer Guide..
7272//
7273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7274// with awserr.Error's Code and Message methods to get detailed information about
7275// the error.
7276//
7277// See the AWS API reference guide for Amazon Lightsail's
7278// API operation GetBuckets for usage and error information.
7279//
7280// Returned Error Types:
7281//   * AccessDeniedException
7282//   Lightsail throws this exception when the user cannot be authenticated or
7283//   uses invalid credentials to access a resource.
7284//
7285//   * InvalidInputException
7286//   Lightsail throws this exception when user input does not conform to the validation
7287//   rules of an input field.
7288//
7289//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7290//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7291//   view, or edit these resources.
7292//
7293//   * NotFoundException
7294//   Lightsail throws this exception when it cannot find a resource.
7295//
7296//   * ServiceException
7297//   A general service exception.
7298//
7299//   * UnauthenticatedException
7300//   Lightsail throws this exception when the user has not been authenticated.
7301//
7302// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBuckets
7303func (c *Lightsail) GetBuckets(input *GetBucketsInput) (*GetBucketsOutput, error) {
7304	req, out := c.GetBucketsRequest(input)
7305	return out, req.Send()
7306}
7307
7308// GetBucketsWithContext is the same as GetBuckets with the addition of
7309// the ability to pass a context and additional request options.
7310//
7311// See GetBuckets for details on how to use this API operation.
7312//
7313// The context must be non-nil and will be used for request cancellation. If
7314// the context is nil a panic will occur. In the future the SDK may create
7315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7316// for more information on using Contexts.
7317func (c *Lightsail) GetBucketsWithContext(ctx aws.Context, input *GetBucketsInput, opts ...request.Option) (*GetBucketsOutput, error) {
7318	req, out := c.GetBucketsRequest(input)
7319	req.SetContext(ctx)
7320	req.ApplyOptions(opts...)
7321	return out, req.Send()
7322}
7323
7324const opGetBundles = "GetBundles"
7325
7326// GetBundlesRequest generates a "aws/request.Request" representing the
7327// client's request for the GetBundles operation. The "output" return
7328// value will be populated with the request's response once the request completes
7329// successfully.
7330//
7331// Use "Send" method on the returned Request to send the API call to the service.
7332// the "output" return value is not valid until after Send returns without error.
7333//
7334// See GetBundles for more information on using the GetBundles
7335// API call, and error handling.
7336//
7337// This method is useful when you want to inject custom logic or configuration
7338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7339//
7340//
7341//    // Example sending a request using the GetBundlesRequest method.
7342//    req, resp := client.GetBundlesRequest(params)
7343//
7344//    err := req.Send()
7345//    if err == nil { // resp is now filled
7346//        fmt.Println(resp)
7347//    }
7348//
7349// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
7350func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
7351	op := &request.Operation{
7352		Name:       opGetBundles,
7353		HTTPMethod: "POST",
7354		HTTPPath:   "/",
7355	}
7356
7357	if input == nil {
7358		input = &GetBundlesInput{}
7359	}
7360
7361	output = &GetBundlesOutput{}
7362	req = c.newRequest(op, input, output)
7363	return
7364}
7365
7366// GetBundles API operation for Amazon Lightsail.
7367//
7368// Returns the list of bundles that are available for purchase. A bundle describes
7369// the specs for your virtual private server (or instance).
7370//
7371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7372// with awserr.Error's Code and Message methods to get detailed information about
7373// the error.
7374//
7375// See the AWS API reference guide for Amazon Lightsail's
7376// API operation GetBundles for usage and error information.
7377//
7378// Returned Error Types:
7379//   * ServiceException
7380//   A general service exception.
7381//
7382//   * InvalidInputException
7383//   Lightsail throws this exception when user input does not conform to the validation
7384//   rules of an input field.
7385//
7386//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7387//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7388//   view, or edit these resources.
7389//
7390//   * NotFoundException
7391//   Lightsail throws this exception when it cannot find a resource.
7392//
7393//   * OperationFailureException
7394//   Lightsail throws this exception when an operation fails to execute.
7395//
7396//   * AccessDeniedException
7397//   Lightsail throws this exception when the user cannot be authenticated or
7398//   uses invalid credentials to access a resource.
7399//
7400//   * AccountSetupInProgressException
7401//   Lightsail throws this exception when an account is still in the setup in
7402//   progress state.
7403//
7404//   * UnauthenticatedException
7405//   Lightsail throws this exception when the user has not been authenticated.
7406//
7407// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
7408func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
7409	req, out := c.GetBundlesRequest(input)
7410	return out, req.Send()
7411}
7412
7413// GetBundlesWithContext is the same as GetBundles with the addition of
7414// the ability to pass a context and additional request options.
7415//
7416// See GetBundles for details on how to use this API operation.
7417//
7418// The context must be non-nil and will be used for request cancellation. If
7419// the context is nil a panic will occur. In the future the SDK may create
7420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7421// for more information on using Contexts.
7422func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
7423	req, out := c.GetBundlesRequest(input)
7424	req.SetContext(ctx)
7425	req.ApplyOptions(opts...)
7426	return out, req.Send()
7427}
7428
7429const opGetCertificates = "GetCertificates"
7430
7431// GetCertificatesRequest generates a "aws/request.Request" representing the
7432// client's request for the GetCertificates operation. The "output" return
7433// value will be populated with the request's response once the request completes
7434// successfully.
7435//
7436// Use "Send" method on the returned Request to send the API call to the service.
7437// the "output" return value is not valid until after Send returns without error.
7438//
7439// See GetCertificates for more information on using the GetCertificates
7440// API call, and error handling.
7441//
7442// This method is useful when you want to inject custom logic or configuration
7443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7444//
7445//
7446//    // Example sending a request using the GetCertificatesRequest method.
7447//    req, resp := client.GetCertificatesRequest(params)
7448//
7449//    err := req.Send()
7450//    if err == nil { // resp is now filled
7451//        fmt.Println(resp)
7452//    }
7453//
7454// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
7455func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) {
7456	op := &request.Operation{
7457		Name:       opGetCertificates,
7458		HTTPMethod: "POST",
7459		HTTPPath:   "/",
7460	}
7461
7462	if input == nil {
7463		input = &GetCertificatesInput{}
7464	}
7465
7466	output = &GetCertificatesOutput{}
7467	req = c.newRequest(op, input, output)
7468	return
7469}
7470
7471// GetCertificates API operation for Amazon Lightsail.
7472//
7473// Returns information about one or more Amazon Lightsail SSL/TLS certificates.
7474//
7475// To get a summary of a certificate, ommit includeCertificateDetails from your
7476// request. The response will include only the certificate Amazon Resource Name
7477// (ARN), certificate name, domain name, and tags.
7478//
7479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7480// with awserr.Error's Code and Message methods to get detailed information about
7481// the error.
7482//
7483// See the AWS API reference guide for Amazon Lightsail's
7484// API operation GetCertificates for usage and error information.
7485//
7486// Returned Error Types:
7487//   * ServiceException
7488//   A general service exception.
7489//
7490//   * InvalidInputException
7491//   Lightsail throws this exception when user input does not conform to the validation
7492//   rules of an input field.
7493//
7494//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7495//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7496//   view, or edit these resources.
7497//
7498//   * NotFoundException
7499//   Lightsail throws this exception when it cannot find a resource.
7500//
7501//   * AccessDeniedException
7502//   Lightsail throws this exception when the user cannot be authenticated or
7503//   uses invalid credentials to access a resource.
7504//
7505//   * UnauthenticatedException
7506//   Lightsail throws this exception when the user has not been authenticated.
7507//
7508// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
7509func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) {
7510	req, out := c.GetCertificatesRequest(input)
7511	return out, req.Send()
7512}
7513
7514// GetCertificatesWithContext is the same as GetCertificates with the addition of
7515// the ability to pass a context and additional request options.
7516//
7517// See GetCertificates for details on how to use this API operation.
7518//
7519// The context must be non-nil and will be used for request cancellation. If
7520// the context is nil a panic will occur. In the future the SDK may create
7521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7522// for more information on using Contexts.
7523func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) {
7524	req, out := c.GetCertificatesRequest(input)
7525	req.SetContext(ctx)
7526	req.ApplyOptions(opts...)
7527	return out, req.Send()
7528}
7529
7530const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
7531
7532// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
7533// client's request for the GetCloudFormationStackRecords operation. The "output" return
7534// value will be populated with the request's response once the request completes
7535// successfully.
7536//
7537// Use "Send" method on the returned Request to send the API call to the service.
7538// the "output" return value is not valid until after Send returns without error.
7539//
7540// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
7541// API call, and error handling.
7542//
7543// This method is useful when you want to inject custom logic or configuration
7544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7545//
7546//
7547//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
7548//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
7549//
7550//    err := req.Send()
7551//    if err == nil { // resp is now filled
7552//        fmt.Println(resp)
7553//    }
7554//
7555// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
7556func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
7557	op := &request.Operation{
7558		Name:       opGetCloudFormationStackRecords,
7559		HTTPMethod: "POST",
7560		HTTPPath:   "/",
7561	}
7562
7563	if input == nil {
7564		input = &GetCloudFormationStackRecordsInput{}
7565	}
7566
7567	output = &GetCloudFormationStackRecordsOutput{}
7568	req = c.newRequest(op, input, output)
7569	return
7570}
7571
7572// GetCloudFormationStackRecords API operation for Amazon Lightsail.
7573//
7574// Returns the CloudFormation stack record created as a result of the create
7575// cloud formation stack operation.
7576//
7577// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
7578// an exported Lightsail snapshot.
7579//
7580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7581// with awserr.Error's Code and Message methods to get detailed information about
7582// the error.
7583//
7584// See the AWS API reference guide for Amazon Lightsail's
7585// API operation GetCloudFormationStackRecords for usage and error information.
7586//
7587// Returned Error Types:
7588//   * ServiceException
7589//   A general service exception.
7590//
7591//   * InvalidInputException
7592//   Lightsail throws this exception when user input does not conform to the validation
7593//   rules of an input field.
7594//
7595//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7596//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7597//   view, or edit these resources.
7598//
7599//   * NotFoundException
7600//   Lightsail throws this exception when it cannot find a resource.
7601//
7602//   * OperationFailureException
7603//   Lightsail throws this exception when an operation fails to execute.
7604//
7605//   * AccessDeniedException
7606//   Lightsail throws this exception when the user cannot be authenticated or
7607//   uses invalid credentials to access a resource.
7608//
7609//   * AccountSetupInProgressException
7610//   Lightsail throws this exception when an account is still in the setup in
7611//   progress state.
7612//
7613//   * UnauthenticatedException
7614//   Lightsail throws this exception when the user has not been authenticated.
7615//
7616// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
7617func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
7618	req, out := c.GetCloudFormationStackRecordsRequest(input)
7619	return out, req.Send()
7620}
7621
7622// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
7623// the ability to pass a context and additional request options.
7624//
7625// See GetCloudFormationStackRecords for details on how to use this API operation.
7626//
7627// The context must be non-nil and will be used for request cancellation. If
7628// the context is nil a panic will occur. In the future the SDK may create
7629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7630// for more information on using Contexts.
7631func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
7632	req, out := c.GetCloudFormationStackRecordsRequest(input)
7633	req.SetContext(ctx)
7634	req.ApplyOptions(opts...)
7635	return out, req.Send()
7636}
7637
7638const opGetContactMethods = "GetContactMethods"
7639
7640// GetContactMethodsRequest generates a "aws/request.Request" representing the
7641// client's request for the GetContactMethods operation. The "output" return
7642// value will be populated with the request's response once the request completes
7643// successfully.
7644//
7645// Use "Send" method on the returned Request to send the API call to the service.
7646// the "output" return value is not valid until after Send returns without error.
7647//
7648// See GetContactMethods for more information on using the GetContactMethods
7649// API call, and error handling.
7650//
7651// This method is useful when you want to inject custom logic or configuration
7652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7653//
7654//
7655//    // Example sending a request using the GetContactMethodsRequest method.
7656//    req, resp := client.GetContactMethodsRequest(params)
7657//
7658//    err := req.Send()
7659//    if err == nil { // resp is now filled
7660//        fmt.Println(resp)
7661//    }
7662//
7663// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
7664func (c *Lightsail) GetContactMethodsRequest(input *GetContactMethodsInput) (req *request.Request, output *GetContactMethodsOutput) {
7665	op := &request.Operation{
7666		Name:       opGetContactMethods,
7667		HTTPMethod: "POST",
7668		HTTPPath:   "/",
7669	}
7670
7671	if input == nil {
7672		input = &GetContactMethodsInput{}
7673	}
7674
7675	output = &GetContactMethodsOutput{}
7676	req = c.newRequest(op, input, output)
7677	return
7678}
7679
7680// GetContactMethods API operation for Amazon Lightsail.
7681//
7682// Returns information about the configured contact methods. Specify a protocol
7683// in your request to return information about a specific contact method.
7684//
7685// A contact method is used to send you notifications about your Amazon Lightsail
7686// resources. You can add one email address and one mobile phone number contact
7687// method in each AWS Region. However, SMS text messaging is not supported in
7688// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
7689// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
7690//
7691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7692// with awserr.Error's Code and Message methods to get detailed information about
7693// the error.
7694//
7695// See the AWS API reference guide for Amazon Lightsail's
7696// API operation GetContactMethods for usage and error information.
7697//
7698// Returned Error Types:
7699//   * ServiceException
7700//   A general service exception.
7701//
7702//   * InvalidInputException
7703//   Lightsail throws this exception when user input does not conform to the validation
7704//   rules of an input field.
7705//
7706//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7707//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7708//   view, or edit these resources.
7709//
7710//   * NotFoundException
7711//   Lightsail throws this exception when it cannot find a resource.
7712//
7713//   * OperationFailureException
7714//   Lightsail throws this exception when an operation fails to execute.
7715//
7716//   * AccessDeniedException
7717//   Lightsail throws this exception when the user cannot be authenticated or
7718//   uses invalid credentials to access a resource.
7719//
7720//   * UnauthenticatedException
7721//   Lightsail throws this exception when the user has not been authenticated.
7722//
7723// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
7724func (c *Lightsail) GetContactMethods(input *GetContactMethodsInput) (*GetContactMethodsOutput, error) {
7725	req, out := c.GetContactMethodsRequest(input)
7726	return out, req.Send()
7727}
7728
7729// GetContactMethodsWithContext is the same as GetContactMethods with the addition of
7730// the ability to pass a context and additional request options.
7731//
7732// See GetContactMethods for details on how to use this API operation.
7733//
7734// The context must be non-nil and will be used for request cancellation. If
7735// the context is nil a panic will occur. In the future the SDK may create
7736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7737// for more information on using Contexts.
7738func (c *Lightsail) GetContactMethodsWithContext(ctx aws.Context, input *GetContactMethodsInput, opts ...request.Option) (*GetContactMethodsOutput, error) {
7739	req, out := c.GetContactMethodsRequest(input)
7740	req.SetContext(ctx)
7741	req.ApplyOptions(opts...)
7742	return out, req.Send()
7743}
7744
7745const opGetContainerAPIMetadata = "GetContainerAPIMetadata"
7746
7747// GetContainerAPIMetadataRequest generates a "aws/request.Request" representing the
7748// client's request for the GetContainerAPIMetadata operation. The "output" return
7749// value will be populated with the request's response once the request completes
7750// successfully.
7751//
7752// Use "Send" method on the returned Request to send the API call to the service.
7753// the "output" return value is not valid until after Send returns without error.
7754//
7755// See GetContainerAPIMetadata for more information on using the GetContainerAPIMetadata
7756// API call, and error handling.
7757//
7758// This method is useful when you want to inject custom logic or configuration
7759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7760//
7761//
7762//    // Example sending a request using the GetContainerAPIMetadataRequest method.
7763//    req, resp := client.GetContainerAPIMetadataRequest(params)
7764//
7765//    err := req.Send()
7766//    if err == nil { // resp is now filled
7767//        fmt.Println(resp)
7768//    }
7769//
7770// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
7771func (c *Lightsail) GetContainerAPIMetadataRequest(input *GetContainerAPIMetadataInput) (req *request.Request, output *GetContainerAPIMetadataOutput) {
7772	op := &request.Operation{
7773		Name:       opGetContainerAPIMetadata,
7774		HTTPMethod: "POST",
7775		HTTPPath:   "/",
7776	}
7777
7778	if input == nil {
7779		input = &GetContainerAPIMetadataInput{}
7780	}
7781
7782	output = &GetContainerAPIMetadataOutput{}
7783	req = c.newRequest(op, input, output)
7784	return
7785}
7786
7787// GetContainerAPIMetadata API operation for Amazon Lightsail.
7788//
7789// Returns information about Amazon Lightsail containers, such as the current
7790// version of the Lightsail Control (lightsailctl) plugin.
7791//
7792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7793// with awserr.Error's Code and Message methods to get detailed information about
7794// the error.
7795//
7796// See the AWS API reference guide for Amazon Lightsail's
7797// API operation GetContainerAPIMetadata for usage and error information.
7798//
7799// Returned Error Types:
7800//   * ServiceException
7801//   A general service exception.
7802//
7803//   * AccessDeniedException
7804//   Lightsail throws this exception when the user cannot be authenticated or
7805//   uses invalid credentials to access a resource.
7806//
7807//   * UnauthenticatedException
7808//   Lightsail throws this exception when the user has not been authenticated.
7809//
7810// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
7811func (c *Lightsail) GetContainerAPIMetadata(input *GetContainerAPIMetadataInput) (*GetContainerAPIMetadataOutput, error) {
7812	req, out := c.GetContainerAPIMetadataRequest(input)
7813	return out, req.Send()
7814}
7815
7816// GetContainerAPIMetadataWithContext is the same as GetContainerAPIMetadata with the addition of
7817// the ability to pass a context and additional request options.
7818//
7819// See GetContainerAPIMetadata for details on how to use this API operation.
7820//
7821// The context must be non-nil and will be used for request cancellation. If
7822// the context is nil a panic will occur. In the future the SDK may create
7823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7824// for more information on using Contexts.
7825func (c *Lightsail) GetContainerAPIMetadataWithContext(ctx aws.Context, input *GetContainerAPIMetadataInput, opts ...request.Option) (*GetContainerAPIMetadataOutput, error) {
7826	req, out := c.GetContainerAPIMetadataRequest(input)
7827	req.SetContext(ctx)
7828	req.ApplyOptions(opts...)
7829	return out, req.Send()
7830}
7831
7832const opGetContainerImages = "GetContainerImages"
7833
7834// GetContainerImagesRequest generates a "aws/request.Request" representing the
7835// client's request for the GetContainerImages operation. The "output" return
7836// value will be populated with the request's response once the request completes
7837// successfully.
7838//
7839// Use "Send" method on the returned Request to send the API call to the service.
7840// the "output" return value is not valid until after Send returns without error.
7841//
7842// See GetContainerImages for more information on using the GetContainerImages
7843// API call, and error handling.
7844//
7845// This method is useful when you want to inject custom logic or configuration
7846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7847//
7848//
7849//    // Example sending a request using the GetContainerImagesRequest method.
7850//    req, resp := client.GetContainerImagesRequest(params)
7851//
7852//    err := req.Send()
7853//    if err == nil { // resp is now filled
7854//        fmt.Println(resp)
7855//    }
7856//
7857// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
7858func (c *Lightsail) GetContainerImagesRequest(input *GetContainerImagesInput) (req *request.Request, output *GetContainerImagesOutput) {
7859	op := &request.Operation{
7860		Name:       opGetContainerImages,
7861		HTTPMethod: "POST",
7862		HTTPPath:   "/",
7863	}
7864
7865	if input == nil {
7866		input = &GetContainerImagesInput{}
7867	}
7868
7869	output = &GetContainerImagesOutput{}
7870	req = c.newRequest(op, input, output)
7871	return
7872}
7873
7874// GetContainerImages API operation for Amazon Lightsail.
7875//
7876// Returns the container images that are registered to your Amazon Lightsail
7877// container service.
7878//
7879// If you created a deployment on your Lightsail container service that uses
7880// container images from a public registry like Docker Hub, those images are
7881// not returned as part of this action. Those images are not registered to your
7882// Lightsail container service.
7883//
7884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7885// with awserr.Error's Code and Message methods to get detailed information about
7886// the error.
7887//
7888// See the AWS API reference guide for Amazon Lightsail's
7889// API operation GetContainerImages for usage and error information.
7890//
7891// Returned Error Types:
7892//   * ServiceException
7893//   A general service exception.
7894//
7895//   * InvalidInputException
7896//   Lightsail throws this exception when user input does not conform to the validation
7897//   rules of an input field.
7898//
7899//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7900//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7901//   view, or edit these resources.
7902//
7903//   * NotFoundException
7904//   Lightsail throws this exception when it cannot find a resource.
7905//
7906//   * AccessDeniedException
7907//   Lightsail throws this exception when the user cannot be authenticated or
7908//   uses invalid credentials to access a resource.
7909//
7910//   * UnauthenticatedException
7911//   Lightsail throws this exception when the user has not been authenticated.
7912//
7913// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
7914func (c *Lightsail) GetContainerImages(input *GetContainerImagesInput) (*GetContainerImagesOutput, error) {
7915	req, out := c.GetContainerImagesRequest(input)
7916	return out, req.Send()
7917}
7918
7919// GetContainerImagesWithContext is the same as GetContainerImages with the addition of
7920// the ability to pass a context and additional request options.
7921//
7922// See GetContainerImages for details on how to use this API operation.
7923//
7924// The context must be non-nil and will be used for request cancellation. If
7925// the context is nil a panic will occur. In the future the SDK may create
7926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7927// for more information on using Contexts.
7928func (c *Lightsail) GetContainerImagesWithContext(ctx aws.Context, input *GetContainerImagesInput, opts ...request.Option) (*GetContainerImagesOutput, error) {
7929	req, out := c.GetContainerImagesRequest(input)
7930	req.SetContext(ctx)
7931	req.ApplyOptions(opts...)
7932	return out, req.Send()
7933}
7934
7935const opGetContainerLog = "GetContainerLog"
7936
7937// GetContainerLogRequest generates a "aws/request.Request" representing the
7938// client's request for the GetContainerLog operation. The "output" return
7939// value will be populated with the request's response once the request completes
7940// successfully.
7941//
7942// Use "Send" method on the returned Request to send the API call to the service.
7943// the "output" return value is not valid until after Send returns without error.
7944//
7945// See GetContainerLog for more information on using the GetContainerLog
7946// API call, and error handling.
7947//
7948// This method is useful when you want to inject custom logic or configuration
7949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7950//
7951//
7952//    // Example sending a request using the GetContainerLogRequest method.
7953//    req, resp := client.GetContainerLogRequest(params)
7954//
7955//    err := req.Send()
7956//    if err == nil { // resp is now filled
7957//        fmt.Println(resp)
7958//    }
7959//
7960// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
7961func (c *Lightsail) GetContainerLogRequest(input *GetContainerLogInput) (req *request.Request, output *GetContainerLogOutput) {
7962	op := &request.Operation{
7963		Name:       opGetContainerLog,
7964		HTTPMethod: "POST",
7965		HTTPPath:   "/",
7966	}
7967
7968	if input == nil {
7969		input = &GetContainerLogInput{}
7970	}
7971
7972	output = &GetContainerLogOutput{}
7973	req = c.newRequest(op, input, output)
7974	return
7975}
7976
7977// GetContainerLog API operation for Amazon Lightsail.
7978//
7979// Returns the log events of a container of your Amazon Lightsail container
7980// service.
7981//
7982// If your container service has more than one node (i.e., a scale greater than
7983// 1), then the log events that are returned for the specified container are
7984// merged from all nodes on your container service.
7985//
7986// Container logs are retained for a certain amount of time. For more information,
7987// see Amazon Lightsail endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html)
7988// in the AWS General Reference.
7989//
7990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7991// with awserr.Error's Code and Message methods to get detailed information about
7992// the error.
7993//
7994// See the AWS API reference guide for Amazon Lightsail's
7995// API operation GetContainerLog for usage and error information.
7996//
7997// Returned Error Types:
7998//   * ServiceException
7999//   A general service exception.
8000//
8001//   * InvalidInputException
8002//   Lightsail throws this exception when user input does not conform to the validation
8003//   rules of an input field.
8004//
8005//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8006//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8007//   view, or edit these resources.
8008//
8009//   * NotFoundException
8010//   Lightsail throws this exception when it cannot find a resource.
8011//
8012//   * AccessDeniedException
8013//   Lightsail throws this exception when the user cannot be authenticated or
8014//   uses invalid credentials to access a resource.
8015//
8016//   * UnauthenticatedException
8017//   Lightsail throws this exception when the user has not been authenticated.
8018//
8019// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
8020func (c *Lightsail) GetContainerLog(input *GetContainerLogInput) (*GetContainerLogOutput, error) {
8021	req, out := c.GetContainerLogRequest(input)
8022	return out, req.Send()
8023}
8024
8025// GetContainerLogWithContext is the same as GetContainerLog with the addition of
8026// the ability to pass a context and additional request options.
8027//
8028// See GetContainerLog for details on how to use this API operation.
8029//
8030// The context must be non-nil and will be used for request cancellation. If
8031// the context is nil a panic will occur. In the future the SDK may create
8032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8033// for more information on using Contexts.
8034func (c *Lightsail) GetContainerLogWithContext(ctx aws.Context, input *GetContainerLogInput, opts ...request.Option) (*GetContainerLogOutput, error) {
8035	req, out := c.GetContainerLogRequest(input)
8036	req.SetContext(ctx)
8037	req.ApplyOptions(opts...)
8038	return out, req.Send()
8039}
8040
8041const opGetContainerServiceDeployments = "GetContainerServiceDeployments"
8042
8043// GetContainerServiceDeploymentsRequest generates a "aws/request.Request" representing the
8044// client's request for the GetContainerServiceDeployments operation. The "output" return
8045// value will be populated with the request's response once the request completes
8046// successfully.
8047//
8048// Use "Send" method on the returned Request to send the API call to the service.
8049// the "output" return value is not valid until after Send returns without error.
8050//
8051// See GetContainerServiceDeployments for more information on using the GetContainerServiceDeployments
8052// API call, and error handling.
8053//
8054// This method is useful when you want to inject custom logic or configuration
8055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8056//
8057//
8058//    // Example sending a request using the GetContainerServiceDeploymentsRequest method.
8059//    req, resp := client.GetContainerServiceDeploymentsRequest(params)
8060//
8061//    err := req.Send()
8062//    if err == nil { // resp is now filled
8063//        fmt.Println(resp)
8064//    }
8065//
8066// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
8067func (c *Lightsail) GetContainerServiceDeploymentsRequest(input *GetContainerServiceDeploymentsInput) (req *request.Request, output *GetContainerServiceDeploymentsOutput) {
8068	op := &request.Operation{
8069		Name:       opGetContainerServiceDeployments,
8070		HTTPMethod: "POST",
8071		HTTPPath:   "/",
8072	}
8073
8074	if input == nil {
8075		input = &GetContainerServiceDeploymentsInput{}
8076	}
8077
8078	output = &GetContainerServiceDeploymentsOutput{}
8079	req = c.newRequest(op, input, output)
8080	return
8081}
8082
8083// GetContainerServiceDeployments API operation for Amazon Lightsail.
8084//
8085// Returns the deployments for your Amazon Lightsail container service
8086//
8087// A deployment specifies the settings, such as the ports and launch command,
8088// of containers that are deployed to your container service.
8089//
8090// The deployments are ordered by version in ascending order. The newest version
8091// is listed at the top of the response.
8092//
8093// A set number of deployments are kept before the oldest one is replaced with
8094// the newest one. For more information, see Amazon Lightsail endpoints and
8095// quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html) in
8096// the AWS General Reference.
8097//
8098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8099// with awserr.Error's Code and Message methods to get detailed information about
8100// the error.
8101//
8102// See the AWS API reference guide for Amazon Lightsail's
8103// API operation GetContainerServiceDeployments for usage and error information.
8104//
8105// Returned Error Types:
8106//   * ServiceException
8107//   A general service exception.
8108//
8109//   * InvalidInputException
8110//   Lightsail throws this exception when user input does not conform to the validation
8111//   rules of an input field.
8112//
8113//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8114//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8115//   view, or edit these resources.
8116//
8117//   * NotFoundException
8118//   Lightsail throws this exception when it cannot find a resource.
8119//
8120//   * AccessDeniedException
8121//   Lightsail throws this exception when the user cannot be authenticated or
8122//   uses invalid credentials to access a resource.
8123//
8124//   * UnauthenticatedException
8125//   Lightsail throws this exception when the user has not been authenticated.
8126//
8127// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
8128func (c *Lightsail) GetContainerServiceDeployments(input *GetContainerServiceDeploymentsInput) (*GetContainerServiceDeploymentsOutput, error) {
8129	req, out := c.GetContainerServiceDeploymentsRequest(input)
8130	return out, req.Send()
8131}
8132
8133// GetContainerServiceDeploymentsWithContext is the same as GetContainerServiceDeployments with the addition of
8134// the ability to pass a context and additional request options.
8135//
8136// See GetContainerServiceDeployments for details on how to use this API operation.
8137//
8138// The context must be non-nil and will be used for request cancellation. If
8139// the context is nil a panic will occur. In the future the SDK may create
8140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8141// for more information on using Contexts.
8142func (c *Lightsail) GetContainerServiceDeploymentsWithContext(ctx aws.Context, input *GetContainerServiceDeploymentsInput, opts ...request.Option) (*GetContainerServiceDeploymentsOutput, error) {
8143	req, out := c.GetContainerServiceDeploymentsRequest(input)
8144	req.SetContext(ctx)
8145	req.ApplyOptions(opts...)
8146	return out, req.Send()
8147}
8148
8149const opGetContainerServiceMetricData = "GetContainerServiceMetricData"
8150
8151// GetContainerServiceMetricDataRequest generates a "aws/request.Request" representing the
8152// client's request for the GetContainerServiceMetricData operation. The "output" return
8153// value will be populated with the request's response once the request completes
8154// successfully.
8155//
8156// Use "Send" method on the returned Request to send the API call to the service.
8157// the "output" return value is not valid until after Send returns without error.
8158//
8159// See GetContainerServiceMetricData for more information on using the GetContainerServiceMetricData
8160// API call, and error handling.
8161//
8162// This method is useful when you want to inject custom logic or configuration
8163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8164//
8165//
8166//    // Example sending a request using the GetContainerServiceMetricDataRequest method.
8167//    req, resp := client.GetContainerServiceMetricDataRequest(params)
8168//
8169//    err := req.Send()
8170//    if err == nil { // resp is now filled
8171//        fmt.Println(resp)
8172//    }
8173//
8174// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
8175func (c *Lightsail) GetContainerServiceMetricDataRequest(input *GetContainerServiceMetricDataInput) (req *request.Request, output *GetContainerServiceMetricDataOutput) {
8176	op := &request.Operation{
8177		Name:       opGetContainerServiceMetricData,
8178		HTTPMethod: "POST",
8179		HTTPPath:   "/",
8180	}
8181
8182	if input == nil {
8183		input = &GetContainerServiceMetricDataInput{}
8184	}
8185
8186	output = &GetContainerServiceMetricDataOutput{}
8187	req = c.newRequest(op, input, output)
8188	return
8189}
8190
8191// GetContainerServiceMetricData API operation for Amazon Lightsail.
8192//
8193// Returns the data points of a specific metric of your Amazon Lightsail container
8194// service.
8195//
8196// Metrics report the utilization of your resources. Monitor and collect metric
8197// data regularly to maintain the reliability, availability, and performance
8198// of your resources.
8199//
8200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8201// with awserr.Error's Code and Message methods to get detailed information about
8202// the error.
8203//
8204// See the AWS API reference guide for Amazon Lightsail's
8205// API operation GetContainerServiceMetricData for usage and error information.
8206//
8207// Returned Error Types:
8208//   * ServiceException
8209//   A general service exception.
8210//
8211//   * InvalidInputException
8212//   Lightsail throws this exception when user input does not conform to the validation
8213//   rules of an input field.
8214//
8215//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8216//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8217//   view, or edit these resources.
8218//
8219//   * NotFoundException
8220//   Lightsail throws this exception when it cannot find a resource.
8221//
8222//   * AccessDeniedException
8223//   Lightsail throws this exception when the user cannot be authenticated or
8224//   uses invalid credentials to access a resource.
8225//
8226//   * UnauthenticatedException
8227//   Lightsail throws this exception when the user has not been authenticated.
8228//
8229// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
8230func (c *Lightsail) GetContainerServiceMetricData(input *GetContainerServiceMetricDataInput) (*GetContainerServiceMetricDataOutput, error) {
8231	req, out := c.GetContainerServiceMetricDataRequest(input)
8232	return out, req.Send()
8233}
8234
8235// GetContainerServiceMetricDataWithContext is the same as GetContainerServiceMetricData with the addition of
8236// the ability to pass a context and additional request options.
8237//
8238// See GetContainerServiceMetricData for details on how to use this API operation.
8239//
8240// The context must be non-nil and will be used for request cancellation. If
8241// the context is nil a panic will occur. In the future the SDK may create
8242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8243// for more information on using Contexts.
8244func (c *Lightsail) GetContainerServiceMetricDataWithContext(ctx aws.Context, input *GetContainerServiceMetricDataInput, opts ...request.Option) (*GetContainerServiceMetricDataOutput, error) {
8245	req, out := c.GetContainerServiceMetricDataRequest(input)
8246	req.SetContext(ctx)
8247	req.ApplyOptions(opts...)
8248	return out, req.Send()
8249}
8250
8251const opGetContainerServicePowers = "GetContainerServicePowers"
8252
8253// GetContainerServicePowersRequest generates a "aws/request.Request" representing the
8254// client's request for the GetContainerServicePowers operation. The "output" return
8255// value will be populated with the request's response once the request completes
8256// successfully.
8257//
8258// Use "Send" method on the returned Request to send the API call to the service.
8259// the "output" return value is not valid until after Send returns without error.
8260//
8261// See GetContainerServicePowers for more information on using the GetContainerServicePowers
8262// API call, and error handling.
8263//
8264// This method is useful when you want to inject custom logic or configuration
8265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8266//
8267//
8268//    // Example sending a request using the GetContainerServicePowersRequest method.
8269//    req, resp := client.GetContainerServicePowersRequest(params)
8270//
8271//    err := req.Send()
8272//    if err == nil { // resp is now filled
8273//        fmt.Println(resp)
8274//    }
8275//
8276// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
8277func (c *Lightsail) GetContainerServicePowersRequest(input *GetContainerServicePowersInput) (req *request.Request, output *GetContainerServicePowersOutput) {
8278	op := &request.Operation{
8279		Name:       opGetContainerServicePowers,
8280		HTTPMethod: "POST",
8281		HTTPPath:   "/",
8282	}
8283
8284	if input == nil {
8285		input = &GetContainerServicePowersInput{}
8286	}
8287
8288	output = &GetContainerServicePowersOutput{}
8289	req = c.newRequest(op, input, output)
8290	return
8291}
8292
8293// GetContainerServicePowers API operation for Amazon Lightsail.
8294//
8295// Returns the list of powers that can be specified for your Amazon Lightsail
8296// container services.
8297//
8298// The power specifies the amount of memory, the number of vCPUs, and the base
8299// price of the container service.
8300//
8301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8302// with awserr.Error's Code and Message methods to get detailed information about
8303// the error.
8304//
8305// See the AWS API reference guide for Amazon Lightsail's
8306// API operation GetContainerServicePowers for usage and error information.
8307//
8308// Returned Error Types:
8309//   * ServiceException
8310//   A general service exception.
8311//
8312//   * InvalidInputException
8313//   Lightsail throws this exception when user input does not conform to the validation
8314//   rules of an input field.
8315//
8316//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8317//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8318//   view, or edit these resources.
8319//
8320//   * NotFoundException
8321//   Lightsail throws this exception when it cannot find a resource.
8322//
8323//   * AccessDeniedException
8324//   Lightsail throws this exception when the user cannot be authenticated or
8325//   uses invalid credentials to access a resource.
8326//
8327//   * UnauthenticatedException
8328//   Lightsail throws this exception when the user has not been authenticated.
8329//
8330// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
8331func (c *Lightsail) GetContainerServicePowers(input *GetContainerServicePowersInput) (*GetContainerServicePowersOutput, error) {
8332	req, out := c.GetContainerServicePowersRequest(input)
8333	return out, req.Send()
8334}
8335
8336// GetContainerServicePowersWithContext is the same as GetContainerServicePowers with the addition of
8337// the ability to pass a context and additional request options.
8338//
8339// See GetContainerServicePowers for details on how to use this API operation.
8340//
8341// The context must be non-nil and will be used for request cancellation. If
8342// the context is nil a panic will occur. In the future the SDK may create
8343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8344// for more information on using Contexts.
8345func (c *Lightsail) GetContainerServicePowersWithContext(ctx aws.Context, input *GetContainerServicePowersInput, opts ...request.Option) (*GetContainerServicePowersOutput, error) {
8346	req, out := c.GetContainerServicePowersRequest(input)
8347	req.SetContext(ctx)
8348	req.ApplyOptions(opts...)
8349	return out, req.Send()
8350}
8351
8352const opGetContainerServices = "GetContainerServices"
8353
8354// GetContainerServicesRequest generates a "aws/request.Request" representing the
8355// client's request for the GetContainerServices operation. The "output" return
8356// value will be populated with the request's response once the request completes
8357// successfully.
8358//
8359// Use "Send" method on the returned Request to send the API call to the service.
8360// the "output" return value is not valid until after Send returns without error.
8361//
8362// See GetContainerServices for more information on using the GetContainerServices
8363// API call, and error handling.
8364//
8365// This method is useful when you want to inject custom logic or configuration
8366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8367//
8368//
8369//    // Example sending a request using the GetContainerServicesRequest method.
8370//    req, resp := client.GetContainerServicesRequest(params)
8371//
8372//    err := req.Send()
8373//    if err == nil { // resp is now filled
8374//        fmt.Println(resp)
8375//    }
8376//
8377// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
8378func (c *Lightsail) GetContainerServicesRequest(input *GetContainerServicesInput) (req *request.Request, output *GetContainerServicesOutput) {
8379	op := &request.Operation{
8380		Name:       opGetContainerServices,
8381		HTTPMethod: "POST",
8382		HTTPPath:   "/",
8383	}
8384
8385	if input == nil {
8386		input = &GetContainerServicesInput{}
8387	}
8388
8389	output = &GetContainerServicesOutput{}
8390	req = c.newRequest(op, input, output)
8391	return
8392}
8393
8394// GetContainerServices API operation for Amazon Lightsail.
8395//
8396// Returns information about one or more of your Amazon Lightsail container
8397// services.
8398//
8399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8400// with awserr.Error's Code and Message methods to get detailed information about
8401// the error.
8402//
8403// See the AWS API reference guide for Amazon Lightsail's
8404// API operation GetContainerServices for usage and error information.
8405//
8406// Returned Error Types:
8407//   * ServiceException
8408//   A general service exception.
8409//
8410//   * InvalidInputException
8411//   Lightsail throws this exception when user input does not conform to the validation
8412//   rules of an input field.
8413//
8414//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8415//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8416//   view, or edit these resources.
8417//
8418//   * NotFoundException
8419//   Lightsail throws this exception when it cannot find a resource.
8420//
8421//   * AccessDeniedException
8422//   Lightsail throws this exception when the user cannot be authenticated or
8423//   uses invalid credentials to access a resource.
8424//
8425//   * UnauthenticatedException
8426//   Lightsail throws this exception when the user has not been authenticated.
8427//
8428// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
8429func (c *Lightsail) GetContainerServices(input *GetContainerServicesInput) (*GetContainerServicesOutput, error) {
8430	req, out := c.GetContainerServicesRequest(input)
8431	return out, req.Send()
8432}
8433
8434// GetContainerServicesWithContext is the same as GetContainerServices with the addition of
8435// the ability to pass a context and additional request options.
8436//
8437// See GetContainerServices for details on how to use this API operation.
8438//
8439// The context must be non-nil and will be used for request cancellation. If
8440// the context is nil a panic will occur. In the future the SDK may create
8441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8442// for more information on using Contexts.
8443func (c *Lightsail) GetContainerServicesWithContext(ctx aws.Context, input *GetContainerServicesInput, opts ...request.Option) (*GetContainerServicesOutput, error) {
8444	req, out := c.GetContainerServicesRequest(input)
8445	req.SetContext(ctx)
8446	req.ApplyOptions(opts...)
8447	return out, req.Send()
8448}
8449
8450const opGetDisk = "GetDisk"
8451
8452// GetDiskRequest generates a "aws/request.Request" representing the
8453// client's request for the GetDisk operation. The "output" return
8454// value will be populated with the request's response once the request completes
8455// successfully.
8456//
8457// Use "Send" method on the returned Request to send the API call to the service.
8458// the "output" return value is not valid until after Send returns without error.
8459//
8460// See GetDisk for more information on using the GetDisk
8461// API call, and error handling.
8462//
8463// This method is useful when you want to inject custom logic or configuration
8464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8465//
8466//
8467//    // Example sending a request using the GetDiskRequest method.
8468//    req, resp := client.GetDiskRequest(params)
8469//
8470//    err := req.Send()
8471//    if err == nil { // resp is now filled
8472//        fmt.Println(resp)
8473//    }
8474//
8475// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
8476func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
8477	op := &request.Operation{
8478		Name:       opGetDisk,
8479		HTTPMethod: "POST",
8480		HTTPPath:   "/",
8481	}
8482
8483	if input == nil {
8484		input = &GetDiskInput{}
8485	}
8486
8487	output = &GetDiskOutput{}
8488	req = c.newRequest(op, input, output)
8489	return
8490}
8491
8492// GetDisk API operation for Amazon Lightsail.
8493//
8494// Returns information about a specific block storage disk.
8495//
8496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8497// with awserr.Error's Code and Message methods to get detailed information about
8498// the error.
8499//
8500// See the AWS API reference guide for Amazon Lightsail's
8501// API operation GetDisk for usage and error information.
8502//
8503// Returned Error Types:
8504//   * ServiceException
8505//   A general service exception.
8506//
8507//   * InvalidInputException
8508//   Lightsail throws this exception when user input does not conform to the validation
8509//   rules of an input field.
8510//
8511//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8512//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8513//   view, or edit these resources.
8514//
8515//   * NotFoundException
8516//   Lightsail throws this exception when it cannot find a resource.
8517//
8518//   * OperationFailureException
8519//   Lightsail throws this exception when an operation fails to execute.
8520//
8521//   * AccessDeniedException
8522//   Lightsail throws this exception when the user cannot be authenticated or
8523//   uses invalid credentials to access a resource.
8524//
8525//   * AccountSetupInProgressException
8526//   Lightsail throws this exception when an account is still in the setup in
8527//   progress state.
8528//
8529//   * UnauthenticatedException
8530//   Lightsail throws this exception when the user has not been authenticated.
8531//
8532// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
8533func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
8534	req, out := c.GetDiskRequest(input)
8535	return out, req.Send()
8536}
8537
8538// GetDiskWithContext is the same as GetDisk with the addition of
8539// the ability to pass a context and additional request options.
8540//
8541// See GetDisk for details on how to use this API operation.
8542//
8543// The context must be non-nil and will be used for request cancellation. If
8544// the context is nil a panic will occur. In the future the SDK may create
8545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8546// for more information on using Contexts.
8547func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
8548	req, out := c.GetDiskRequest(input)
8549	req.SetContext(ctx)
8550	req.ApplyOptions(opts...)
8551	return out, req.Send()
8552}
8553
8554const opGetDiskSnapshot = "GetDiskSnapshot"
8555
8556// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
8557// client's request for the GetDiskSnapshot operation. The "output" return
8558// value will be populated with the request's response once the request completes
8559// successfully.
8560//
8561// Use "Send" method on the returned Request to send the API call to the service.
8562// the "output" return value is not valid until after Send returns without error.
8563//
8564// See GetDiskSnapshot for more information on using the GetDiskSnapshot
8565// API call, and error handling.
8566//
8567// This method is useful when you want to inject custom logic or configuration
8568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8569//
8570//
8571//    // Example sending a request using the GetDiskSnapshotRequest method.
8572//    req, resp := client.GetDiskSnapshotRequest(params)
8573//
8574//    err := req.Send()
8575//    if err == nil { // resp is now filled
8576//        fmt.Println(resp)
8577//    }
8578//
8579// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
8580func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
8581	op := &request.Operation{
8582		Name:       opGetDiskSnapshot,
8583		HTTPMethod: "POST",
8584		HTTPPath:   "/",
8585	}
8586
8587	if input == nil {
8588		input = &GetDiskSnapshotInput{}
8589	}
8590
8591	output = &GetDiskSnapshotOutput{}
8592	req = c.newRequest(op, input, output)
8593	return
8594}
8595
8596// GetDiskSnapshot API operation for Amazon Lightsail.
8597//
8598// Returns information about a specific block storage disk snapshot.
8599//
8600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8601// with awserr.Error's Code and Message methods to get detailed information about
8602// the error.
8603//
8604// See the AWS API reference guide for Amazon Lightsail's
8605// API operation GetDiskSnapshot for usage and error information.
8606//
8607// Returned Error Types:
8608//   * ServiceException
8609//   A general service exception.
8610//
8611//   * InvalidInputException
8612//   Lightsail throws this exception when user input does not conform to the validation
8613//   rules of an input field.
8614//
8615//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8616//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8617//   view, or edit these resources.
8618//
8619//   * NotFoundException
8620//   Lightsail throws this exception when it cannot find a resource.
8621//
8622//   * OperationFailureException
8623//   Lightsail throws this exception when an operation fails to execute.
8624//
8625//   * AccessDeniedException
8626//   Lightsail throws this exception when the user cannot be authenticated or
8627//   uses invalid credentials to access a resource.
8628//
8629//   * AccountSetupInProgressException
8630//   Lightsail throws this exception when an account is still in the setup in
8631//   progress state.
8632//
8633//   * UnauthenticatedException
8634//   Lightsail throws this exception when the user has not been authenticated.
8635//
8636// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
8637func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
8638	req, out := c.GetDiskSnapshotRequest(input)
8639	return out, req.Send()
8640}
8641
8642// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
8643// the ability to pass a context and additional request options.
8644//
8645// See GetDiskSnapshot for details on how to use this API operation.
8646//
8647// The context must be non-nil and will be used for request cancellation. If
8648// the context is nil a panic will occur. In the future the SDK may create
8649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8650// for more information on using Contexts.
8651func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
8652	req, out := c.GetDiskSnapshotRequest(input)
8653	req.SetContext(ctx)
8654	req.ApplyOptions(opts...)
8655	return out, req.Send()
8656}
8657
8658const opGetDiskSnapshots = "GetDiskSnapshots"
8659
8660// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
8661// client's request for the GetDiskSnapshots operation. The "output" return
8662// value will be populated with the request's response once the request completes
8663// successfully.
8664//
8665// Use "Send" method on the returned Request to send the API call to the service.
8666// the "output" return value is not valid until after Send returns without error.
8667//
8668// See GetDiskSnapshots for more information on using the GetDiskSnapshots
8669// API call, and error handling.
8670//
8671// This method is useful when you want to inject custom logic or configuration
8672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8673//
8674//
8675//    // Example sending a request using the GetDiskSnapshotsRequest method.
8676//    req, resp := client.GetDiskSnapshotsRequest(params)
8677//
8678//    err := req.Send()
8679//    if err == nil { // resp is now filled
8680//        fmt.Println(resp)
8681//    }
8682//
8683// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
8684func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
8685	op := &request.Operation{
8686		Name:       opGetDiskSnapshots,
8687		HTTPMethod: "POST",
8688		HTTPPath:   "/",
8689	}
8690
8691	if input == nil {
8692		input = &GetDiskSnapshotsInput{}
8693	}
8694
8695	output = &GetDiskSnapshotsOutput{}
8696	req = c.newRequest(op, input, output)
8697	return
8698}
8699
8700// GetDiskSnapshots API operation for Amazon Lightsail.
8701//
8702// Returns information about all block storage disk snapshots in your AWS account
8703// and region.
8704//
8705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8706// with awserr.Error's Code and Message methods to get detailed information about
8707// the error.
8708//
8709// See the AWS API reference guide for Amazon Lightsail's
8710// API operation GetDiskSnapshots for usage and error information.
8711//
8712// Returned Error Types:
8713//   * ServiceException
8714//   A general service exception.
8715//
8716//   * InvalidInputException
8717//   Lightsail throws this exception when user input does not conform to the validation
8718//   rules of an input field.
8719//
8720//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8721//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8722//   view, or edit these resources.
8723//
8724//   * NotFoundException
8725//   Lightsail throws this exception when it cannot find a resource.
8726//
8727//   * OperationFailureException
8728//   Lightsail throws this exception when an operation fails to execute.
8729//
8730//   * AccessDeniedException
8731//   Lightsail throws this exception when the user cannot be authenticated or
8732//   uses invalid credentials to access a resource.
8733//
8734//   * AccountSetupInProgressException
8735//   Lightsail throws this exception when an account is still in the setup in
8736//   progress state.
8737//
8738//   * UnauthenticatedException
8739//   Lightsail throws this exception when the user has not been authenticated.
8740//
8741// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
8742func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
8743	req, out := c.GetDiskSnapshotsRequest(input)
8744	return out, req.Send()
8745}
8746
8747// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
8748// the ability to pass a context and additional request options.
8749//
8750// See GetDiskSnapshots for details on how to use this API operation.
8751//
8752// The context must be non-nil and will be used for request cancellation. If
8753// the context is nil a panic will occur. In the future the SDK may create
8754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8755// for more information on using Contexts.
8756func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
8757	req, out := c.GetDiskSnapshotsRequest(input)
8758	req.SetContext(ctx)
8759	req.ApplyOptions(opts...)
8760	return out, req.Send()
8761}
8762
8763const opGetDisks = "GetDisks"
8764
8765// GetDisksRequest generates a "aws/request.Request" representing the
8766// client's request for the GetDisks operation. The "output" return
8767// value will be populated with the request's response once the request completes
8768// successfully.
8769//
8770// Use "Send" method on the returned Request to send the API call to the service.
8771// the "output" return value is not valid until after Send returns without error.
8772//
8773// See GetDisks for more information on using the GetDisks
8774// API call, and error handling.
8775//
8776// This method is useful when you want to inject custom logic or configuration
8777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8778//
8779//
8780//    // Example sending a request using the GetDisksRequest method.
8781//    req, resp := client.GetDisksRequest(params)
8782//
8783//    err := req.Send()
8784//    if err == nil { // resp is now filled
8785//        fmt.Println(resp)
8786//    }
8787//
8788// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
8789func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
8790	op := &request.Operation{
8791		Name:       opGetDisks,
8792		HTTPMethod: "POST",
8793		HTTPPath:   "/",
8794	}
8795
8796	if input == nil {
8797		input = &GetDisksInput{}
8798	}
8799
8800	output = &GetDisksOutput{}
8801	req = c.newRequest(op, input, output)
8802	return
8803}
8804
8805// GetDisks API operation for Amazon Lightsail.
8806//
8807// Returns information about all block storage disks in your AWS account and
8808// region.
8809//
8810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8811// with awserr.Error's Code and Message methods to get detailed information about
8812// the error.
8813//
8814// See the AWS API reference guide for Amazon Lightsail's
8815// API operation GetDisks for usage and error information.
8816//
8817// Returned Error Types:
8818//   * ServiceException
8819//   A general service exception.
8820//
8821//   * InvalidInputException
8822//   Lightsail throws this exception when user input does not conform to the validation
8823//   rules of an input field.
8824//
8825//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8826//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8827//   view, or edit these resources.
8828//
8829//   * NotFoundException
8830//   Lightsail throws this exception when it cannot find a resource.
8831//
8832//   * OperationFailureException
8833//   Lightsail throws this exception when an operation fails to execute.
8834//
8835//   * AccessDeniedException
8836//   Lightsail throws this exception when the user cannot be authenticated or
8837//   uses invalid credentials to access a resource.
8838//
8839//   * AccountSetupInProgressException
8840//   Lightsail throws this exception when an account is still in the setup in
8841//   progress state.
8842//
8843//   * UnauthenticatedException
8844//   Lightsail throws this exception when the user has not been authenticated.
8845//
8846// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
8847func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
8848	req, out := c.GetDisksRequest(input)
8849	return out, req.Send()
8850}
8851
8852// GetDisksWithContext is the same as GetDisks with the addition of
8853// the ability to pass a context and additional request options.
8854//
8855// See GetDisks for details on how to use this API operation.
8856//
8857// The context must be non-nil and will be used for request cancellation. If
8858// the context is nil a panic will occur. In the future the SDK may create
8859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8860// for more information on using Contexts.
8861func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
8862	req, out := c.GetDisksRequest(input)
8863	req.SetContext(ctx)
8864	req.ApplyOptions(opts...)
8865	return out, req.Send()
8866}
8867
8868const opGetDistributionBundles = "GetDistributionBundles"
8869
8870// GetDistributionBundlesRequest generates a "aws/request.Request" representing the
8871// client's request for the GetDistributionBundles operation. The "output" return
8872// value will be populated with the request's response once the request completes
8873// successfully.
8874//
8875// Use "Send" method on the returned Request to send the API call to the service.
8876// the "output" return value is not valid until after Send returns without error.
8877//
8878// See GetDistributionBundles for more information on using the GetDistributionBundles
8879// API call, and error handling.
8880//
8881// This method is useful when you want to inject custom logic or configuration
8882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8883//
8884//
8885//    // Example sending a request using the GetDistributionBundlesRequest method.
8886//    req, resp := client.GetDistributionBundlesRequest(params)
8887//
8888//    err := req.Send()
8889//    if err == nil { // resp is now filled
8890//        fmt.Println(resp)
8891//    }
8892//
8893// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
8894func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) {
8895	op := &request.Operation{
8896		Name:       opGetDistributionBundles,
8897		HTTPMethod: "POST",
8898		HTTPPath:   "/",
8899	}
8900
8901	if input == nil {
8902		input = &GetDistributionBundlesInput{}
8903	}
8904
8905	output = &GetDistributionBundlesOutput{}
8906	req = c.newRequest(op, input, output)
8907	return
8908}
8909
8910// GetDistributionBundles API operation for Amazon Lightsail.
8911//
8912// Returns the bundles that can be applied to your Amazon Lightsail content
8913// delivery network (CDN) distributions.
8914//
8915// A distribution bundle specifies the monthly network transfer quota and monthly
8916// cost of your dsitribution.
8917//
8918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8919// with awserr.Error's Code and Message methods to get detailed information about
8920// the error.
8921//
8922// See the AWS API reference guide for Amazon Lightsail's
8923// API operation GetDistributionBundles for usage and error information.
8924//
8925// Returned Error Types:
8926//   * ServiceException
8927//   A general service exception.
8928//
8929//   * InvalidInputException
8930//   Lightsail throws this exception when user input does not conform to the validation
8931//   rules of an input field.
8932//
8933//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8934//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8935//   view, or edit these resources.
8936//
8937//   * NotFoundException
8938//   Lightsail throws this exception when it cannot find a resource.
8939//
8940//   * OperationFailureException
8941//   Lightsail throws this exception when an operation fails to execute.
8942//
8943//   * AccessDeniedException
8944//   Lightsail throws this exception when the user cannot be authenticated or
8945//   uses invalid credentials to access a resource.
8946//
8947//   * UnauthenticatedException
8948//   Lightsail throws this exception when the user has not been authenticated.
8949//
8950// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
8951func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) {
8952	req, out := c.GetDistributionBundlesRequest(input)
8953	return out, req.Send()
8954}
8955
8956// GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of
8957// the ability to pass a context and additional request options.
8958//
8959// See GetDistributionBundles for details on how to use this API operation.
8960//
8961// The context must be non-nil and will be used for request cancellation. If
8962// the context is nil a panic will occur. In the future the SDK may create
8963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8964// for more information on using Contexts.
8965func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) {
8966	req, out := c.GetDistributionBundlesRequest(input)
8967	req.SetContext(ctx)
8968	req.ApplyOptions(opts...)
8969	return out, req.Send()
8970}
8971
8972const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset"
8973
8974// GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the
8975// client's request for the GetDistributionLatestCacheReset operation. The "output" return
8976// value will be populated with the request's response once the request completes
8977// successfully.
8978//
8979// Use "Send" method on the returned Request to send the API call to the service.
8980// the "output" return value is not valid until after Send returns without error.
8981//
8982// See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset
8983// API call, and error handling.
8984//
8985// This method is useful when you want to inject custom logic or configuration
8986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8987//
8988//
8989//    // Example sending a request using the GetDistributionLatestCacheResetRequest method.
8990//    req, resp := client.GetDistributionLatestCacheResetRequest(params)
8991//
8992//    err := req.Send()
8993//    if err == nil { // resp is now filled
8994//        fmt.Println(resp)
8995//    }
8996//
8997// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
8998func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) {
8999	op := &request.Operation{
9000		Name:       opGetDistributionLatestCacheReset,
9001		HTTPMethod: "POST",
9002		HTTPPath:   "/",
9003	}
9004
9005	if input == nil {
9006		input = &GetDistributionLatestCacheResetInput{}
9007	}
9008
9009	output = &GetDistributionLatestCacheResetOutput{}
9010	req = c.newRequest(op, input, output)
9011	return
9012}
9013
9014// GetDistributionLatestCacheReset API operation for Amazon Lightsail.
9015//
9016// Returns the timestamp and status of the last cache reset of a specific Amazon
9017// Lightsail content delivery network (CDN) distribution.
9018//
9019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9020// with awserr.Error's Code and Message methods to get detailed information about
9021// the error.
9022//
9023// See the AWS API reference guide for Amazon Lightsail's
9024// API operation GetDistributionLatestCacheReset for usage and error information.
9025//
9026// Returned Error Types:
9027//   * ServiceException
9028//   A general service exception.
9029//
9030//   * InvalidInputException
9031//   Lightsail throws this exception when user input does not conform to the validation
9032//   rules of an input field.
9033//
9034//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9035//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9036//   view, or edit these resources.
9037//
9038//   * NotFoundException
9039//   Lightsail throws this exception when it cannot find a resource.
9040//
9041//   * OperationFailureException
9042//   Lightsail throws this exception when an operation fails to execute.
9043//
9044//   * AccessDeniedException
9045//   Lightsail throws this exception when the user cannot be authenticated or
9046//   uses invalid credentials to access a resource.
9047//
9048//   * UnauthenticatedException
9049//   Lightsail throws this exception when the user has not been authenticated.
9050//
9051// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
9052func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) {
9053	req, out := c.GetDistributionLatestCacheResetRequest(input)
9054	return out, req.Send()
9055}
9056
9057// GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of
9058// the ability to pass a context and additional request options.
9059//
9060// See GetDistributionLatestCacheReset for details on how to use this API operation.
9061//
9062// The context must be non-nil and will be used for request cancellation. If
9063// the context is nil a panic will occur. In the future the SDK may create
9064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9065// for more information on using Contexts.
9066func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) {
9067	req, out := c.GetDistributionLatestCacheResetRequest(input)
9068	req.SetContext(ctx)
9069	req.ApplyOptions(opts...)
9070	return out, req.Send()
9071}
9072
9073const opGetDistributionMetricData = "GetDistributionMetricData"
9074
9075// GetDistributionMetricDataRequest generates a "aws/request.Request" representing the
9076// client's request for the GetDistributionMetricData operation. The "output" return
9077// value will be populated with the request's response once the request completes
9078// successfully.
9079//
9080// Use "Send" method on the returned Request to send the API call to the service.
9081// the "output" return value is not valid until after Send returns without error.
9082//
9083// See GetDistributionMetricData for more information on using the GetDistributionMetricData
9084// API call, and error handling.
9085//
9086// This method is useful when you want to inject custom logic or configuration
9087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9088//
9089//
9090//    // Example sending a request using the GetDistributionMetricDataRequest method.
9091//    req, resp := client.GetDistributionMetricDataRequest(params)
9092//
9093//    err := req.Send()
9094//    if err == nil { // resp is now filled
9095//        fmt.Println(resp)
9096//    }
9097//
9098// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
9099func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) {
9100	op := &request.Operation{
9101		Name:       opGetDistributionMetricData,
9102		HTTPMethod: "POST",
9103		HTTPPath:   "/",
9104	}
9105
9106	if input == nil {
9107		input = &GetDistributionMetricDataInput{}
9108	}
9109
9110	output = &GetDistributionMetricDataOutput{}
9111	req = c.newRequest(op, input, output)
9112	return
9113}
9114
9115// GetDistributionMetricData API operation for Amazon Lightsail.
9116//
9117// Returns the data points of a specific metric for an Amazon Lightsail content
9118// delivery network (CDN) distribution.
9119//
9120// Metrics report the utilization of your resources, and the error counts generated
9121// by them. Monitor and collect metric data regularly to maintain the reliability,
9122// availability, and performance of your resources.
9123//
9124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9125// with awserr.Error's Code and Message methods to get detailed information about
9126// the error.
9127//
9128// See the AWS API reference guide for Amazon Lightsail's
9129// API operation GetDistributionMetricData for usage and error information.
9130//
9131// Returned Error Types:
9132//   * ServiceException
9133//   A general service exception.
9134//
9135//   * InvalidInputException
9136//   Lightsail throws this exception when user input does not conform to the validation
9137//   rules of an input field.
9138//
9139//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9140//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9141//   view, or edit these resources.
9142//
9143//   * NotFoundException
9144//   Lightsail throws this exception when it cannot find a resource.
9145//
9146//   * OperationFailureException
9147//   Lightsail throws this exception when an operation fails to execute.
9148//
9149//   * AccessDeniedException
9150//   Lightsail throws this exception when the user cannot be authenticated or
9151//   uses invalid credentials to access a resource.
9152//
9153//   * UnauthenticatedException
9154//   Lightsail throws this exception when the user has not been authenticated.
9155//
9156// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
9157func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) {
9158	req, out := c.GetDistributionMetricDataRequest(input)
9159	return out, req.Send()
9160}
9161
9162// GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of
9163// the ability to pass a context and additional request options.
9164//
9165// See GetDistributionMetricData for details on how to use this API operation.
9166//
9167// The context must be non-nil and will be used for request cancellation. If
9168// the context is nil a panic will occur. In the future the SDK may create
9169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9170// for more information on using Contexts.
9171func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) {
9172	req, out := c.GetDistributionMetricDataRequest(input)
9173	req.SetContext(ctx)
9174	req.ApplyOptions(opts...)
9175	return out, req.Send()
9176}
9177
9178const opGetDistributions = "GetDistributions"
9179
9180// GetDistributionsRequest generates a "aws/request.Request" representing the
9181// client's request for the GetDistributions operation. The "output" return
9182// value will be populated with the request's response once the request completes
9183// successfully.
9184//
9185// Use "Send" method on the returned Request to send the API call to the service.
9186// the "output" return value is not valid until after Send returns without error.
9187//
9188// See GetDistributions for more information on using the GetDistributions
9189// API call, and error handling.
9190//
9191// This method is useful when you want to inject custom logic or configuration
9192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9193//
9194//
9195//    // Example sending a request using the GetDistributionsRequest method.
9196//    req, resp := client.GetDistributionsRequest(params)
9197//
9198//    err := req.Send()
9199//    if err == nil { // resp is now filled
9200//        fmt.Println(resp)
9201//    }
9202//
9203// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
9204func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) {
9205	op := &request.Operation{
9206		Name:       opGetDistributions,
9207		HTTPMethod: "POST",
9208		HTTPPath:   "/",
9209	}
9210
9211	if input == nil {
9212		input = &GetDistributionsInput{}
9213	}
9214
9215	output = &GetDistributionsOutput{}
9216	req = c.newRequest(op, input, output)
9217	return
9218}
9219
9220// GetDistributions API operation for Amazon Lightsail.
9221//
9222// Returns information about one or more of your Amazon Lightsail content delivery
9223// network (CDN) distributions.
9224//
9225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9226// with awserr.Error's Code and Message methods to get detailed information about
9227// the error.
9228//
9229// See the AWS API reference guide for Amazon Lightsail's
9230// API operation GetDistributions for usage and error information.
9231//
9232// Returned Error Types:
9233//   * ServiceException
9234//   A general service exception.
9235//
9236//   * InvalidInputException
9237//   Lightsail throws this exception when user input does not conform to the validation
9238//   rules of an input field.
9239//
9240//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9241//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9242//   view, or edit these resources.
9243//
9244//   * NotFoundException
9245//   Lightsail throws this exception when it cannot find a resource.
9246//
9247//   * OperationFailureException
9248//   Lightsail throws this exception when an operation fails to execute.
9249//
9250//   * AccessDeniedException
9251//   Lightsail throws this exception when the user cannot be authenticated or
9252//   uses invalid credentials to access a resource.
9253//
9254//   * UnauthenticatedException
9255//   Lightsail throws this exception when the user has not been authenticated.
9256//
9257// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
9258func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) {
9259	req, out := c.GetDistributionsRequest(input)
9260	return out, req.Send()
9261}
9262
9263// GetDistributionsWithContext is the same as GetDistributions with the addition of
9264// the ability to pass a context and additional request options.
9265//
9266// See GetDistributions for details on how to use this API operation.
9267//
9268// The context must be non-nil and will be used for request cancellation. If
9269// the context is nil a panic will occur. In the future the SDK may create
9270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9271// for more information on using Contexts.
9272func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) {
9273	req, out := c.GetDistributionsRequest(input)
9274	req.SetContext(ctx)
9275	req.ApplyOptions(opts...)
9276	return out, req.Send()
9277}
9278
9279const opGetDomain = "GetDomain"
9280
9281// GetDomainRequest generates a "aws/request.Request" representing the
9282// client's request for the GetDomain operation. The "output" return
9283// value will be populated with the request's response once the request completes
9284// successfully.
9285//
9286// Use "Send" method on the returned Request to send the API call to the service.
9287// the "output" return value is not valid until after Send returns without error.
9288//
9289// See GetDomain for more information on using the GetDomain
9290// API call, and error handling.
9291//
9292// This method is useful when you want to inject custom logic or configuration
9293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9294//
9295//
9296//    // Example sending a request using the GetDomainRequest method.
9297//    req, resp := client.GetDomainRequest(params)
9298//
9299//    err := req.Send()
9300//    if err == nil { // resp is now filled
9301//        fmt.Println(resp)
9302//    }
9303//
9304// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
9305func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
9306	op := &request.Operation{
9307		Name:       opGetDomain,
9308		HTTPMethod: "POST",
9309		HTTPPath:   "/",
9310	}
9311
9312	if input == nil {
9313		input = &GetDomainInput{}
9314	}
9315
9316	output = &GetDomainOutput{}
9317	req = c.newRequest(op, input, output)
9318	return
9319}
9320
9321// GetDomain API operation for Amazon Lightsail.
9322//
9323// Returns information about a specific domain recordset.
9324//
9325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9326// with awserr.Error's Code and Message methods to get detailed information about
9327// the error.
9328//
9329// See the AWS API reference guide for Amazon Lightsail's
9330// API operation GetDomain for usage and error information.
9331//
9332// Returned Error Types:
9333//   * ServiceException
9334//   A general service exception.
9335//
9336//   * InvalidInputException
9337//   Lightsail throws this exception when user input does not conform to the validation
9338//   rules of an input field.
9339//
9340//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9341//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9342//   view, or edit these resources.
9343//
9344//   * NotFoundException
9345//   Lightsail throws this exception when it cannot find a resource.
9346//
9347//   * OperationFailureException
9348//   Lightsail throws this exception when an operation fails to execute.
9349//
9350//   * AccessDeniedException
9351//   Lightsail throws this exception when the user cannot be authenticated or
9352//   uses invalid credentials to access a resource.
9353//
9354//   * AccountSetupInProgressException
9355//   Lightsail throws this exception when an account is still in the setup in
9356//   progress state.
9357//
9358//   * UnauthenticatedException
9359//   Lightsail throws this exception when the user has not been authenticated.
9360//
9361// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
9362func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
9363	req, out := c.GetDomainRequest(input)
9364	return out, req.Send()
9365}
9366
9367// GetDomainWithContext is the same as GetDomain with the addition of
9368// the ability to pass a context and additional request options.
9369//
9370// See GetDomain for details on how to use this API operation.
9371//
9372// The context must be non-nil and will be used for request cancellation. If
9373// the context is nil a panic will occur. In the future the SDK may create
9374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9375// for more information on using Contexts.
9376func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
9377	req, out := c.GetDomainRequest(input)
9378	req.SetContext(ctx)
9379	req.ApplyOptions(opts...)
9380	return out, req.Send()
9381}
9382
9383const opGetDomains = "GetDomains"
9384
9385// GetDomainsRequest generates a "aws/request.Request" representing the
9386// client's request for the GetDomains operation. The "output" return
9387// value will be populated with the request's response once the request completes
9388// successfully.
9389//
9390// Use "Send" method on the returned Request to send the API call to the service.
9391// the "output" return value is not valid until after Send returns without error.
9392//
9393// See GetDomains for more information on using the GetDomains
9394// API call, and error handling.
9395//
9396// This method is useful when you want to inject custom logic or configuration
9397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9398//
9399//
9400//    // Example sending a request using the GetDomainsRequest method.
9401//    req, resp := client.GetDomainsRequest(params)
9402//
9403//    err := req.Send()
9404//    if err == nil { // resp is now filled
9405//        fmt.Println(resp)
9406//    }
9407//
9408// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
9409func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
9410	op := &request.Operation{
9411		Name:       opGetDomains,
9412		HTTPMethod: "POST",
9413		HTTPPath:   "/",
9414	}
9415
9416	if input == nil {
9417		input = &GetDomainsInput{}
9418	}
9419
9420	output = &GetDomainsOutput{}
9421	req = c.newRequest(op, input, output)
9422	return
9423}
9424
9425// GetDomains API operation for Amazon Lightsail.
9426//
9427// Returns a list of all domains in the user's account.
9428//
9429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9430// with awserr.Error's Code and Message methods to get detailed information about
9431// the error.
9432//
9433// See the AWS API reference guide for Amazon Lightsail's
9434// API operation GetDomains for usage and error information.
9435//
9436// Returned Error Types:
9437//   * ServiceException
9438//   A general service exception.
9439//
9440//   * InvalidInputException
9441//   Lightsail throws this exception when user input does not conform to the validation
9442//   rules of an input field.
9443//
9444//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9445//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9446//   view, or edit these resources.
9447//
9448//   * NotFoundException
9449//   Lightsail throws this exception when it cannot find a resource.
9450//
9451//   * OperationFailureException
9452//   Lightsail throws this exception when an operation fails to execute.
9453//
9454//   * AccessDeniedException
9455//   Lightsail throws this exception when the user cannot be authenticated or
9456//   uses invalid credentials to access a resource.
9457//
9458//   * AccountSetupInProgressException
9459//   Lightsail throws this exception when an account is still in the setup in
9460//   progress state.
9461//
9462//   * UnauthenticatedException
9463//   Lightsail throws this exception when the user has not been authenticated.
9464//
9465// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
9466func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
9467	req, out := c.GetDomainsRequest(input)
9468	return out, req.Send()
9469}
9470
9471// GetDomainsWithContext is the same as GetDomains with the addition of
9472// the ability to pass a context and additional request options.
9473//
9474// See GetDomains for details on how to use this API operation.
9475//
9476// The context must be non-nil and will be used for request cancellation. If
9477// the context is nil a panic will occur. In the future the SDK may create
9478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9479// for more information on using Contexts.
9480func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
9481	req, out := c.GetDomainsRequest(input)
9482	req.SetContext(ctx)
9483	req.ApplyOptions(opts...)
9484	return out, req.Send()
9485}
9486
9487const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
9488
9489// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
9490// client's request for the GetExportSnapshotRecords operation. The "output" return
9491// value will be populated with the request's response once the request completes
9492// successfully.
9493//
9494// Use "Send" method on the returned Request to send the API call to the service.
9495// the "output" return value is not valid until after Send returns without error.
9496//
9497// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
9498// API call, and error handling.
9499//
9500// This method is useful when you want to inject custom logic or configuration
9501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9502//
9503//
9504//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
9505//    req, resp := client.GetExportSnapshotRecordsRequest(params)
9506//
9507//    err := req.Send()
9508//    if err == nil { // resp is now filled
9509//        fmt.Println(resp)
9510//    }
9511//
9512// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
9513func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
9514	op := &request.Operation{
9515		Name:       opGetExportSnapshotRecords,
9516		HTTPMethod: "POST",
9517		HTTPPath:   "/",
9518	}
9519
9520	if input == nil {
9521		input = &GetExportSnapshotRecordsInput{}
9522	}
9523
9524	output = &GetExportSnapshotRecordsOutput{}
9525	req = c.newRequest(op, input, output)
9526	return
9527}
9528
9529// GetExportSnapshotRecords API operation for Amazon Lightsail.
9530//
9531// Returns all export snapshot records created as a result of the export snapshot
9532// operation.
9533//
9534// An export snapshot record can be used to create a new Amazon EC2 instance
9535// and its related resources with the CreateCloudFormationStack action.
9536//
9537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9538// with awserr.Error's Code and Message methods to get detailed information about
9539// the error.
9540//
9541// See the AWS API reference guide for Amazon Lightsail's
9542// API operation GetExportSnapshotRecords for usage and error information.
9543//
9544// Returned Error Types:
9545//   * ServiceException
9546//   A general service exception.
9547//
9548//   * InvalidInputException
9549//   Lightsail throws this exception when user input does not conform to the validation
9550//   rules of an input field.
9551//
9552//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9553//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9554//   view, or edit these resources.
9555//
9556//   * NotFoundException
9557//   Lightsail throws this exception when it cannot find a resource.
9558//
9559//   * OperationFailureException
9560//   Lightsail throws this exception when an operation fails to execute.
9561//
9562//   * AccessDeniedException
9563//   Lightsail throws this exception when the user cannot be authenticated or
9564//   uses invalid credentials to access a resource.
9565//
9566//   * AccountSetupInProgressException
9567//   Lightsail throws this exception when an account is still in the setup in
9568//   progress state.
9569//
9570//   * UnauthenticatedException
9571//   Lightsail throws this exception when the user has not been authenticated.
9572//
9573// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
9574func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
9575	req, out := c.GetExportSnapshotRecordsRequest(input)
9576	return out, req.Send()
9577}
9578
9579// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
9580// the ability to pass a context and additional request options.
9581//
9582// See GetExportSnapshotRecords for details on how to use this API operation.
9583//
9584// The context must be non-nil and will be used for request cancellation. If
9585// the context is nil a panic will occur. In the future the SDK may create
9586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9587// for more information on using Contexts.
9588func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
9589	req, out := c.GetExportSnapshotRecordsRequest(input)
9590	req.SetContext(ctx)
9591	req.ApplyOptions(opts...)
9592	return out, req.Send()
9593}
9594
9595const opGetInstance = "GetInstance"
9596
9597// GetInstanceRequest generates a "aws/request.Request" representing the
9598// client's request for the GetInstance operation. The "output" return
9599// value will be populated with the request's response once the request completes
9600// successfully.
9601//
9602// Use "Send" method on the returned Request to send the API call to the service.
9603// the "output" return value is not valid until after Send returns without error.
9604//
9605// See GetInstance for more information on using the GetInstance
9606// API call, and error handling.
9607//
9608// This method is useful when you want to inject custom logic or configuration
9609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9610//
9611//
9612//    // Example sending a request using the GetInstanceRequest method.
9613//    req, resp := client.GetInstanceRequest(params)
9614//
9615//    err := req.Send()
9616//    if err == nil { // resp is now filled
9617//        fmt.Println(resp)
9618//    }
9619//
9620// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
9621func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
9622	op := &request.Operation{
9623		Name:       opGetInstance,
9624		HTTPMethod: "POST",
9625		HTTPPath:   "/",
9626	}
9627
9628	if input == nil {
9629		input = &GetInstanceInput{}
9630	}
9631
9632	output = &GetInstanceOutput{}
9633	req = c.newRequest(op, input, output)
9634	return
9635}
9636
9637// GetInstance API operation for Amazon Lightsail.
9638//
9639// Returns information about a specific Amazon Lightsail instance, which is
9640// a virtual private server.
9641//
9642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9643// with awserr.Error's Code and Message methods to get detailed information about
9644// the error.
9645//
9646// See the AWS API reference guide for Amazon Lightsail's
9647// API operation GetInstance for usage and error information.
9648//
9649// Returned Error Types:
9650//   * ServiceException
9651//   A general service exception.
9652//
9653//   * InvalidInputException
9654//   Lightsail throws this exception when user input does not conform to the validation
9655//   rules of an input field.
9656//
9657//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9658//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9659//   view, or edit these resources.
9660//
9661//   * NotFoundException
9662//   Lightsail throws this exception when it cannot find a resource.
9663//
9664//   * OperationFailureException
9665//   Lightsail throws this exception when an operation fails to execute.
9666//
9667//   * AccessDeniedException
9668//   Lightsail throws this exception when the user cannot be authenticated or
9669//   uses invalid credentials to access a resource.
9670//
9671//   * AccountSetupInProgressException
9672//   Lightsail throws this exception when an account is still in the setup in
9673//   progress state.
9674//
9675//   * UnauthenticatedException
9676//   Lightsail throws this exception when the user has not been authenticated.
9677//
9678// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
9679func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
9680	req, out := c.GetInstanceRequest(input)
9681	return out, req.Send()
9682}
9683
9684// GetInstanceWithContext is the same as GetInstance with the addition of
9685// the ability to pass a context and additional request options.
9686//
9687// See GetInstance for details on how to use this API operation.
9688//
9689// The context must be non-nil and will be used for request cancellation. If
9690// the context is nil a panic will occur. In the future the SDK may create
9691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9692// for more information on using Contexts.
9693func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
9694	req, out := c.GetInstanceRequest(input)
9695	req.SetContext(ctx)
9696	req.ApplyOptions(opts...)
9697	return out, req.Send()
9698}
9699
9700const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
9701
9702// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
9703// client's request for the GetInstanceAccessDetails operation. The "output" return
9704// value will be populated with the request's response once the request completes
9705// successfully.
9706//
9707// Use "Send" method on the returned Request to send the API call to the service.
9708// the "output" return value is not valid until after Send returns without error.
9709//
9710// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
9711// API call, and error handling.
9712//
9713// This method is useful when you want to inject custom logic or configuration
9714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9715//
9716//
9717//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
9718//    req, resp := client.GetInstanceAccessDetailsRequest(params)
9719//
9720//    err := req.Send()
9721//    if err == nil { // resp is now filled
9722//        fmt.Println(resp)
9723//    }
9724//
9725// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
9726func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
9727	op := &request.Operation{
9728		Name:       opGetInstanceAccessDetails,
9729		HTTPMethod: "POST",
9730		HTTPPath:   "/",
9731	}
9732
9733	if input == nil {
9734		input = &GetInstanceAccessDetailsInput{}
9735	}
9736
9737	output = &GetInstanceAccessDetailsOutput{}
9738	req = c.newRequest(op, input, output)
9739	return
9740}
9741
9742// GetInstanceAccessDetails API operation for Amazon Lightsail.
9743//
9744// Returns temporary SSH keys you can use to connect to a specific virtual private
9745// server, or instance.
9746//
9747// The get instance access details operation supports tag-based access control
9748// via resource tags applied to the resource identified by instance name. For
9749// more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
9750//
9751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9752// with awserr.Error's Code and Message methods to get detailed information about
9753// the error.
9754//
9755// See the AWS API reference guide for Amazon Lightsail's
9756// API operation GetInstanceAccessDetails for usage and error information.
9757//
9758// Returned Error Types:
9759//   * ServiceException
9760//   A general service exception.
9761//
9762//   * InvalidInputException
9763//   Lightsail throws this exception when user input does not conform to the validation
9764//   rules of an input field.
9765//
9766//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9767//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9768//   view, or edit these resources.
9769//
9770//   * NotFoundException
9771//   Lightsail throws this exception when it cannot find a resource.
9772//
9773//   * OperationFailureException
9774//   Lightsail throws this exception when an operation fails to execute.
9775//
9776//   * AccessDeniedException
9777//   Lightsail throws this exception when the user cannot be authenticated or
9778//   uses invalid credentials to access a resource.
9779//
9780//   * AccountSetupInProgressException
9781//   Lightsail throws this exception when an account is still in the setup in
9782//   progress state.
9783//
9784//   * UnauthenticatedException
9785//   Lightsail throws this exception when the user has not been authenticated.
9786//
9787// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
9788func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
9789	req, out := c.GetInstanceAccessDetailsRequest(input)
9790	return out, req.Send()
9791}
9792
9793// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
9794// the ability to pass a context and additional request options.
9795//
9796// See GetInstanceAccessDetails for details on how to use this API operation.
9797//
9798// The context must be non-nil and will be used for request cancellation. If
9799// the context is nil a panic will occur. In the future the SDK may create
9800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9801// for more information on using Contexts.
9802func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
9803	req, out := c.GetInstanceAccessDetailsRequest(input)
9804	req.SetContext(ctx)
9805	req.ApplyOptions(opts...)
9806	return out, req.Send()
9807}
9808
9809const opGetInstanceMetricData = "GetInstanceMetricData"
9810
9811// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
9812// client's request for the GetInstanceMetricData operation. The "output" return
9813// value will be populated with the request's response once the request completes
9814// successfully.
9815//
9816// Use "Send" method on the returned Request to send the API call to the service.
9817// the "output" return value is not valid until after Send returns without error.
9818//
9819// See GetInstanceMetricData for more information on using the GetInstanceMetricData
9820// API call, and error handling.
9821//
9822// This method is useful when you want to inject custom logic or configuration
9823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9824//
9825//
9826//    // Example sending a request using the GetInstanceMetricDataRequest method.
9827//    req, resp := client.GetInstanceMetricDataRequest(params)
9828//
9829//    err := req.Send()
9830//    if err == nil { // resp is now filled
9831//        fmt.Println(resp)
9832//    }
9833//
9834// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
9835func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
9836	op := &request.Operation{
9837		Name:       opGetInstanceMetricData,
9838		HTTPMethod: "POST",
9839		HTTPPath:   "/",
9840	}
9841
9842	if input == nil {
9843		input = &GetInstanceMetricDataInput{}
9844	}
9845
9846	output = &GetInstanceMetricDataOutput{}
9847	req = c.newRequest(op, input, output)
9848	return
9849}
9850
9851// GetInstanceMetricData API operation for Amazon Lightsail.
9852//
9853// Returns the data points for the specified Amazon Lightsail instance metric,
9854// given an instance name.
9855//
9856// Metrics report the utilization of your resources, and the error counts generated
9857// by them. Monitor and collect metric data regularly to maintain the reliability,
9858// availability, and performance of your resources.
9859//
9860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9861// with awserr.Error's Code and Message methods to get detailed information about
9862// the error.
9863//
9864// See the AWS API reference guide for Amazon Lightsail's
9865// API operation GetInstanceMetricData for usage and error information.
9866//
9867// Returned Error Types:
9868//   * ServiceException
9869//   A general service exception.
9870//
9871//   * InvalidInputException
9872//   Lightsail throws this exception when user input does not conform to the validation
9873//   rules of an input field.
9874//
9875//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9876//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9877//   view, or edit these resources.
9878//
9879//   * NotFoundException
9880//   Lightsail throws this exception when it cannot find a resource.
9881//
9882//   * OperationFailureException
9883//   Lightsail throws this exception when an operation fails to execute.
9884//
9885//   * AccessDeniedException
9886//   Lightsail throws this exception when the user cannot be authenticated or
9887//   uses invalid credentials to access a resource.
9888//
9889//   * AccountSetupInProgressException
9890//   Lightsail throws this exception when an account is still in the setup in
9891//   progress state.
9892//
9893//   * UnauthenticatedException
9894//   Lightsail throws this exception when the user has not been authenticated.
9895//
9896// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
9897func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
9898	req, out := c.GetInstanceMetricDataRequest(input)
9899	return out, req.Send()
9900}
9901
9902// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
9903// the ability to pass a context and additional request options.
9904//
9905// See GetInstanceMetricData for details on how to use this API operation.
9906//
9907// The context must be non-nil and will be used for request cancellation. If
9908// the context is nil a panic will occur. In the future the SDK may create
9909// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9910// for more information on using Contexts.
9911func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
9912	req, out := c.GetInstanceMetricDataRequest(input)
9913	req.SetContext(ctx)
9914	req.ApplyOptions(opts...)
9915	return out, req.Send()
9916}
9917
9918const opGetInstancePortStates = "GetInstancePortStates"
9919
9920// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
9921// client's request for the GetInstancePortStates operation. The "output" return
9922// value will be populated with the request's response once the request completes
9923// successfully.
9924//
9925// Use "Send" method on the returned Request to send the API call to the service.
9926// the "output" return value is not valid until after Send returns without error.
9927//
9928// See GetInstancePortStates for more information on using the GetInstancePortStates
9929// API call, and error handling.
9930//
9931// This method is useful when you want to inject custom logic or configuration
9932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9933//
9934//
9935//    // Example sending a request using the GetInstancePortStatesRequest method.
9936//    req, resp := client.GetInstancePortStatesRequest(params)
9937//
9938//    err := req.Send()
9939//    if err == nil { // resp is now filled
9940//        fmt.Println(resp)
9941//    }
9942//
9943// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
9944func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
9945	op := &request.Operation{
9946		Name:       opGetInstancePortStates,
9947		HTTPMethod: "POST",
9948		HTTPPath:   "/",
9949	}
9950
9951	if input == nil {
9952		input = &GetInstancePortStatesInput{}
9953	}
9954
9955	output = &GetInstancePortStatesOutput{}
9956	req = c.newRequest(op, input, output)
9957	return
9958}
9959
9960// GetInstancePortStates API operation for Amazon Lightsail.
9961//
9962// Returns the firewall port states for a specific Amazon Lightsail instance,
9963// the IP addresses allowed to connect to the instance through the ports, and
9964// the protocol.
9965//
9966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9967// with awserr.Error's Code and Message methods to get detailed information about
9968// the error.
9969//
9970// See the AWS API reference guide for Amazon Lightsail's
9971// API operation GetInstancePortStates for usage and error information.
9972//
9973// Returned Error Types:
9974//   * ServiceException
9975//   A general service exception.
9976//
9977//   * InvalidInputException
9978//   Lightsail throws this exception when user input does not conform to the validation
9979//   rules of an input field.
9980//
9981//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9982//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9983//   view, or edit these resources.
9984//
9985//   * NotFoundException
9986//   Lightsail throws this exception when it cannot find a resource.
9987//
9988//   * OperationFailureException
9989//   Lightsail throws this exception when an operation fails to execute.
9990//
9991//   * AccessDeniedException
9992//   Lightsail throws this exception when the user cannot be authenticated or
9993//   uses invalid credentials to access a resource.
9994//
9995//   * AccountSetupInProgressException
9996//   Lightsail throws this exception when an account is still in the setup in
9997//   progress state.
9998//
9999//   * UnauthenticatedException
10000//   Lightsail throws this exception when the user has not been authenticated.
10001//
10002// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
10003func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
10004	req, out := c.GetInstancePortStatesRequest(input)
10005	return out, req.Send()
10006}
10007
10008// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
10009// the ability to pass a context and additional request options.
10010//
10011// See GetInstancePortStates for details on how to use this API operation.
10012//
10013// The context must be non-nil and will be used for request cancellation. If
10014// the context is nil a panic will occur. In the future the SDK may create
10015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10016// for more information on using Contexts.
10017func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
10018	req, out := c.GetInstancePortStatesRequest(input)
10019	req.SetContext(ctx)
10020	req.ApplyOptions(opts...)
10021	return out, req.Send()
10022}
10023
10024const opGetInstanceSnapshot = "GetInstanceSnapshot"
10025
10026// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
10027// client's request for the GetInstanceSnapshot operation. The "output" return
10028// value will be populated with the request's response once the request completes
10029// successfully.
10030//
10031// Use "Send" method on the returned Request to send the API call to the service.
10032// the "output" return value is not valid until after Send returns without error.
10033//
10034// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
10035// API call, and error handling.
10036//
10037// This method is useful when you want to inject custom logic or configuration
10038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10039//
10040//
10041//    // Example sending a request using the GetInstanceSnapshotRequest method.
10042//    req, resp := client.GetInstanceSnapshotRequest(params)
10043//
10044//    err := req.Send()
10045//    if err == nil { // resp is now filled
10046//        fmt.Println(resp)
10047//    }
10048//
10049// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
10050func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
10051	op := &request.Operation{
10052		Name:       opGetInstanceSnapshot,
10053		HTTPMethod: "POST",
10054		HTTPPath:   "/",
10055	}
10056
10057	if input == nil {
10058		input = &GetInstanceSnapshotInput{}
10059	}
10060
10061	output = &GetInstanceSnapshotOutput{}
10062	req = c.newRequest(op, input, output)
10063	return
10064}
10065
10066// GetInstanceSnapshot API operation for Amazon Lightsail.
10067//
10068// Returns information about a specific instance snapshot.
10069//
10070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10071// with awserr.Error's Code and Message methods to get detailed information about
10072// the error.
10073//
10074// See the AWS API reference guide for Amazon Lightsail's
10075// API operation GetInstanceSnapshot for usage and error information.
10076//
10077// Returned Error Types:
10078//   * ServiceException
10079//   A general service exception.
10080//
10081//   * InvalidInputException
10082//   Lightsail throws this exception when user input does not conform to the validation
10083//   rules of an input field.
10084//
10085//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10086//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10087//   view, or edit these resources.
10088//
10089//   * NotFoundException
10090//   Lightsail throws this exception when it cannot find a resource.
10091//
10092//   * OperationFailureException
10093//   Lightsail throws this exception when an operation fails to execute.
10094//
10095//   * AccessDeniedException
10096//   Lightsail throws this exception when the user cannot be authenticated or
10097//   uses invalid credentials to access a resource.
10098//
10099//   * AccountSetupInProgressException
10100//   Lightsail throws this exception when an account is still in the setup in
10101//   progress state.
10102//
10103//   * UnauthenticatedException
10104//   Lightsail throws this exception when the user has not been authenticated.
10105//
10106// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
10107func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
10108	req, out := c.GetInstanceSnapshotRequest(input)
10109	return out, req.Send()
10110}
10111
10112// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
10113// the ability to pass a context and additional request options.
10114//
10115// See GetInstanceSnapshot for details on how to use this API operation.
10116//
10117// The context must be non-nil and will be used for request cancellation. If
10118// the context is nil a panic will occur. In the future the SDK may create
10119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10120// for more information on using Contexts.
10121func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
10122	req, out := c.GetInstanceSnapshotRequest(input)
10123	req.SetContext(ctx)
10124	req.ApplyOptions(opts...)
10125	return out, req.Send()
10126}
10127
10128const opGetInstanceSnapshots = "GetInstanceSnapshots"
10129
10130// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
10131// client's request for the GetInstanceSnapshots operation. The "output" return
10132// value will be populated with the request's response once the request completes
10133// successfully.
10134//
10135// Use "Send" method on the returned Request to send the API call to the service.
10136// the "output" return value is not valid until after Send returns without error.
10137//
10138// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
10139// API call, and error handling.
10140//
10141// This method is useful when you want to inject custom logic or configuration
10142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10143//
10144//
10145//    // Example sending a request using the GetInstanceSnapshotsRequest method.
10146//    req, resp := client.GetInstanceSnapshotsRequest(params)
10147//
10148//    err := req.Send()
10149//    if err == nil { // resp is now filled
10150//        fmt.Println(resp)
10151//    }
10152//
10153// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
10154func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
10155	op := &request.Operation{
10156		Name:       opGetInstanceSnapshots,
10157		HTTPMethod: "POST",
10158		HTTPPath:   "/",
10159	}
10160
10161	if input == nil {
10162		input = &GetInstanceSnapshotsInput{}
10163	}
10164
10165	output = &GetInstanceSnapshotsOutput{}
10166	req = c.newRequest(op, input, output)
10167	return
10168}
10169
10170// GetInstanceSnapshots API operation for Amazon Lightsail.
10171//
10172// Returns all instance snapshots for the user's account.
10173//
10174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10175// with awserr.Error's Code and Message methods to get detailed information about
10176// the error.
10177//
10178// See the AWS API reference guide for Amazon Lightsail's
10179// API operation GetInstanceSnapshots for usage and error information.
10180//
10181// Returned Error Types:
10182//   * ServiceException
10183//   A general service exception.
10184//
10185//   * InvalidInputException
10186//   Lightsail throws this exception when user input does not conform to the validation
10187//   rules of an input field.
10188//
10189//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10190//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10191//   view, or edit these resources.
10192//
10193//   * NotFoundException
10194//   Lightsail throws this exception when it cannot find a resource.
10195//
10196//   * OperationFailureException
10197//   Lightsail throws this exception when an operation fails to execute.
10198//
10199//   * AccessDeniedException
10200//   Lightsail throws this exception when the user cannot be authenticated or
10201//   uses invalid credentials to access a resource.
10202//
10203//   * AccountSetupInProgressException
10204//   Lightsail throws this exception when an account is still in the setup in
10205//   progress state.
10206//
10207//   * UnauthenticatedException
10208//   Lightsail throws this exception when the user has not been authenticated.
10209//
10210// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
10211func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
10212	req, out := c.GetInstanceSnapshotsRequest(input)
10213	return out, req.Send()
10214}
10215
10216// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
10217// the ability to pass a context and additional request options.
10218//
10219// See GetInstanceSnapshots for details on how to use this API operation.
10220//
10221// The context must be non-nil and will be used for request cancellation. If
10222// the context is nil a panic will occur. In the future the SDK may create
10223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10224// for more information on using Contexts.
10225func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
10226	req, out := c.GetInstanceSnapshotsRequest(input)
10227	req.SetContext(ctx)
10228	req.ApplyOptions(opts...)
10229	return out, req.Send()
10230}
10231
10232const opGetInstanceState = "GetInstanceState"
10233
10234// GetInstanceStateRequest generates a "aws/request.Request" representing the
10235// client's request for the GetInstanceState operation. The "output" return
10236// value will be populated with the request's response once the request completes
10237// successfully.
10238//
10239// Use "Send" method on the returned Request to send the API call to the service.
10240// the "output" return value is not valid until after Send returns without error.
10241//
10242// See GetInstanceState for more information on using the GetInstanceState
10243// API call, and error handling.
10244//
10245// This method is useful when you want to inject custom logic or configuration
10246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10247//
10248//
10249//    // Example sending a request using the GetInstanceStateRequest method.
10250//    req, resp := client.GetInstanceStateRequest(params)
10251//
10252//    err := req.Send()
10253//    if err == nil { // resp is now filled
10254//        fmt.Println(resp)
10255//    }
10256//
10257// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
10258func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
10259	op := &request.Operation{
10260		Name:       opGetInstanceState,
10261		HTTPMethod: "POST",
10262		HTTPPath:   "/",
10263	}
10264
10265	if input == nil {
10266		input = &GetInstanceStateInput{}
10267	}
10268
10269	output = &GetInstanceStateOutput{}
10270	req = c.newRequest(op, input, output)
10271	return
10272}
10273
10274// GetInstanceState API operation for Amazon Lightsail.
10275//
10276// Returns the state of a specific instance. Works on one instance at a time.
10277//
10278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10279// with awserr.Error's Code and Message methods to get detailed information about
10280// the error.
10281//
10282// See the AWS API reference guide for Amazon Lightsail's
10283// API operation GetInstanceState for usage and error information.
10284//
10285// Returned Error Types:
10286//   * ServiceException
10287//   A general service exception.
10288//
10289//   * InvalidInputException
10290//   Lightsail throws this exception when user input does not conform to the validation
10291//   rules of an input field.
10292//
10293//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10294//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10295//   view, or edit these resources.
10296//
10297//   * NotFoundException
10298//   Lightsail throws this exception when it cannot find a resource.
10299//
10300//   * OperationFailureException
10301//   Lightsail throws this exception when an operation fails to execute.
10302//
10303//   * AccessDeniedException
10304//   Lightsail throws this exception when the user cannot be authenticated or
10305//   uses invalid credentials to access a resource.
10306//
10307//   * AccountSetupInProgressException
10308//   Lightsail throws this exception when an account is still in the setup in
10309//   progress state.
10310//
10311//   * UnauthenticatedException
10312//   Lightsail throws this exception when the user has not been authenticated.
10313//
10314// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
10315func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
10316	req, out := c.GetInstanceStateRequest(input)
10317	return out, req.Send()
10318}
10319
10320// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
10321// the ability to pass a context and additional request options.
10322//
10323// See GetInstanceState for details on how to use this API operation.
10324//
10325// The context must be non-nil and will be used for request cancellation. If
10326// the context is nil a panic will occur. In the future the SDK may create
10327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10328// for more information on using Contexts.
10329func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
10330	req, out := c.GetInstanceStateRequest(input)
10331	req.SetContext(ctx)
10332	req.ApplyOptions(opts...)
10333	return out, req.Send()
10334}
10335
10336const opGetInstances = "GetInstances"
10337
10338// GetInstancesRequest generates a "aws/request.Request" representing the
10339// client's request for the GetInstances operation. The "output" return
10340// value will be populated with the request's response once the request completes
10341// successfully.
10342//
10343// Use "Send" method on the returned Request to send the API call to the service.
10344// the "output" return value is not valid until after Send returns without error.
10345//
10346// See GetInstances for more information on using the GetInstances
10347// API call, and error handling.
10348//
10349// This method is useful when you want to inject custom logic or configuration
10350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10351//
10352//
10353//    // Example sending a request using the GetInstancesRequest method.
10354//    req, resp := client.GetInstancesRequest(params)
10355//
10356//    err := req.Send()
10357//    if err == nil { // resp is now filled
10358//        fmt.Println(resp)
10359//    }
10360//
10361// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
10362func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
10363	op := &request.Operation{
10364		Name:       opGetInstances,
10365		HTTPMethod: "POST",
10366		HTTPPath:   "/",
10367	}
10368
10369	if input == nil {
10370		input = &GetInstancesInput{}
10371	}
10372
10373	output = &GetInstancesOutput{}
10374	req = c.newRequest(op, input, output)
10375	return
10376}
10377
10378// GetInstances API operation for Amazon Lightsail.
10379//
10380// Returns information about all Amazon Lightsail virtual private servers, or
10381// instances.
10382//
10383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10384// with awserr.Error's Code and Message methods to get detailed information about
10385// the error.
10386//
10387// See the AWS API reference guide for Amazon Lightsail's
10388// API operation GetInstances for usage and error information.
10389//
10390// Returned Error Types:
10391//   * ServiceException
10392//   A general service exception.
10393//
10394//   * InvalidInputException
10395//   Lightsail throws this exception when user input does not conform to the validation
10396//   rules of an input field.
10397//
10398//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10399//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10400//   view, or edit these resources.
10401//
10402//   * NotFoundException
10403//   Lightsail throws this exception when it cannot find a resource.
10404//
10405//   * OperationFailureException
10406//   Lightsail throws this exception when an operation fails to execute.
10407//
10408//   * AccessDeniedException
10409//   Lightsail throws this exception when the user cannot be authenticated or
10410//   uses invalid credentials to access a resource.
10411//
10412//   * AccountSetupInProgressException
10413//   Lightsail throws this exception when an account is still in the setup in
10414//   progress state.
10415//
10416//   * UnauthenticatedException
10417//   Lightsail throws this exception when the user has not been authenticated.
10418//
10419// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
10420func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
10421	req, out := c.GetInstancesRequest(input)
10422	return out, req.Send()
10423}
10424
10425// GetInstancesWithContext is the same as GetInstances with the addition of
10426// the ability to pass a context and additional request options.
10427//
10428// See GetInstances for details on how to use this API operation.
10429//
10430// The context must be non-nil and will be used for request cancellation. If
10431// the context is nil a panic will occur. In the future the SDK may create
10432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10433// for more information on using Contexts.
10434func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
10435	req, out := c.GetInstancesRequest(input)
10436	req.SetContext(ctx)
10437	req.ApplyOptions(opts...)
10438	return out, req.Send()
10439}
10440
10441const opGetKeyPair = "GetKeyPair"
10442
10443// GetKeyPairRequest generates a "aws/request.Request" representing the
10444// client's request for the GetKeyPair operation. The "output" return
10445// value will be populated with the request's response once the request completes
10446// successfully.
10447//
10448// Use "Send" method on the returned Request to send the API call to the service.
10449// the "output" return value is not valid until after Send returns without error.
10450//
10451// See GetKeyPair for more information on using the GetKeyPair
10452// API call, and error handling.
10453//
10454// This method is useful when you want to inject custom logic or configuration
10455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10456//
10457//
10458//    // Example sending a request using the GetKeyPairRequest method.
10459//    req, resp := client.GetKeyPairRequest(params)
10460//
10461//    err := req.Send()
10462//    if err == nil { // resp is now filled
10463//        fmt.Println(resp)
10464//    }
10465//
10466// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
10467func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
10468	op := &request.Operation{
10469		Name:       opGetKeyPair,
10470		HTTPMethod: "POST",
10471		HTTPPath:   "/",
10472	}
10473
10474	if input == nil {
10475		input = &GetKeyPairInput{}
10476	}
10477
10478	output = &GetKeyPairOutput{}
10479	req = c.newRequest(op, input, output)
10480	return
10481}
10482
10483// GetKeyPair API operation for Amazon Lightsail.
10484//
10485// Returns information about a specific key pair.
10486//
10487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10488// with awserr.Error's Code and Message methods to get detailed information about
10489// the error.
10490//
10491// See the AWS API reference guide for Amazon Lightsail's
10492// API operation GetKeyPair for usage and error information.
10493//
10494// Returned Error Types:
10495//   * ServiceException
10496//   A general service exception.
10497//
10498//   * InvalidInputException
10499//   Lightsail throws this exception when user input does not conform to the validation
10500//   rules of an input field.
10501//
10502//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10503//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10504//   view, or edit these resources.
10505//
10506//   * NotFoundException
10507//   Lightsail throws this exception when it cannot find a resource.
10508//
10509//   * OperationFailureException
10510//   Lightsail throws this exception when an operation fails to execute.
10511//
10512//   * AccessDeniedException
10513//   Lightsail throws this exception when the user cannot be authenticated or
10514//   uses invalid credentials to access a resource.
10515//
10516//   * AccountSetupInProgressException
10517//   Lightsail throws this exception when an account is still in the setup in
10518//   progress state.
10519//
10520//   * UnauthenticatedException
10521//   Lightsail throws this exception when the user has not been authenticated.
10522//
10523// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
10524func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
10525	req, out := c.GetKeyPairRequest(input)
10526	return out, req.Send()
10527}
10528
10529// GetKeyPairWithContext is the same as GetKeyPair with the addition of
10530// the ability to pass a context and additional request options.
10531//
10532// See GetKeyPair for details on how to use this API operation.
10533//
10534// The context must be non-nil and will be used for request cancellation. If
10535// the context is nil a panic will occur. In the future the SDK may create
10536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10537// for more information on using Contexts.
10538func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
10539	req, out := c.GetKeyPairRequest(input)
10540	req.SetContext(ctx)
10541	req.ApplyOptions(opts...)
10542	return out, req.Send()
10543}
10544
10545const opGetKeyPairs = "GetKeyPairs"
10546
10547// GetKeyPairsRequest generates a "aws/request.Request" representing the
10548// client's request for the GetKeyPairs operation. The "output" return
10549// value will be populated with the request's response once the request completes
10550// successfully.
10551//
10552// Use "Send" method on the returned Request to send the API call to the service.
10553// the "output" return value is not valid until after Send returns without error.
10554//
10555// See GetKeyPairs for more information on using the GetKeyPairs
10556// API call, and error handling.
10557//
10558// This method is useful when you want to inject custom logic or configuration
10559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10560//
10561//
10562//    // Example sending a request using the GetKeyPairsRequest method.
10563//    req, resp := client.GetKeyPairsRequest(params)
10564//
10565//    err := req.Send()
10566//    if err == nil { // resp is now filled
10567//        fmt.Println(resp)
10568//    }
10569//
10570// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
10571func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
10572	op := &request.Operation{
10573		Name:       opGetKeyPairs,
10574		HTTPMethod: "POST",
10575		HTTPPath:   "/",
10576	}
10577
10578	if input == nil {
10579		input = &GetKeyPairsInput{}
10580	}
10581
10582	output = &GetKeyPairsOutput{}
10583	req = c.newRequest(op, input, output)
10584	return
10585}
10586
10587// GetKeyPairs API operation for Amazon Lightsail.
10588//
10589// Returns information about all key pairs in the user's account.
10590//
10591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10592// with awserr.Error's Code and Message methods to get detailed information about
10593// the error.
10594//
10595// See the AWS API reference guide for Amazon Lightsail's
10596// API operation GetKeyPairs for usage and error information.
10597//
10598// Returned Error Types:
10599//   * ServiceException
10600//   A general service exception.
10601//
10602//   * InvalidInputException
10603//   Lightsail throws this exception when user input does not conform to the validation
10604//   rules of an input field.
10605//
10606//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10607//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10608//   view, or edit these resources.
10609//
10610//   * NotFoundException
10611//   Lightsail throws this exception when it cannot find a resource.
10612//
10613//   * OperationFailureException
10614//   Lightsail throws this exception when an operation fails to execute.
10615//
10616//   * AccessDeniedException
10617//   Lightsail throws this exception when the user cannot be authenticated or
10618//   uses invalid credentials to access a resource.
10619//
10620//   * AccountSetupInProgressException
10621//   Lightsail throws this exception when an account is still in the setup in
10622//   progress state.
10623//
10624//   * UnauthenticatedException
10625//   Lightsail throws this exception when the user has not been authenticated.
10626//
10627// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
10628func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
10629	req, out := c.GetKeyPairsRequest(input)
10630	return out, req.Send()
10631}
10632
10633// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
10634// the ability to pass a context and additional request options.
10635//
10636// See GetKeyPairs for details on how to use this API operation.
10637//
10638// The context must be non-nil and will be used for request cancellation. If
10639// the context is nil a panic will occur. In the future the SDK may create
10640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10641// for more information on using Contexts.
10642func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
10643	req, out := c.GetKeyPairsRequest(input)
10644	req.SetContext(ctx)
10645	req.ApplyOptions(opts...)
10646	return out, req.Send()
10647}
10648
10649const opGetLoadBalancer = "GetLoadBalancer"
10650
10651// GetLoadBalancerRequest generates a "aws/request.Request" representing the
10652// client's request for the GetLoadBalancer operation. The "output" return
10653// value will be populated with the request's response once the request completes
10654// successfully.
10655//
10656// Use "Send" method on the returned Request to send the API call to the service.
10657// the "output" return value is not valid until after Send returns without error.
10658//
10659// See GetLoadBalancer for more information on using the GetLoadBalancer
10660// API call, and error handling.
10661//
10662// This method is useful when you want to inject custom logic or configuration
10663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10664//
10665//
10666//    // Example sending a request using the GetLoadBalancerRequest method.
10667//    req, resp := client.GetLoadBalancerRequest(params)
10668//
10669//    err := req.Send()
10670//    if err == nil { // resp is now filled
10671//        fmt.Println(resp)
10672//    }
10673//
10674// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
10675func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
10676	op := &request.Operation{
10677		Name:       opGetLoadBalancer,
10678		HTTPMethod: "POST",
10679		HTTPPath:   "/",
10680	}
10681
10682	if input == nil {
10683		input = &GetLoadBalancerInput{}
10684	}
10685
10686	output = &GetLoadBalancerOutput{}
10687	req = c.newRequest(op, input, output)
10688	return
10689}
10690
10691// GetLoadBalancer API operation for Amazon Lightsail.
10692//
10693// Returns information about the specified Lightsail load balancer.
10694//
10695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10696// with awserr.Error's Code and Message methods to get detailed information about
10697// the error.
10698//
10699// See the AWS API reference guide for Amazon Lightsail's
10700// API operation GetLoadBalancer for usage and error information.
10701//
10702// Returned Error Types:
10703//   * ServiceException
10704//   A general service exception.
10705//
10706//   * InvalidInputException
10707//   Lightsail throws this exception when user input does not conform to the validation
10708//   rules of an input field.
10709//
10710//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10711//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10712//   view, or edit these resources.
10713//
10714//   * NotFoundException
10715//   Lightsail throws this exception when it cannot find a resource.
10716//
10717//   * OperationFailureException
10718//   Lightsail throws this exception when an operation fails to execute.
10719//
10720//   * AccessDeniedException
10721//   Lightsail throws this exception when the user cannot be authenticated or
10722//   uses invalid credentials to access a resource.
10723//
10724//   * AccountSetupInProgressException
10725//   Lightsail throws this exception when an account is still in the setup in
10726//   progress state.
10727//
10728//   * UnauthenticatedException
10729//   Lightsail throws this exception when the user has not been authenticated.
10730//
10731// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
10732func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
10733	req, out := c.GetLoadBalancerRequest(input)
10734	return out, req.Send()
10735}
10736
10737// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
10738// the ability to pass a context and additional request options.
10739//
10740// See GetLoadBalancer for details on how to use this API operation.
10741//
10742// The context must be non-nil and will be used for request cancellation. If
10743// the context is nil a panic will occur. In the future the SDK may create
10744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10745// for more information on using Contexts.
10746func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
10747	req, out := c.GetLoadBalancerRequest(input)
10748	req.SetContext(ctx)
10749	req.ApplyOptions(opts...)
10750	return out, req.Send()
10751}
10752
10753const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
10754
10755// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
10756// client's request for the GetLoadBalancerMetricData operation. The "output" return
10757// value will be populated with the request's response once the request completes
10758// successfully.
10759//
10760// Use "Send" method on the returned Request to send the API call to the service.
10761// the "output" return value is not valid until after Send returns without error.
10762//
10763// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
10764// API call, and error handling.
10765//
10766// This method is useful when you want to inject custom logic or configuration
10767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10768//
10769//
10770//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
10771//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
10772//
10773//    err := req.Send()
10774//    if err == nil { // resp is now filled
10775//        fmt.Println(resp)
10776//    }
10777//
10778// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
10779func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
10780	op := &request.Operation{
10781		Name:       opGetLoadBalancerMetricData,
10782		HTTPMethod: "POST",
10783		HTTPPath:   "/",
10784	}
10785
10786	if input == nil {
10787		input = &GetLoadBalancerMetricDataInput{}
10788	}
10789
10790	output = &GetLoadBalancerMetricDataOutput{}
10791	req = c.newRequest(op, input, output)
10792	return
10793}
10794
10795// GetLoadBalancerMetricData API operation for Amazon Lightsail.
10796//
10797// Returns information about health metrics for your Lightsail load balancer.
10798//
10799// Metrics report the utilization of your resources, and the error counts generated
10800// by them. Monitor and collect metric data regularly to maintain the reliability,
10801// availability, and performance of your resources.
10802//
10803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10804// with awserr.Error's Code and Message methods to get detailed information about
10805// the error.
10806//
10807// See the AWS API reference guide for Amazon Lightsail's
10808// API operation GetLoadBalancerMetricData for usage and error information.
10809//
10810// Returned Error Types:
10811//   * ServiceException
10812//   A general service exception.
10813//
10814//   * InvalidInputException
10815//   Lightsail throws this exception when user input does not conform to the validation
10816//   rules of an input field.
10817//
10818//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10819//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10820//   view, or edit these resources.
10821//
10822//   * NotFoundException
10823//   Lightsail throws this exception when it cannot find a resource.
10824//
10825//   * OperationFailureException
10826//   Lightsail throws this exception when an operation fails to execute.
10827//
10828//   * AccessDeniedException
10829//   Lightsail throws this exception when the user cannot be authenticated or
10830//   uses invalid credentials to access a resource.
10831//
10832//   * AccountSetupInProgressException
10833//   Lightsail throws this exception when an account is still in the setup in
10834//   progress state.
10835//
10836//   * UnauthenticatedException
10837//   Lightsail throws this exception when the user has not been authenticated.
10838//
10839// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
10840func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
10841	req, out := c.GetLoadBalancerMetricDataRequest(input)
10842	return out, req.Send()
10843}
10844
10845// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
10846// the ability to pass a context and additional request options.
10847//
10848// See GetLoadBalancerMetricData for details on how to use this API operation.
10849//
10850// The context must be non-nil and will be used for request cancellation. If
10851// the context is nil a panic will occur. In the future the SDK may create
10852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10853// for more information on using Contexts.
10854func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
10855	req, out := c.GetLoadBalancerMetricDataRequest(input)
10856	req.SetContext(ctx)
10857	req.ApplyOptions(opts...)
10858	return out, req.Send()
10859}
10860
10861const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
10862
10863// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
10864// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
10865// value will be populated with the request's response once the request completes
10866// successfully.
10867//
10868// Use "Send" method on the returned Request to send the API call to the service.
10869// the "output" return value is not valid until after Send returns without error.
10870//
10871// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
10872// API call, and error handling.
10873//
10874// This method is useful when you want to inject custom logic or configuration
10875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10876//
10877//
10878//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
10879//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
10880//
10881//    err := req.Send()
10882//    if err == nil { // resp is now filled
10883//        fmt.Println(resp)
10884//    }
10885//
10886// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
10887func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
10888	op := &request.Operation{
10889		Name:       opGetLoadBalancerTlsCertificates,
10890		HTTPMethod: "POST",
10891		HTTPPath:   "/",
10892	}
10893
10894	if input == nil {
10895		input = &GetLoadBalancerTlsCertificatesInput{}
10896	}
10897
10898	output = &GetLoadBalancerTlsCertificatesOutput{}
10899	req = c.newRequest(op, input, output)
10900	return
10901}
10902
10903// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
10904//
10905// Returns information about the TLS certificates that are associated with the
10906// specified Lightsail load balancer.
10907//
10908// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
10909//
10910// You can have a maximum of 2 certificates associated with a Lightsail load
10911// balancer. One is active and the other is inactive.
10912//
10913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10914// with awserr.Error's Code and Message methods to get detailed information about
10915// the error.
10916//
10917// See the AWS API reference guide for Amazon Lightsail's
10918// API operation GetLoadBalancerTlsCertificates for usage and error information.
10919//
10920// Returned Error Types:
10921//   * ServiceException
10922//   A general service exception.
10923//
10924//   * InvalidInputException
10925//   Lightsail throws this exception when user input does not conform to the validation
10926//   rules of an input field.
10927//
10928//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10929//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10930//   view, or edit these resources.
10931//
10932//   * NotFoundException
10933//   Lightsail throws this exception when it cannot find a resource.
10934//
10935//   * OperationFailureException
10936//   Lightsail throws this exception when an operation fails to execute.
10937//
10938//   * AccessDeniedException
10939//   Lightsail throws this exception when the user cannot be authenticated or
10940//   uses invalid credentials to access a resource.
10941//
10942//   * AccountSetupInProgressException
10943//   Lightsail throws this exception when an account is still in the setup in
10944//   progress state.
10945//
10946//   * UnauthenticatedException
10947//   Lightsail throws this exception when the user has not been authenticated.
10948//
10949// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
10950func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
10951	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
10952	return out, req.Send()
10953}
10954
10955// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
10956// the ability to pass a context and additional request options.
10957//
10958// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
10959//
10960// The context must be non-nil and will be used for request cancellation. If
10961// the context is nil a panic will occur. In the future the SDK may create
10962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10963// for more information on using Contexts.
10964func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
10965	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
10966	req.SetContext(ctx)
10967	req.ApplyOptions(opts...)
10968	return out, req.Send()
10969}
10970
10971const opGetLoadBalancers = "GetLoadBalancers"
10972
10973// GetLoadBalancersRequest generates a "aws/request.Request" representing the
10974// client's request for the GetLoadBalancers operation. The "output" return
10975// value will be populated with the request's response once the request completes
10976// successfully.
10977//
10978// Use "Send" method on the returned Request to send the API call to the service.
10979// the "output" return value is not valid until after Send returns without error.
10980//
10981// See GetLoadBalancers for more information on using the GetLoadBalancers
10982// API call, and error handling.
10983//
10984// This method is useful when you want to inject custom logic or configuration
10985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10986//
10987//
10988//    // Example sending a request using the GetLoadBalancersRequest method.
10989//    req, resp := client.GetLoadBalancersRequest(params)
10990//
10991//    err := req.Send()
10992//    if err == nil { // resp is now filled
10993//        fmt.Println(resp)
10994//    }
10995//
10996// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
10997func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
10998	op := &request.Operation{
10999		Name:       opGetLoadBalancers,
11000		HTTPMethod: "POST",
11001		HTTPPath:   "/",
11002	}
11003
11004	if input == nil {
11005		input = &GetLoadBalancersInput{}
11006	}
11007
11008	output = &GetLoadBalancersOutput{}
11009	req = c.newRequest(op, input, output)
11010	return
11011}
11012
11013// GetLoadBalancers API operation for Amazon Lightsail.
11014//
11015// Returns information about all load balancers in an account.
11016//
11017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11018// with awserr.Error's Code and Message methods to get detailed information about
11019// the error.
11020//
11021// See the AWS API reference guide for Amazon Lightsail's
11022// API operation GetLoadBalancers for usage and error information.
11023//
11024// Returned Error Types:
11025//   * ServiceException
11026//   A general service exception.
11027//
11028//   * InvalidInputException
11029//   Lightsail throws this exception when user input does not conform to the validation
11030//   rules of an input field.
11031//
11032//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11033//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11034//   view, or edit these resources.
11035//
11036//   * NotFoundException
11037//   Lightsail throws this exception when it cannot find a resource.
11038//
11039//   * OperationFailureException
11040//   Lightsail throws this exception when an operation fails to execute.
11041//
11042//   * AccessDeniedException
11043//   Lightsail throws this exception when the user cannot be authenticated or
11044//   uses invalid credentials to access a resource.
11045//
11046//   * AccountSetupInProgressException
11047//   Lightsail throws this exception when an account is still in the setup in
11048//   progress state.
11049//
11050//   * UnauthenticatedException
11051//   Lightsail throws this exception when the user has not been authenticated.
11052//
11053// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
11054func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
11055	req, out := c.GetLoadBalancersRequest(input)
11056	return out, req.Send()
11057}
11058
11059// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
11060// the ability to pass a context and additional request options.
11061//
11062// See GetLoadBalancers for details on how to use this API operation.
11063//
11064// The context must be non-nil and will be used for request cancellation. If
11065// the context is nil a panic will occur. In the future the SDK may create
11066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11067// for more information on using Contexts.
11068func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
11069	req, out := c.GetLoadBalancersRequest(input)
11070	req.SetContext(ctx)
11071	req.ApplyOptions(opts...)
11072	return out, req.Send()
11073}
11074
11075const opGetOperation = "GetOperation"
11076
11077// GetOperationRequest generates a "aws/request.Request" representing the
11078// client's request for the GetOperation operation. The "output" return
11079// value will be populated with the request's response once the request completes
11080// successfully.
11081//
11082// Use "Send" method on the returned Request to send the API call to the service.
11083// the "output" return value is not valid until after Send returns without error.
11084//
11085// See GetOperation for more information on using the GetOperation
11086// API call, and error handling.
11087//
11088// This method is useful when you want to inject custom logic or configuration
11089// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11090//
11091//
11092//    // Example sending a request using the GetOperationRequest method.
11093//    req, resp := client.GetOperationRequest(params)
11094//
11095//    err := req.Send()
11096//    if err == nil { // resp is now filled
11097//        fmt.Println(resp)
11098//    }
11099//
11100// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
11101func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
11102	op := &request.Operation{
11103		Name:       opGetOperation,
11104		HTTPMethod: "POST",
11105		HTTPPath:   "/",
11106	}
11107
11108	if input == nil {
11109		input = &GetOperationInput{}
11110	}
11111
11112	output = &GetOperationOutput{}
11113	req = c.newRequest(op, input, output)
11114	return
11115}
11116
11117// GetOperation API operation for Amazon Lightsail.
11118//
11119// Returns information about a specific operation. Operations include events
11120// such as when you create an instance, allocate a static IP, attach a static
11121// IP, and so on.
11122//
11123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11124// with awserr.Error's Code and Message methods to get detailed information about
11125// the error.
11126//
11127// See the AWS API reference guide for Amazon Lightsail's
11128// API operation GetOperation for usage and error information.
11129//
11130// Returned Error Types:
11131//   * ServiceException
11132//   A general service exception.
11133//
11134//   * InvalidInputException
11135//   Lightsail throws this exception when user input does not conform to the validation
11136//   rules of an input field.
11137//
11138//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11139//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11140//   view, or edit these resources.
11141//
11142//   * NotFoundException
11143//   Lightsail throws this exception when it cannot find a resource.
11144//
11145//   * OperationFailureException
11146//   Lightsail throws this exception when an operation fails to execute.
11147//
11148//   * AccessDeniedException
11149//   Lightsail throws this exception when the user cannot be authenticated or
11150//   uses invalid credentials to access a resource.
11151//
11152//   * AccountSetupInProgressException
11153//   Lightsail throws this exception when an account is still in the setup in
11154//   progress state.
11155//
11156//   * UnauthenticatedException
11157//   Lightsail throws this exception when the user has not been authenticated.
11158//
11159// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
11160func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
11161	req, out := c.GetOperationRequest(input)
11162	return out, req.Send()
11163}
11164
11165// GetOperationWithContext is the same as GetOperation with the addition of
11166// the ability to pass a context and additional request options.
11167//
11168// See GetOperation for details on how to use this API operation.
11169//
11170// The context must be non-nil and will be used for request cancellation. If
11171// the context is nil a panic will occur. In the future the SDK may create
11172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11173// for more information on using Contexts.
11174func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
11175	req, out := c.GetOperationRequest(input)
11176	req.SetContext(ctx)
11177	req.ApplyOptions(opts...)
11178	return out, req.Send()
11179}
11180
11181const opGetOperations = "GetOperations"
11182
11183// GetOperationsRequest generates a "aws/request.Request" representing the
11184// client's request for the GetOperations operation. The "output" return
11185// value will be populated with the request's response once the request completes
11186// successfully.
11187//
11188// Use "Send" method on the returned Request to send the API call to the service.
11189// the "output" return value is not valid until after Send returns without error.
11190//
11191// See GetOperations for more information on using the GetOperations
11192// API call, and error handling.
11193//
11194// This method is useful when you want to inject custom logic or configuration
11195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11196//
11197//
11198//    // Example sending a request using the GetOperationsRequest method.
11199//    req, resp := client.GetOperationsRequest(params)
11200//
11201//    err := req.Send()
11202//    if err == nil { // resp is now filled
11203//        fmt.Println(resp)
11204//    }
11205//
11206// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
11207func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
11208	op := &request.Operation{
11209		Name:       opGetOperations,
11210		HTTPMethod: "POST",
11211		HTTPPath:   "/",
11212	}
11213
11214	if input == nil {
11215		input = &GetOperationsInput{}
11216	}
11217
11218	output = &GetOperationsOutput{}
11219	req = c.newRequest(op, input, output)
11220	return
11221}
11222
11223// GetOperations API operation for Amazon Lightsail.
11224//
11225// Returns information about all operations.
11226//
11227// Results are returned from oldest to newest, up to a maximum of 200. Results
11228// can be paged by making each subsequent call to GetOperations use the maximum
11229// (last) statusChangedAt value from the previous request.
11230//
11231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11232// with awserr.Error's Code and Message methods to get detailed information about
11233// the error.
11234//
11235// See the AWS API reference guide for Amazon Lightsail's
11236// API operation GetOperations for usage and error information.
11237//
11238// Returned Error Types:
11239//   * ServiceException
11240//   A general service exception.
11241//
11242//   * InvalidInputException
11243//   Lightsail throws this exception when user input does not conform to the validation
11244//   rules of an input field.
11245//
11246//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11247//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11248//   view, or edit these resources.
11249//
11250//   * NotFoundException
11251//   Lightsail throws this exception when it cannot find a resource.
11252//
11253//   * OperationFailureException
11254//   Lightsail throws this exception when an operation fails to execute.
11255//
11256//   * AccessDeniedException
11257//   Lightsail throws this exception when the user cannot be authenticated or
11258//   uses invalid credentials to access a resource.
11259//
11260//   * AccountSetupInProgressException
11261//   Lightsail throws this exception when an account is still in the setup in
11262//   progress state.
11263//
11264//   * UnauthenticatedException
11265//   Lightsail throws this exception when the user has not been authenticated.
11266//
11267// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
11268func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
11269	req, out := c.GetOperationsRequest(input)
11270	return out, req.Send()
11271}
11272
11273// GetOperationsWithContext is the same as GetOperations with the addition of
11274// the ability to pass a context and additional request options.
11275//
11276// See GetOperations for details on how to use this API operation.
11277//
11278// The context must be non-nil and will be used for request cancellation. If
11279// the context is nil a panic will occur. In the future the SDK may create
11280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11281// for more information on using Contexts.
11282func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
11283	req, out := c.GetOperationsRequest(input)
11284	req.SetContext(ctx)
11285	req.ApplyOptions(opts...)
11286	return out, req.Send()
11287}
11288
11289const opGetOperationsForResource = "GetOperationsForResource"
11290
11291// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
11292// client's request for the GetOperationsForResource operation. The "output" return
11293// value will be populated with the request's response once the request completes
11294// successfully.
11295//
11296// Use "Send" method on the returned Request to send the API call to the service.
11297// the "output" return value is not valid until after Send returns without error.
11298//
11299// See GetOperationsForResource for more information on using the GetOperationsForResource
11300// API call, and error handling.
11301//
11302// This method is useful when you want to inject custom logic or configuration
11303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11304//
11305//
11306//    // Example sending a request using the GetOperationsForResourceRequest method.
11307//    req, resp := client.GetOperationsForResourceRequest(params)
11308//
11309//    err := req.Send()
11310//    if err == nil { // resp is now filled
11311//        fmt.Println(resp)
11312//    }
11313//
11314// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
11315func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
11316	op := &request.Operation{
11317		Name:       opGetOperationsForResource,
11318		HTTPMethod: "POST",
11319		HTTPPath:   "/",
11320	}
11321
11322	if input == nil {
11323		input = &GetOperationsForResourceInput{}
11324	}
11325
11326	output = &GetOperationsForResourceOutput{}
11327	req = c.newRequest(op, input, output)
11328	return
11329}
11330
11331// GetOperationsForResource API operation for Amazon Lightsail.
11332//
11333// Gets operations for a specific resource (e.g., an instance or a static IP).
11334//
11335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11336// with awserr.Error's Code and Message methods to get detailed information about
11337// the error.
11338//
11339// See the AWS API reference guide for Amazon Lightsail's
11340// API operation GetOperationsForResource for usage and error information.
11341//
11342// Returned Error Types:
11343//   * ServiceException
11344//   A general service exception.
11345//
11346//   * InvalidInputException
11347//   Lightsail throws this exception when user input does not conform to the validation
11348//   rules of an input field.
11349//
11350//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11351//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11352//   view, or edit these resources.
11353//
11354//   * NotFoundException
11355//   Lightsail throws this exception when it cannot find a resource.
11356//
11357//   * OperationFailureException
11358//   Lightsail throws this exception when an operation fails to execute.
11359//
11360//   * AccessDeniedException
11361//   Lightsail throws this exception when the user cannot be authenticated or
11362//   uses invalid credentials to access a resource.
11363//
11364//   * AccountSetupInProgressException
11365//   Lightsail throws this exception when an account is still in the setup in
11366//   progress state.
11367//
11368//   * UnauthenticatedException
11369//   Lightsail throws this exception when the user has not been authenticated.
11370//
11371// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
11372func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
11373	req, out := c.GetOperationsForResourceRequest(input)
11374	return out, req.Send()
11375}
11376
11377// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
11378// the ability to pass a context and additional request options.
11379//
11380// See GetOperationsForResource for details on how to use this API operation.
11381//
11382// The context must be non-nil and will be used for request cancellation. If
11383// the context is nil a panic will occur. In the future the SDK may create
11384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11385// for more information on using Contexts.
11386func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
11387	req, out := c.GetOperationsForResourceRequest(input)
11388	req.SetContext(ctx)
11389	req.ApplyOptions(opts...)
11390	return out, req.Send()
11391}
11392
11393const opGetRegions = "GetRegions"
11394
11395// GetRegionsRequest generates a "aws/request.Request" representing the
11396// client's request for the GetRegions operation. The "output" return
11397// value will be populated with the request's response once the request completes
11398// successfully.
11399//
11400// Use "Send" method on the returned Request to send the API call to the service.
11401// the "output" return value is not valid until after Send returns without error.
11402//
11403// See GetRegions for more information on using the GetRegions
11404// API call, and error handling.
11405//
11406// This method is useful when you want to inject custom logic or configuration
11407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11408//
11409//
11410//    // Example sending a request using the GetRegionsRequest method.
11411//    req, resp := client.GetRegionsRequest(params)
11412//
11413//    err := req.Send()
11414//    if err == nil { // resp is now filled
11415//        fmt.Println(resp)
11416//    }
11417//
11418// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
11419func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
11420	op := &request.Operation{
11421		Name:       opGetRegions,
11422		HTTPMethod: "POST",
11423		HTTPPath:   "/",
11424	}
11425
11426	if input == nil {
11427		input = &GetRegionsInput{}
11428	}
11429
11430	output = &GetRegionsOutput{}
11431	req = c.newRequest(op, input, output)
11432	return
11433}
11434
11435// GetRegions API operation for Amazon Lightsail.
11436//
11437// Returns a list of all valid regions for Amazon Lightsail. Use the include
11438// availability zones parameter to also return the Availability Zones in a region.
11439//
11440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11441// with awserr.Error's Code and Message methods to get detailed information about
11442// the error.
11443//
11444// See the AWS API reference guide for Amazon Lightsail's
11445// API operation GetRegions for usage and error information.
11446//
11447// Returned Error Types:
11448//   * ServiceException
11449//   A general service exception.
11450//
11451//   * InvalidInputException
11452//   Lightsail throws this exception when user input does not conform to the validation
11453//   rules of an input field.
11454//
11455//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11456//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11457//   view, or edit these resources.
11458//
11459//   * NotFoundException
11460//   Lightsail throws this exception when it cannot find a resource.
11461//
11462//   * OperationFailureException
11463//   Lightsail throws this exception when an operation fails to execute.
11464//
11465//   * AccessDeniedException
11466//   Lightsail throws this exception when the user cannot be authenticated or
11467//   uses invalid credentials to access a resource.
11468//
11469//   * AccountSetupInProgressException
11470//   Lightsail throws this exception when an account is still in the setup in
11471//   progress state.
11472//
11473//   * UnauthenticatedException
11474//   Lightsail throws this exception when the user has not been authenticated.
11475//
11476// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
11477func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
11478	req, out := c.GetRegionsRequest(input)
11479	return out, req.Send()
11480}
11481
11482// GetRegionsWithContext is the same as GetRegions with the addition of
11483// the ability to pass a context and additional request options.
11484//
11485// See GetRegions for details on how to use this API operation.
11486//
11487// The context must be non-nil and will be used for request cancellation. If
11488// the context is nil a panic will occur. In the future the SDK may create
11489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11490// for more information on using Contexts.
11491func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
11492	req, out := c.GetRegionsRequest(input)
11493	req.SetContext(ctx)
11494	req.ApplyOptions(opts...)
11495	return out, req.Send()
11496}
11497
11498const opGetRelationalDatabase = "GetRelationalDatabase"
11499
11500// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
11501// client's request for the GetRelationalDatabase operation. The "output" return
11502// value will be populated with the request's response once the request completes
11503// successfully.
11504//
11505// Use "Send" method on the returned Request to send the API call to the service.
11506// the "output" return value is not valid until after Send returns without error.
11507//
11508// See GetRelationalDatabase for more information on using the GetRelationalDatabase
11509// API call, and error handling.
11510//
11511// This method is useful when you want to inject custom logic or configuration
11512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11513//
11514//
11515//    // Example sending a request using the GetRelationalDatabaseRequest method.
11516//    req, resp := client.GetRelationalDatabaseRequest(params)
11517//
11518//    err := req.Send()
11519//    if err == nil { // resp is now filled
11520//        fmt.Println(resp)
11521//    }
11522//
11523// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
11524func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
11525	op := &request.Operation{
11526		Name:       opGetRelationalDatabase,
11527		HTTPMethod: "POST",
11528		HTTPPath:   "/",
11529	}
11530
11531	if input == nil {
11532		input = &GetRelationalDatabaseInput{}
11533	}
11534
11535	output = &GetRelationalDatabaseOutput{}
11536	req = c.newRequest(op, input, output)
11537	return
11538}
11539
11540// GetRelationalDatabase API operation for Amazon Lightsail.
11541//
11542// Returns information about a specific database in Amazon Lightsail.
11543//
11544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11545// with awserr.Error's Code and Message methods to get detailed information about
11546// the error.
11547//
11548// See the AWS API reference guide for Amazon Lightsail's
11549// API operation GetRelationalDatabase for usage and error information.
11550//
11551// Returned Error Types:
11552//   * ServiceException
11553//   A general service exception.
11554//
11555//   * InvalidInputException
11556//   Lightsail throws this exception when user input does not conform to the validation
11557//   rules of an input field.
11558//
11559//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11560//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11561//   view, or edit these resources.
11562//
11563//   * NotFoundException
11564//   Lightsail throws this exception when it cannot find a resource.
11565//
11566//   * OperationFailureException
11567//   Lightsail throws this exception when an operation fails to execute.
11568//
11569//   * AccessDeniedException
11570//   Lightsail throws this exception when the user cannot be authenticated or
11571//   uses invalid credentials to access a resource.
11572//
11573//   * AccountSetupInProgressException
11574//   Lightsail throws this exception when an account is still in the setup in
11575//   progress state.
11576//
11577//   * UnauthenticatedException
11578//   Lightsail throws this exception when the user has not been authenticated.
11579//
11580// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
11581func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
11582	req, out := c.GetRelationalDatabaseRequest(input)
11583	return out, req.Send()
11584}
11585
11586// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
11587// the ability to pass a context and additional request options.
11588//
11589// See GetRelationalDatabase for details on how to use this API operation.
11590//
11591// The context must be non-nil and will be used for request cancellation. If
11592// the context is nil a panic will occur. In the future the SDK may create
11593// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11594// for more information on using Contexts.
11595func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
11596	req, out := c.GetRelationalDatabaseRequest(input)
11597	req.SetContext(ctx)
11598	req.ApplyOptions(opts...)
11599	return out, req.Send()
11600}
11601
11602const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
11603
11604// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
11605// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
11606// value will be populated with the request's response once the request completes
11607// successfully.
11608//
11609// Use "Send" method on the returned Request to send the API call to the service.
11610// the "output" return value is not valid until after Send returns without error.
11611//
11612// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
11613// API call, and error handling.
11614//
11615// This method is useful when you want to inject custom logic or configuration
11616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11617//
11618//
11619//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
11620//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
11621//
11622//    err := req.Send()
11623//    if err == nil { // resp is now filled
11624//        fmt.Println(resp)
11625//    }
11626//
11627// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
11628func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
11629	op := &request.Operation{
11630		Name:       opGetRelationalDatabaseBlueprints,
11631		HTTPMethod: "POST",
11632		HTTPPath:   "/",
11633	}
11634
11635	if input == nil {
11636		input = &GetRelationalDatabaseBlueprintsInput{}
11637	}
11638
11639	output = &GetRelationalDatabaseBlueprintsOutput{}
11640	req = c.newRequest(op, input, output)
11641	return
11642}
11643
11644// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
11645//
11646// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
11647// describes the major engine version of a database.
11648//
11649// You can use a blueprint ID to create a new database that runs a specific
11650// database engine.
11651//
11652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11653// with awserr.Error's Code and Message methods to get detailed information about
11654// the error.
11655//
11656// See the AWS API reference guide for Amazon Lightsail's
11657// API operation GetRelationalDatabaseBlueprints for usage and error information.
11658//
11659// Returned Error Types:
11660//   * ServiceException
11661//   A general service exception.
11662//
11663//   * InvalidInputException
11664//   Lightsail throws this exception when user input does not conform to the validation
11665//   rules of an input field.
11666//
11667//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11668//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11669//   view, or edit these resources.
11670//
11671//   * NotFoundException
11672//   Lightsail throws this exception when it cannot find a resource.
11673//
11674//   * OperationFailureException
11675//   Lightsail throws this exception when an operation fails to execute.
11676//
11677//   * AccessDeniedException
11678//   Lightsail throws this exception when the user cannot be authenticated or
11679//   uses invalid credentials to access a resource.
11680//
11681//   * AccountSetupInProgressException
11682//   Lightsail throws this exception when an account is still in the setup in
11683//   progress state.
11684//
11685//   * UnauthenticatedException
11686//   Lightsail throws this exception when the user has not been authenticated.
11687//
11688// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
11689func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
11690	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
11691	return out, req.Send()
11692}
11693
11694// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
11695// the ability to pass a context and additional request options.
11696//
11697// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
11698//
11699// The context must be non-nil and will be used for request cancellation. If
11700// the context is nil a panic will occur. In the future the SDK may create
11701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11702// for more information on using Contexts.
11703func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
11704	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
11705	req.SetContext(ctx)
11706	req.ApplyOptions(opts...)
11707	return out, req.Send()
11708}
11709
11710const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
11711
11712// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
11713// client's request for the GetRelationalDatabaseBundles operation. The "output" return
11714// value will be populated with the request's response once the request completes
11715// successfully.
11716//
11717// Use "Send" method on the returned Request to send the API call to the service.
11718// the "output" return value is not valid until after Send returns without error.
11719//
11720// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
11721// API call, and error handling.
11722//
11723// This method is useful when you want to inject custom logic or configuration
11724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11725//
11726//
11727//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
11728//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
11729//
11730//    err := req.Send()
11731//    if err == nil { // resp is now filled
11732//        fmt.Println(resp)
11733//    }
11734//
11735// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
11736func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
11737	op := &request.Operation{
11738		Name:       opGetRelationalDatabaseBundles,
11739		HTTPMethod: "POST",
11740		HTTPPath:   "/",
11741	}
11742
11743	if input == nil {
11744		input = &GetRelationalDatabaseBundlesInput{}
11745	}
11746
11747	output = &GetRelationalDatabaseBundlesOutput{}
11748	req = c.newRequest(op, input, output)
11749	return
11750}
11751
11752// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
11753//
11754// Returns the list of bundles that are available in Amazon Lightsail. A bundle
11755// describes the performance specifications for a database.
11756//
11757// You can use a bundle ID to create a new database with explicit performance
11758// specifications.
11759//
11760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11761// with awserr.Error's Code and Message methods to get detailed information about
11762// the error.
11763//
11764// See the AWS API reference guide for Amazon Lightsail's
11765// API operation GetRelationalDatabaseBundles for usage and error information.
11766//
11767// Returned Error Types:
11768//   * ServiceException
11769//   A general service exception.
11770//
11771//   * InvalidInputException
11772//   Lightsail throws this exception when user input does not conform to the validation
11773//   rules of an input field.
11774//
11775//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11776//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11777//   view, or edit these resources.
11778//
11779//   * NotFoundException
11780//   Lightsail throws this exception when it cannot find a resource.
11781//
11782//   * OperationFailureException
11783//   Lightsail throws this exception when an operation fails to execute.
11784//
11785//   * AccessDeniedException
11786//   Lightsail throws this exception when the user cannot be authenticated or
11787//   uses invalid credentials to access a resource.
11788//
11789//   * AccountSetupInProgressException
11790//   Lightsail throws this exception when an account is still in the setup in
11791//   progress state.
11792//
11793//   * UnauthenticatedException
11794//   Lightsail throws this exception when the user has not been authenticated.
11795//
11796// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
11797func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
11798	req, out := c.GetRelationalDatabaseBundlesRequest(input)
11799	return out, req.Send()
11800}
11801
11802// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
11803// the ability to pass a context and additional request options.
11804//
11805// See GetRelationalDatabaseBundles for details on how to use this API operation.
11806//
11807// The context must be non-nil and will be used for request cancellation. If
11808// the context is nil a panic will occur. In the future the SDK may create
11809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11810// for more information on using Contexts.
11811func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
11812	req, out := c.GetRelationalDatabaseBundlesRequest(input)
11813	req.SetContext(ctx)
11814	req.ApplyOptions(opts...)
11815	return out, req.Send()
11816}
11817
11818const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
11819
11820// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
11821// client's request for the GetRelationalDatabaseEvents operation. The "output" return
11822// value will be populated with the request's response once the request completes
11823// successfully.
11824//
11825// Use "Send" method on the returned Request to send the API call to the service.
11826// the "output" return value is not valid until after Send returns without error.
11827//
11828// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
11829// API call, and error handling.
11830//
11831// This method is useful when you want to inject custom logic or configuration
11832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11833//
11834//
11835//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
11836//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
11837//
11838//    err := req.Send()
11839//    if err == nil { // resp is now filled
11840//        fmt.Println(resp)
11841//    }
11842//
11843// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
11844func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
11845	op := &request.Operation{
11846		Name:       opGetRelationalDatabaseEvents,
11847		HTTPMethod: "POST",
11848		HTTPPath:   "/",
11849	}
11850
11851	if input == nil {
11852		input = &GetRelationalDatabaseEventsInput{}
11853	}
11854
11855	output = &GetRelationalDatabaseEventsOutput{}
11856	req = c.newRequest(op, input, output)
11857	return
11858}
11859
11860// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
11861//
11862// Returns a list of events for a specific database in Amazon Lightsail.
11863//
11864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11865// with awserr.Error's Code and Message methods to get detailed information about
11866// the error.
11867//
11868// See the AWS API reference guide for Amazon Lightsail's
11869// API operation GetRelationalDatabaseEvents for usage and error information.
11870//
11871// Returned Error Types:
11872//   * ServiceException
11873//   A general service exception.
11874//
11875//   * InvalidInputException
11876//   Lightsail throws this exception when user input does not conform to the validation
11877//   rules of an input field.
11878//
11879//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11880//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11881//   view, or edit these resources.
11882//
11883//   * NotFoundException
11884//   Lightsail throws this exception when it cannot find a resource.
11885//
11886//   * OperationFailureException
11887//   Lightsail throws this exception when an operation fails to execute.
11888//
11889//   * AccessDeniedException
11890//   Lightsail throws this exception when the user cannot be authenticated or
11891//   uses invalid credentials to access a resource.
11892//
11893//   * AccountSetupInProgressException
11894//   Lightsail throws this exception when an account is still in the setup in
11895//   progress state.
11896//
11897//   * UnauthenticatedException
11898//   Lightsail throws this exception when the user has not been authenticated.
11899//
11900// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
11901func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
11902	req, out := c.GetRelationalDatabaseEventsRequest(input)
11903	return out, req.Send()
11904}
11905
11906// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
11907// the ability to pass a context and additional request options.
11908//
11909// See GetRelationalDatabaseEvents for details on how to use this API operation.
11910//
11911// The context must be non-nil and will be used for request cancellation. If
11912// the context is nil a panic will occur. In the future the SDK may create
11913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11914// for more information on using Contexts.
11915func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
11916	req, out := c.GetRelationalDatabaseEventsRequest(input)
11917	req.SetContext(ctx)
11918	req.ApplyOptions(opts...)
11919	return out, req.Send()
11920}
11921
11922const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
11923
11924// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
11925// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
11926// value will be populated with the request's response once the request completes
11927// successfully.
11928//
11929// Use "Send" method on the returned Request to send the API call to the service.
11930// the "output" return value is not valid until after Send returns without error.
11931//
11932// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
11933// API call, and error handling.
11934//
11935// This method is useful when you want to inject custom logic or configuration
11936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11937//
11938//
11939//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
11940//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
11941//
11942//    err := req.Send()
11943//    if err == nil { // resp is now filled
11944//        fmt.Println(resp)
11945//    }
11946//
11947// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
11948func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
11949	op := &request.Operation{
11950		Name:       opGetRelationalDatabaseLogEvents,
11951		HTTPMethod: "POST",
11952		HTTPPath:   "/",
11953	}
11954
11955	if input == nil {
11956		input = &GetRelationalDatabaseLogEventsInput{}
11957	}
11958
11959	output = &GetRelationalDatabaseLogEventsOutput{}
11960	req = c.newRequest(op, input, output)
11961	return
11962}
11963
11964// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
11965//
11966// Returns a list of log events for a database in Amazon Lightsail.
11967//
11968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11969// with awserr.Error's Code and Message methods to get detailed information about
11970// the error.
11971//
11972// See the AWS API reference guide for Amazon Lightsail's
11973// API operation GetRelationalDatabaseLogEvents for usage and error information.
11974//
11975// Returned Error Types:
11976//   * ServiceException
11977//   A general service exception.
11978//
11979//   * InvalidInputException
11980//   Lightsail throws this exception when user input does not conform to the validation
11981//   rules of an input field.
11982//
11983//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11984//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11985//   view, or edit these resources.
11986//
11987//   * NotFoundException
11988//   Lightsail throws this exception when it cannot find a resource.
11989//
11990//   * OperationFailureException
11991//   Lightsail throws this exception when an operation fails to execute.
11992//
11993//   * AccessDeniedException
11994//   Lightsail throws this exception when the user cannot be authenticated or
11995//   uses invalid credentials to access a resource.
11996//
11997//   * AccountSetupInProgressException
11998//   Lightsail throws this exception when an account is still in the setup in
11999//   progress state.
12000//
12001//   * UnauthenticatedException
12002//   Lightsail throws this exception when the user has not been authenticated.
12003//
12004// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
12005func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
12006	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
12007	return out, req.Send()
12008}
12009
12010// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
12011// the ability to pass a context and additional request options.
12012//
12013// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
12014//
12015// The context must be non-nil and will be used for request cancellation. If
12016// the context is nil a panic will occur. In the future the SDK may create
12017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12018// for more information on using Contexts.
12019func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
12020	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
12021	req.SetContext(ctx)
12022	req.ApplyOptions(opts...)
12023	return out, req.Send()
12024}
12025
12026const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
12027
12028// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
12029// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
12030// value will be populated with the request's response once the request completes
12031// successfully.
12032//
12033// Use "Send" method on the returned Request to send the API call to the service.
12034// the "output" return value is not valid until after Send returns without error.
12035//
12036// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
12037// API call, and error handling.
12038//
12039// This method is useful when you want to inject custom logic or configuration
12040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12041//
12042//
12043//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
12044//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
12045//
12046//    err := req.Send()
12047//    if err == nil { // resp is now filled
12048//        fmt.Println(resp)
12049//    }
12050//
12051// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
12052func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
12053	op := &request.Operation{
12054		Name:       opGetRelationalDatabaseLogStreams,
12055		HTTPMethod: "POST",
12056		HTTPPath:   "/",
12057	}
12058
12059	if input == nil {
12060		input = &GetRelationalDatabaseLogStreamsInput{}
12061	}
12062
12063	output = &GetRelationalDatabaseLogStreamsOutput{}
12064	req = c.newRequest(op, input, output)
12065	return
12066}
12067
12068// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
12069//
12070// Returns a list of available log streams for a specific database in Amazon
12071// Lightsail.
12072//
12073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12074// with awserr.Error's Code and Message methods to get detailed information about
12075// the error.
12076//
12077// See the AWS API reference guide for Amazon Lightsail's
12078// API operation GetRelationalDatabaseLogStreams for usage and error information.
12079//
12080// Returned Error Types:
12081//   * ServiceException
12082//   A general service exception.
12083//
12084//   * InvalidInputException
12085//   Lightsail throws this exception when user input does not conform to the validation
12086//   rules of an input field.
12087//
12088//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12089//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12090//   view, or edit these resources.
12091//
12092//   * NotFoundException
12093//   Lightsail throws this exception when it cannot find a resource.
12094//
12095//   * OperationFailureException
12096//   Lightsail throws this exception when an operation fails to execute.
12097//
12098//   * AccessDeniedException
12099//   Lightsail throws this exception when the user cannot be authenticated or
12100//   uses invalid credentials to access a resource.
12101//
12102//   * AccountSetupInProgressException
12103//   Lightsail throws this exception when an account is still in the setup in
12104//   progress state.
12105//
12106//   * UnauthenticatedException
12107//   Lightsail throws this exception when the user has not been authenticated.
12108//
12109// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
12110func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
12111	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
12112	return out, req.Send()
12113}
12114
12115// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
12116// the ability to pass a context and additional request options.
12117//
12118// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
12119//
12120// The context must be non-nil and will be used for request cancellation. If
12121// the context is nil a panic will occur. In the future the SDK may create
12122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12123// for more information on using Contexts.
12124func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
12125	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
12126	req.SetContext(ctx)
12127	req.ApplyOptions(opts...)
12128	return out, req.Send()
12129}
12130
12131const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
12132
12133// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
12134// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
12135// value will be populated with the request's response once the request completes
12136// successfully.
12137//
12138// Use "Send" method on the returned Request to send the API call to the service.
12139// the "output" return value is not valid until after Send returns without error.
12140//
12141// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
12142// API call, and error handling.
12143//
12144// This method is useful when you want to inject custom logic or configuration
12145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12146//
12147//
12148//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
12149//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
12150//
12151//    err := req.Send()
12152//    if err == nil { // resp is now filled
12153//        fmt.Println(resp)
12154//    }
12155//
12156// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
12157func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
12158	op := &request.Operation{
12159		Name:       opGetRelationalDatabaseMasterUserPassword,
12160		HTTPMethod: "POST",
12161		HTTPPath:   "/",
12162	}
12163
12164	if input == nil {
12165		input = &GetRelationalDatabaseMasterUserPasswordInput{}
12166	}
12167
12168	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
12169	req = c.newRequest(op, input, output)
12170	return
12171}
12172
12173// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
12174//
12175// Returns the current, previous, or pending versions of the master user password
12176// for a Lightsail database.
12177//
12178// The GetRelationalDatabaseMasterUserPassword operation supports tag-based
12179// access control via resource tags applied to the resource identified by relationalDatabaseName.
12180//
12181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12182// with awserr.Error's Code and Message methods to get detailed information about
12183// the error.
12184//
12185// See the AWS API reference guide for Amazon Lightsail's
12186// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
12187//
12188// Returned Error Types:
12189//   * ServiceException
12190//   A general service exception.
12191//
12192//   * InvalidInputException
12193//   Lightsail throws this exception when user input does not conform to the validation
12194//   rules of an input field.
12195//
12196//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12197//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12198//   view, or edit these resources.
12199//
12200//   * NotFoundException
12201//   Lightsail throws this exception when it cannot find a resource.
12202//
12203//   * OperationFailureException
12204//   Lightsail throws this exception when an operation fails to execute.
12205//
12206//   * AccessDeniedException
12207//   Lightsail throws this exception when the user cannot be authenticated or
12208//   uses invalid credentials to access a resource.
12209//
12210//   * AccountSetupInProgressException
12211//   Lightsail throws this exception when an account is still in the setup in
12212//   progress state.
12213//
12214//   * UnauthenticatedException
12215//   Lightsail throws this exception when the user has not been authenticated.
12216//
12217// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
12218func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
12219	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
12220	return out, req.Send()
12221}
12222
12223// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
12224// the ability to pass a context and additional request options.
12225//
12226// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
12227//
12228// The context must be non-nil and will be used for request cancellation. If
12229// the context is nil a panic will occur. In the future the SDK may create
12230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12231// for more information on using Contexts.
12232func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
12233	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
12234	req.SetContext(ctx)
12235	req.ApplyOptions(opts...)
12236	return out, req.Send()
12237}
12238
12239const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
12240
12241// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
12242// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
12243// value will be populated with the request's response once the request completes
12244// successfully.
12245//
12246// Use "Send" method on the returned Request to send the API call to the service.
12247// the "output" return value is not valid until after Send returns without error.
12248//
12249// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
12250// API call, and error handling.
12251//
12252// This method is useful when you want to inject custom logic or configuration
12253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12254//
12255//
12256//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
12257//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
12258//
12259//    err := req.Send()
12260//    if err == nil { // resp is now filled
12261//        fmt.Println(resp)
12262//    }
12263//
12264// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
12265func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
12266	op := &request.Operation{
12267		Name:       opGetRelationalDatabaseMetricData,
12268		HTTPMethod: "POST",
12269		HTTPPath:   "/",
12270	}
12271
12272	if input == nil {
12273		input = &GetRelationalDatabaseMetricDataInput{}
12274	}
12275
12276	output = &GetRelationalDatabaseMetricDataOutput{}
12277	req = c.newRequest(op, input, output)
12278	return
12279}
12280
12281// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
12282//
12283// Returns the data points of the specified metric for a database in Amazon
12284// Lightsail.
12285//
12286// Metrics report the utilization of your resources, and the error counts generated
12287// by them. Monitor and collect metric data regularly to maintain the reliability,
12288// availability, and performance of your resources.
12289//
12290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12291// with awserr.Error's Code and Message methods to get detailed information about
12292// the error.
12293//
12294// See the AWS API reference guide for Amazon Lightsail's
12295// API operation GetRelationalDatabaseMetricData for usage and error information.
12296//
12297// Returned Error Types:
12298//   * ServiceException
12299//   A general service exception.
12300//
12301//   * InvalidInputException
12302//   Lightsail throws this exception when user input does not conform to the validation
12303//   rules of an input field.
12304//
12305//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12306//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12307//   view, or edit these resources.
12308//
12309//   * NotFoundException
12310//   Lightsail throws this exception when it cannot find a resource.
12311//
12312//   * OperationFailureException
12313//   Lightsail throws this exception when an operation fails to execute.
12314//
12315//   * AccessDeniedException
12316//   Lightsail throws this exception when the user cannot be authenticated or
12317//   uses invalid credentials to access a resource.
12318//
12319//   * AccountSetupInProgressException
12320//   Lightsail throws this exception when an account is still in the setup in
12321//   progress state.
12322//
12323//   * UnauthenticatedException
12324//   Lightsail throws this exception when the user has not been authenticated.
12325//
12326// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
12327func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
12328	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
12329	return out, req.Send()
12330}
12331
12332// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
12333// the ability to pass a context and additional request options.
12334//
12335// See GetRelationalDatabaseMetricData for details on how to use this API operation.
12336//
12337// The context must be non-nil and will be used for request cancellation. If
12338// the context is nil a panic will occur. In the future the SDK may create
12339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12340// for more information on using Contexts.
12341func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
12342	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
12343	req.SetContext(ctx)
12344	req.ApplyOptions(opts...)
12345	return out, req.Send()
12346}
12347
12348const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
12349
12350// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
12351// client's request for the GetRelationalDatabaseParameters operation. The "output" return
12352// value will be populated with the request's response once the request completes
12353// successfully.
12354//
12355// Use "Send" method on the returned Request to send the API call to the service.
12356// the "output" return value is not valid until after Send returns without error.
12357//
12358// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
12359// API call, and error handling.
12360//
12361// This method is useful when you want to inject custom logic or configuration
12362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12363//
12364//
12365//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
12366//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
12367//
12368//    err := req.Send()
12369//    if err == nil { // resp is now filled
12370//        fmt.Println(resp)
12371//    }
12372//
12373// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
12374func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
12375	op := &request.Operation{
12376		Name:       opGetRelationalDatabaseParameters,
12377		HTTPMethod: "POST",
12378		HTTPPath:   "/",
12379	}
12380
12381	if input == nil {
12382		input = &GetRelationalDatabaseParametersInput{}
12383	}
12384
12385	output = &GetRelationalDatabaseParametersOutput{}
12386	req = c.newRequest(op, input, output)
12387	return
12388}
12389
12390// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
12391//
12392// Returns all of the runtime parameters offered by the underlying database
12393// software, or engine, for a specific database in Amazon Lightsail.
12394//
12395// In addition to the parameter names and values, this operation returns other
12396// information about each parameter. This information includes whether changes
12397// require a reboot, whether the parameter is modifiable, the allowed values,
12398// and the data types.
12399//
12400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12401// with awserr.Error's Code and Message methods to get detailed information about
12402// the error.
12403//
12404// See the AWS API reference guide for Amazon Lightsail's
12405// API operation GetRelationalDatabaseParameters for usage and error information.
12406//
12407// Returned Error Types:
12408//   * ServiceException
12409//   A general service exception.
12410//
12411//   * InvalidInputException
12412//   Lightsail throws this exception when user input does not conform to the validation
12413//   rules of an input field.
12414//
12415//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12416//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12417//   view, or edit these resources.
12418//
12419//   * NotFoundException
12420//   Lightsail throws this exception when it cannot find a resource.
12421//
12422//   * OperationFailureException
12423//   Lightsail throws this exception when an operation fails to execute.
12424//
12425//   * AccessDeniedException
12426//   Lightsail throws this exception when the user cannot be authenticated or
12427//   uses invalid credentials to access a resource.
12428//
12429//   * AccountSetupInProgressException
12430//   Lightsail throws this exception when an account is still in the setup in
12431//   progress state.
12432//
12433//   * UnauthenticatedException
12434//   Lightsail throws this exception when the user has not been authenticated.
12435//
12436// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
12437func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
12438	req, out := c.GetRelationalDatabaseParametersRequest(input)
12439	return out, req.Send()
12440}
12441
12442// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
12443// the ability to pass a context and additional request options.
12444//
12445// See GetRelationalDatabaseParameters for details on how to use this API operation.
12446//
12447// The context must be non-nil and will be used for request cancellation. If
12448// the context is nil a panic will occur. In the future the SDK may create
12449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12450// for more information on using Contexts.
12451func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
12452	req, out := c.GetRelationalDatabaseParametersRequest(input)
12453	req.SetContext(ctx)
12454	req.ApplyOptions(opts...)
12455	return out, req.Send()
12456}
12457
12458const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
12459
12460// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
12461// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
12462// value will be populated with the request's response once the request completes
12463// successfully.
12464//
12465// Use "Send" method on the returned Request to send the API call to the service.
12466// the "output" return value is not valid until after Send returns without error.
12467//
12468// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
12469// API call, and error handling.
12470//
12471// This method is useful when you want to inject custom logic or configuration
12472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12473//
12474//
12475//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
12476//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
12477//
12478//    err := req.Send()
12479//    if err == nil { // resp is now filled
12480//        fmt.Println(resp)
12481//    }
12482//
12483// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
12484func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
12485	op := &request.Operation{
12486		Name:       opGetRelationalDatabaseSnapshot,
12487		HTTPMethod: "POST",
12488		HTTPPath:   "/",
12489	}
12490
12491	if input == nil {
12492		input = &GetRelationalDatabaseSnapshotInput{}
12493	}
12494
12495	output = &GetRelationalDatabaseSnapshotOutput{}
12496	req = c.newRequest(op, input, output)
12497	return
12498}
12499
12500// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
12501//
12502// Returns information about a specific database snapshot in Amazon Lightsail.
12503//
12504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12505// with awserr.Error's Code and Message methods to get detailed information about
12506// the error.
12507//
12508// See the AWS API reference guide for Amazon Lightsail's
12509// API operation GetRelationalDatabaseSnapshot for usage and error information.
12510//
12511// Returned Error Types:
12512//   * ServiceException
12513//   A general service exception.
12514//
12515//   * InvalidInputException
12516//   Lightsail throws this exception when user input does not conform to the validation
12517//   rules of an input field.
12518//
12519//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12520//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12521//   view, or edit these resources.
12522//
12523//   * NotFoundException
12524//   Lightsail throws this exception when it cannot find a resource.
12525//
12526//   * OperationFailureException
12527//   Lightsail throws this exception when an operation fails to execute.
12528//
12529//   * AccessDeniedException
12530//   Lightsail throws this exception when the user cannot be authenticated or
12531//   uses invalid credentials to access a resource.
12532//
12533//   * AccountSetupInProgressException
12534//   Lightsail throws this exception when an account is still in the setup in
12535//   progress state.
12536//
12537//   * UnauthenticatedException
12538//   Lightsail throws this exception when the user has not been authenticated.
12539//
12540// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
12541func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
12542	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
12543	return out, req.Send()
12544}
12545
12546// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
12547// the ability to pass a context and additional request options.
12548//
12549// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
12550//
12551// The context must be non-nil and will be used for request cancellation. If
12552// the context is nil a panic will occur. In the future the SDK may create
12553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12554// for more information on using Contexts.
12555func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
12556	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
12557	req.SetContext(ctx)
12558	req.ApplyOptions(opts...)
12559	return out, req.Send()
12560}
12561
12562const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
12563
12564// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
12565// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
12566// value will be populated with the request's response once the request completes
12567// successfully.
12568//
12569// Use "Send" method on the returned Request to send the API call to the service.
12570// the "output" return value is not valid until after Send returns without error.
12571//
12572// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
12573// API call, and error handling.
12574//
12575// This method is useful when you want to inject custom logic or configuration
12576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12577//
12578//
12579//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
12580//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
12581//
12582//    err := req.Send()
12583//    if err == nil { // resp is now filled
12584//        fmt.Println(resp)
12585//    }
12586//
12587// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
12588func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
12589	op := &request.Operation{
12590		Name:       opGetRelationalDatabaseSnapshots,
12591		HTTPMethod: "POST",
12592		HTTPPath:   "/",
12593	}
12594
12595	if input == nil {
12596		input = &GetRelationalDatabaseSnapshotsInput{}
12597	}
12598
12599	output = &GetRelationalDatabaseSnapshotsOutput{}
12600	req = c.newRequest(op, input, output)
12601	return
12602}
12603
12604// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
12605//
12606// Returns information about all of your database snapshots in Amazon Lightsail.
12607//
12608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12609// with awserr.Error's Code and Message methods to get detailed information about
12610// the error.
12611//
12612// See the AWS API reference guide for Amazon Lightsail's
12613// API operation GetRelationalDatabaseSnapshots for usage and error information.
12614//
12615// Returned Error Types:
12616//   * ServiceException
12617//   A general service exception.
12618//
12619//   * InvalidInputException
12620//   Lightsail throws this exception when user input does not conform to the validation
12621//   rules of an input field.
12622//
12623//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12624//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12625//   view, or edit these resources.
12626//
12627//   * NotFoundException
12628//   Lightsail throws this exception when it cannot find a resource.
12629//
12630//   * OperationFailureException
12631//   Lightsail throws this exception when an operation fails to execute.
12632//
12633//   * AccessDeniedException
12634//   Lightsail throws this exception when the user cannot be authenticated or
12635//   uses invalid credentials to access a resource.
12636//
12637//   * AccountSetupInProgressException
12638//   Lightsail throws this exception when an account is still in the setup in
12639//   progress state.
12640//
12641//   * UnauthenticatedException
12642//   Lightsail throws this exception when the user has not been authenticated.
12643//
12644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
12645func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
12646	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
12647	return out, req.Send()
12648}
12649
12650// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
12651// the ability to pass a context and additional request options.
12652//
12653// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
12654//
12655// The context must be non-nil and will be used for request cancellation. If
12656// the context is nil a panic will occur. In the future the SDK may create
12657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12658// for more information on using Contexts.
12659func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
12660	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
12661	req.SetContext(ctx)
12662	req.ApplyOptions(opts...)
12663	return out, req.Send()
12664}
12665
12666const opGetRelationalDatabases = "GetRelationalDatabases"
12667
12668// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
12669// client's request for the GetRelationalDatabases operation. The "output" return
12670// value will be populated with the request's response once the request completes
12671// successfully.
12672//
12673// Use "Send" method on the returned Request to send the API call to the service.
12674// the "output" return value is not valid until after Send returns without error.
12675//
12676// See GetRelationalDatabases for more information on using the GetRelationalDatabases
12677// API call, and error handling.
12678//
12679// This method is useful when you want to inject custom logic or configuration
12680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12681//
12682//
12683//    // Example sending a request using the GetRelationalDatabasesRequest method.
12684//    req, resp := client.GetRelationalDatabasesRequest(params)
12685//
12686//    err := req.Send()
12687//    if err == nil { // resp is now filled
12688//        fmt.Println(resp)
12689//    }
12690//
12691// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
12692func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
12693	op := &request.Operation{
12694		Name:       opGetRelationalDatabases,
12695		HTTPMethod: "POST",
12696		HTTPPath:   "/",
12697	}
12698
12699	if input == nil {
12700		input = &GetRelationalDatabasesInput{}
12701	}
12702
12703	output = &GetRelationalDatabasesOutput{}
12704	req = c.newRequest(op, input, output)
12705	return
12706}
12707
12708// GetRelationalDatabases API operation for Amazon Lightsail.
12709//
12710// Returns information about all of your databases in Amazon Lightsail.
12711//
12712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12713// with awserr.Error's Code and Message methods to get detailed information about
12714// the error.
12715//
12716// See the AWS API reference guide for Amazon Lightsail's
12717// API operation GetRelationalDatabases for usage and error information.
12718//
12719// Returned Error Types:
12720//   * ServiceException
12721//   A general service exception.
12722//
12723//   * InvalidInputException
12724//   Lightsail throws this exception when user input does not conform to the validation
12725//   rules of an input field.
12726//
12727//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12728//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12729//   view, or edit these resources.
12730//
12731//   * NotFoundException
12732//   Lightsail throws this exception when it cannot find a resource.
12733//
12734//   * OperationFailureException
12735//   Lightsail throws this exception when an operation fails to execute.
12736//
12737//   * AccessDeniedException
12738//   Lightsail throws this exception when the user cannot be authenticated or
12739//   uses invalid credentials to access a resource.
12740//
12741//   * AccountSetupInProgressException
12742//   Lightsail throws this exception when an account is still in the setup in
12743//   progress state.
12744//
12745//   * UnauthenticatedException
12746//   Lightsail throws this exception when the user has not been authenticated.
12747//
12748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
12749func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
12750	req, out := c.GetRelationalDatabasesRequest(input)
12751	return out, req.Send()
12752}
12753
12754// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
12755// the ability to pass a context and additional request options.
12756//
12757// See GetRelationalDatabases for details on how to use this API operation.
12758//
12759// The context must be non-nil and will be used for request cancellation. If
12760// the context is nil a panic will occur. In the future the SDK may create
12761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12762// for more information on using Contexts.
12763func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
12764	req, out := c.GetRelationalDatabasesRequest(input)
12765	req.SetContext(ctx)
12766	req.ApplyOptions(opts...)
12767	return out, req.Send()
12768}
12769
12770const opGetStaticIp = "GetStaticIp"
12771
12772// GetStaticIpRequest generates a "aws/request.Request" representing the
12773// client's request for the GetStaticIp operation. The "output" return
12774// value will be populated with the request's response once the request completes
12775// successfully.
12776//
12777// Use "Send" method on the returned Request to send the API call to the service.
12778// the "output" return value is not valid until after Send returns without error.
12779//
12780// See GetStaticIp for more information on using the GetStaticIp
12781// API call, and error handling.
12782//
12783// This method is useful when you want to inject custom logic or configuration
12784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12785//
12786//
12787//    // Example sending a request using the GetStaticIpRequest method.
12788//    req, resp := client.GetStaticIpRequest(params)
12789//
12790//    err := req.Send()
12791//    if err == nil { // resp is now filled
12792//        fmt.Println(resp)
12793//    }
12794//
12795// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
12796func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
12797	op := &request.Operation{
12798		Name:       opGetStaticIp,
12799		HTTPMethod: "POST",
12800		HTTPPath:   "/",
12801	}
12802
12803	if input == nil {
12804		input = &GetStaticIpInput{}
12805	}
12806
12807	output = &GetStaticIpOutput{}
12808	req = c.newRequest(op, input, output)
12809	return
12810}
12811
12812// GetStaticIp API operation for Amazon Lightsail.
12813//
12814// Returns information about an Amazon Lightsail static IP.
12815//
12816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12817// with awserr.Error's Code and Message methods to get detailed information about
12818// the error.
12819//
12820// See the AWS API reference guide for Amazon Lightsail's
12821// API operation GetStaticIp for usage and error information.
12822//
12823// Returned Error Types:
12824//   * ServiceException
12825//   A general service exception.
12826//
12827//   * InvalidInputException
12828//   Lightsail throws this exception when user input does not conform to the validation
12829//   rules of an input field.
12830//
12831//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12832//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12833//   view, or edit these resources.
12834//
12835//   * NotFoundException
12836//   Lightsail throws this exception when it cannot find a resource.
12837//
12838//   * OperationFailureException
12839//   Lightsail throws this exception when an operation fails to execute.
12840//
12841//   * AccessDeniedException
12842//   Lightsail throws this exception when the user cannot be authenticated or
12843//   uses invalid credentials to access a resource.
12844//
12845//   * AccountSetupInProgressException
12846//   Lightsail throws this exception when an account is still in the setup in
12847//   progress state.
12848//
12849//   * UnauthenticatedException
12850//   Lightsail throws this exception when the user has not been authenticated.
12851//
12852// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
12853func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
12854	req, out := c.GetStaticIpRequest(input)
12855	return out, req.Send()
12856}
12857
12858// GetStaticIpWithContext is the same as GetStaticIp with the addition of
12859// the ability to pass a context and additional request options.
12860//
12861// See GetStaticIp for details on how to use this API operation.
12862//
12863// The context must be non-nil and will be used for request cancellation. If
12864// the context is nil a panic will occur. In the future the SDK may create
12865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12866// for more information on using Contexts.
12867func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
12868	req, out := c.GetStaticIpRequest(input)
12869	req.SetContext(ctx)
12870	req.ApplyOptions(opts...)
12871	return out, req.Send()
12872}
12873
12874const opGetStaticIps = "GetStaticIps"
12875
12876// GetStaticIpsRequest generates a "aws/request.Request" representing the
12877// client's request for the GetStaticIps operation. The "output" return
12878// value will be populated with the request's response once the request completes
12879// successfully.
12880//
12881// Use "Send" method on the returned Request to send the API call to the service.
12882// the "output" return value is not valid until after Send returns without error.
12883//
12884// See GetStaticIps for more information on using the GetStaticIps
12885// API call, and error handling.
12886//
12887// This method is useful when you want to inject custom logic or configuration
12888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12889//
12890//
12891//    // Example sending a request using the GetStaticIpsRequest method.
12892//    req, resp := client.GetStaticIpsRequest(params)
12893//
12894//    err := req.Send()
12895//    if err == nil { // resp is now filled
12896//        fmt.Println(resp)
12897//    }
12898//
12899// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
12900func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
12901	op := &request.Operation{
12902		Name:       opGetStaticIps,
12903		HTTPMethod: "POST",
12904		HTTPPath:   "/",
12905	}
12906
12907	if input == nil {
12908		input = &GetStaticIpsInput{}
12909	}
12910
12911	output = &GetStaticIpsOutput{}
12912	req = c.newRequest(op, input, output)
12913	return
12914}
12915
12916// GetStaticIps API operation for Amazon Lightsail.
12917//
12918// Returns information about all static IPs in the user's account.
12919//
12920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12921// with awserr.Error's Code and Message methods to get detailed information about
12922// the error.
12923//
12924// See the AWS API reference guide for Amazon Lightsail's
12925// API operation GetStaticIps for usage and error information.
12926//
12927// Returned Error Types:
12928//   * ServiceException
12929//   A general service exception.
12930//
12931//   * InvalidInputException
12932//   Lightsail throws this exception when user input does not conform to the validation
12933//   rules of an input field.
12934//
12935//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12936//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12937//   view, or edit these resources.
12938//
12939//   * NotFoundException
12940//   Lightsail throws this exception when it cannot find a resource.
12941//
12942//   * OperationFailureException
12943//   Lightsail throws this exception when an operation fails to execute.
12944//
12945//   * AccessDeniedException
12946//   Lightsail throws this exception when the user cannot be authenticated or
12947//   uses invalid credentials to access a resource.
12948//
12949//   * AccountSetupInProgressException
12950//   Lightsail throws this exception when an account is still in the setup in
12951//   progress state.
12952//
12953//   * UnauthenticatedException
12954//   Lightsail throws this exception when the user has not been authenticated.
12955//
12956// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
12957func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
12958	req, out := c.GetStaticIpsRequest(input)
12959	return out, req.Send()
12960}
12961
12962// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
12963// the ability to pass a context and additional request options.
12964//
12965// See GetStaticIps for details on how to use this API operation.
12966//
12967// The context must be non-nil and will be used for request cancellation. If
12968// the context is nil a panic will occur. In the future the SDK may create
12969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12970// for more information on using Contexts.
12971func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
12972	req, out := c.GetStaticIpsRequest(input)
12973	req.SetContext(ctx)
12974	req.ApplyOptions(opts...)
12975	return out, req.Send()
12976}
12977
12978const opImportKeyPair = "ImportKeyPair"
12979
12980// ImportKeyPairRequest generates a "aws/request.Request" representing the
12981// client's request for the ImportKeyPair operation. The "output" return
12982// value will be populated with the request's response once the request completes
12983// successfully.
12984//
12985// Use "Send" method on the returned Request to send the API call to the service.
12986// the "output" return value is not valid until after Send returns without error.
12987//
12988// See ImportKeyPair for more information on using the ImportKeyPair
12989// API call, and error handling.
12990//
12991// This method is useful when you want to inject custom logic or configuration
12992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12993//
12994//
12995//    // Example sending a request using the ImportKeyPairRequest method.
12996//    req, resp := client.ImportKeyPairRequest(params)
12997//
12998//    err := req.Send()
12999//    if err == nil { // resp is now filled
13000//        fmt.Println(resp)
13001//    }
13002//
13003// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
13004func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
13005	op := &request.Operation{
13006		Name:       opImportKeyPair,
13007		HTTPMethod: "POST",
13008		HTTPPath:   "/",
13009	}
13010
13011	if input == nil {
13012		input = &ImportKeyPairInput{}
13013	}
13014
13015	output = &ImportKeyPairOutput{}
13016	req = c.newRequest(op, input, output)
13017	return
13018}
13019
13020// ImportKeyPair API operation for Amazon Lightsail.
13021//
13022// Imports a public SSH key from a specific key pair.
13023//
13024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13025// with awserr.Error's Code and Message methods to get detailed information about
13026// the error.
13027//
13028// See the AWS API reference guide for Amazon Lightsail's
13029// API operation ImportKeyPair for usage and error information.
13030//
13031// Returned Error Types:
13032//   * ServiceException
13033//   A general service exception.
13034//
13035//   * InvalidInputException
13036//   Lightsail throws this exception when user input does not conform to the validation
13037//   rules of an input field.
13038//
13039//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13040//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13041//   view, or edit these resources.
13042//
13043//   * NotFoundException
13044//   Lightsail throws this exception when it cannot find a resource.
13045//
13046//   * OperationFailureException
13047//   Lightsail throws this exception when an operation fails to execute.
13048//
13049//   * AccessDeniedException
13050//   Lightsail throws this exception when the user cannot be authenticated or
13051//   uses invalid credentials to access a resource.
13052//
13053//   * AccountSetupInProgressException
13054//   Lightsail throws this exception when an account is still in the setup in
13055//   progress state.
13056//
13057//   * UnauthenticatedException
13058//   Lightsail throws this exception when the user has not been authenticated.
13059//
13060// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
13061func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
13062	req, out := c.ImportKeyPairRequest(input)
13063	return out, req.Send()
13064}
13065
13066// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
13067// the ability to pass a context and additional request options.
13068//
13069// See ImportKeyPair for details on how to use this API operation.
13070//
13071// The context must be non-nil and will be used for request cancellation. If
13072// the context is nil a panic will occur. In the future the SDK may create
13073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13074// for more information on using Contexts.
13075func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
13076	req, out := c.ImportKeyPairRequest(input)
13077	req.SetContext(ctx)
13078	req.ApplyOptions(opts...)
13079	return out, req.Send()
13080}
13081
13082const opIsVpcPeered = "IsVpcPeered"
13083
13084// IsVpcPeeredRequest generates a "aws/request.Request" representing the
13085// client's request for the IsVpcPeered operation. The "output" return
13086// value will be populated with the request's response once the request completes
13087// successfully.
13088//
13089// Use "Send" method on the returned Request to send the API call to the service.
13090// the "output" return value is not valid until after Send returns without error.
13091//
13092// See IsVpcPeered for more information on using the IsVpcPeered
13093// API call, and error handling.
13094//
13095// This method is useful when you want to inject custom logic or configuration
13096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13097//
13098//
13099//    // Example sending a request using the IsVpcPeeredRequest method.
13100//    req, resp := client.IsVpcPeeredRequest(params)
13101//
13102//    err := req.Send()
13103//    if err == nil { // resp is now filled
13104//        fmt.Println(resp)
13105//    }
13106//
13107// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
13108func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
13109	op := &request.Operation{
13110		Name:       opIsVpcPeered,
13111		HTTPMethod: "POST",
13112		HTTPPath:   "/",
13113	}
13114
13115	if input == nil {
13116		input = &IsVpcPeeredInput{}
13117	}
13118
13119	output = &IsVpcPeeredOutput{}
13120	req = c.newRequest(op, input, output)
13121	return
13122}
13123
13124// IsVpcPeered API operation for Amazon Lightsail.
13125//
13126// Returns a Boolean value indicating whether your Lightsail VPC is peered.
13127//
13128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13129// with awserr.Error's Code and Message methods to get detailed information about
13130// the error.
13131//
13132// See the AWS API reference guide for Amazon Lightsail's
13133// API operation IsVpcPeered for usage and error information.
13134//
13135// Returned Error Types:
13136//   * ServiceException
13137//   A general service exception.
13138//
13139//   * InvalidInputException
13140//   Lightsail throws this exception when user input does not conform to the validation
13141//   rules of an input field.
13142//
13143//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13144//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13145//   view, or edit these resources.
13146//
13147//   * NotFoundException
13148//   Lightsail throws this exception when it cannot find a resource.
13149//
13150//   * OperationFailureException
13151//   Lightsail throws this exception when an operation fails to execute.
13152//
13153//   * AccessDeniedException
13154//   Lightsail throws this exception when the user cannot be authenticated or
13155//   uses invalid credentials to access a resource.
13156//
13157//   * AccountSetupInProgressException
13158//   Lightsail throws this exception when an account is still in the setup in
13159//   progress state.
13160//
13161//   * UnauthenticatedException
13162//   Lightsail throws this exception when the user has not been authenticated.
13163//
13164// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
13165func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
13166	req, out := c.IsVpcPeeredRequest(input)
13167	return out, req.Send()
13168}
13169
13170// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
13171// the ability to pass a context and additional request options.
13172//
13173// See IsVpcPeered for details on how to use this API operation.
13174//
13175// The context must be non-nil and will be used for request cancellation. If
13176// the context is nil a panic will occur. In the future the SDK may create
13177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13178// for more information on using Contexts.
13179func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
13180	req, out := c.IsVpcPeeredRequest(input)
13181	req.SetContext(ctx)
13182	req.ApplyOptions(opts...)
13183	return out, req.Send()
13184}
13185
13186const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
13187
13188// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
13189// client's request for the OpenInstancePublicPorts operation. The "output" return
13190// value will be populated with the request's response once the request completes
13191// successfully.
13192//
13193// Use "Send" method on the returned Request to send the API call to the service.
13194// the "output" return value is not valid until after Send returns without error.
13195//
13196// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
13197// API call, and error handling.
13198//
13199// This method is useful when you want to inject custom logic or configuration
13200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13201//
13202//
13203//    // Example sending a request using the OpenInstancePublicPortsRequest method.
13204//    req, resp := client.OpenInstancePublicPortsRequest(params)
13205//
13206//    err := req.Send()
13207//    if err == nil { // resp is now filled
13208//        fmt.Println(resp)
13209//    }
13210//
13211// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
13212func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
13213	op := &request.Operation{
13214		Name:       opOpenInstancePublicPorts,
13215		HTTPMethod: "POST",
13216		HTTPPath:   "/",
13217	}
13218
13219	if input == nil {
13220		input = &OpenInstancePublicPortsInput{}
13221	}
13222
13223	output = &OpenInstancePublicPortsOutput{}
13224	req = c.newRequest(op, input, output)
13225	return
13226}
13227
13228// OpenInstancePublicPorts API operation for Amazon Lightsail.
13229//
13230// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
13231// addresses allowed to connect to the instance through the ports, and the protocol.
13232//
13233// The OpenInstancePublicPorts action supports tag-based access control via
13234// resource tags applied to the resource identified by instanceName. For more
13235// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
13236//
13237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13238// with awserr.Error's Code and Message methods to get detailed information about
13239// the error.
13240//
13241// See the AWS API reference guide for Amazon Lightsail's
13242// API operation OpenInstancePublicPorts for usage and error information.
13243//
13244// Returned Error Types:
13245//   * ServiceException
13246//   A general service exception.
13247//
13248//   * InvalidInputException
13249//   Lightsail throws this exception when user input does not conform to the validation
13250//   rules of an input field.
13251//
13252//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13253//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13254//   view, or edit these resources.
13255//
13256//   * NotFoundException
13257//   Lightsail throws this exception when it cannot find a resource.
13258//
13259//   * OperationFailureException
13260//   Lightsail throws this exception when an operation fails to execute.
13261//
13262//   * AccessDeniedException
13263//   Lightsail throws this exception when the user cannot be authenticated or
13264//   uses invalid credentials to access a resource.
13265//
13266//   * AccountSetupInProgressException
13267//   Lightsail throws this exception when an account is still in the setup in
13268//   progress state.
13269//
13270//   * UnauthenticatedException
13271//   Lightsail throws this exception when the user has not been authenticated.
13272//
13273// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
13274func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
13275	req, out := c.OpenInstancePublicPortsRequest(input)
13276	return out, req.Send()
13277}
13278
13279// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
13280// the ability to pass a context and additional request options.
13281//
13282// See OpenInstancePublicPorts for details on how to use this API operation.
13283//
13284// The context must be non-nil and will be used for request cancellation. If
13285// the context is nil a panic will occur. In the future the SDK may create
13286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13287// for more information on using Contexts.
13288func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
13289	req, out := c.OpenInstancePublicPortsRequest(input)
13290	req.SetContext(ctx)
13291	req.ApplyOptions(opts...)
13292	return out, req.Send()
13293}
13294
13295const opPeerVpc = "PeerVpc"
13296
13297// PeerVpcRequest generates a "aws/request.Request" representing the
13298// client's request for the PeerVpc operation. The "output" return
13299// value will be populated with the request's response once the request completes
13300// successfully.
13301//
13302// Use "Send" method on the returned Request to send the API call to the service.
13303// the "output" return value is not valid until after Send returns without error.
13304//
13305// See PeerVpc for more information on using the PeerVpc
13306// API call, and error handling.
13307//
13308// This method is useful when you want to inject custom logic or configuration
13309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13310//
13311//
13312//    // Example sending a request using the PeerVpcRequest method.
13313//    req, resp := client.PeerVpcRequest(params)
13314//
13315//    err := req.Send()
13316//    if err == nil { // resp is now filled
13317//        fmt.Println(resp)
13318//    }
13319//
13320// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
13321func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
13322	op := &request.Operation{
13323		Name:       opPeerVpc,
13324		HTTPMethod: "POST",
13325		HTTPPath:   "/",
13326	}
13327
13328	if input == nil {
13329		input = &PeerVpcInput{}
13330	}
13331
13332	output = &PeerVpcOutput{}
13333	req = c.newRequest(op, input, output)
13334	return
13335}
13336
13337// PeerVpc API operation for Amazon Lightsail.
13338//
13339// Peers the Lightsail VPC with the user's default VPC.
13340//
13341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13342// with awserr.Error's Code and Message methods to get detailed information about
13343// the error.
13344//
13345// See the AWS API reference guide for Amazon Lightsail's
13346// API operation PeerVpc for usage and error information.
13347//
13348// Returned Error Types:
13349//   * ServiceException
13350//   A general service exception.
13351//
13352//   * InvalidInputException
13353//   Lightsail throws this exception when user input does not conform to the validation
13354//   rules of an input field.
13355//
13356//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13357//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13358//   view, or edit these resources.
13359//
13360//   * NotFoundException
13361//   Lightsail throws this exception when it cannot find a resource.
13362//
13363//   * OperationFailureException
13364//   Lightsail throws this exception when an operation fails to execute.
13365//
13366//   * AccessDeniedException
13367//   Lightsail throws this exception when the user cannot be authenticated or
13368//   uses invalid credentials to access a resource.
13369//
13370//   * AccountSetupInProgressException
13371//   Lightsail throws this exception when an account is still in the setup in
13372//   progress state.
13373//
13374//   * UnauthenticatedException
13375//   Lightsail throws this exception when the user has not been authenticated.
13376//
13377// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
13378func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
13379	req, out := c.PeerVpcRequest(input)
13380	return out, req.Send()
13381}
13382
13383// PeerVpcWithContext is the same as PeerVpc with the addition of
13384// the ability to pass a context and additional request options.
13385//
13386// See PeerVpc for details on how to use this API operation.
13387//
13388// The context must be non-nil and will be used for request cancellation. If
13389// the context is nil a panic will occur. In the future the SDK may create
13390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13391// for more information on using Contexts.
13392func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
13393	req, out := c.PeerVpcRequest(input)
13394	req.SetContext(ctx)
13395	req.ApplyOptions(opts...)
13396	return out, req.Send()
13397}
13398
13399const opPutAlarm = "PutAlarm"
13400
13401// PutAlarmRequest generates a "aws/request.Request" representing the
13402// client's request for the PutAlarm operation. The "output" return
13403// value will be populated with the request's response once the request completes
13404// successfully.
13405//
13406// Use "Send" method on the returned Request to send the API call to the service.
13407// the "output" return value is not valid until after Send returns without error.
13408//
13409// See PutAlarm for more information on using the PutAlarm
13410// API call, and error handling.
13411//
13412// This method is useful when you want to inject custom logic or configuration
13413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13414//
13415//
13416//    // Example sending a request using the PutAlarmRequest method.
13417//    req, resp := client.PutAlarmRequest(params)
13418//
13419//    err := req.Send()
13420//    if err == nil { // resp is now filled
13421//        fmt.Println(resp)
13422//    }
13423//
13424// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
13425func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) {
13426	op := &request.Operation{
13427		Name:       opPutAlarm,
13428		HTTPMethod: "POST",
13429		HTTPPath:   "/",
13430	}
13431
13432	if input == nil {
13433		input = &PutAlarmInput{}
13434	}
13435
13436	output = &PutAlarmOutput{}
13437	req = c.newRequest(op, input, output)
13438	return
13439}
13440
13441// PutAlarm API operation for Amazon Lightsail.
13442//
13443// Creates or updates an alarm, and associates it with the specified metric.
13444//
13445// An alarm is used to monitor a single metric for one of your resources. When
13446// a metric condition is met, the alarm can notify you by email, SMS text message,
13447// and a banner displayed on the Amazon Lightsail console. For more information,
13448// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
13449//
13450// When this action creates an alarm, the alarm state is immediately set to
13451// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
13452// Any actions associated with the new state are then executed.
13453//
13454// When you update an existing alarm, its state is left unchanged, but the update
13455// completely overwrites the previous configuration of the alarm. The alarm
13456// is then evaluated with the updated configuration.
13457//
13458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13459// with awserr.Error's Code and Message methods to get detailed information about
13460// the error.
13461//
13462// See the AWS API reference guide for Amazon Lightsail's
13463// API operation PutAlarm for usage and error information.
13464//
13465// Returned Error Types:
13466//   * ServiceException
13467//   A general service exception.
13468//
13469//   * InvalidInputException
13470//   Lightsail throws this exception when user input does not conform to the validation
13471//   rules of an input field.
13472//
13473//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13474//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13475//   view, or edit these resources.
13476//
13477//   * OperationFailureException
13478//   Lightsail throws this exception when an operation fails to execute.
13479//
13480//   * AccessDeniedException
13481//   Lightsail throws this exception when the user cannot be authenticated or
13482//   uses invalid credentials to access a resource.
13483//
13484//   * UnauthenticatedException
13485//   Lightsail throws this exception when the user has not been authenticated.
13486//
13487//   * NotFoundException
13488//   Lightsail throws this exception when it cannot find a resource.
13489//
13490// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
13491func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) {
13492	req, out := c.PutAlarmRequest(input)
13493	return out, req.Send()
13494}
13495
13496// PutAlarmWithContext is the same as PutAlarm with the addition of
13497// the ability to pass a context and additional request options.
13498//
13499// See PutAlarm for details on how to use this API operation.
13500//
13501// The context must be non-nil and will be used for request cancellation. If
13502// the context is nil a panic will occur. In the future the SDK may create
13503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13504// for more information on using Contexts.
13505func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) {
13506	req, out := c.PutAlarmRequest(input)
13507	req.SetContext(ctx)
13508	req.ApplyOptions(opts...)
13509	return out, req.Send()
13510}
13511
13512const opPutInstancePublicPorts = "PutInstancePublicPorts"
13513
13514// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
13515// client's request for the PutInstancePublicPorts operation. The "output" return
13516// value will be populated with the request's response once the request completes
13517// successfully.
13518//
13519// Use "Send" method on the returned Request to send the API call to the service.
13520// the "output" return value is not valid until after Send returns without error.
13521//
13522// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
13523// API call, and error handling.
13524//
13525// This method is useful when you want to inject custom logic or configuration
13526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13527//
13528//
13529//    // Example sending a request using the PutInstancePublicPortsRequest method.
13530//    req, resp := client.PutInstancePublicPortsRequest(params)
13531//
13532//    err := req.Send()
13533//    if err == nil { // resp is now filled
13534//        fmt.Println(resp)
13535//    }
13536//
13537// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
13538func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
13539	op := &request.Operation{
13540		Name:       opPutInstancePublicPorts,
13541		HTTPMethod: "POST",
13542		HTTPPath:   "/",
13543	}
13544
13545	if input == nil {
13546		input = &PutInstancePublicPortsInput{}
13547	}
13548
13549	output = &PutInstancePublicPortsOutput{}
13550	req = c.newRequest(op, input, output)
13551	return
13552}
13553
13554// PutInstancePublicPorts API operation for Amazon Lightsail.
13555//
13556// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
13557// addresses allowed to connect to the instance through the ports, and the protocol.
13558// This action also closes all currently open ports that are not included in
13559// the request. Include all of the ports and the protocols you want to open
13560// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts
13561// action to open ports without closing currently open ports.
13562//
13563// The PutInstancePublicPorts action supports tag-based access control via resource
13564// tags applied to the resource identified by instanceName. For more information,
13565// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
13566//
13567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13568// with awserr.Error's Code and Message methods to get detailed information about
13569// the error.
13570//
13571// See the AWS API reference guide for Amazon Lightsail's
13572// API operation PutInstancePublicPorts for usage and error information.
13573//
13574// Returned Error Types:
13575//   * ServiceException
13576//   A general service exception.
13577//
13578//   * InvalidInputException
13579//   Lightsail throws this exception when user input does not conform to the validation
13580//   rules of an input field.
13581//
13582//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13583//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13584//   view, or edit these resources.
13585//
13586//   * NotFoundException
13587//   Lightsail throws this exception when it cannot find a resource.
13588//
13589//   * OperationFailureException
13590//   Lightsail throws this exception when an operation fails to execute.
13591//
13592//   * AccessDeniedException
13593//   Lightsail throws this exception when the user cannot be authenticated or
13594//   uses invalid credentials to access a resource.
13595//
13596//   * AccountSetupInProgressException
13597//   Lightsail throws this exception when an account is still in the setup in
13598//   progress state.
13599//
13600//   * UnauthenticatedException
13601//   Lightsail throws this exception when the user has not been authenticated.
13602//
13603// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
13604func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
13605	req, out := c.PutInstancePublicPortsRequest(input)
13606	return out, req.Send()
13607}
13608
13609// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
13610// the ability to pass a context and additional request options.
13611//
13612// See PutInstancePublicPorts for details on how to use this API operation.
13613//
13614// The context must be non-nil and will be used for request cancellation. If
13615// the context is nil a panic will occur. In the future the SDK may create
13616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13617// for more information on using Contexts.
13618func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
13619	req, out := c.PutInstancePublicPortsRequest(input)
13620	req.SetContext(ctx)
13621	req.ApplyOptions(opts...)
13622	return out, req.Send()
13623}
13624
13625const opRebootInstance = "RebootInstance"
13626
13627// RebootInstanceRequest generates a "aws/request.Request" representing the
13628// client's request for the RebootInstance operation. The "output" return
13629// value will be populated with the request's response once the request completes
13630// successfully.
13631//
13632// Use "Send" method on the returned Request to send the API call to the service.
13633// the "output" return value is not valid until after Send returns without error.
13634//
13635// See RebootInstance for more information on using the RebootInstance
13636// API call, and error handling.
13637//
13638// This method is useful when you want to inject custom logic or configuration
13639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13640//
13641//
13642//    // Example sending a request using the RebootInstanceRequest method.
13643//    req, resp := client.RebootInstanceRequest(params)
13644//
13645//    err := req.Send()
13646//    if err == nil { // resp is now filled
13647//        fmt.Println(resp)
13648//    }
13649//
13650// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
13651func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
13652	op := &request.Operation{
13653		Name:       opRebootInstance,
13654		HTTPMethod: "POST",
13655		HTTPPath:   "/",
13656	}
13657
13658	if input == nil {
13659		input = &RebootInstanceInput{}
13660	}
13661
13662	output = &RebootInstanceOutput{}
13663	req = c.newRequest(op, input, output)
13664	return
13665}
13666
13667// RebootInstance API operation for Amazon Lightsail.
13668//
13669// Restarts a specific instance.
13670//
13671// The reboot instance operation supports tag-based access control via resource
13672// tags applied to the resource identified by instance name. For more information,
13673// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
13674//
13675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13676// with awserr.Error's Code and Message methods to get detailed information about
13677// the error.
13678//
13679// See the AWS API reference guide for Amazon Lightsail's
13680// API operation RebootInstance for usage and error information.
13681//
13682// Returned Error Types:
13683//   * ServiceException
13684//   A general service exception.
13685//
13686//   * InvalidInputException
13687//   Lightsail throws this exception when user input does not conform to the validation
13688//   rules of an input field.
13689//
13690//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13691//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13692//   view, or edit these resources.
13693//
13694//   * NotFoundException
13695//   Lightsail throws this exception when it cannot find a resource.
13696//
13697//   * OperationFailureException
13698//   Lightsail throws this exception when an operation fails to execute.
13699//
13700//   * AccessDeniedException
13701//   Lightsail throws this exception when the user cannot be authenticated or
13702//   uses invalid credentials to access a resource.
13703//
13704//   * AccountSetupInProgressException
13705//   Lightsail throws this exception when an account is still in the setup in
13706//   progress state.
13707//
13708//   * UnauthenticatedException
13709//   Lightsail throws this exception when the user has not been authenticated.
13710//
13711// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
13712func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
13713	req, out := c.RebootInstanceRequest(input)
13714	return out, req.Send()
13715}
13716
13717// RebootInstanceWithContext is the same as RebootInstance with the addition of
13718// the ability to pass a context and additional request options.
13719//
13720// See RebootInstance for details on how to use this API operation.
13721//
13722// The context must be non-nil and will be used for request cancellation. If
13723// the context is nil a panic will occur. In the future the SDK may create
13724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13725// for more information on using Contexts.
13726func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
13727	req, out := c.RebootInstanceRequest(input)
13728	req.SetContext(ctx)
13729	req.ApplyOptions(opts...)
13730	return out, req.Send()
13731}
13732
13733const opRebootRelationalDatabase = "RebootRelationalDatabase"
13734
13735// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
13736// client's request for the RebootRelationalDatabase operation. The "output" return
13737// value will be populated with the request's response once the request completes
13738// successfully.
13739//
13740// Use "Send" method on the returned Request to send the API call to the service.
13741// the "output" return value is not valid until after Send returns without error.
13742//
13743// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
13744// API call, and error handling.
13745//
13746// This method is useful when you want to inject custom logic or configuration
13747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13748//
13749//
13750//    // Example sending a request using the RebootRelationalDatabaseRequest method.
13751//    req, resp := client.RebootRelationalDatabaseRequest(params)
13752//
13753//    err := req.Send()
13754//    if err == nil { // resp is now filled
13755//        fmt.Println(resp)
13756//    }
13757//
13758// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
13759func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
13760	op := &request.Operation{
13761		Name:       opRebootRelationalDatabase,
13762		HTTPMethod: "POST",
13763		HTTPPath:   "/",
13764	}
13765
13766	if input == nil {
13767		input = &RebootRelationalDatabaseInput{}
13768	}
13769
13770	output = &RebootRelationalDatabaseOutput{}
13771	req = c.newRequest(op, input, output)
13772	return
13773}
13774
13775// RebootRelationalDatabase API operation for Amazon Lightsail.
13776//
13777// Restarts a specific database in Amazon Lightsail.
13778//
13779// The reboot relational database operation supports tag-based access control
13780// via resource tags applied to the resource identified by relationalDatabaseName.
13781// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
13782//
13783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13784// with awserr.Error's Code and Message methods to get detailed information about
13785// the error.
13786//
13787// See the AWS API reference guide for Amazon Lightsail's
13788// API operation RebootRelationalDatabase for usage and error information.
13789//
13790// Returned Error Types:
13791//   * ServiceException
13792//   A general service exception.
13793//
13794//   * InvalidInputException
13795//   Lightsail throws this exception when user input does not conform to the validation
13796//   rules of an input field.
13797//
13798//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13799//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13800//   view, or edit these resources.
13801//
13802//   * NotFoundException
13803//   Lightsail throws this exception when it cannot find a resource.
13804//
13805//   * OperationFailureException
13806//   Lightsail throws this exception when an operation fails to execute.
13807//
13808//   * AccessDeniedException
13809//   Lightsail throws this exception when the user cannot be authenticated or
13810//   uses invalid credentials to access a resource.
13811//
13812//   * AccountSetupInProgressException
13813//   Lightsail throws this exception when an account is still in the setup in
13814//   progress state.
13815//
13816//   * UnauthenticatedException
13817//   Lightsail throws this exception when the user has not been authenticated.
13818//
13819// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
13820func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
13821	req, out := c.RebootRelationalDatabaseRequest(input)
13822	return out, req.Send()
13823}
13824
13825// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
13826// the ability to pass a context and additional request options.
13827//
13828// See RebootRelationalDatabase for details on how to use this API operation.
13829//
13830// The context must be non-nil and will be used for request cancellation. If
13831// the context is nil a panic will occur. In the future the SDK may create
13832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13833// for more information on using Contexts.
13834func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
13835	req, out := c.RebootRelationalDatabaseRequest(input)
13836	req.SetContext(ctx)
13837	req.ApplyOptions(opts...)
13838	return out, req.Send()
13839}
13840
13841const opRegisterContainerImage = "RegisterContainerImage"
13842
13843// RegisterContainerImageRequest generates a "aws/request.Request" representing the
13844// client's request for the RegisterContainerImage operation. The "output" return
13845// value will be populated with the request's response once the request completes
13846// successfully.
13847//
13848// Use "Send" method on the returned Request to send the API call to the service.
13849// the "output" return value is not valid until after Send returns without error.
13850//
13851// See RegisterContainerImage for more information on using the RegisterContainerImage
13852// API call, and error handling.
13853//
13854// This method is useful when you want to inject custom logic or configuration
13855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13856//
13857//
13858//    // Example sending a request using the RegisterContainerImageRequest method.
13859//    req, resp := client.RegisterContainerImageRequest(params)
13860//
13861//    err := req.Send()
13862//    if err == nil { // resp is now filled
13863//        fmt.Println(resp)
13864//    }
13865//
13866// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
13867func (c *Lightsail) RegisterContainerImageRequest(input *RegisterContainerImageInput) (req *request.Request, output *RegisterContainerImageOutput) {
13868	op := &request.Operation{
13869		Name:       opRegisterContainerImage,
13870		HTTPMethod: "POST",
13871		HTTPPath:   "/",
13872	}
13873
13874	if input == nil {
13875		input = &RegisterContainerImageInput{}
13876	}
13877
13878	output = &RegisterContainerImageOutput{}
13879	req = c.newRequest(op, input, output)
13880	return
13881}
13882
13883// RegisterContainerImage API operation for Amazon Lightsail.
13884//
13885// Registers a container image to your Amazon Lightsail container service.
13886//
13887// This action is not required if you install and use the Lightsail Control
13888// (lightsailctl) plugin to push container images to your Lightsail container
13889// service. For more information, see Pushing and managing container images
13890// on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
13891// in the Amazon Lightsail Developer Guide.
13892//
13893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13894// with awserr.Error's Code and Message methods to get detailed information about
13895// the error.
13896//
13897// See the AWS API reference guide for Amazon Lightsail's
13898// API operation RegisterContainerImage for usage and error information.
13899//
13900// Returned Error Types:
13901//   * ServiceException
13902//   A general service exception.
13903//
13904//   * InvalidInputException
13905//   Lightsail throws this exception when user input does not conform to the validation
13906//   rules of an input field.
13907//
13908//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13909//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13910//   view, or edit these resources.
13911//
13912//   * NotFoundException
13913//   Lightsail throws this exception when it cannot find a resource.
13914//
13915//   * AccessDeniedException
13916//   Lightsail throws this exception when the user cannot be authenticated or
13917//   uses invalid credentials to access a resource.
13918//
13919//   * UnauthenticatedException
13920//   Lightsail throws this exception when the user has not been authenticated.
13921//
13922// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
13923func (c *Lightsail) RegisterContainerImage(input *RegisterContainerImageInput) (*RegisterContainerImageOutput, error) {
13924	req, out := c.RegisterContainerImageRequest(input)
13925	return out, req.Send()
13926}
13927
13928// RegisterContainerImageWithContext is the same as RegisterContainerImage with the addition of
13929// the ability to pass a context and additional request options.
13930//
13931// See RegisterContainerImage for details on how to use this API operation.
13932//
13933// The context must be non-nil and will be used for request cancellation. If
13934// the context is nil a panic will occur. In the future the SDK may create
13935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13936// for more information on using Contexts.
13937func (c *Lightsail) RegisterContainerImageWithContext(ctx aws.Context, input *RegisterContainerImageInput, opts ...request.Option) (*RegisterContainerImageOutput, error) {
13938	req, out := c.RegisterContainerImageRequest(input)
13939	req.SetContext(ctx)
13940	req.ApplyOptions(opts...)
13941	return out, req.Send()
13942}
13943
13944const opReleaseStaticIp = "ReleaseStaticIp"
13945
13946// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
13947// client's request for the ReleaseStaticIp operation. The "output" return
13948// value will be populated with the request's response once the request completes
13949// successfully.
13950//
13951// Use "Send" method on the returned Request to send the API call to the service.
13952// the "output" return value is not valid until after Send returns without error.
13953//
13954// See ReleaseStaticIp for more information on using the ReleaseStaticIp
13955// API call, and error handling.
13956//
13957// This method is useful when you want to inject custom logic or configuration
13958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13959//
13960//
13961//    // Example sending a request using the ReleaseStaticIpRequest method.
13962//    req, resp := client.ReleaseStaticIpRequest(params)
13963//
13964//    err := req.Send()
13965//    if err == nil { // resp is now filled
13966//        fmt.Println(resp)
13967//    }
13968//
13969// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
13970func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
13971	op := &request.Operation{
13972		Name:       opReleaseStaticIp,
13973		HTTPMethod: "POST",
13974		HTTPPath:   "/",
13975	}
13976
13977	if input == nil {
13978		input = &ReleaseStaticIpInput{}
13979	}
13980
13981	output = &ReleaseStaticIpOutput{}
13982	req = c.newRequest(op, input, output)
13983	return
13984}
13985
13986// ReleaseStaticIp API operation for Amazon Lightsail.
13987//
13988// Deletes a specific static IP from your account.
13989//
13990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13991// with awserr.Error's Code and Message methods to get detailed information about
13992// the error.
13993//
13994// See the AWS API reference guide for Amazon Lightsail's
13995// API operation ReleaseStaticIp for usage and error information.
13996//
13997// Returned Error Types:
13998//   * ServiceException
13999//   A general service exception.
14000//
14001//   * InvalidInputException
14002//   Lightsail throws this exception when user input does not conform to the validation
14003//   rules of an input field.
14004//
14005//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14006//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14007//   view, or edit these resources.
14008//
14009//   * NotFoundException
14010//   Lightsail throws this exception when it cannot find a resource.
14011//
14012//   * OperationFailureException
14013//   Lightsail throws this exception when an operation fails to execute.
14014//
14015//   * AccessDeniedException
14016//   Lightsail throws this exception when the user cannot be authenticated or
14017//   uses invalid credentials to access a resource.
14018//
14019//   * AccountSetupInProgressException
14020//   Lightsail throws this exception when an account is still in the setup in
14021//   progress state.
14022//
14023//   * UnauthenticatedException
14024//   Lightsail throws this exception when the user has not been authenticated.
14025//
14026// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
14027func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
14028	req, out := c.ReleaseStaticIpRequest(input)
14029	return out, req.Send()
14030}
14031
14032// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
14033// the ability to pass a context and additional request options.
14034//
14035// See ReleaseStaticIp for details on how to use this API operation.
14036//
14037// The context must be non-nil and will be used for request cancellation. If
14038// the context is nil a panic will occur. In the future the SDK may create
14039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14040// for more information on using Contexts.
14041func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
14042	req, out := c.ReleaseStaticIpRequest(input)
14043	req.SetContext(ctx)
14044	req.ApplyOptions(opts...)
14045	return out, req.Send()
14046}
14047
14048const opResetDistributionCache = "ResetDistributionCache"
14049
14050// ResetDistributionCacheRequest generates a "aws/request.Request" representing the
14051// client's request for the ResetDistributionCache operation. The "output" return
14052// value will be populated with the request's response once the request completes
14053// successfully.
14054//
14055// Use "Send" method on the returned Request to send the API call to the service.
14056// the "output" return value is not valid until after Send returns without error.
14057//
14058// See ResetDistributionCache for more information on using the ResetDistributionCache
14059// API call, and error handling.
14060//
14061// This method is useful when you want to inject custom logic or configuration
14062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14063//
14064//
14065//    // Example sending a request using the ResetDistributionCacheRequest method.
14066//    req, resp := client.ResetDistributionCacheRequest(params)
14067//
14068//    err := req.Send()
14069//    if err == nil { // resp is now filled
14070//        fmt.Println(resp)
14071//    }
14072//
14073// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
14074func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) {
14075	op := &request.Operation{
14076		Name:       opResetDistributionCache,
14077		HTTPMethod: "POST",
14078		HTTPPath:   "/",
14079	}
14080
14081	if input == nil {
14082		input = &ResetDistributionCacheInput{}
14083	}
14084
14085	output = &ResetDistributionCacheOutput{}
14086	req = c.newRequest(op, input, output)
14087	return
14088}
14089
14090// ResetDistributionCache API operation for Amazon Lightsail.
14091//
14092// Deletes currently cached content from your Amazon Lightsail content delivery
14093// network (CDN) distribution.
14094//
14095// After resetting the cache, the next time a content request is made, your
14096// distribution pulls, serves, and caches it from the origin.
14097//
14098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14099// with awserr.Error's Code and Message methods to get detailed information about
14100// the error.
14101//
14102// See the AWS API reference guide for Amazon Lightsail's
14103// API operation ResetDistributionCache for usage and error information.
14104//
14105// Returned Error Types:
14106//   * ServiceException
14107//   A general service exception.
14108//
14109//   * InvalidInputException
14110//   Lightsail throws this exception when user input does not conform to the validation
14111//   rules of an input field.
14112//
14113//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14114//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14115//   view, or edit these resources.
14116//
14117//   * NotFoundException
14118//   Lightsail throws this exception when it cannot find a resource.
14119//
14120//   * OperationFailureException
14121//   Lightsail throws this exception when an operation fails to execute.
14122//
14123//   * AccessDeniedException
14124//   Lightsail throws this exception when the user cannot be authenticated or
14125//   uses invalid credentials to access a resource.
14126//
14127//   * UnauthenticatedException
14128//   Lightsail throws this exception when the user has not been authenticated.
14129//
14130// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
14131func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) {
14132	req, out := c.ResetDistributionCacheRequest(input)
14133	return out, req.Send()
14134}
14135
14136// ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of
14137// the ability to pass a context and additional request options.
14138//
14139// See ResetDistributionCache for details on how to use this API operation.
14140//
14141// The context must be non-nil and will be used for request cancellation. If
14142// the context is nil a panic will occur. In the future the SDK may create
14143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14144// for more information on using Contexts.
14145func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) {
14146	req, out := c.ResetDistributionCacheRequest(input)
14147	req.SetContext(ctx)
14148	req.ApplyOptions(opts...)
14149	return out, req.Send()
14150}
14151
14152const opSendContactMethodVerification = "SendContactMethodVerification"
14153
14154// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the
14155// client's request for the SendContactMethodVerification operation. The "output" return
14156// value will be populated with the request's response once the request completes
14157// successfully.
14158//
14159// Use "Send" method on the returned Request to send the API call to the service.
14160// the "output" return value is not valid until after Send returns without error.
14161//
14162// See SendContactMethodVerification for more information on using the SendContactMethodVerification
14163// API call, and error handling.
14164//
14165// This method is useful when you want to inject custom logic or configuration
14166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14167//
14168//
14169//    // Example sending a request using the SendContactMethodVerificationRequest method.
14170//    req, resp := client.SendContactMethodVerificationRequest(params)
14171//
14172//    err := req.Send()
14173//    if err == nil { // resp is now filled
14174//        fmt.Println(resp)
14175//    }
14176//
14177// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
14178func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) {
14179	op := &request.Operation{
14180		Name:       opSendContactMethodVerification,
14181		HTTPMethod: "POST",
14182		HTTPPath:   "/",
14183	}
14184
14185	if input == nil {
14186		input = &SendContactMethodVerificationInput{}
14187	}
14188
14189	output = &SendContactMethodVerificationOutput{}
14190	req = c.newRequest(op, input, output)
14191	return
14192}
14193
14194// SendContactMethodVerification API operation for Amazon Lightsail.
14195//
14196// Sends a verification request to an email contact method to ensure it's owned
14197// by the requester. SMS contact methods don't need to be verified.
14198//
14199// A contact method is used to send you notifications about your Amazon Lightsail
14200// resources. You can add one email address and one mobile phone number contact
14201// method in each AWS Region. However, SMS text messaging is not supported in
14202// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
14203// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
14204//
14205// A verification request is sent to the contact method when you initially create
14206// it. Use this action to send another verification request if a previous verification
14207// request was deleted, or has expired.
14208//
14209// Notifications are not sent to an email contact method until after it is verified,
14210// and confirmed as valid.
14211//
14212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14213// with awserr.Error's Code and Message methods to get detailed information about
14214// the error.
14215//
14216// See the AWS API reference guide for Amazon Lightsail's
14217// API operation SendContactMethodVerification for usage and error information.
14218//
14219// Returned Error Types:
14220//   * ServiceException
14221//   A general service exception.
14222//
14223//   * InvalidInputException
14224//   Lightsail throws this exception when user input does not conform to the validation
14225//   rules of an input field.
14226//
14227//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14228//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14229//   view, or edit these resources.
14230//
14231//   * OperationFailureException
14232//   Lightsail throws this exception when an operation fails to execute.
14233//
14234//   * UnauthenticatedException
14235//   Lightsail throws this exception when the user has not been authenticated.
14236//
14237//   * AccessDeniedException
14238//   Lightsail throws this exception when the user cannot be authenticated or
14239//   uses invalid credentials to access a resource.
14240//
14241//   * NotFoundException
14242//   Lightsail throws this exception when it cannot find a resource.
14243//
14244// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
14245func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) {
14246	req, out := c.SendContactMethodVerificationRequest(input)
14247	return out, req.Send()
14248}
14249
14250// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of
14251// the ability to pass a context and additional request options.
14252//
14253// See SendContactMethodVerification for details on how to use this API operation.
14254//
14255// The context must be non-nil and will be used for request cancellation. If
14256// the context is nil a panic will occur. In the future the SDK may create
14257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14258// for more information on using Contexts.
14259func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) {
14260	req, out := c.SendContactMethodVerificationRequest(input)
14261	req.SetContext(ctx)
14262	req.ApplyOptions(opts...)
14263	return out, req.Send()
14264}
14265
14266const opSetIpAddressType = "SetIpAddressType"
14267
14268// SetIpAddressTypeRequest generates a "aws/request.Request" representing the
14269// client's request for the SetIpAddressType operation. The "output" return
14270// value will be populated with the request's response once the request completes
14271// successfully.
14272//
14273// Use "Send" method on the returned Request to send the API call to the service.
14274// the "output" return value is not valid until after Send returns without error.
14275//
14276// See SetIpAddressType for more information on using the SetIpAddressType
14277// API call, and error handling.
14278//
14279// This method is useful when you want to inject custom logic or configuration
14280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14281//
14282//
14283//    // Example sending a request using the SetIpAddressTypeRequest method.
14284//    req, resp := client.SetIpAddressTypeRequest(params)
14285//
14286//    err := req.Send()
14287//    if err == nil { // resp is now filled
14288//        fmt.Println(resp)
14289//    }
14290//
14291// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
14292func (c *Lightsail) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) {
14293	op := &request.Operation{
14294		Name:       opSetIpAddressType,
14295		HTTPMethod: "POST",
14296		HTTPPath:   "/",
14297	}
14298
14299	if input == nil {
14300		input = &SetIpAddressTypeInput{}
14301	}
14302
14303	output = &SetIpAddressTypeOutput{}
14304	req = c.newRequest(op, input, output)
14305	return
14306}
14307
14308// SetIpAddressType API operation for Amazon Lightsail.
14309//
14310// Sets the IP address type for an Amazon Lightsail resource.
14311//
14312// Use this action to enable dual-stack for a resource, which enables IPv4 and
14313// IPv6 for the specified resource. Alternately, you can use this action to
14314// disable dual-stack, and enable IPv4 only.
14315//
14316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14317// with awserr.Error's Code and Message methods to get detailed information about
14318// the error.
14319//
14320// See the AWS API reference guide for Amazon Lightsail's
14321// API operation SetIpAddressType for usage and error information.
14322//
14323// Returned Error Types:
14324//   * ServiceException
14325//   A general service exception.
14326//
14327//   * InvalidInputException
14328//   Lightsail throws this exception when user input does not conform to the validation
14329//   rules of an input field.
14330//
14331//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14332//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14333//   view, or edit these resources.
14334//
14335//   * NotFoundException
14336//   Lightsail throws this exception when it cannot find a resource.
14337//
14338//   * OperationFailureException
14339//   Lightsail throws this exception when an operation fails to execute.
14340//
14341//   * AccessDeniedException
14342//   Lightsail throws this exception when the user cannot be authenticated or
14343//   uses invalid credentials to access a resource.
14344//
14345//   * AccountSetupInProgressException
14346//   Lightsail throws this exception when an account is still in the setup in
14347//   progress state.
14348//
14349//   * UnauthenticatedException
14350//   Lightsail throws this exception when the user has not been authenticated.
14351//
14352// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
14353func (c *Lightsail) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) {
14354	req, out := c.SetIpAddressTypeRequest(input)
14355	return out, req.Send()
14356}
14357
14358// SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of
14359// the ability to pass a context and additional request options.
14360//
14361// See SetIpAddressType for details on how to use this API operation.
14362//
14363// The context must be non-nil and will be used for request cancellation. If
14364// the context is nil a panic will occur. In the future the SDK may create
14365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14366// for more information on using Contexts.
14367func (c *Lightsail) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) {
14368	req, out := c.SetIpAddressTypeRequest(input)
14369	req.SetContext(ctx)
14370	req.ApplyOptions(opts...)
14371	return out, req.Send()
14372}
14373
14374const opSetResourceAccessForBucket = "SetResourceAccessForBucket"
14375
14376// SetResourceAccessForBucketRequest generates a "aws/request.Request" representing the
14377// client's request for the SetResourceAccessForBucket operation. The "output" return
14378// value will be populated with the request's response once the request completes
14379// successfully.
14380//
14381// Use "Send" method on the returned Request to send the API call to the service.
14382// the "output" return value is not valid until after Send returns without error.
14383//
14384// See SetResourceAccessForBucket for more information on using the SetResourceAccessForBucket
14385// API call, and error handling.
14386//
14387// This method is useful when you want to inject custom logic or configuration
14388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14389//
14390//
14391//    // Example sending a request using the SetResourceAccessForBucketRequest method.
14392//    req, resp := client.SetResourceAccessForBucketRequest(params)
14393//
14394//    err := req.Send()
14395//    if err == nil { // resp is now filled
14396//        fmt.Println(resp)
14397//    }
14398//
14399// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetResourceAccessForBucket
14400func (c *Lightsail) SetResourceAccessForBucketRequest(input *SetResourceAccessForBucketInput) (req *request.Request, output *SetResourceAccessForBucketOutput) {
14401	op := &request.Operation{
14402		Name:       opSetResourceAccessForBucket,
14403		HTTPMethod: "POST",
14404		HTTPPath:   "/",
14405	}
14406
14407	if input == nil {
14408		input = &SetResourceAccessForBucketInput{}
14409	}
14410
14411	output = &SetResourceAccessForBucketOutput{}
14412	req = c.newRequest(op, input, output)
14413	return
14414}
14415
14416// SetResourceAccessForBucket API operation for Amazon Lightsail.
14417//
14418// Sets the Amazon Lightsail resources that can access the specified Lightsail
14419// bucket.
14420//
14421// Lightsail buckets currently support setting access for Lightsail instances
14422// in the same AWS Region.
14423//
14424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14425// with awserr.Error's Code and Message methods to get detailed information about
14426// the error.
14427//
14428// See the AWS API reference guide for Amazon Lightsail's
14429// API operation SetResourceAccessForBucket for usage and error information.
14430//
14431// Returned Error Types:
14432//   * AccessDeniedException
14433//   Lightsail throws this exception when the user cannot be authenticated or
14434//   uses invalid credentials to access a resource.
14435//
14436//   * InvalidInputException
14437//   Lightsail throws this exception when user input does not conform to the validation
14438//   rules of an input field.
14439//
14440//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14441//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14442//   view, or edit these resources.
14443//
14444//   * NotFoundException
14445//   Lightsail throws this exception when it cannot find a resource.
14446//
14447//   * ServiceException
14448//   A general service exception.
14449//
14450//   * UnauthenticatedException
14451//   Lightsail throws this exception when the user has not been authenticated.
14452//
14453// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetResourceAccessForBucket
14454func (c *Lightsail) SetResourceAccessForBucket(input *SetResourceAccessForBucketInput) (*SetResourceAccessForBucketOutput, error) {
14455	req, out := c.SetResourceAccessForBucketRequest(input)
14456	return out, req.Send()
14457}
14458
14459// SetResourceAccessForBucketWithContext is the same as SetResourceAccessForBucket with the addition of
14460// the ability to pass a context and additional request options.
14461//
14462// See SetResourceAccessForBucket for details on how to use this API operation.
14463//
14464// The context must be non-nil and will be used for request cancellation. If
14465// the context is nil a panic will occur. In the future the SDK may create
14466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14467// for more information on using Contexts.
14468func (c *Lightsail) SetResourceAccessForBucketWithContext(ctx aws.Context, input *SetResourceAccessForBucketInput, opts ...request.Option) (*SetResourceAccessForBucketOutput, error) {
14469	req, out := c.SetResourceAccessForBucketRequest(input)
14470	req.SetContext(ctx)
14471	req.ApplyOptions(opts...)
14472	return out, req.Send()
14473}
14474
14475const opStartInstance = "StartInstance"
14476
14477// StartInstanceRequest generates a "aws/request.Request" representing the
14478// client's request for the StartInstance operation. The "output" return
14479// value will be populated with the request's response once the request completes
14480// successfully.
14481//
14482// Use "Send" method on the returned Request to send the API call to the service.
14483// the "output" return value is not valid until after Send returns without error.
14484//
14485// See StartInstance for more information on using the StartInstance
14486// API call, and error handling.
14487//
14488// This method is useful when you want to inject custom logic or configuration
14489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14490//
14491//
14492//    // Example sending a request using the StartInstanceRequest method.
14493//    req, resp := client.StartInstanceRequest(params)
14494//
14495//    err := req.Send()
14496//    if err == nil { // resp is now filled
14497//        fmt.Println(resp)
14498//    }
14499//
14500// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
14501func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
14502	op := &request.Operation{
14503		Name:       opStartInstance,
14504		HTTPMethod: "POST",
14505		HTTPPath:   "/",
14506	}
14507
14508	if input == nil {
14509		input = &StartInstanceInput{}
14510	}
14511
14512	output = &StartInstanceOutput{}
14513	req = c.newRequest(op, input, output)
14514	return
14515}
14516
14517// StartInstance API operation for Amazon Lightsail.
14518//
14519// Starts a specific Amazon Lightsail instance from a stopped state. To restart
14520// an instance, use the reboot instance operation.
14521//
14522// When you start a stopped instance, Lightsail assigns a new public IP address
14523// to the instance. To use the same IP address after stopping and starting an
14524// instance, create a static IP address and attach it to the instance. For more
14525// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/lightsail-create-static-ip).
14526//
14527// The start instance operation supports tag-based access control via resource
14528// tags applied to the resource identified by instance name. For more information,
14529// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
14530//
14531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14532// with awserr.Error's Code and Message methods to get detailed information about
14533// the error.
14534//
14535// See the AWS API reference guide for Amazon Lightsail's
14536// API operation StartInstance for usage and error information.
14537//
14538// Returned Error Types:
14539//   * ServiceException
14540//   A general service exception.
14541//
14542//   * InvalidInputException
14543//   Lightsail throws this exception when user input does not conform to the validation
14544//   rules of an input field.
14545//
14546//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14547//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14548//   view, or edit these resources.
14549//
14550//   * NotFoundException
14551//   Lightsail throws this exception when it cannot find a resource.
14552//
14553//   * OperationFailureException
14554//   Lightsail throws this exception when an operation fails to execute.
14555//
14556//   * AccessDeniedException
14557//   Lightsail throws this exception when the user cannot be authenticated or
14558//   uses invalid credentials to access a resource.
14559//
14560//   * AccountSetupInProgressException
14561//   Lightsail throws this exception when an account is still in the setup in
14562//   progress state.
14563//
14564//   * UnauthenticatedException
14565//   Lightsail throws this exception when the user has not been authenticated.
14566//
14567// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
14568func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
14569	req, out := c.StartInstanceRequest(input)
14570	return out, req.Send()
14571}
14572
14573// StartInstanceWithContext is the same as StartInstance with the addition of
14574// the ability to pass a context and additional request options.
14575//
14576// See StartInstance for details on how to use this API operation.
14577//
14578// The context must be non-nil and will be used for request cancellation. If
14579// the context is nil a panic will occur. In the future the SDK may create
14580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14581// for more information on using Contexts.
14582func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
14583	req, out := c.StartInstanceRequest(input)
14584	req.SetContext(ctx)
14585	req.ApplyOptions(opts...)
14586	return out, req.Send()
14587}
14588
14589const opStartRelationalDatabase = "StartRelationalDatabase"
14590
14591// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
14592// client's request for the StartRelationalDatabase operation. The "output" return
14593// value will be populated with the request's response once the request completes
14594// successfully.
14595//
14596// Use "Send" method on the returned Request to send the API call to the service.
14597// the "output" return value is not valid until after Send returns without error.
14598//
14599// See StartRelationalDatabase for more information on using the StartRelationalDatabase
14600// API call, and error handling.
14601//
14602// This method is useful when you want to inject custom logic or configuration
14603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14604//
14605//
14606//    // Example sending a request using the StartRelationalDatabaseRequest method.
14607//    req, resp := client.StartRelationalDatabaseRequest(params)
14608//
14609//    err := req.Send()
14610//    if err == nil { // resp is now filled
14611//        fmt.Println(resp)
14612//    }
14613//
14614// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
14615func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
14616	op := &request.Operation{
14617		Name:       opStartRelationalDatabase,
14618		HTTPMethod: "POST",
14619		HTTPPath:   "/",
14620	}
14621
14622	if input == nil {
14623		input = &StartRelationalDatabaseInput{}
14624	}
14625
14626	output = &StartRelationalDatabaseOutput{}
14627	req = c.newRequest(op, input, output)
14628	return
14629}
14630
14631// StartRelationalDatabase API operation for Amazon Lightsail.
14632//
14633// Starts a specific database from a stopped state in Amazon Lightsail. To restart
14634// a database, use the reboot relational database operation.
14635//
14636// The start relational database operation supports tag-based access control
14637// via resource tags applied to the resource identified by relationalDatabaseName.
14638// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
14639//
14640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14641// with awserr.Error's Code and Message methods to get detailed information about
14642// the error.
14643//
14644// See the AWS API reference guide for Amazon Lightsail's
14645// API operation StartRelationalDatabase for usage and error information.
14646//
14647// Returned Error Types:
14648//   * ServiceException
14649//   A general service exception.
14650//
14651//   * InvalidInputException
14652//   Lightsail throws this exception when user input does not conform to the validation
14653//   rules of an input field.
14654//
14655//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14656//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14657//   view, or edit these resources.
14658//
14659//   * NotFoundException
14660//   Lightsail throws this exception when it cannot find a resource.
14661//
14662//   * OperationFailureException
14663//   Lightsail throws this exception when an operation fails to execute.
14664//
14665//   * AccessDeniedException
14666//   Lightsail throws this exception when the user cannot be authenticated or
14667//   uses invalid credentials to access a resource.
14668//
14669//   * AccountSetupInProgressException
14670//   Lightsail throws this exception when an account is still in the setup in
14671//   progress state.
14672//
14673//   * UnauthenticatedException
14674//   Lightsail throws this exception when the user has not been authenticated.
14675//
14676// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
14677func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
14678	req, out := c.StartRelationalDatabaseRequest(input)
14679	return out, req.Send()
14680}
14681
14682// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
14683// the ability to pass a context and additional request options.
14684//
14685// See StartRelationalDatabase for details on how to use this API operation.
14686//
14687// The context must be non-nil and will be used for request cancellation. If
14688// the context is nil a panic will occur. In the future the SDK may create
14689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14690// for more information on using Contexts.
14691func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
14692	req, out := c.StartRelationalDatabaseRequest(input)
14693	req.SetContext(ctx)
14694	req.ApplyOptions(opts...)
14695	return out, req.Send()
14696}
14697
14698const opStopInstance = "StopInstance"
14699
14700// StopInstanceRequest generates a "aws/request.Request" representing the
14701// client's request for the StopInstance operation. The "output" return
14702// value will be populated with the request's response once the request completes
14703// successfully.
14704//
14705// Use "Send" method on the returned Request to send the API call to the service.
14706// the "output" return value is not valid until after Send returns without error.
14707//
14708// See StopInstance for more information on using the StopInstance
14709// API call, and error handling.
14710//
14711// This method is useful when you want to inject custom logic or configuration
14712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14713//
14714//
14715//    // Example sending a request using the StopInstanceRequest method.
14716//    req, resp := client.StopInstanceRequest(params)
14717//
14718//    err := req.Send()
14719//    if err == nil { // resp is now filled
14720//        fmt.Println(resp)
14721//    }
14722//
14723// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
14724func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
14725	op := &request.Operation{
14726		Name:       opStopInstance,
14727		HTTPMethod: "POST",
14728		HTTPPath:   "/",
14729	}
14730
14731	if input == nil {
14732		input = &StopInstanceInput{}
14733	}
14734
14735	output = &StopInstanceOutput{}
14736	req = c.newRequest(op, input, output)
14737	return
14738}
14739
14740// StopInstance API operation for Amazon Lightsail.
14741//
14742// Stops a specific Amazon Lightsail instance that is currently running.
14743//
14744// When you start a stopped instance, Lightsail assigns a new public IP address
14745// to the instance. To use the same IP address after stopping and starting an
14746// instance, create a static IP address and attach it to the instance. For more
14747// information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/lightsail-create-static-ip).
14748//
14749// The stop instance operation supports tag-based access control via resource
14750// tags applied to the resource identified by instance name. For more information,
14751// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
14752//
14753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14754// with awserr.Error's Code and Message methods to get detailed information about
14755// the error.
14756//
14757// See the AWS API reference guide for Amazon Lightsail's
14758// API operation StopInstance for usage and error information.
14759//
14760// Returned Error Types:
14761//   * ServiceException
14762//   A general service exception.
14763//
14764//   * InvalidInputException
14765//   Lightsail throws this exception when user input does not conform to the validation
14766//   rules of an input field.
14767//
14768//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14769//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14770//   view, or edit these resources.
14771//
14772//   * NotFoundException
14773//   Lightsail throws this exception when it cannot find a resource.
14774//
14775//   * OperationFailureException
14776//   Lightsail throws this exception when an operation fails to execute.
14777//
14778//   * AccessDeniedException
14779//   Lightsail throws this exception when the user cannot be authenticated or
14780//   uses invalid credentials to access a resource.
14781//
14782//   * AccountSetupInProgressException
14783//   Lightsail throws this exception when an account is still in the setup in
14784//   progress state.
14785//
14786//   * UnauthenticatedException
14787//   Lightsail throws this exception when the user has not been authenticated.
14788//
14789// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
14790func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
14791	req, out := c.StopInstanceRequest(input)
14792	return out, req.Send()
14793}
14794
14795// StopInstanceWithContext is the same as StopInstance with the addition of
14796// the ability to pass a context and additional request options.
14797//
14798// See StopInstance for details on how to use this API operation.
14799//
14800// The context must be non-nil and will be used for request cancellation. If
14801// the context is nil a panic will occur. In the future the SDK may create
14802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14803// for more information on using Contexts.
14804func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
14805	req, out := c.StopInstanceRequest(input)
14806	req.SetContext(ctx)
14807	req.ApplyOptions(opts...)
14808	return out, req.Send()
14809}
14810
14811const opStopRelationalDatabase = "StopRelationalDatabase"
14812
14813// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
14814// client's request for the StopRelationalDatabase operation. The "output" return
14815// value will be populated with the request's response once the request completes
14816// successfully.
14817//
14818// Use "Send" method on the returned Request to send the API call to the service.
14819// the "output" return value is not valid until after Send returns without error.
14820//
14821// See StopRelationalDatabase for more information on using the StopRelationalDatabase
14822// API call, and error handling.
14823//
14824// This method is useful when you want to inject custom logic or configuration
14825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14826//
14827//
14828//    // Example sending a request using the StopRelationalDatabaseRequest method.
14829//    req, resp := client.StopRelationalDatabaseRequest(params)
14830//
14831//    err := req.Send()
14832//    if err == nil { // resp is now filled
14833//        fmt.Println(resp)
14834//    }
14835//
14836// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
14837func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
14838	op := &request.Operation{
14839		Name:       opStopRelationalDatabase,
14840		HTTPMethod: "POST",
14841		HTTPPath:   "/",
14842	}
14843
14844	if input == nil {
14845		input = &StopRelationalDatabaseInput{}
14846	}
14847
14848	output = &StopRelationalDatabaseOutput{}
14849	req = c.newRequest(op, input, output)
14850	return
14851}
14852
14853// StopRelationalDatabase API operation for Amazon Lightsail.
14854//
14855// Stops a specific database that is currently running in Amazon Lightsail.
14856//
14857// The stop relational database operation supports tag-based access control
14858// via resource tags applied to the resource identified by relationalDatabaseName.
14859// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
14860//
14861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14862// with awserr.Error's Code and Message methods to get detailed information about
14863// the error.
14864//
14865// See the AWS API reference guide for Amazon Lightsail's
14866// API operation StopRelationalDatabase for usage and error information.
14867//
14868// Returned Error Types:
14869//   * ServiceException
14870//   A general service exception.
14871//
14872//   * InvalidInputException
14873//   Lightsail throws this exception when user input does not conform to the validation
14874//   rules of an input field.
14875//
14876//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14877//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14878//   view, or edit these resources.
14879//
14880//   * NotFoundException
14881//   Lightsail throws this exception when it cannot find a resource.
14882//
14883//   * OperationFailureException
14884//   Lightsail throws this exception when an operation fails to execute.
14885//
14886//   * AccessDeniedException
14887//   Lightsail throws this exception when the user cannot be authenticated or
14888//   uses invalid credentials to access a resource.
14889//
14890//   * AccountSetupInProgressException
14891//   Lightsail throws this exception when an account is still in the setup in
14892//   progress state.
14893//
14894//   * UnauthenticatedException
14895//   Lightsail throws this exception when the user has not been authenticated.
14896//
14897// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
14898func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
14899	req, out := c.StopRelationalDatabaseRequest(input)
14900	return out, req.Send()
14901}
14902
14903// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
14904// the ability to pass a context and additional request options.
14905//
14906// See StopRelationalDatabase for details on how to use this API operation.
14907//
14908// The context must be non-nil and will be used for request cancellation. If
14909// the context is nil a panic will occur. In the future the SDK may create
14910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14911// for more information on using Contexts.
14912func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
14913	req, out := c.StopRelationalDatabaseRequest(input)
14914	req.SetContext(ctx)
14915	req.ApplyOptions(opts...)
14916	return out, req.Send()
14917}
14918
14919const opTagResource = "TagResource"
14920
14921// TagResourceRequest generates a "aws/request.Request" representing the
14922// client's request for the TagResource operation. The "output" return
14923// value will be populated with the request's response once the request completes
14924// successfully.
14925//
14926// Use "Send" method on the returned Request to send the API call to the service.
14927// the "output" return value is not valid until after Send returns without error.
14928//
14929// See TagResource for more information on using the TagResource
14930// API call, and error handling.
14931//
14932// This method is useful when you want to inject custom logic or configuration
14933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14934//
14935//
14936//    // Example sending a request using the TagResourceRequest method.
14937//    req, resp := client.TagResourceRequest(params)
14938//
14939//    err := req.Send()
14940//    if err == nil { // resp is now filled
14941//        fmt.Println(resp)
14942//    }
14943//
14944// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
14945func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
14946	op := &request.Operation{
14947		Name:       opTagResource,
14948		HTTPMethod: "POST",
14949		HTTPPath:   "/",
14950	}
14951
14952	if input == nil {
14953		input = &TagResourceInput{}
14954	}
14955
14956	output = &TagResourceOutput{}
14957	req = c.newRequest(op, input, output)
14958	return
14959}
14960
14961// TagResource API operation for Amazon Lightsail.
14962//
14963// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
14964// can have a maximum of 50 tags. Each tag consists of a key and an optional
14965// value. Tag keys must be unique per resource. For more information about tags,
14966// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
14967//
14968// The tag resource operation supports tag-based access control via request
14969// tags and resource tags applied to the resource identified by resource name.
14970// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
14971//
14972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14973// with awserr.Error's Code and Message methods to get detailed information about
14974// the error.
14975//
14976// See the AWS API reference guide for Amazon Lightsail's
14977// API operation TagResource for usage and error information.
14978//
14979// Returned Error Types:
14980//   * ServiceException
14981//   A general service exception.
14982//
14983//   * InvalidInputException
14984//   Lightsail throws this exception when user input does not conform to the validation
14985//   rules of an input field.
14986//
14987//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14988//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14989//   view, or edit these resources.
14990//
14991//   * NotFoundException
14992//   Lightsail throws this exception when it cannot find a resource.
14993//
14994//   * OperationFailureException
14995//   Lightsail throws this exception when an operation fails to execute.
14996//
14997//   * AccessDeniedException
14998//   Lightsail throws this exception when the user cannot be authenticated or
14999//   uses invalid credentials to access a resource.
15000//
15001//   * AccountSetupInProgressException
15002//   Lightsail throws this exception when an account is still in the setup in
15003//   progress state.
15004//
15005//   * UnauthenticatedException
15006//   Lightsail throws this exception when the user has not been authenticated.
15007//
15008// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
15009func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
15010	req, out := c.TagResourceRequest(input)
15011	return out, req.Send()
15012}
15013
15014// TagResourceWithContext is the same as TagResource with the addition of
15015// the ability to pass a context and additional request options.
15016//
15017// See TagResource for details on how to use this API operation.
15018//
15019// The context must be non-nil and will be used for request cancellation. If
15020// the context is nil a panic will occur. In the future the SDK may create
15021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15022// for more information on using Contexts.
15023func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
15024	req, out := c.TagResourceRequest(input)
15025	req.SetContext(ctx)
15026	req.ApplyOptions(opts...)
15027	return out, req.Send()
15028}
15029
15030const opTestAlarm = "TestAlarm"
15031
15032// TestAlarmRequest generates a "aws/request.Request" representing the
15033// client's request for the TestAlarm operation. The "output" return
15034// value will be populated with the request's response once the request completes
15035// successfully.
15036//
15037// Use "Send" method on the returned Request to send the API call to the service.
15038// the "output" return value is not valid until after Send returns without error.
15039//
15040// See TestAlarm for more information on using the TestAlarm
15041// API call, and error handling.
15042//
15043// This method is useful when you want to inject custom logic or configuration
15044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15045//
15046//
15047//    // Example sending a request using the TestAlarmRequest method.
15048//    req, resp := client.TestAlarmRequest(params)
15049//
15050//    err := req.Send()
15051//    if err == nil { // resp is now filled
15052//        fmt.Println(resp)
15053//    }
15054//
15055// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
15056func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) {
15057	op := &request.Operation{
15058		Name:       opTestAlarm,
15059		HTTPMethod: "POST",
15060		HTTPPath:   "/",
15061	}
15062
15063	if input == nil {
15064		input = &TestAlarmInput{}
15065	}
15066
15067	output = &TestAlarmOutput{}
15068	req = c.newRequest(op, input, output)
15069	return
15070}
15071
15072// TestAlarm API operation for Amazon Lightsail.
15073//
15074// Tests an alarm by displaying a banner on the Amazon Lightsail console. If
15075// a notification trigger is configured for the specified alarm, the test also
15076// sends a notification to the notification protocol (Email and/or SMS) configured
15077// for the alarm.
15078//
15079// An alarm is used to monitor a single metric for one of your resources. When
15080// a metric condition is met, the alarm can notify you by email, SMS text message,
15081// and a banner displayed on the Amazon Lightsail console. For more information,
15082// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
15083//
15084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15085// with awserr.Error's Code and Message methods to get detailed information about
15086// the error.
15087//
15088// See the AWS API reference guide for Amazon Lightsail's
15089// API operation TestAlarm for usage and error information.
15090//
15091// Returned Error Types:
15092//   * ServiceException
15093//   A general service exception.
15094//
15095//   * InvalidInputException
15096//   Lightsail throws this exception when user input does not conform to the validation
15097//   rules of an input field.
15098//
15099//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15100//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15101//   view, or edit these resources.
15102//
15103//   * OperationFailureException
15104//   Lightsail throws this exception when an operation fails to execute.
15105//
15106//   * UnauthenticatedException
15107//   Lightsail throws this exception when the user has not been authenticated.
15108//
15109//   * AccessDeniedException
15110//   Lightsail throws this exception when the user cannot be authenticated or
15111//   uses invalid credentials to access a resource.
15112//
15113//   * NotFoundException
15114//   Lightsail throws this exception when it cannot find a resource.
15115//
15116// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
15117func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) {
15118	req, out := c.TestAlarmRequest(input)
15119	return out, req.Send()
15120}
15121
15122// TestAlarmWithContext is the same as TestAlarm with the addition of
15123// the ability to pass a context and additional request options.
15124//
15125// See TestAlarm for details on how to use this API operation.
15126//
15127// The context must be non-nil and will be used for request cancellation. If
15128// the context is nil a panic will occur. In the future the SDK may create
15129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15130// for more information on using Contexts.
15131func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) {
15132	req, out := c.TestAlarmRequest(input)
15133	req.SetContext(ctx)
15134	req.ApplyOptions(opts...)
15135	return out, req.Send()
15136}
15137
15138const opUnpeerVpc = "UnpeerVpc"
15139
15140// UnpeerVpcRequest generates a "aws/request.Request" representing the
15141// client's request for the UnpeerVpc operation. The "output" return
15142// value will be populated with the request's response once the request completes
15143// successfully.
15144//
15145// Use "Send" method on the returned Request to send the API call to the service.
15146// the "output" return value is not valid until after Send returns without error.
15147//
15148// See UnpeerVpc for more information on using the UnpeerVpc
15149// API call, and error handling.
15150//
15151// This method is useful when you want to inject custom logic or configuration
15152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15153//
15154//
15155//    // Example sending a request using the UnpeerVpcRequest method.
15156//    req, resp := client.UnpeerVpcRequest(params)
15157//
15158//    err := req.Send()
15159//    if err == nil { // resp is now filled
15160//        fmt.Println(resp)
15161//    }
15162//
15163// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
15164func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
15165	op := &request.Operation{
15166		Name:       opUnpeerVpc,
15167		HTTPMethod: "POST",
15168		HTTPPath:   "/",
15169	}
15170
15171	if input == nil {
15172		input = &UnpeerVpcInput{}
15173	}
15174
15175	output = &UnpeerVpcOutput{}
15176	req = c.newRequest(op, input, output)
15177	return
15178}
15179
15180// UnpeerVpc API operation for Amazon Lightsail.
15181//
15182// Unpeers the Lightsail VPC from the user's default VPC.
15183//
15184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15185// with awserr.Error's Code and Message methods to get detailed information about
15186// the error.
15187//
15188// See the AWS API reference guide for Amazon Lightsail's
15189// API operation UnpeerVpc for usage and error information.
15190//
15191// Returned Error Types:
15192//   * ServiceException
15193//   A general service exception.
15194//
15195//   * InvalidInputException
15196//   Lightsail throws this exception when user input does not conform to the validation
15197//   rules of an input field.
15198//
15199//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15200//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15201//   view, or edit these resources.
15202//
15203//   * NotFoundException
15204//   Lightsail throws this exception when it cannot find a resource.
15205//
15206//   * OperationFailureException
15207//   Lightsail throws this exception when an operation fails to execute.
15208//
15209//   * AccessDeniedException
15210//   Lightsail throws this exception when the user cannot be authenticated or
15211//   uses invalid credentials to access a resource.
15212//
15213//   * AccountSetupInProgressException
15214//   Lightsail throws this exception when an account is still in the setup in
15215//   progress state.
15216//
15217//   * UnauthenticatedException
15218//   Lightsail throws this exception when the user has not been authenticated.
15219//
15220// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
15221func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
15222	req, out := c.UnpeerVpcRequest(input)
15223	return out, req.Send()
15224}
15225
15226// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
15227// the ability to pass a context and additional request options.
15228//
15229// See UnpeerVpc for details on how to use this API operation.
15230//
15231// The context must be non-nil and will be used for request cancellation. If
15232// the context is nil a panic will occur. In the future the SDK may create
15233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15234// for more information on using Contexts.
15235func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
15236	req, out := c.UnpeerVpcRequest(input)
15237	req.SetContext(ctx)
15238	req.ApplyOptions(opts...)
15239	return out, req.Send()
15240}
15241
15242const opUntagResource = "UntagResource"
15243
15244// UntagResourceRequest generates a "aws/request.Request" representing the
15245// client's request for the UntagResource operation. The "output" return
15246// value will be populated with the request's response once the request completes
15247// successfully.
15248//
15249// Use "Send" method on the returned Request to send the API call to the service.
15250// the "output" return value is not valid until after Send returns without error.
15251//
15252// See UntagResource for more information on using the UntagResource
15253// API call, and error handling.
15254//
15255// This method is useful when you want to inject custom logic or configuration
15256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15257//
15258//
15259//    // Example sending a request using the UntagResourceRequest method.
15260//    req, resp := client.UntagResourceRequest(params)
15261//
15262//    err := req.Send()
15263//    if err == nil { // resp is now filled
15264//        fmt.Println(resp)
15265//    }
15266//
15267// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
15268func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
15269	op := &request.Operation{
15270		Name:       opUntagResource,
15271		HTTPMethod: "POST",
15272		HTTPPath:   "/",
15273	}
15274
15275	if input == nil {
15276		input = &UntagResourceInput{}
15277	}
15278
15279	output = &UntagResourceOutput{}
15280	req = c.newRequest(op, input, output)
15281	return
15282}
15283
15284// UntagResource API operation for Amazon Lightsail.
15285//
15286// Deletes the specified set of tag keys and their values from the specified
15287// Amazon Lightsail resource.
15288//
15289// The untag resource operation supports tag-based access control via request
15290// tags and resource tags applied to the resource identified by resource name.
15291// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
15292//
15293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15294// with awserr.Error's Code and Message methods to get detailed information about
15295// the error.
15296//
15297// See the AWS API reference guide for Amazon Lightsail's
15298// API operation UntagResource for usage and error information.
15299//
15300// Returned Error Types:
15301//   * ServiceException
15302//   A general service exception.
15303//
15304//   * InvalidInputException
15305//   Lightsail throws this exception when user input does not conform to the validation
15306//   rules of an input field.
15307//
15308//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15309//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15310//   view, or edit these resources.
15311//
15312//   * NotFoundException
15313//   Lightsail throws this exception when it cannot find a resource.
15314//
15315//   * OperationFailureException
15316//   Lightsail throws this exception when an operation fails to execute.
15317//
15318//   * AccessDeniedException
15319//   Lightsail throws this exception when the user cannot be authenticated or
15320//   uses invalid credentials to access a resource.
15321//
15322//   * AccountSetupInProgressException
15323//   Lightsail throws this exception when an account is still in the setup in
15324//   progress state.
15325//
15326//   * UnauthenticatedException
15327//   Lightsail throws this exception when the user has not been authenticated.
15328//
15329// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
15330func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
15331	req, out := c.UntagResourceRequest(input)
15332	return out, req.Send()
15333}
15334
15335// UntagResourceWithContext is the same as UntagResource with the addition of
15336// the ability to pass a context and additional request options.
15337//
15338// See UntagResource for details on how to use this API operation.
15339//
15340// The context must be non-nil and will be used for request cancellation. If
15341// the context is nil a panic will occur. In the future the SDK may create
15342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15343// for more information on using Contexts.
15344func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
15345	req, out := c.UntagResourceRequest(input)
15346	req.SetContext(ctx)
15347	req.ApplyOptions(opts...)
15348	return out, req.Send()
15349}
15350
15351const opUpdateBucket = "UpdateBucket"
15352
15353// UpdateBucketRequest generates a "aws/request.Request" representing the
15354// client's request for the UpdateBucket operation. The "output" return
15355// value will be populated with the request's response once the request completes
15356// successfully.
15357//
15358// Use "Send" method on the returned Request to send the API call to the service.
15359// the "output" return value is not valid until after Send returns without error.
15360//
15361// See UpdateBucket for more information on using the UpdateBucket
15362// API call, and error handling.
15363//
15364// This method is useful when you want to inject custom logic or configuration
15365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15366//
15367//
15368//    // Example sending a request using the UpdateBucketRequest method.
15369//    req, resp := client.UpdateBucketRequest(params)
15370//
15371//    err := req.Send()
15372//    if err == nil { // resp is now filled
15373//        fmt.Println(resp)
15374//    }
15375//
15376// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucket
15377func (c *Lightsail) UpdateBucketRequest(input *UpdateBucketInput) (req *request.Request, output *UpdateBucketOutput) {
15378	op := &request.Operation{
15379		Name:       opUpdateBucket,
15380		HTTPMethod: "POST",
15381		HTTPPath:   "/",
15382	}
15383
15384	if input == nil {
15385		input = &UpdateBucketInput{}
15386	}
15387
15388	output = &UpdateBucketOutput{}
15389	req = c.newRequest(op, input, output)
15390	return
15391}
15392
15393// UpdateBucket API operation for Amazon Lightsail.
15394//
15395// Updates an existing Amazon Lightsail bucket.
15396//
15397// Use this action to update the configuration of an existing bucket, such as
15398// versioning, public accessibility, and the AWS accounts that can access the
15399// bucket.
15400//
15401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15402// with awserr.Error's Code and Message methods to get detailed information about
15403// the error.
15404//
15405// See the AWS API reference guide for Amazon Lightsail's
15406// API operation UpdateBucket for usage and error information.
15407//
15408// Returned Error Types:
15409//   * AccessDeniedException
15410//   Lightsail throws this exception when the user cannot be authenticated or
15411//   uses invalid credentials to access a resource.
15412//
15413//   * InvalidInputException
15414//   Lightsail throws this exception when user input does not conform to the validation
15415//   rules of an input field.
15416//
15417//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15418//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15419//   view, or edit these resources.
15420//
15421//   * NotFoundException
15422//   Lightsail throws this exception when it cannot find a resource.
15423//
15424//   * ServiceException
15425//   A general service exception.
15426//
15427//   * UnauthenticatedException
15428//   Lightsail throws this exception when the user has not been authenticated.
15429//
15430// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucket
15431func (c *Lightsail) UpdateBucket(input *UpdateBucketInput) (*UpdateBucketOutput, error) {
15432	req, out := c.UpdateBucketRequest(input)
15433	return out, req.Send()
15434}
15435
15436// UpdateBucketWithContext is the same as UpdateBucket with the addition of
15437// the ability to pass a context and additional request options.
15438//
15439// See UpdateBucket for details on how to use this API operation.
15440//
15441// The context must be non-nil and will be used for request cancellation. If
15442// the context is nil a panic will occur. In the future the SDK may create
15443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15444// for more information on using Contexts.
15445func (c *Lightsail) UpdateBucketWithContext(ctx aws.Context, input *UpdateBucketInput, opts ...request.Option) (*UpdateBucketOutput, error) {
15446	req, out := c.UpdateBucketRequest(input)
15447	req.SetContext(ctx)
15448	req.ApplyOptions(opts...)
15449	return out, req.Send()
15450}
15451
15452const opUpdateBucketBundle = "UpdateBucketBundle"
15453
15454// UpdateBucketBundleRequest generates a "aws/request.Request" representing the
15455// client's request for the UpdateBucketBundle operation. The "output" return
15456// value will be populated with the request's response once the request completes
15457// successfully.
15458//
15459// Use "Send" method on the returned Request to send the API call to the service.
15460// the "output" return value is not valid until after Send returns without error.
15461//
15462// See UpdateBucketBundle for more information on using the UpdateBucketBundle
15463// API call, and error handling.
15464//
15465// This method is useful when you want to inject custom logic or configuration
15466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15467//
15468//
15469//    // Example sending a request using the UpdateBucketBundleRequest method.
15470//    req, resp := client.UpdateBucketBundleRequest(params)
15471//
15472//    err := req.Send()
15473//    if err == nil { // resp is now filled
15474//        fmt.Println(resp)
15475//    }
15476//
15477// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucketBundle
15478func (c *Lightsail) UpdateBucketBundleRequest(input *UpdateBucketBundleInput) (req *request.Request, output *UpdateBucketBundleOutput) {
15479	op := &request.Operation{
15480		Name:       opUpdateBucketBundle,
15481		HTTPMethod: "POST",
15482		HTTPPath:   "/",
15483	}
15484
15485	if input == nil {
15486		input = &UpdateBucketBundleInput{}
15487	}
15488
15489	output = &UpdateBucketBundleOutput{}
15490	req = c.newRequest(op, input, output)
15491	return
15492}
15493
15494// UpdateBucketBundle API operation for Amazon Lightsail.
15495//
15496// Updates the bundle, or storage plan, of an existing Amazon Lightsail bucket.
15497//
15498// A bucket bundle specifies the monthly cost, storage space, and data transfer
15499// quota for a bucket. You can update a bucket's bundle only one time within
15500// a monthly AWS billing cycle. To determine if you can update a bucket's bundle,
15501// use the GetBuckets action. The ableToUpdateBundle parameter in the response
15502// will indicate whether you can currently update a bucket's bundle.
15503//
15504// Update a bucket's bundle if it's consistently going over its storage space
15505// or data transfer quota, or if a bucket's usage is consistently in the lower
15506// range of its storage space or data transfer quota. Due to the unpredictable
15507// usage fluctuations that a bucket might experience, we strongly recommend
15508// that you update a bucket's bundle only as a long-term strategy, instead of
15509// as a short-term, monthly cost-cutting measure. Choose a bucket bundle that
15510// will provide the bucket with ample storage space and data transfer for a
15511// long time to come.
15512//
15513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15514// with awserr.Error's Code and Message methods to get detailed information about
15515// the error.
15516//
15517// See the AWS API reference guide for Amazon Lightsail's
15518// API operation UpdateBucketBundle for usage and error information.
15519//
15520// Returned Error Types:
15521//   * AccessDeniedException
15522//   Lightsail throws this exception when the user cannot be authenticated or
15523//   uses invalid credentials to access a resource.
15524//
15525//   * InvalidInputException
15526//   Lightsail throws this exception when user input does not conform to the validation
15527//   rules of an input field.
15528//
15529//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15530//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15531//   view, or edit these resources.
15532//
15533//   * NotFoundException
15534//   Lightsail throws this exception when it cannot find a resource.
15535//
15536//   * ServiceException
15537//   A general service exception.
15538//
15539//   * UnauthenticatedException
15540//   Lightsail throws this exception when the user has not been authenticated.
15541//
15542// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucketBundle
15543func (c *Lightsail) UpdateBucketBundle(input *UpdateBucketBundleInput) (*UpdateBucketBundleOutput, error) {
15544	req, out := c.UpdateBucketBundleRequest(input)
15545	return out, req.Send()
15546}
15547
15548// UpdateBucketBundleWithContext is the same as UpdateBucketBundle with the addition of
15549// the ability to pass a context and additional request options.
15550//
15551// See UpdateBucketBundle for details on how to use this API operation.
15552//
15553// The context must be non-nil and will be used for request cancellation. If
15554// the context is nil a panic will occur. In the future the SDK may create
15555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15556// for more information on using Contexts.
15557func (c *Lightsail) UpdateBucketBundleWithContext(ctx aws.Context, input *UpdateBucketBundleInput, opts ...request.Option) (*UpdateBucketBundleOutput, error) {
15558	req, out := c.UpdateBucketBundleRequest(input)
15559	req.SetContext(ctx)
15560	req.ApplyOptions(opts...)
15561	return out, req.Send()
15562}
15563
15564const opUpdateContainerService = "UpdateContainerService"
15565
15566// UpdateContainerServiceRequest generates a "aws/request.Request" representing the
15567// client's request for the UpdateContainerService operation. The "output" return
15568// value will be populated with the request's response once the request completes
15569// successfully.
15570//
15571// Use "Send" method on the returned Request to send the API call to the service.
15572// the "output" return value is not valid until after Send returns without error.
15573//
15574// See UpdateContainerService for more information on using the UpdateContainerService
15575// API call, and error handling.
15576//
15577// This method is useful when you want to inject custom logic or configuration
15578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15579//
15580//
15581//    // Example sending a request using the UpdateContainerServiceRequest method.
15582//    req, resp := client.UpdateContainerServiceRequest(params)
15583//
15584//    err := req.Send()
15585//    if err == nil { // resp is now filled
15586//        fmt.Println(resp)
15587//    }
15588//
15589// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
15590func (c *Lightsail) UpdateContainerServiceRequest(input *UpdateContainerServiceInput) (req *request.Request, output *UpdateContainerServiceOutput) {
15591	op := &request.Operation{
15592		Name:       opUpdateContainerService,
15593		HTTPMethod: "POST",
15594		HTTPPath:   "/",
15595	}
15596
15597	if input == nil {
15598		input = &UpdateContainerServiceInput{}
15599	}
15600
15601	output = &UpdateContainerServiceOutput{}
15602	req = c.newRequest(op, input, output)
15603	return
15604}
15605
15606// UpdateContainerService API operation for Amazon Lightsail.
15607//
15608// Updates the configuration of your Amazon Lightsail container service, such
15609// as its power, scale, and public domain names.
15610//
15611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15612// with awserr.Error's Code and Message methods to get detailed information about
15613// the error.
15614//
15615// See the AWS API reference guide for Amazon Lightsail's
15616// API operation UpdateContainerService for usage and error information.
15617//
15618// Returned Error Types:
15619//   * ServiceException
15620//   A general service exception.
15621//
15622//   * InvalidInputException
15623//   Lightsail throws this exception when user input does not conform to the validation
15624//   rules of an input field.
15625//
15626//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15627//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15628//   view, or edit these resources.
15629//
15630//   * NotFoundException
15631//   Lightsail throws this exception when it cannot find a resource.
15632//
15633//   * AccessDeniedException
15634//   Lightsail throws this exception when the user cannot be authenticated or
15635//   uses invalid credentials to access a resource.
15636//
15637//   * UnauthenticatedException
15638//   Lightsail throws this exception when the user has not been authenticated.
15639//
15640// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
15641func (c *Lightsail) UpdateContainerService(input *UpdateContainerServiceInput) (*UpdateContainerServiceOutput, error) {
15642	req, out := c.UpdateContainerServiceRequest(input)
15643	return out, req.Send()
15644}
15645
15646// UpdateContainerServiceWithContext is the same as UpdateContainerService with the addition of
15647// the ability to pass a context and additional request options.
15648//
15649// See UpdateContainerService for details on how to use this API operation.
15650//
15651// The context must be non-nil and will be used for request cancellation. If
15652// the context is nil a panic will occur. In the future the SDK may create
15653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15654// for more information on using Contexts.
15655func (c *Lightsail) UpdateContainerServiceWithContext(ctx aws.Context, input *UpdateContainerServiceInput, opts ...request.Option) (*UpdateContainerServiceOutput, error) {
15656	req, out := c.UpdateContainerServiceRequest(input)
15657	req.SetContext(ctx)
15658	req.ApplyOptions(opts...)
15659	return out, req.Send()
15660}
15661
15662const opUpdateDistribution = "UpdateDistribution"
15663
15664// UpdateDistributionRequest generates a "aws/request.Request" representing the
15665// client's request for the UpdateDistribution operation. The "output" return
15666// value will be populated with the request's response once the request completes
15667// successfully.
15668//
15669// Use "Send" method on the returned Request to send the API call to the service.
15670// the "output" return value is not valid until after Send returns without error.
15671//
15672// See UpdateDistribution for more information on using the UpdateDistribution
15673// API call, and error handling.
15674//
15675// This method is useful when you want to inject custom logic or configuration
15676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15677//
15678//
15679//    // Example sending a request using the UpdateDistributionRequest method.
15680//    req, resp := client.UpdateDistributionRequest(params)
15681//
15682//    err := req.Send()
15683//    if err == nil { // resp is now filled
15684//        fmt.Println(resp)
15685//    }
15686//
15687// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
15688func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) {
15689	op := &request.Operation{
15690		Name:       opUpdateDistribution,
15691		HTTPMethod: "POST",
15692		HTTPPath:   "/",
15693	}
15694
15695	if input == nil {
15696		input = &UpdateDistributionInput{}
15697	}
15698
15699	output = &UpdateDistributionOutput{}
15700	req = c.newRequest(op, input, output)
15701	return
15702}
15703
15704// UpdateDistribution API operation for Amazon Lightsail.
15705//
15706// Updates an existing Amazon Lightsail content delivery network (CDN) distribution.
15707//
15708// Use this action to update the configuration of your existing distribution.
15709//
15710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15711// with awserr.Error's Code and Message methods to get detailed information about
15712// the error.
15713//
15714// See the AWS API reference guide for Amazon Lightsail's
15715// API operation UpdateDistribution for usage and error information.
15716//
15717// Returned Error Types:
15718//   * ServiceException
15719//   A general service exception.
15720//
15721//   * InvalidInputException
15722//   Lightsail throws this exception when user input does not conform to the validation
15723//   rules of an input field.
15724//
15725//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15726//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15727//   view, or edit these resources.
15728//
15729//   * NotFoundException
15730//   Lightsail throws this exception when it cannot find a resource.
15731//
15732//   * OperationFailureException
15733//   Lightsail throws this exception when an operation fails to execute.
15734//
15735//   * AccessDeniedException
15736//   Lightsail throws this exception when the user cannot be authenticated or
15737//   uses invalid credentials to access a resource.
15738//
15739//   * UnauthenticatedException
15740//   Lightsail throws this exception when the user has not been authenticated.
15741//
15742// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
15743func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) {
15744	req, out := c.UpdateDistributionRequest(input)
15745	return out, req.Send()
15746}
15747
15748// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of
15749// the ability to pass a context and additional request options.
15750//
15751// See UpdateDistribution for details on how to use this API operation.
15752//
15753// The context must be non-nil and will be used for request cancellation. If
15754// the context is nil a panic will occur. In the future the SDK may create
15755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15756// for more information on using Contexts.
15757func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) {
15758	req, out := c.UpdateDistributionRequest(input)
15759	req.SetContext(ctx)
15760	req.ApplyOptions(opts...)
15761	return out, req.Send()
15762}
15763
15764const opUpdateDistributionBundle = "UpdateDistributionBundle"
15765
15766// UpdateDistributionBundleRequest generates a "aws/request.Request" representing the
15767// client's request for the UpdateDistributionBundle operation. The "output" return
15768// value will be populated with the request's response once the request completes
15769// successfully.
15770//
15771// Use "Send" method on the returned Request to send the API call to the service.
15772// the "output" return value is not valid until after Send returns without error.
15773//
15774// See UpdateDistributionBundle for more information on using the UpdateDistributionBundle
15775// API call, and error handling.
15776//
15777// This method is useful when you want to inject custom logic or configuration
15778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15779//
15780//
15781//    // Example sending a request using the UpdateDistributionBundleRequest method.
15782//    req, resp := client.UpdateDistributionBundleRequest(params)
15783//
15784//    err := req.Send()
15785//    if err == nil { // resp is now filled
15786//        fmt.Println(resp)
15787//    }
15788//
15789// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
15790func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) {
15791	op := &request.Operation{
15792		Name:       opUpdateDistributionBundle,
15793		HTTPMethod: "POST",
15794		HTTPPath:   "/",
15795	}
15796
15797	if input == nil {
15798		input = &UpdateDistributionBundleInput{}
15799	}
15800
15801	output = &UpdateDistributionBundleOutput{}
15802	req = c.newRequest(op, input, output)
15803	return
15804}
15805
15806// UpdateDistributionBundle API operation for Amazon Lightsail.
15807//
15808// Updates the bundle of your Amazon Lightsail content delivery network (CDN)
15809// distribution.
15810//
15811// A distribution bundle specifies the monthly network transfer quota and monthly
15812// cost of your dsitribution.
15813//
15814// Update your distribution's bundle if your distribution is going over its
15815// monthly network transfer quota and is incurring an overage fee.
15816//
15817// You can update your distribution's bundle only one time within your monthly
15818// AWS billing cycle. To determine if you can update your distribution's bundle,
15819// use the GetDistributions action. The ableToUpdateBundle parameter in the
15820// result will indicate whether you can currently update your distribution's
15821// bundle.
15822//
15823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15824// with awserr.Error's Code and Message methods to get detailed information about
15825// the error.
15826//
15827// See the AWS API reference guide for Amazon Lightsail's
15828// API operation UpdateDistributionBundle for usage and error information.
15829//
15830// Returned Error Types:
15831//   * ServiceException
15832//   A general service exception.
15833//
15834//   * InvalidInputException
15835//   Lightsail throws this exception when user input does not conform to the validation
15836//   rules of an input field.
15837//
15838//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15839//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15840//   view, or edit these resources.
15841//
15842//   * NotFoundException
15843//   Lightsail throws this exception when it cannot find a resource.
15844//
15845//   * OperationFailureException
15846//   Lightsail throws this exception when an operation fails to execute.
15847//
15848//   * AccessDeniedException
15849//   Lightsail throws this exception when the user cannot be authenticated or
15850//   uses invalid credentials to access a resource.
15851//
15852//   * UnauthenticatedException
15853//   Lightsail throws this exception when the user has not been authenticated.
15854//
15855// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
15856func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) {
15857	req, out := c.UpdateDistributionBundleRequest(input)
15858	return out, req.Send()
15859}
15860
15861// UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of
15862// the ability to pass a context and additional request options.
15863//
15864// See UpdateDistributionBundle for details on how to use this API operation.
15865//
15866// The context must be non-nil and will be used for request cancellation. If
15867// the context is nil a panic will occur. In the future the SDK may create
15868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15869// for more information on using Contexts.
15870func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) {
15871	req, out := c.UpdateDistributionBundleRequest(input)
15872	req.SetContext(ctx)
15873	req.ApplyOptions(opts...)
15874	return out, req.Send()
15875}
15876
15877const opUpdateDomainEntry = "UpdateDomainEntry"
15878
15879// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
15880// client's request for the UpdateDomainEntry operation. The "output" return
15881// value will be populated with the request's response once the request completes
15882// successfully.
15883//
15884// Use "Send" method on the returned Request to send the API call to the service.
15885// the "output" return value is not valid until after Send returns without error.
15886//
15887// See UpdateDomainEntry for more information on using the UpdateDomainEntry
15888// API call, and error handling.
15889//
15890// This method is useful when you want to inject custom logic or configuration
15891// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15892//
15893//
15894//    // Example sending a request using the UpdateDomainEntryRequest method.
15895//    req, resp := client.UpdateDomainEntryRequest(params)
15896//
15897//    err := req.Send()
15898//    if err == nil { // resp is now filled
15899//        fmt.Println(resp)
15900//    }
15901//
15902// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
15903func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
15904	op := &request.Operation{
15905		Name:       opUpdateDomainEntry,
15906		HTTPMethod: "POST",
15907		HTTPPath:   "/",
15908	}
15909
15910	if input == nil {
15911		input = &UpdateDomainEntryInput{}
15912	}
15913
15914	output = &UpdateDomainEntryOutput{}
15915	req = c.newRequest(op, input, output)
15916	return
15917}
15918
15919// UpdateDomainEntry API operation for Amazon Lightsail.
15920//
15921// Updates a domain recordset after it is created.
15922//
15923// The update domain entry operation supports tag-based access control via resource
15924// tags applied to the resource identified by domain name. For more information,
15925// see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
15926//
15927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15928// with awserr.Error's Code and Message methods to get detailed information about
15929// the error.
15930//
15931// See the AWS API reference guide for Amazon Lightsail's
15932// API operation UpdateDomainEntry for usage and error information.
15933//
15934// Returned Error Types:
15935//   * ServiceException
15936//   A general service exception.
15937//
15938//   * InvalidInputException
15939//   Lightsail throws this exception when user input does not conform to the validation
15940//   rules of an input field.
15941//
15942//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15943//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15944//   view, or edit these resources.
15945//
15946//   * NotFoundException
15947//   Lightsail throws this exception when it cannot find a resource.
15948//
15949//   * OperationFailureException
15950//   Lightsail throws this exception when an operation fails to execute.
15951//
15952//   * AccessDeniedException
15953//   Lightsail throws this exception when the user cannot be authenticated or
15954//   uses invalid credentials to access a resource.
15955//
15956//   * AccountSetupInProgressException
15957//   Lightsail throws this exception when an account is still in the setup in
15958//   progress state.
15959//
15960//   * UnauthenticatedException
15961//   Lightsail throws this exception when the user has not been authenticated.
15962//
15963// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
15964func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
15965	req, out := c.UpdateDomainEntryRequest(input)
15966	return out, req.Send()
15967}
15968
15969// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
15970// the ability to pass a context and additional request options.
15971//
15972// See UpdateDomainEntry for details on how to use this API operation.
15973//
15974// The context must be non-nil and will be used for request cancellation. If
15975// the context is nil a panic will occur. In the future the SDK may create
15976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15977// for more information on using Contexts.
15978func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
15979	req, out := c.UpdateDomainEntryRequest(input)
15980	req.SetContext(ctx)
15981	req.ApplyOptions(opts...)
15982	return out, req.Send()
15983}
15984
15985const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
15986
15987// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
15988// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
15989// value will be populated with the request's response once the request completes
15990// successfully.
15991//
15992// Use "Send" method on the returned Request to send the API call to the service.
15993// the "output" return value is not valid until after Send returns without error.
15994//
15995// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
15996// API call, and error handling.
15997//
15998// This method is useful when you want to inject custom logic or configuration
15999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16000//
16001//
16002//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
16003//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
16004//
16005//    err := req.Send()
16006//    if err == nil { // resp is now filled
16007//        fmt.Println(resp)
16008//    }
16009//
16010// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
16011func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
16012	op := &request.Operation{
16013		Name:       opUpdateLoadBalancerAttribute,
16014		HTTPMethod: "POST",
16015		HTTPPath:   "/",
16016	}
16017
16018	if input == nil {
16019		input = &UpdateLoadBalancerAttributeInput{}
16020	}
16021
16022	output = &UpdateLoadBalancerAttributeOutput{}
16023	req = c.newRequest(op, input, output)
16024	return
16025}
16026
16027// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
16028//
16029// Updates the specified attribute for a load balancer. You can only update
16030// one attribute at a time.
16031//
16032// The update load balancer attribute operation supports tag-based access control
16033// via resource tags applied to the resource identified by load balancer name.
16034// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
16035//
16036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16037// with awserr.Error's Code and Message methods to get detailed information about
16038// the error.
16039//
16040// See the AWS API reference guide for Amazon Lightsail's
16041// API operation UpdateLoadBalancerAttribute for usage and error information.
16042//
16043// Returned Error Types:
16044//   * ServiceException
16045//   A general service exception.
16046//
16047//   * InvalidInputException
16048//   Lightsail throws this exception when user input does not conform to the validation
16049//   rules of an input field.
16050//
16051//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
16052//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
16053//   view, or edit these resources.
16054//
16055//   * NotFoundException
16056//   Lightsail throws this exception when it cannot find a resource.
16057//
16058//   * OperationFailureException
16059//   Lightsail throws this exception when an operation fails to execute.
16060//
16061//   * AccessDeniedException
16062//   Lightsail throws this exception when the user cannot be authenticated or
16063//   uses invalid credentials to access a resource.
16064//
16065//   * AccountSetupInProgressException
16066//   Lightsail throws this exception when an account is still in the setup in
16067//   progress state.
16068//
16069//   * UnauthenticatedException
16070//   Lightsail throws this exception when the user has not been authenticated.
16071//
16072// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
16073func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
16074	req, out := c.UpdateLoadBalancerAttributeRequest(input)
16075	return out, req.Send()
16076}
16077
16078// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
16079// the ability to pass a context and additional request options.
16080//
16081// See UpdateLoadBalancerAttribute for details on how to use this API operation.
16082//
16083// The context must be non-nil and will be used for request cancellation. If
16084// the context is nil a panic will occur. In the future the SDK may create
16085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16086// for more information on using Contexts.
16087func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
16088	req, out := c.UpdateLoadBalancerAttributeRequest(input)
16089	req.SetContext(ctx)
16090	req.ApplyOptions(opts...)
16091	return out, req.Send()
16092}
16093
16094const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
16095
16096// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
16097// client's request for the UpdateRelationalDatabase operation. The "output" return
16098// value will be populated with the request's response once the request completes
16099// successfully.
16100//
16101// Use "Send" method on the returned Request to send the API call to the service.
16102// the "output" return value is not valid until after Send returns without error.
16103//
16104// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
16105// API call, and error handling.
16106//
16107// This method is useful when you want to inject custom logic or configuration
16108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16109//
16110//
16111//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
16112//    req, resp := client.UpdateRelationalDatabaseRequest(params)
16113//
16114//    err := req.Send()
16115//    if err == nil { // resp is now filled
16116//        fmt.Println(resp)
16117//    }
16118//
16119// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
16120func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
16121	op := &request.Operation{
16122		Name:       opUpdateRelationalDatabase,
16123		HTTPMethod: "POST",
16124		HTTPPath:   "/",
16125	}
16126
16127	if input == nil {
16128		input = &UpdateRelationalDatabaseInput{}
16129	}
16130
16131	output = &UpdateRelationalDatabaseOutput{}
16132	req = c.newRequest(op, input, output)
16133	return
16134}
16135
16136// UpdateRelationalDatabase API operation for Amazon Lightsail.
16137//
16138// Allows the update of one or more attributes of a database in Amazon Lightsail.
16139//
16140// Updates are applied immediately, or in cases where the updates could result
16141// in an outage, are applied during the database's predefined maintenance window.
16142//
16143// The update relational database operation supports tag-based access control
16144// via resource tags applied to the resource identified by relationalDatabaseName.
16145// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
16146//
16147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16148// with awserr.Error's Code and Message methods to get detailed information about
16149// the error.
16150//
16151// See the AWS API reference guide for Amazon Lightsail's
16152// API operation UpdateRelationalDatabase for usage and error information.
16153//
16154// Returned Error Types:
16155//   * ServiceException
16156//   A general service exception.
16157//
16158//   * InvalidInputException
16159//   Lightsail throws this exception when user input does not conform to the validation
16160//   rules of an input field.
16161//
16162//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
16163//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
16164//   view, or edit these resources.
16165//
16166//   * NotFoundException
16167//   Lightsail throws this exception when it cannot find a resource.
16168//
16169//   * OperationFailureException
16170//   Lightsail throws this exception when an operation fails to execute.
16171//
16172//   * AccessDeniedException
16173//   Lightsail throws this exception when the user cannot be authenticated or
16174//   uses invalid credentials to access a resource.
16175//
16176//   * AccountSetupInProgressException
16177//   Lightsail throws this exception when an account is still in the setup in
16178//   progress state.
16179//
16180//   * UnauthenticatedException
16181//   Lightsail throws this exception when the user has not been authenticated.
16182//
16183// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
16184func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
16185	req, out := c.UpdateRelationalDatabaseRequest(input)
16186	return out, req.Send()
16187}
16188
16189// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
16190// the ability to pass a context and additional request options.
16191//
16192// See UpdateRelationalDatabase for details on how to use this API operation.
16193//
16194// The context must be non-nil and will be used for request cancellation. If
16195// the context is nil a panic will occur. In the future the SDK may create
16196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16197// for more information on using Contexts.
16198func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
16199	req, out := c.UpdateRelationalDatabaseRequest(input)
16200	req.SetContext(ctx)
16201	req.ApplyOptions(opts...)
16202	return out, req.Send()
16203}
16204
16205const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
16206
16207// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
16208// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
16209// value will be populated with the request's response once the request completes
16210// successfully.
16211//
16212// Use "Send" method on the returned Request to send the API call to the service.
16213// the "output" return value is not valid until after Send returns without error.
16214//
16215// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
16216// API call, and error handling.
16217//
16218// This method is useful when you want to inject custom logic or configuration
16219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16220//
16221//
16222//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
16223//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
16224//
16225//    err := req.Send()
16226//    if err == nil { // resp is now filled
16227//        fmt.Println(resp)
16228//    }
16229//
16230// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
16231func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
16232	op := &request.Operation{
16233		Name:       opUpdateRelationalDatabaseParameters,
16234		HTTPMethod: "POST",
16235		HTTPPath:   "/",
16236	}
16237
16238	if input == nil {
16239		input = &UpdateRelationalDatabaseParametersInput{}
16240	}
16241
16242	output = &UpdateRelationalDatabaseParametersOutput{}
16243	req = c.newRequest(op, input, output)
16244	return
16245}
16246
16247// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
16248//
16249// Allows the update of one or more parameters of a database in Amazon Lightsail.
16250//
16251// Parameter updates don't cause outages; therefore, their application is not
16252// subject to the preferred maintenance window. However, there are two ways
16253// in which parameter updates are applied: dynamic or pending-reboot. Parameters
16254// marked with a dynamic apply type are applied immediately. Parameters marked
16255// with a pending-reboot apply type are applied only after the database is rebooted
16256// using the reboot relational database operation.
16257//
16258// The update relational database parameters operation supports tag-based access
16259// control via resource tags applied to the resource identified by relationalDatabaseName.
16260// For more information, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags).
16261//
16262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16263// with awserr.Error's Code and Message methods to get detailed information about
16264// the error.
16265//
16266// See the AWS API reference guide for Amazon Lightsail's
16267// API operation UpdateRelationalDatabaseParameters for usage and error information.
16268//
16269// Returned Error Types:
16270//   * ServiceException
16271//   A general service exception.
16272//
16273//   * InvalidInputException
16274//   Lightsail throws this exception when user input does not conform to the validation
16275//   rules of an input field.
16276//
16277//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
16278//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
16279//   view, or edit these resources.
16280//
16281//   * NotFoundException
16282//   Lightsail throws this exception when it cannot find a resource.
16283//
16284//   * OperationFailureException
16285//   Lightsail throws this exception when an operation fails to execute.
16286//
16287//   * AccessDeniedException
16288//   Lightsail throws this exception when the user cannot be authenticated or
16289//   uses invalid credentials to access a resource.
16290//
16291//   * AccountSetupInProgressException
16292//   Lightsail throws this exception when an account is still in the setup in
16293//   progress state.
16294//
16295//   * UnauthenticatedException
16296//   Lightsail throws this exception when the user has not been authenticated.
16297//
16298// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
16299func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
16300	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
16301	return out, req.Send()
16302}
16303
16304// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
16305// the ability to pass a context and additional request options.
16306//
16307// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
16308//
16309// The context must be non-nil and will be used for request cancellation. If
16310// the context is nil a panic will occur. In the future the SDK may create
16311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16312// for more information on using Contexts.
16313func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
16314	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
16315	req.SetContext(ctx)
16316	req.ApplyOptions(opts...)
16317	return out, req.Send()
16318}
16319
16320// Lightsail throws this exception when the user cannot be authenticated or
16321// uses invalid credentials to access a resource.
16322type AccessDeniedException struct {
16323	_            struct{}                  `type:"structure"`
16324	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16325
16326	Code_ *string `locationName:"code" type:"string"`
16327
16328	Docs *string `locationName:"docs" type:"string"`
16329
16330	Message_ *string `locationName:"message" type:"string"`
16331
16332	Tip *string `locationName:"tip" type:"string"`
16333}
16334
16335// String returns the string representation
16336func (s AccessDeniedException) String() string {
16337	return awsutil.Prettify(s)
16338}
16339
16340// GoString returns the string representation
16341func (s AccessDeniedException) GoString() string {
16342	return s.String()
16343}
16344
16345func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
16346	return &AccessDeniedException{
16347		RespMetadata: v,
16348	}
16349}
16350
16351// Code returns the exception type name.
16352func (s *AccessDeniedException) Code() string {
16353	return "AccessDeniedException"
16354}
16355
16356// Message returns the exception's message.
16357func (s *AccessDeniedException) Message() string {
16358	if s.Message_ != nil {
16359		return *s.Message_
16360	}
16361	return ""
16362}
16363
16364// OrigErr always returns nil, satisfies awserr.Error interface.
16365func (s *AccessDeniedException) OrigErr() error {
16366	return nil
16367}
16368
16369func (s *AccessDeniedException) Error() string {
16370	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16371}
16372
16373// Status code returns the HTTP status code for the request's response error.
16374func (s *AccessDeniedException) StatusCode() int {
16375	return s.RespMetadata.StatusCode
16376}
16377
16378// RequestID returns the service's response RequestID for request.
16379func (s *AccessDeniedException) RequestID() string {
16380	return s.RespMetadata.RequestID
16381}
16382
16383// Describes an access key for an Amazon Lightsail bucket.
16384//
16385// Access keys grant full programmatic access to the specified bucket and its
16386// objects. You can have a maximum of two access keys per bucket. Use the CreateBucketAccessKey
16387// action to create an access key for a specific bucket. For more information
16388// about access keys, see Creating access keys for a bucket in Amazon Lightsail
16389// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
16390// in the Amazon Lightsail Developer Guide.
16391//
16392// The secretAccessKey value is returned only in response to the CreateBucketAccessKey
16393// action. You can get a secret access key only when you first create an access
16394// key; you cannot get the secret access key later. If you lose the secret access
16395// key, you must create a new access key.
16396type AccessKey struct {
16397	_ struct{} `type:"structure"`
16398
16399	// The ID of the access key.
16400	AccessKeyId *string `locationName:"accessKeyId" min:"20" type:"string" sensitive:"true"`
16401
16402	// The timestamp when the access key was created.
16403	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16404
16405	// An object that describes the last time the access key was used.
16406	//
16407	// This object does not include data in the response of a CreateBucketAccessKey
16408	// action. If the access key has not been used, the region and serviceName values
16409	// are N/A, and the lastUsedDate value is null.
16410	LastUsed *AccessKeyLastUsed `locationName:"lastUsed" type:"structure"`
16411
16412	// The secret access key used to sign requests.
16413	//
16414	// You should store the secret access key in a safe location. We recommend that
16415	// you delete the access key if the secret access key is compromised.
16416	SecretAccessKey *string `locationName:"secretAccessKey" type:"string"`
16417
16418	// The status of the access key.
16419	//
16420	// A status of Active means that the key is valid, while Inactive means it is
16421	// not.
16422	Status *string `locationName:"status" type:"string" enum:"StatusType"`
16423}
16424
16425// String returns the string representation
16426func (s AccessKey) String() string {
16427	return awsutil.Prettify(s)
16428}
16429
16430// GoString returns the string representation
16431func (s AccessKey) GoString() string {
16432	return s.String()
16433}
16434
16435// SetAccessKeyId sets the AccessKeyId field's value.
16436func (s *AccessKey) SetAccessKeyId(v string) *AccessKey {
16437	s.AccessKeyId = &v
16438	return s
16439}
16440
16441// SetCreatedAt sets the CreatedAt field's value.
16442func (s *AccessKey) SetCreatedAt(v time.Time) *AccessKey {
16443	s.CreatedAt = &v
16444	return s
16445}
16446
16447// SetLastUsed sets the LastUsed field's value.
16448func (s *AccessKey) SetLastUsed(v *AccessKeyLastUsed) *AccessKey {
16449	s.LastUsed = v
16450	return s
16451}
16452
16453// SetSecretAccessKey sets the SecretAccessKey field's value.
16454func (s *AccessKey) SetSecretAccessKey(v string) *AccessKey {
16455	s.SecretAccessKey = &v
16456	return s
16457}
16458
16459// SetStatus sets the Status field's value.
16460func (s *AccessKey) SetStatus(v string) *AccessKey {
16461	s.Status = &v
16462	return s
16463}
16464
16465// Describes the last time an access key was used.
16466//
16467// This object does not include data in the response of a CreateBucketAccessKey
16468// action.
16469type AccessKeyLastUsed struct {
16470	_ struct{} `type:"structure"`
16471
16472	// The date and time when the access key was most recently used.
16473	//
16474	// This value is null if the access key has not been used.
16475	LastUsedDate *time.Time `locationName:"lastUsedDate" type:"timestamp"`
16476
16477	// The AWS Region where this access key was most recently used.
16478	//
16479	// This value is N/A if the access key has not been used.
16480	Region *string `locationName:"region" type:"string"`
16481
16482	// The name of the AWS service with which this access key was most recently
16483	// used.
16484	//
16485	// This value is N/A if the access key has not been used.
16486	ServiceName *string `locationName:"serviceName" type:"string"`
16487}
16488
16489// String returns the string representation
16490func (s AccessKeyLastUsed) String() string {
16491	return awsutil.Prettify(s)
16492}
16493
16494// GoString returns the string representation
16495func (s AccessKeyLastUsed) GoString() string {
16496	return s.String()
16497}
16498
16499// SetLastUsedDate sets the LastUsedDate field's value.
16500func (s *AccessKeyLastUsed) SetLastUsedDate(v time.Time) *AccessKeyLastUsed {
16501	s.LastUsedDate = &v
16502	return s
16503}
16504
16505// SetRegion sets the Region field's value.
16506func (s *AccessKeyLastUsed) SetRegion(v string) *AccessKeyLastUsed {
16507	s.Region = &v
16508	return s
16509}
16510
16511// SetServiceName sets the ServiceName field's value.
16512func (s *AccessKeyLastUsed) SetServiceName(v string) *AccessKeyLastUsed {
16513	s.ServiceName = &v
16514	return s
16515}
16516
16517// Describes the anonymous access permissions for an Amazon Lightsail bucket
16518// and its objects.
16519//
16520// For more information about bucket access permissions, see Understanding bucket
16521// permissions in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-understanding-bucket-permissions)
16522// in the
16523//
16524// Amazon Lightsail Developer Guide.
16525type AccessRules struct {
16526	_ struct{} `type:"structure"`
16527
16528	// A Boolean value that indicates whether the access control list (ACL) permissions
16529	// that are applied to individual objects override the getObject option that
16530	// is currently specified.
16531	//
16532	// When this is true, you can use the PutObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)
16533	// Amazon S3 API action to set individual objects to public (read-only) using
16534	// the public-read ACL, or to private using the private ACL.
16535	AllowPublicOverrides *bool `locationName:"allowPublicOverrides" type:"boolean"`
16536
16537	// Specifies the anonymous access to all objects in a bucket.
16538	//
16539	// The following options can be specified:
16540	//
16541	//    * public - Sets all objects in the bucket to public (read-only), making
16542	//    them readable by anyone in the world. If the getObject value is set to
16543	//    public, then all objects in the bucket default to public regardless of
16544	//    the allowPublicOverrides value.
16545	//
16546	//    * private - Sets all objects in the bucket to private, making them readable
16547	//    only by you or anyone you give access to. If the getObject value is set
16548	//    to private, and the allowPublicOverrides value is set to true, then all
16549	//    objects in the bucket default to private unless they are configured with
16550	//    a public-read ACL. Individual objects with a public-read ACL are readable
16551	//    by anyone in the world.
16552	GetObject *string `locationName:"getObject" type:"string" enum:"AccessType"`
16553}
16554
16555// String returns the string representation
16556func (s AccessRules) String() string {
16557	return awsutil.Prettify(s)
16558}
16559
16560// GoString returns the string representation
16561func (s AccessRules) GoString() string {
16562	return s.String()
16563}
16564
16565// SetAllowPublicOverrides sets the AllowPublicOverrides field's value.
16566func (s *AccessRules) SetAllowPublicOverrides(v bool) *AccessRules {
16567	s.AllowPublicOverrides = &v
16568	return s
16569}
16570
16571// SetGetObject sets the GetObject field's value.
16572func (s *AccessRules) SetGetObject(v string) *AccessRules {
16573	s.GetObject = &v
16574	return s
16575}
16576
16577// Lightsail throws this exception when an account is still in the setup in
16578// progress state.
16579type AccountSetupInProgressException struct {
16580	_            struct{}                  `type:"structure"`
16581	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16582
16583	Code_ *string `locationName:"code" type:"string"`
16584
16585	Docs *string `locationName:"docs" type:"string"`
16586
16587	Message_ *string `locationName:"message" type:"string"`
16588
16589	Tip *string `locationName:"tip" type:"string"`
16590}
16591
16592// String returns the string representation
16593func (s AccountSetupInProgressException) String() string {
16594	return awsutil.Prettify(s)
16595}
16596
16597// GoString returns the string representation
16598func (s AccountSetupInProgressException) GoString() string {
16599	return s.String()
16600}
16601
16602func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
16603	return &AccountSetupInProgressException{
16604		RespMetadata: v,
16605	}
16606}
16607
16608// Code returns the exception type name.
16609func (s *AccountSetupInProgressException) Code() string {
16610	return "AccountSetupInProgressException"
16611}
16612
16613// Message returns the exception's message.
16614func (s *AccountSetupInProgressException) Message() string {
16615	if s.Message_ != nil {
16616		return *s.Message_
16617	}
16618	return ""
16619}
16620
16621// OrigErr always returns nil, satisfies awserr.Error interface.
16622func (s *AccountSetupInProgressException) OrigErr() error {
16623	return nil
16624}
16625
16626func (s *AccountSetupInProgressException) Error() string {
16627	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16628}
16629
16630// Status code returns the HTTP status code for the request's response error.
16631func (s *AccountSetupInProgressException) StatusCode() int {
16632	return s.RespMetadata.StatusCode
16633}
16634
16635// RequestID returns the service's response RequestID for request.
16636func (s *AccountSetupInProgressException) RequestID() string {
16637	return s.RespMetadata.RequestID
16638}
16639
16640// Describes an add-on that is enabled for an Amazon Lightsail resource.
16641type AddOn struct {
16642	_ struct{} `type:"structure"`
16643
16644	// The name of the add-on.
16645	Name *string `locationName:"name" type:"string"`
16646
16647	// The next daily time an automatic snapshot will be created.
16648	//
16649	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
16650	//
16651	// The snapshot is automatically created between the time shown and up to 45
16652	// minutes after.
16653	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
16654
16655	// The daily time when an automatic snapshot is created.
16656	//
16657	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
16658	//
16659	// The snapshot is automatically created between the time shown and up to 45
16660	// minutes after.
16661	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
16662
16663	// The status of the add-on.
16664	Status *string `locationName:"status" type:"string"`
16665}
16666
16667// String returns the string representation
16668func (s AddOn) String() string {
16669	return awsutil.Prettify(s)
16670}
16671
16672// GoString returns the string representation
16673func (s AddOn) GoString() string {
16674	return s.String()
16675}
16676
16677// SetName sets the Name field's value.
16678func (s *AddOn) SetName(v string) *AddOn {
16679	s.Name = &v
16680	return s
16681}
16682
16683// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
16684func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
16685	s.NextSnapshotTimeOfDay = &v
16686	return s
16687}
16688
16689// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
16690func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
16691	s.SnapshotTimeOfDay = &v
16692	return s
16693}
16694
16695// SetStatus sets the Status field's value.
16696func (s *AddOn) SetStatus(v string) *AddOn {
16697	s.Status = &v
16698	return s
16699}
16700
16701// Describes a request to enable, modify, or disable an add-on for an Amazon
16702// Lightsail resource.
16703//
16704// An additional cost may be associated with enabling add-ons. For more information,
16705// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
16706type AddOnRequest struct {
16707	_ struct{} `type:"structure"`
16708
16709	// The add-on type.
16710	//
16711	// AddOnType is a required field
16712	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
16713
16714	// An object that represents additional parameters when enabling or modifying
16715	// the automatic snapshot add-on.
16716	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
16717}
16718
16719// String returns the string representation
16720func (s AddOnRequest) String() string {
16721	return awsutil.Prettify(s)
16722}
16723
16724// GoString returns the string representation
16725func (s AddOnRequest) GoString() string {
16726	return s.String()
16727}
16728
16729// Validate inspects the fields of the type to determine if they are valid.
16730func (s *AddOnRequest) Validate() error {
16731	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
16732	if s.AddOnType == nil {
16733		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
16734	}
16735
16736	if invalidParams.Len() > 0 {
16737		return invalidParams
16738	}
16739	return nil
16740}
16741
16742// SetAddOnType sets the AddOnType field's value.
16743func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
16744	s.AddOnType = &v
16745	return s
16746}
16747
16748// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
16749func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
16750	s.AutoSnapshotAddOnRequest = v
16751	return s
16752}
16753
16754// Describes an alarm.
16755//
16756// An alarm is a way to monitor your Lightsail resource metrics. For more information,
16757// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
16758type Alarm struct {
16759	_ struct{} `type:"structure"`
16760
16761	// The Amazon Resource Name (ARN) of the alarm.
16762	Arn *string `locationName:"arn" type:"string"`
16763
16764	// The arithmetic operation used when comparing the specified statistic and
16765	// threshold.
16766	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
16767
16768	// The contact protocols for the alarm, such as Email, SMS (text messaging),
16769	// or both.
16770	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
16771
16772	// The timestamp when the alarm was created.
16773	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16774
16775	// The number of data points that must not within the specified threshold to
16776	// trigger the alarm.
16777	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
16778
16779	// The number of periods over which data is compared to the specified threshold.
16780	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
16781
16782	// An object that lists information about the location of the alarm.
16783	Location *ResourceLocation `locationName:"location" type:"structure"`
16784
16785	// The name of the metric associated with the alarm.
16786	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
16787
16788	// An object that lists information about the resource monitored by the alarm.
16789	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
16790
16791	// The name of the alarm.
16792	Name *string `locationName:"name" type:"string"`
16793
16794	// Indicates whether the alarm is enabled.
16795	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
16796
16797	// The alarm states that trigger a notification.
16798	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
16799
16800	// The period, in seconds, over which the statistic is applied.
16801	Period *int64 `locationName:"period" min:"60" type:"integer"`
16802
16803	// The Lightsail resource type (e.g., Alarm).
16804	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16805
16806	// The current state of the alarm.
16807	//
16808	// An alarm has the following possible states:
16809	//
16810	//    * ALARM - The metric is outside of the defined threshold.
16811	//
16812	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
16813	//    or not enough data is available for the metric to determine the alarm
16814	//    state.
16815	//
16816	//    * OK - The metric is within the defined threshold.
16817	State *string `locationName:"state" type:"string" enum:"AlarmState"`
16818
16819	// The statistic for the metric associated with the alarm.
16820	//
16821	// The following statistics are available:
16822	//
16823	//    * Minimum - The lowest value observed during the specified period. Use
16824	//    this value to determine low volumes of activity for your application.
16825	//
16826	//    * Maximum - The highest value observed during the specified period. Use
16827	//    this value to determine high volumes of activity for your application.
16828	//
16829	//    * Sum - All values submitted for the matching metric added together. You
16830	//    can use this statistic to determine the total volume of a metric.
16831	//
16832	//    * Average - The value of Sum / SampleCount during the specified period.
16833	//    By comparing this statistic with the Minimum and Maximum values, you can
16834	//    determine the full scope of a metric and how close the average use is
16835	//    to the Minimum and Maximum values. This comparison helps you to know when
16836	//    to increase or decrease your resources.
16837	//
16838	//    * SampleCount - The count, or number, of data points used for the statistical
16839	//    calculation.
16840	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
16841
16842	// The support code. Include this code in your email to support when you have
16843	// questions about your Lightsail alarm. This code enables our support team
16844	// to look up your Lightsail information more easily.
16845	SupportCode *string `locationName:"supportCode" type:"string"`
16846
16847	// The value against which the specified statistic is compared.
16848	Threshold *float64 `locationName:"threshold" type:"double"`
16849
16850	// Specifies how the alarm handles missing data points.
16851	//
16852	// An alarm can treat missing data in the following ways:
16853	//
16854	//    * breaching - Assume the missing data is not within the threshold. Missing
16855	//    data counts towards the number of times the metric is not within the threshold.
16856	//
16857	//    * notBreaching - Assume the missing data is within the threshold. Missing
16858	//    data does not count towards the number of times the metric is not within
16859	//    the threshold.
16860	//
16861	//    * ignore - Ignore the missing data. Maintains the current alarm state.
16862	//
16863	//    * missing - Missing data is treated as missing.
16864	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
16865
16866	// The unit of the metric associated with the alarm.
16867	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
16868}
16869
16870// String returns the string representation
16871func (s Alarm) String() string {
16872	return awsutil.Prettify(s)
16873}
16874
16875// GoString returns the string representation
16876func (s Alarm) GoString() string {
16877	return s.String()
16878}
16879
16880// SetArn sets the Arn field's value.
16881func (s *Alarm) SetArn(v string) *Alarm {
16882	s.Arn = &v
16883	return s
16884}
16885
16886// SetComparisonOperator sets the ComparisonOperator field's value.
16887func (s *Alarm) SetComparisonOperator(v string) *Alarm {
16888	s.ComparisonOperator = &v
16889	return s
16890}
16891
16892// SetContactProtocols sets the ContactProtocols field's value.
16893func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
16894	s.ContactProtocols = v
16895	return s
16896}
16897
16898// SetCreatedAt sets the CreatedAt field's value.
16899func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
16900	s.CreatedAt = &v
16901	return s
16902}
16903
16904// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
16905func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
16906	s.DatapointsToAlarm = &v
16907	return s
16908}
16909
16910// SetEvaluationPeriods sets the EvaluationPeriods field's value.
16911func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
16912	s.EvaluationPeriods = &v
16913	return s
16914}
16915
16916// SetLocation sets the Location field's value.
16917func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
16918	s.Location = v
16919	return s
16920}
16921
16922// SetMetricName sets the MetricName field's value.
16923func (s *Alarm) SetMetricName(v string) *Alarm {
16924	s.MetricName = &v
16925	return s
16926}
16927
16928// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
16929func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
16930	s.MonitoredResourceInfo = v
16931	return s
16932}
16933
16934// SetName sets the Name field's value.
16935func (s *Alarm) SetName(v string) *Alarm {
16936	s.Name = &v
16937	return s
16938}
16939
16940// SetNotificationEnabled sets the NotificationEnabled field's value.
16941func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
16942	s.NotificationEnabled = &v
16943	return s
16944}
16945
16946// SetNotificationTriggers sets the NotificationTriggers field's value.
16947func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
16948	s.NotificationTriggers = v
16949	return s
16950}
16951
16952// SetPeriod sets the Period field's value.
16953func (s *Alarm) SetPeriod(v int64) *Alarm {
16954	s.Period = &v
16955	return s
16956}
16957
16958// SetResourceType sets the ResourceType field's value.
16959func (s *Alarm) SetResourceType(v string) *Alarm {
16960	s.ResourceType = &v
16961	return s
16962}
16963
16964// SetState sets the State field's value.
16965func (s *Alarm) SetState(v string) *Alarm {
16966	s.State = &v
16967	return s
16968}
16969
16970// SetStatistic sets the Statistic field's value.
16971func (s *Alarm) SetStatistic(v string) *Alarm {
16972	s.Statistic = &v
16973	return s
16974}
16975
16976// SetSupportCode sets the SupportCode field's value.
16977func (s *Alarm) SetSupportCode(v string) *Alarm {
16978	s.SupportCode = &v
16979	return s
16980}
16981
16982// SetThreshold sets the Threshold field's value.
16983func (s *Alarm) SetThreshold(v float64) *Alarm {
16984	s.Threshold = &v
16985	return s
16986}
16987
16988// SetTreatMissingData sets the TreatMissingData field's value.
16989func (s *Alarm) SetTreatMissingData(v string) *Alarm {
16990	s.TreatMissingData = &v
16991	return s
16992}
16993
16994// SetUnit sets the Unit field's value.
16995func (s *Alarm) SetUnit(v string) *Alarm {
16996	s.Unit = &v
16997	return s
16998}
16999
17000type AllocateStaticIpInput struct {
17001	_ struct{} `type:"structure"`
17002
17003	// The name of the static IP address.
17004	//
17005	// StaticIpName is a required field
17006	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
17007}
17008
17009// String returns the string representation
17010func (s AllocateStaticIpInput) String() string {
17011	return awsutil.Prettify(s)
17012}
17013
17014// GoString returns the string representation
17015func (s AllocateStaticIpInput) GoString() string {
17016	return s.String()
17017}
17018
17019// Validate inspects the fields of the type to determine if they are valid.
17020func (s *AllocateStaticIpInput) Validate() error {
17021	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
17022	if s.StaticIpName == nil {
17023		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
17024	}
17025
17026	if invalidParams.Len() > 0 {
17027		return invalidParams
17028	}
17029	return nil
17030}
17031
17032// SetStaticIpName sets the StaticIpName field's value.
17033func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
17034	s.StaticIpName = &v
17035	return s
17036}
17037
17038type AllocateStaticIpOutput struct {
17039	_ struct{} `type:"structure"`
17040
17041	// An array of objects that describe the result of the action, such as the status
17042	// of the request, the timestamp of the request, and the resources affected
17043	// by the request.
17044	Operations []*Operation `locationName:"operations" type:"list"`
17045}
17046
17047// String returns the string representation
17048func (s AllocateStaticIpOutput) String() string {
17049	return awsutil.Prettify(s)
17050}
17051
17052// GoString returns the string representation
17053func (s AllocateStaticIpOutput) GoString() string {
17054	return s.String()
17055}
17056
17057// SetOperations sets the Operations field's value.
17058func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
17059	s.Operations = v
17060	return s
17061}
17062
17063type AttachCertificateToDistributionInput struct {
17064	_ struct{} `type:"structure"`
17065
17066	// The name of the certificate to attach to a distribution.
17067	//
17068	// Only certificates with a status of ISSUED can be attached to a distribution.
17069	//
17070	// Use the GetCertificates action to get a list of certificate names that you
17071	// can specify.
17072	//
17073	// This is the name of the certificate resource type and is used only to reference
17074	// the certificate in other API actions. It can be different than the domain
17075	// name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate
17076	// and the domain name of the certificate might be example.com.
17077	//
17078	// CertificateName is a required field
17079	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
17080
17081	// The name of the distribution that the certificate will be attached to.
17082	//
17083	// Use the GetDistributions action to get a list of distribution names that
17084	// you can specify.
17085	//
17086	// DistributionName is a required field
17087	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
17088}
17089
17090// String returns the string representation
17091func (s AttachCertificateToDistributionInput) String() string {
17092	return awsutil.Prettify(s)
17093}
17094
17095// GoString returns the string representation
17096func (s AttachCertificateToDistributionInput) GoString() string {
17097	return s.String()
17098}
17099
17100// Validate inspects the fields of the type to determine if they are valid.
17101func (s *AttachCertificateToDistributionInput) Validate() error {
17102	invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"}
17103	if s.CertificateName == nil {
17104		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
17105	}
17106	if s.DistributionName == nil {
17107		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
17108	}
17109
17110	if invalidParams.Len() > 0 {
17111		return invalidParams
17112	}
17113	return nil
17114}
17115
17116// SetCertificateName sets the CertificateName field's value.
17117func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput {
17118	s.CertificateName = &v
17119	return s
17120}
17121
17122// SetDistributionName sets the DistributionName field's value.
17123func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput {
17124	s.DistributionName = &v
17125	return s
17126}
17127
17128type AttachCertificateToDistributionOutput struct {
17129	_ struct{} `type:"structure"`
17130
17131	// An object that describes the result of the action, such as the status of
17132	// the request, the timestamp of the request, and the resources affected by
17133	// the request.
17134	Operation *Operation `locationName:"operation" type:"structure"`
17135}
17136
17137// String returns the string representation
17138func (s AttachCertificateToDistributionOutput) String() string {
17139	return awsutil.Prettify(s)
17140}
17141
17142// GoString returns the string representation
17143func (s AttachCertificateToDistributionOutput) GoString() string {
17144	return s.String()
17145}
17146
17147// SetOperation sets the Operation field's value.
17148func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput {
17149	s.Operation = v
17150	return s
17151}
17152
17153type AttachDiskInput struct {
17154	_ struct{} `type:"structure"`
17155
17156	// The unique Lightsail disk name (e.g., my-disk).
17157	//
17158	// DiskName is a required field
17159	DiskName *string `locationName:"diskName" type:"string" required:"true"`
17160
17161	// The disk path to expose to the instance (e.g., /dev/xvdf).
17162	//
17163	// DiskPath is a required field
17164	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
17165
17166	// The name of the Lightsail instance where you want to utilize the storage
17167	// disk.
17168	//
17169	// InstanceName is a required field
17170	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17171}
17172
17173// String returns the string representation
17174func (s AttachDiskInput) String() string {
17175	return awsutil.Prettify(s)
17176}
17177
17178// GoString returns the string representation
17179func (s AttachDiskInput) GoString() string {
17180	return s.String()
17181}
17182
17183// Validate inspects the fields of the type to determine if they are valid.
17184func (s *AttachDiskInput) Validate() error {
17185	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
17186	if s.DiskName == nil {
17187		invalidParams.Add(request.NewErrParamRequired("DiskName"))
17188	}
17189	if s.DiskPath == nil {
17190		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
17191	}
17192	if s.InstanceName == nil {
17193		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17194	}
17195
17196	if invalidParams.Len() > 0 {
17197		return invalidParams
17198	}
17199	return nil
17200}
17201
17202// SetDiskName sets the DiskName field's value.
17203func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
17204	s.DiskName = &v
17205	return s
17206}
17207
17208// SetDiskPath sets the DiskPath field's value.
17209func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
17210	s.DiskPath = &v
17211	return s
17212}
17213
17214// SetInstanceName sets the InstanceName field's value.
17215func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
17216	s.InstanceName = &v
17217	return s
17218}
17219
17220type AttachDiskOutput struct {
17221	_ struct{} `type:"structure"`
17222
17223	// An array of objects that describe the result of the action, such as the status
17224	// of the request, the timestamp of the request, and the resources affected
17225	// by the request.
17226	Operations []*Operation `locationName:"operations" type:"list"`
17227}
17228
17229// String returns the string representation
17230func (s AttachDiskOutput) String() string {
17231	return awsutil.Prettify(s)
17232}
17233
17234// GoString returns the string representation
17235func (s AttachDiskOutput) GoString() string {
17236	return s.String()
17237}
17238
17239// SetOperations sets the Operations field's value.
17240func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
17241	s.Operations = v
17242	return s
17243}
17244
17245type AttachInstancesToLoadBalancerInput struct {
17246	_ struct{} `type:"structure"`
17247
17248	// An array of strings representing the instance name(s) you want to attach
17249	// to your load balancer.
17250	//
17251	// An instance must be running before you can attach it to your load balancer.
17252	//
17253	// There are no additional limits on the number of instances you can attach
17254	// to your load balancer, aside from the limit of Lightsail instances you can
17255	// create in your account (20).
17256	//
17257	// InstanceNames is a required field
17258	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
17259
17260	// The name of the load balancer.
17261	//
17262	// LoadBalancerName is a required field
17263	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17264}
17265
17266// String returns the string representation
17267func (s AttachInstancesToLoadBalancerInput) String() string {
17268	return awsutil.Prettify(s)
17269}
17270
17271// GoString returns the string representation
17272func (s AttachInstancesToLoadBalancerInput) GoString() string {
17273	return s.String()
17274}
17275
17276// Validate inspects the fields of the type to determine if they are valid.
17277func (s *AttachInstancesToLoadBalancerInput) Validate() error {
17278	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
17279	if s.InstanceNames == nil {
17280		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
17281	}
17282	if s.LoadBalancerName == nil {
17283		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17284	}
17285
17286	if invalidParams.Len() > 0 {
17287		return invalidParams
17288	}
17289	return nil
17290}
17291
17292// SetInstanceNames sets the InstanceNames field's value.
17293func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
17294	s.InstanceNames = v
17295	return s
17296}
17297
17298// SetLoadBalancerName sets the LoadBalancerName field's value.
17299func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
17300	s.LoadBalancerName = &v
17301	return s
17302}
17303
17304type AttachInstancesToLoadBalancerOutput struct {
17305	_ struct{} `type:"structure"`
17306
17307	// An array of objects that describe the result of the action, such as the status
17308	// of the request, the timestamp of the request, and the resources affected
17309	// by the request.
17310	Operations []*Operation `locationName:"operations" type:"list"`
17311}
17312
17313// String returns the string representation
17314func (s AttachInstancesToLoadBalancerOutput) String() string {
17315	return awsutil.Prettify(s)
17316}
17317
17318// GoString returns the string representation
17319func (s AttachInstancesToLoadBalancerOutput) GoString() string {
17320	return s.String()
17321}
17322
17323// SetOperations sets the Operations field's value.
17324func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
17325	s.Operations = v
17326	return s
17327}
17328
17329type AttachLoadBalancerTlsCertificateInput struct {
17330	_ struct{} `type:"structure"`
17331
17332	// The name of your SSL/TLS certificate.
17333	//
17334	// CertificateName is a required field
17335	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
17336
17337	// The name of the load balancer to which you want to associate the SSL/TLS
17338	// certificate.
17339	//
17340	// LoadBalancerName is a required field
17341	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17342}
17343
17344// String returns the string representation
17345func (s AttachLoadBalancerTlsCertificateInput) String() string {
17346	return awsutil.Prettify(s)
17347}
17348
17349// GoString returns the string representation
17350func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
17351	return s.String()
17352}
17353
17354// Validate inspects the fields of the type to determine if they are valid.
17355func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
17356	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
17357	if s.CertificateName == nil {
17358		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
17359	}
17360	if s.LoadBalancerName == nil {
17361		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17362	}
17363
17364	if invalidParams.Len() > 0 {
17365		return invalidParams
17366	}
17367	return nil
17368}
17369
17370// SetCertificateName sets the CertificateName field's value.
17371func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
17372	s.CertificateName = &v
17373	return s
17374}
17375
17376// SetLoadBalancerName sets the LoadBalancerName field's value.
17377func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
17378	s.LoadBalancerName = &v
17379	return s
17380}
17381
17382type AttachLoadBalancerTlsCertificateOutput struct {
17383	_ struct{} `type:"structure"`
17384
17385	// An array of objects that describe the result of the action, such as the status
17386	// of the request, the timestamp of the request, and the resources affected
17387	// by the request.
17388	//
17389	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
17390	// can't get the certificate and use it for another purpose.
17391	Operations []*Operation `locationName:"operations" type:"list"`
17392}
17393
17394// String returns the string representation
17395func (s AttachLoadBalancerTlsCertificateOutput) String() string {
17396	return awsutil.Prettify(s)
17397}
17398
17399// GoString returns the string representation
17400func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
17401	return s.String()
17402}
17403
17404// SetOperations sets the Operations field's value.
17405func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
17406	s.Operations = v
17407	return s
17408}
17409
17410type AttachStaticIpInput struct {
17411	_ struct{} `type:"structure"`
17412
17413	// The instance name to which you want to attach the static IP address.
17414	//
17415	// InstanceName is a required field
17416	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17417
17418	// The name of the static IP.
17419	//
17420	// StaticIpName is a required field
17421	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
17422}
17423
17424// String returns the string representation
17425func (s AttachStaticIpInput) String() string {
17426	return awsutil.Prettify(s)
17427}
17428
17429// GoString returns the string representation
17430func (s AttachStaticIpInput) GoString() string {
17431	return s.String()
17432}
17433
17434// Validate inspects the fields of the type to determine if they are valid.
17435func (s *AttachStaticIpInput) Validate() error {
17436	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
17437	if s.InstanceName == nil {
17438		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17439	}
17440	if s.StaticIpName == nil {
17441		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
17442	}
17443
17444	if invalidParams.Len() > 0 {
17445		return invalidParams
17446	}
17447	return nil
17448}
17449
17450// SetInstanceName sets the InstanceName field's value.
17451func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
17452	s.InstanceName = &v
17453	return s
17454}
17455
17456// SetStaticIpName sets the StaticIpName field's value.
17457func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
17458	s.StaticIpName = &v
17459	return s
17460}
17461
17462type AttachStaticIpOutput struct {
17463	_ struct{} `type:"structure"`
17464
17465	// An array of objects that describe the result of the action, such as the status
17466	// of the request, the timestamp of the request, and the resources affected
17467	// by the request.
17468	Operations []*Operation `locationName:"operations" type:"list"`
17469}
17470
17471// String returns the string representation
17472func (s AttachStaticIpOutput) String() string {
17473	return awsutil.Prettify(s)
17474}
17475
17476// GoString returns the string representation
17477func (s AttachStaticIpOutput) GoString() string {
17478	return s.String()
17479}
17480
17481// SetOperations sets the Operations field's value.
17482func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
17483	s.Operations = v
17484	return s
17485}
17486
17487// Describes a block storage disk that is attached to an instance, and is included
17488// in an automatic snapshot.
17489type AttachedDisk struct {
17490	_ struct{} `type:"structure"`
17491
17492	// The path of the disk (e.g., /dev/xvdf).
17493	Path *string `locationName:"path" type:"string"`
17494
17495	// The size of the disk in GB.
17496	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17497}
17498
17499// String returns the string representation
17500func (s AttachedDisk) String() string {
17501	return awsutil.Prettify(s)
17502}
17503
17504// GoString returns the string representation
17505func (s AttachedDisk) GoString() string {
17506	return s.String()
17507}
17508
17509// SetPath sets the Path field's value.
17510func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
17511	s.Path = &v
17512	return s
17513}
17514
17515// SetSizeInGb sets the SizeInGb field's value.
17516func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
17517	s.SizeInGb = &v
17518	return s
17519}
17520
17521// Describes a request to enable or modify the automatic snapshot add-on for
17522// an Amazon Lightsail instance or disk.
17523//
17524// When you modify the automatic snapshot time for a resource, it is typically
17525// effective immediately except under the following conditions:
17526//
17527//    * If an automatic snapshot has been created for the current day, and you
17528//    change the snapshot time to a later time of day, then the new snapshot
17529//    time will be effective the following day. This ensures that two snapshots
17530//    are not created for the current day.
17531//
17532//    * If an automatic snapshot has not yet been created for the current day,
17533//    and you change the snapshot time to an earlier time of day, then the new
17534//    snapshot time will be effective the following day and a snapshot is automatically
17535//    created at the previously set time for the current day. This ensures that
17536//    a snapshot is created for the current day.
17537//
17538//    * If an automatic snapshot has not yet been created for the current day,
17539//    and you change the snapshot time to a time that is within 30 minutes from
17540//    your current time, then the new snapshot time will be effective the following
17541//    day and a snapshot is automatically created at the previously set time
17542//    for the current day. This ensures that a snapshot is created for the current
17543//    day, because 30 minutes is required between your current time and the
17544//    new snapshot time that you specify.
17545//
17546//    * If an automatic snapshot is scheduled to be created within 30 minutes
17547//    from your current time and you change the snapshot time, then the new
17548//    snapshot time will be effective the following day and a snapshot is automatically
17549//    created at the previously set time for the current day. This ensures that
17550//    a snapshot is created for the current day, because 30 minutes is required
17551//    between your current time and the new snapshot time that you specify.
17552type AutoSnapshotAddOnRequest struct {
17553	_ struct{} `type:"structure"`
17554
17555	// The daily time when an automatic snapshot will be created.
17556	//
17557	// Constraints:
17558	//
17559	//    * Must be in HH:00 format, and in an hourly increment.
17560	//
17561	//    * Specified in Coordinated Universal Time (UTC).
17562	//
17563	//    * The snapshot will be automatically created between the time specified
17564	//    and up to 45 minutes after.
17565	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
17566}
17567
17568// String returns the string representation
17569func (s AutoSnapshotAddOnRequest) String() string {
17570	return awsutil.Prettify(s)
17571}
17572
17573// GoString returns the string representation
17574func (s AutoSnapshotAddOnRequest) GoString() string {
17575	return s.String()
17576}
17577
17578// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
17579func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
17580	s.SnapshotTimeOfDay = &v
17581	return s
17582}
17583
17584// Describes an automatic snapshot.
17585type AutoSnapshotDetails struct {
17586	_ struct{} `type:"structure"`
17587
17588	// The timestamp when the automatic snapshot was created.
17589	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17590
17591	// The date of the automatic snapshot in YYYY-MM-DD format.
17592	Date *string `locationName:"date" type:"string"`
17593
17594	// An array of objects that describe the block storage disks attached to the
17595	// instance when the automatic snapshot was created.
17596	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
17597
17598	// The status of the automatic snapshot.
17599	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
17600}
17601
17602// String returns the string representation
17603func (s AutoSnapshotDetails) String() string {
17604	return awsutil.Prettify(s)
17605}
17606
17607// GoString returns the string representation
17608func (s AutoSnapshotDetails) GoString() string {
17609	return s.String()
17610}
17611
17612// SetCreatedAt sets the CreatedAt field's value.
17613func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
17614	s.CreatedAt = &v
17615	return s
17616}
17617
17618// SetDate sets the Date field's value.
17619func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
17620	s.Date = &v
17621	return s
17622}
17623
17624// SetFromAttachedDisks sets the FromAttachedDisks field's value.
17625func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
17626	s.FromAttachedDisks = v
17627	return s
17628}
17629
17630// SetStatus sets the Status field's value.
17631func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
17632	s.Status = &v
17633	return s
17634}
17635
17636// Describes an Availability Zone.
17637type AvailabilityZone struct {
17638	_ struct{} `type:"structure"`
17639
17640	// The state of the Availability Zone.
17641	State *string `locationName:"state" type:"string"`
17642
17643	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
17644	ZoneName *string `locationName:"zoneName" type:"string"`
17645}
17646
17647// String returns the string representation
17648func (s AvailabilityZone) String() string {
17649	return awsutil.Prettify(s)
17650}
17651
17652// GoString returns the string representation
17653func (s AvailabilityZone) GoString() string {
17654	return s.String()
17655}
17656
17657// SetState sets the State field's value.
17658func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
17659	s.State = &v
17660	return s
17661}
17662
17663// SetZoneName sets the ZoneName field's value.
17664func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
17665	s.ZoneName = &v
17666	return s
17667}
17668
17669// Describes a blueprint (a virtual private server image).
17670type Blueprint struct {
17671	_ struct{} `type:"structure"`
17672
17673	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
17674	BlueprintId *string `locationName:"blueprintId" type:"string"`
17675
17676	// The description of the blueprint.
17677	Description *string `locationName:"description" type:"string"`
17678
17679	// The group name of the blueprint (e.g., amazon-linux).
17680	Group *string `locationName:"group" type:"string"`
17681
17682	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
17683	// are listed to support customers with existing instances but are not necessarily
17684	// available for launch of new instances. Blueprints are marked inactive when
17685	// they become outdated due to operating system updates or new application releases.
17686	IsActive *bool `locationName:"isActive" type:"boolean"`
17687
17688	// The end-user license agreement URL for the image or blueprint.
17689	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
17690
17691	// The minimum bundle power required to run this blueprint. For example, you
17692	// need a bundle with a power value of 500 or more to create an instance that
17693	// uses a blueprint with a minimum power value of 500. 0 indicates that the
17694	// blueprint runs on all instance sizes.
17695	MinPower *int64 `locationName:"minPower" type:"integer"`
17696
17697	// The friendly name of the blueprint (e.g., Amazon Linux).
17698	Name *string `locationName:"name" type:"string"`
17699
17700	// The operating system platform (either Linux/Unix-based or Windows Server-based)
17701	// of the blueprint.
17702	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
17703
17704	// The product URL to learn more about the image or blueprint.
17705	ProductUrl *string `locationName:"productUrl" type:"string"`
17706
17707	// The type of the blueprint (e.g., os or app).
17708	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
17709
17710	// The version number of the operating system, application, or stack (e.g.,
17711	// 2016.03.0).
17712	Version *string `locationName:"version" type:"string"`
17713
17714	// The version code.
17715	VersionCode *string `locationName:"versionCode" type:"string"`
17716}
17717
17718// String returns the string representation
17719func (s Blueprint) String() string {
17720	return awsutil.Prettify(s)
17721}
17722
17723// GoString returns the string representation
17724func (s Blueprint) GoString() string {
17725	return s.String()
17726}
17727
17728// SetBlueprintId sets the BlueprintId field's value.
17729func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
17730	s.BlueprintId = &v
17731	return s
17732}
17733
17734// SetDescription sets the Description field's value.
17735func (s *Blueprint) SetDescription(v string) *Blueprint {
17736	s.Description = &v
17737	return s
17738}
17739
17740// SetGroup sets the Group field's value.
17741func (s *Blueprint) SetGroup(v string) *Blueprint {
17742	s.Group = &v
17743	return s
17744}
17745
17746// SetIsActive sets the IsActive field's value.
17747func (s *Blueprint) SetIsActive(v bool) *Blueprint {
17748	s.IsActive = &v
17749	return s
17750}
17751
17752// SetLicenseUrl sets the LicenseUrl field's value.
17753func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
17754	s.LicenseUrl = &v
17755	return s
17756}
17757
17758// SetMinPower sets the MinPower field's value.
17759func (s *Blueprint) SetMinPower(v int64) *Blueprint {
17760	s.MinPower = &v
17761	return s
17762}
17763
17764// SetName sets the Name field's value.
17765func (s *Blueprint) SetName(v string) *Blueprint {
17766	s.Name = &v
17767	return s
17768}
17769
17770// SetPlatform sets the Platform field's value.
17771func (s *Blueprint) SetPlatform(v string) *Blueprint {
17772	s.Platform = &v
17773	return s
17774}
17775
17776// SetProductUrl sets the ProductUrl field's value.
17777func (s *Blueprint) SetProductUrl(v string) *Blueprint {
17778	s.ProductUrl = &v
17779	return s
17780}
17781
17782// SetType sets the Type field's value.
17783func (s *Blueprint) SetType(v string) *Blueprint {
17784	s.Type = &v
17785	return s
17786}
17787
17788// SetVersion sets the Version field's value.
17789func (s *Blueprint) SetVersion(v string) *Blueprint {
17790	s.Version = &v
17791	return s
17792}
17793
17794// SetVersionCode sets the VersionCode field's value.
17795func (s *Blueprint) SetVersionCode(v string) *Blueprint {
17796	s.VersionCode = &v
17797	return s
17798}
17799
17800// Describes an Amazon Lightsail bucket.
17801type Bucket struct {
17802	_ struct{} `type:"structure"`
17803
17804	// Indicates whether the bundle that is currently applied to a bucket can be
17805	// changed to another bundle.
17806	//
17807	// You can update a bucket's bundle only one time within a monthly AWS billing
17808	// cycle.
17809	//
17810	// Use the UpdateBucketBundle action to change a bucket's bundle.
17811	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
17812
17813	// An object that describes the access rules of the bucket.
17814	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
17815
17816	// The Amazon Resource Name (ARN) of the bucket.
17817	Arn *string `locationName:"arn" type:"string"`
17818
17819	// The ID of the bundle currently applied to the bucket.
17820	//
17821	// A bucket bundle specifies the monthly cost, storage space, and data transfer
17822	// quota for a bucket.
17823	//
17824	// Use the UpdateBucketBundle action to change the bundle of a bucket.
17825	BundleId *string `locationName:"bundleId" type:"string"`
17826
17827	// The timestamp when the distribution was created.
17828	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17829
17830	// Describes the resource location.
17831	Location *ResourceLocation `locationName:"location" type:"structure"`
17832
17833	// The name of the bucket.
17834	Name *string `locationName:"name" min:"3" type:"string"`
17835
17836	// Indicates whether object versioning is enabled for the bucket.
17837	//
17838	// The following options can be configured:
17839	//
17840	//    * Enabled - Object versioning is enabled.
17841	//
17842	//    * Suspended - Object versioning was previously enabled but is currently
17843	//    suspended. Existing object versions are retained.
17844	//
17845	//    * NeverEnabled - Object versioning has never been enabled.
17846	ObjectVersioning *string `locationName:"objectVersioning" type:"string"`
17847
17848	// An array of strings that specify the AWS account IDs that have read-only
17849	// access to the bucket.
17850	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
17851
17852	// The Lightsail resource type of the bucket (for example, Bucket).
17853	ResourceType *string `locationName:"resourceType" type:"string"`
17854
17855	// An array of objects that describe Lightsail instances that have access to
17856	// the bucket.
17857	//
17858	// Use the SetResourceAccessForBucket action to update the instances that have
17859	// access to a bucket.
17860	ResourcesReceivingAccess []*ResourceReceivingAccess `locationName:"resourcesReceivingAccess" type:"list"`
17861
17862	// An object that describes the state of the bucket.
17863	State *BucketState `locationName:"state" type:"structure"`
17864
17865	// The support code for a bucket. Include this code in your email to support
17866	// when you have questions about a Lightsail bucket. This code enables our support
17867	// team to look up your Lightsail information more easily.
17868	SupportCode *string `locationName:"supportCode" type:"string"`
17869
17870	// The tag keys and optional values for the bucket. For more information, see
17871	// Tags in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags)
17872	// in the Amazon Lightsail Developer Guide.
17873	Tags []*Tag `locationName:"tags" type:"list"`
17874
17875	// The URL of the bucket.
17876	Url *string `locationName:"url" type:"string"`
17877}
17878
17879// String returns the string representation
17880func (s Bucket) String() string {
17881	return awsutil.Prettify(s)
17882}
17883
17884// GoString returns the string representation
17885func (s Bucket) GoString() string {
17886	return s.String()
17887}
17888
17889// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
17890func (s *Bucket) SetAbleToUpdateBundle(v bool) *Bucket {
17891	s.AbleToUpdateBundle = &v
17892	return s
17893}
17894
17895// SetAccessRules sets the AccessRules field's value.
17896func (s *Bucket) SetAccessRules(v *AccessRules) *Bucket {
17897	s.AccessRules = v
17898	return s
17899}
17900
17901// SetArn sets the Arn field's value.
17902func (s *Bucket) SetArn(v string) *Bucket {
17903	s.Arn = &v
17904	return s
17905}
17906
17907// SetBundleId sets the BundleId field's value.
17908func (s *Bucket) SetBundleId(v string) *Bucket {
17909	s.BundleId = &v
17910	return s
17911}
17912
17913// SetCreatedAt sets the CreatedAt field's value.
17914func (s *Bucket) SetCreatedAt(v time.Time) *Bucket {
17915	s.CreatedAt = &v
17916	return s
17917}
17918
17919// SetLocation sets the Location field's value.
17920func (s *Bucket) SetLocation(v *ResourceLocation) *Bucket {
17921	s.Location = v
17922	return s
17923}
17924
17925// SetName sets the Name field's value.
17926func (s *Bucket) SetName(v string) *Bucket {
17927	s.Name = &v
17928	return s
17929}
17930
17931// SetObjectVersioning sets the ObjectVersioning field's value.
17932func (s *Bucket) SetObjectVersioning(v string) *Bucket {
17933	s.ObjectVersioning = &v
17934	return s
17935}
17936
17937// SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
17938func (s *Bucket) SetReadonlyAccessAccounts(v []*string) *Bucket {
17939	s.ReadonlyAccessAccounts = v
17940	return s
17941}
17942
17943// SetResourceType sets the ResourceType field's value.
17944func (s *Bucket) SetResourceType(v string) *Bucket {
17945	s.ResourceType = &v
17946	return s
17947}
17948
17949// SetResourcesReceivingAccess sets the ResourcesReceivingAccess field's value.
17950func (s *Bucket) SetResourcesReceivingAccess(v []*ResourceReceivingAccess) *Bucket {
17951	s.ResourcesReceivingAccess = v
17952	return s
17953}
17954
17955// SetState sets the State field's value.
17956func (s *Bucket) SetState(v *BucketState) *Bucket {
17957	s.State = v
17958	return s
17959}
17960
17961// SetSupportCode sets the SupportCode field's value.
17962func (s *Bucket) SetSupportCode(v string) *Bucket {
17963	s.SupportCode = &v
17964	return s
17965}
17966
17967// SetTags sets the Tags field's value.
17968func (s *Bucket) SetTags(v []*Tag) *Bucket {
17969	s.Tags = v
17970	return s
17971}
17972
17973// SetUrl sets the Url field's value.
17974func (s *Bucket) SetUrl(v string) *Bucket {
17975	s.Url = &v
17976	return s
17977}
17978
17979// Describes the specifications of a bundle that can be applied to an Amazon
17980// Lightsail bucket.
17981//
17982// A bucket bundle specifies the monthly cost, storage space, and data transfer
17983// quota for a bucket.
17984type BucketBundle struct {
17985	_ struct{} `type:"structure"`
17986
17987	// The ID of the bundle.
17988	BundleId *string `locationName:"bundleId" type:"string"`
17989
17990	// Indicates whether the bundle is active. Use for a new or existing bucket.
17991	IsActive *bool `locationName:"isActive" type:"boolean"`
17992
17993	// The name of the bundle.
17994	Name *string `locationName:"name" type:"string"`
17995
17996	// The monthly price of the bundle, in US dollars.
17997	Price *float64 `locationName:"price" type:"float"`
17998
17999	// The storage size of the bundle, in GB.
18000	StoragePerMonthInGb *int64 `locationName:"storagePerMonthInGb" type:"integer"`
18001
18002	// The monthly network transfer quota of the bundle.
18003	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
18004}
18005
18006// String returns the string representation
18007func (s BucketBundle) String() string {
18008	return awsutil.Prettify(s)
18009}
18010
18011// GoString returns the string representation
18012func (s BucketBundle) GoString() string {
18013	return s.String()
18014}
18015
18016// SetBundleId sets the BundleId field's value.
18017func (s *BucketBundle) SetBundleId(v string) *BucketBundle {
18018	s.BundleId = &v
18019	return s
18020}
18021
18022// SetIsActive sets the IsActive field's value.
18023func (s *BucketBundle) SetIsActive(v bool) *BucketBundle {
18024	s.IsActive = &v
18025	return s
18026}
18027
18028// SetName sets the Name field's value.
18029func (s *BucketBundle) SetName(v string) *BucketBundle {
18030	s.Name = &v
18031	return s
18032}
18033
18034// SetPrice sets the Price field's value.
18035func (s *BucketBundle) SetPrice(v float64) *BucketBundle {
18036	s.Price = &v
18037	return s
18038}
18039
18040// SetStoragePerMonthInGb sets the StoragePerMonthInGb field's value.
18041func (s *BucketBundle) SetStoragePerMonthInGb(v int64) *BucketBundle {
18042	s.StoragePerMonthInGb = &v
18043	return s
18044}
18045
18046// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
18047func (s *BucketBundle) SetTransferPerMonthInGb(v int64) *BucketBundle {
18048	s.TransferPerMonthInGb = &v
18049	return s
18050}
18051
18052// Describes the state of an Amazon Lightsail bucket.
18053type BucketState struct {
18054	_ struct{} `type:"structure"`
18055
18056	// The state code of the bucket.
18057	//
18058	// The following codes are possible:
18059	//
18060	//    * OK - The bucket is in a running state.
18061	//
18062	//    * Unknown - Creation of the bucket might have timed-out. You might want
18063	//    to delete the bucket and create a new one.
18064	Code *string `locationName:"code" type:"string"`
18065
18066	// A message that describes the state of the bucket.
18067	Message *string `locationName:"message" type:"string"`
18068}
18069
18070// String returns the string representation
18071func (s BucketState) String() string {
18072	return awsutil.Prettify(s)
18073}
18074
18075// GoString returns the string representation
18076func (s BucketState) GoString() string {
18077	return s.String()
18078}
18079
18080// SetCode sets the Code field's value.
18081func (s *BucketState) SetCode(v string) *BucketState {
18082	s.Code = &v
18083	return s
18084}
18085
18086// SetMessage sets the Message field's value.
18087func (s *BucketState) SetMessage(v string) *BucketState {
18088	s.Message = &v
18089	return s
18090}
18091
18092// Describes a bundle, which is a set of specs describing your virtual private
18093// server (or instance).
18094type Bundle struct {
18095	_ struct{} `type:"structure"`
18096
18097	// The bundle ID (e.g., micro_1_0).
18098	BundleId *string `locationName:"bundleId" type:"string"`
18099
18100	// The number of vCPUs included in the bundle (e.g., 2).
18101	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
18102
18103	// The size of the SSD (e.g., 30).
18104	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
18105
18106	// The Amazon EC2 instance type (e.g., t2.micro).
18107	InstanceType *string `locationName:"instanceType" type:"string"`
18108
18109	// A Boolean value indicating whether the bundle is active.
18110	IsActive *bool `locationName:"isActive" type:"boolean"`
18111
18112	// A friendly name for the bundle (e.g., Micro).
18113	Name *string `locationName:"name" type:"string"`
18114
18115	// A numeric value that represents the power of the bundle (e.g., 500). You
18116	// can use the bundle's power value in conjunction with a blueprint's minimum
18117	// power value to determine whether the blueprint will run on the bundle. For
18118	// example, you need a bundle with a power value of 500 or more to create an
18119	// instance that uses a blueprint with a minimum power value of 500.
18120	Power *int64 `locationName:"power" type:"integer"`
18121
18122	// The price in US dollars (e.g., 5.0) of the bundle.
18123	Price *float64 `locationName:"price" type:"float"`
18124
18125	// The amount of RAM in GB (e.g., 2.0).
18126	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
18127
18128	// The operating system platform (Linux/Unix-based or Windows Server-based)
18129	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
18130	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
18131	// bundle.
18132	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
18133
18134	// The data transfer rate per month in GB (e.g., 2000).
18135	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
18136}
18137
18138// String returns the string representation
18139func (s Bundle) String() string {
18140	return awsutil.Prettify(s)
18141}
18142
18143// GoString returns the string representation
18144func (s Bundle) GoString() string {
18145	return s.String()
18146}
18147
18148// SetBundleId sets the BundleId field's value.
18149func (s *Bundle) SetBundleId(v string) *Bundle {
18150	s.BundleId = &v
18151	return s
18152}
18153
18154// SetCpuCount sets the CpuCount field's value.
18155func (s *Bundle) SetCpuCount(v int64) *Bundle {
18156	s.CpuCount = &v
18157	return s
18158}
18159
18160// SetDiskSizeInGb sets the DiskSizeInGb field's value.
18161func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
18162	s.DiskSizeInGb = &v
18163	return s
18164}
18165
18166// SetInstanceType sets the InstanceType field's value.
18167func (s *Bundle) SetInstanceType(v string) *Bundle {
18168	s.InstanceType = &v
18169	return s
18170}
18171
18172// SetIsActive sets the IsActive field's value.
18173func (s *Bundle) SetIsActive(v bool) *Bundle {
18174	s.IsActive = &v
18175	return s
18176}
18177
18178// SetName sets the Name field's value.
18179func (s *Bundle) SetName(v string) *Bundle {
18180	s.Name = &v
18181	return s
18182}
18183
18184// SetPower sets the Power field's value.
18185func (s *Bundle) SetPower(v int64) *Bundle {
18186	s.Power = &v
18187	return s
18188}
18189
18190// SetPrice sets the Price field's value.
18191func (s *Bundle) SetPrice(v float64) *Bundle {
18192	s.Price = &v
18193	return s
18194}
18195
18196// SetRamSizeInGb sets the RamSizeInGb field's value.
18197func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
18198	s.RamSizeInGb = &v
18199	return s
18200}
18201
18202// SetSupportedPlatforms sets the SupportedPlatforms field's value.
18203func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
18204	s.SupportedPlatforms = v
18205	return s
18206}
18207
18208// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
18209func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
18210	s.TransferPerMonthInGb = &v
18211	return s
18212}
18213
18214// Describes the default cache behavior of an Amazon Lightsail content delivery
18215// network (CDN) distribution.
18216type CacheBehavior struct {
18217	_ struct{} `type:"structure"`
18218
18219	// The cache behavior of the distribution.
18220	//
18221	// The following cache behaviors can be specified:
18222	//
18223	//    * cache - This option is best for static sites. When specified, your distribution
18224	//    caches and serves your entire website as static content. This behavior
18225	//    is ideal for websites with static content that doesn't change depending
18226	//    on who views it, or for websites that don't use cookies, headers, or query
18227	//    strings to personalize content.
18228	//
18229	//    * dont-cache - This option is best for sites that serve a mix of static
18230	//    and dynamic content. When specified, your distribution caches and serve
18231	//    only the content that is specified in the distribution's CacheBehaviorPerPath
18232	//    parameter. This behavior is ideal for websites or web applications that
18233	//    use cookies, headers, and query strings to personalize content for individual
18234	//    users.
18235	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
18236}
18237
18238// String returns the string representation
18239func (s CacheBehavior) String() string {
18240	return awsutil.Prettify(s)
18241}
18242
18243// GoString returns the string representation
18244func (s CacheBehavior) GoString() string {
18245	return s.String()
18246}
18247
18248// SetBehavior sets the Behavior field's value.
18249func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior {
18250	s.Behavior = &v
18251	return s
18252}
18253
18254// Describes the per-path cache behavior of an Amazon Lightsail content delivery
18255// network (CDN) distribution.
18256//
18257// A per-path cache behavior is used to override, or add an exception to, the
18258// default cache behavior of a distribution. For example, if the cacheBehavior
18259// is set to cache, then a per-path cache behavior can be used to specify a
18260// directory, file, or file type that your distribution will cache. Alternately,
18261// if the distribution's cacheBehavior is dont-cache, then a per-path cache
18262// behavior can be used to specify a directory, file, or file type that your
18263// distribution will not cache.
18264//
18265// if the cacheBehavior's behavior is set to 'cache', then
18266type CacheBehaviorPerPath struct {
18267	_ struct{} `type:"structure"`
18268
18269	// The cache behavior for the specified path.
18270	//
18271	// You can specify one of the following per-path cache behaviors:
18272	//
18273	//    * cache - This behavior caches the specified path.
18274	//
18275	//    * dont-cache - This behavior doesn't cache the specified path.
18276	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
18277
18278	// The path to a directory or file to cached, or not cache. Use an asterisk
18279	// symbol to specify wildcard directories (path/to/assets/*), and file types
18280	// (*.html, *jpg, *js). Directories and file paths are case-sensitive.
18281	//
18282	// Examples:
18283	//
18284	//    * Specify the following to cache all files in the document root of an
18285	//    Apache web server running on a Lightsail instance. var/www/html/
18286	//
18287	//    * Specify the following file to cache only the index page in the document
18288	//    root of an Apache web server. var/www/html/index.html
18289	//
18290	//    * Specify the following to cache only the .html files in the document
18291	//    root of an Apache web server. var/www/html/*.html
18292	//
18293	//    * Specify the following to cache only the .jpg, .png, and .gif files in
18294	//    the images sub-directory of the document root of an Apache web server.
18295	//    var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif
18296	//    Specify the following to cache all files in the images sub-directory of
18297	//    the document root of an Apache web server. var/www/html/images/
18298	Path *string `locationName:"path" type:"string"`
18299}
18300
18301// String returns the string representation
18302func (s CacheBehaviorPerPath) String() string {
18303	return awsutil.Prettify(s)
18304}
18305
18306// GoString returns the string representation
18307func (s CacheBehaviorPerPath) GoString() string {
18308	return s.String()
18309}
18310
18311// SetBehavior sets the Behavior field's value.
18312func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath {
18313	s.Behavior = &v
18314	return s
18315}
18316
18317// SetPath sets the Path field's value.
18318func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath {
18319	s.Path = &v
18320	return s
18321}
18322
18323// Describes the cache settings of an Amazon Lightsail content delivery network
18324// (CDN) distribution.
18325//
18326// These settings apply only to your distribution's cacheBehaviors (including
18327// the defaultCacheBehavior) that have a behavior of cache.
18328type CacheSettings struct {
18329	_ struct{} `type:"structure"`
18330
18331	// The HTTP methods that are processed and forwarded to the distribution's origin.
18332	//
18333	// You can specify the following options:
18334	//
18335	//    * GET,HEAD - The distribution forwards the GET and HEAD methods.
18336	//
18337	//    * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS
18338	//    methods.
18339	//
18340	//    * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the
18341	//    GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods.
18342	//
18343	// If you specify the third option, you might need to restrict access to your
18344	// distribution's origin so users can't perform operations that you don't want
18345	// them to. For example, you might not want users to have permission to delete
18346	// objects from your origin.
18347	AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"`
18348
18349	// The HTTP method responses that are cached by your distribution.
18350	//
18351	// You can specify the following options:
18352	//
18353	//    * GET,HEAD - The distribution caches responses to the GET and HEAD methods.
18354	//
18355	//    * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD,
18356	//    and OPTIONS methods.
18357	CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"`
18358
18359	// The default amount of time that objects stay in the distribution's cache
18360	// before the distribution forwards another request to the origin to determine
18361	// whether the content has been updated.
18362	//
18363	// The value specified applies only when the origin does not add HTTP headers
18364	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
18365	DefaultTTL *int64 `locationName:"defaultTTL" type:"long"`
18366
18367	// An object that describes the cookies that are forwarded to the origin. Your
18368	// content is cached based on the cookies that are forwarded.
18369	ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"`
18370
18371	// An object that describes the headers that are forwarded to the origin. Your
18372	// content is cached based on the headers that are forwarded.
18373	ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"`
18374
18375	// An object that describes the query strings that are forwarded to the origin.
18376	// Your content is cached based on the query strings that are forwarded.
18377	ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"`
18378
18379	// The maximum amount of time that objects stay in the distribution's cache
18380	// before the distribution forwards another request to the origin to determine
18381	// whether the object has been updated.
18382	//
18383	// The value specified applies only when the origin adds HTTP headers such as
18384	// Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
18385	MaximumTTL *int64 `locationName:"maximumTTL" type:"long"`
18386
18387	// The minimum amount of time that objects stay in the distribution's cache
18388	// before the distribution forwards another request to the origin to determine
18389	// whether the object has been updated.
18390	//
18391	// A value of 0 must be specified for minimumTTL if the distribution is configured
18392	// to forward all headers to the origin.
18393	MinimumTTL *int64 `locationName:"minimumTTL" type:"long"`
18394}
18395
18396// String returns the string representation
18397func (s CacheSettings) String() string {
18398	return awsutil.Prettify(s)
18399}
18400
18401// GoString returns the string representation
18402func (s CacheSettings) GoString() string {
18403	return s.String()
18404}
18405
18406// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value.
18407func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings {
18408	s.AllowedHTTPMethods = &v
18409	return s
18410}
18411
18412// SetCachedHTTPMethods sets the CachedHTTPMethods field's value.
18413func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings {
18414	s.CachedHTTPMethods = &v
18415	return s
18416}
18417
18418// SetDefaultTTL sets the DefaultTTL field's value.
18419func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings {
18420	s.DefaultTTL = &v
18421	return s
18422}
18423
18424// SetForwardedCookies sets the ForwardedCookies field's value.
18425func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings {
18426	s.ForwardedCookies = v
18427	return s
18428}
18429
18430// SetForwardedHeaders sets the ForwardedHeaders field's value.
18431func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings {
18432	s.ForwardedHeaders = v
18433	return s
18434}
18435
18436// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value.
18437func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings {
18438	s.ForwardedQueryStrings = v
18439	return s
18440}
18441
18442// SetMaximumTTL sets the MaximumTTL field's value.
18443func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings {
18444	s.MaximumTTL = &v
18445	return s
18446}
18447
18448// SetMinimumTTL sets the MinimumTTL field's value.
18449func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings {
18450	s.MinimumTTL = &v
18451	return s
18452}
18453
18454// Describes the full details of an Amazon Lightsail SSL/TLS certificate.
18455//
18456// To get a summary of a certificate, use the GetCertificates action and ommit
18457// includeCertificateDetails from your request. The response will include only
18458// the certificate Amazon Resource Name (ARN), certificate name, domain name,
18459// and tags.
18460type Certificate struct {
18461	_ struct{} `type:"structure"`
18462
18463	// The Amazon Resource Name (ARN) of the certificate.
18464	Arn *string `locationName:"arn" type:"string"`
18465
18466	// The timestamp when the certificate was created.
18467	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18468
18469	// The domain name of the certificate.
18470	DomainName *string `locationName:"domainName" type:"string"`
18471
18472	// An array of objects that describe the domain validation records of the certificate.
18473	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
18474
18475	// The renewal eligibility of the certificate.
18476	EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"`
18477
18478	// The number of Lightsail resources that the certificate is attached to.
18479	InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"`
18480
18481	// The timestamp when the certificate was issued.
18482	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
18483
18484	// The certificate authority that issued the certificate.
18485	IssuerCA *string `locationName:"issuerCA" type:"string"`
18486
18487	// The algorithm used to generate the key pair (the public and private key)
18488	// of the certificate.
18489	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
18490
18491	// The name of the certificate (e.g., my-certificate).
18492	Name *string `locationName:"name" type:"string"`
18493
18494	// The timestamp when the certificate expires.
18495	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
18496
18497	// The timestamp when the certificate is first valid.
18498	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
18499
18500	// An object that describes the status of the certificate renewal managed by
18501	// Lightsail.
18502	RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"`
18503
18504	// The validation failure reason, if any, of the certificate.
18505	//
18506	// The following failure reasons are possible:
18507	//
18508	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
18509	//    is not available for Lightsail certificates.
18510	//
18511	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
18512	//    to process this certificate request. This can happen as a fraud-protection
18513	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
18514	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
18515	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
18516	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
18517	//    elasticbeanstalk.com.
18518	//
18519	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
18520	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
18521	//    To correct the problem, search for your domain name on the VirusTotal
18522	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
18523	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
18524	//    to learn what you can do. If you believe that the result is a false positive,
18525	//    notify the organization that is reporting the domain. VirusTotal is an
18526	//    aggregate of several antivirus and URL scanners and cannot remove your
18527	//    domain from a block list itself. After you correct the problem and the
18528	//    VirusTotal registry has been updated, request a new certificate. If you
18529	//    see this error and your domain is not included in the VirusTotal list,
18530	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
18531	//    and create a case.
18532	//
18533	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
18534	//    request is not valid. Typically, this is because a domain name in the
18535	//    request is not a valid top-level domain. Try to request a certificate
18536	//    again, correcting any spelling errors or typos that were in the failed
18537	//    request, and ensure that all domain names in the request are for valid
18538	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
18539	//    because invalidpublicdomain is not a valid top-level domain.
18540	//
18541	//    * OTHER - Typically, this failure occurs when there is a typographical
18542	//    error in one or more of the domain names in the certificate request. Try
18543	//    to request a certificate again, correcting any spelling errors or typos
18544	//    that were in the failed request.
18545	RequestFailureReason *string `locationName:"requestFailureReason" type:"string"`
18546
18547	// The reason the certificate was revoked. This value is present only when the
18548	// certificate status is REVOKED.
18549	RevocationReason *string `locationName:"revocationReason" type:"string"`
18550
18551	// The timestamp when the certificate was revoked. This value is present only
18552	// when the certificate status is REVOKED.
18553	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
18554
18555	// The serial number of the certificate.
18556	SerialNumber *string `locationName:"serialNumber" type:"string"`
18557
18558	// The validation status of the certificate.
18559	Status *string `locationName:"status" type:"string" enum:"CertificateStatus"`
18560
18561	// An array of strings that specify the alternate domains (e.g., example2.com)
18562	// and subdomains (e.g., blog.example.com) of the certificate.
18563	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
18564
18565	// The support code. Include this code in your email to support when you have
18566	// questions about your Lightsail certificate. This code enables our support
18567	// team to look up your Lightsail information more easily.
18568	SupportCode *string `locationName:"supportCode" type:"string"`
18569
18570	// The tag keys and optional values for the resource. For more information about
18571	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
18572	Tags []*Tag `locationName:"tags" type:"list"`
18573}
18574
18575// String returns the string representation
18576func (s Certificate) String() string {
18577	return awsutil.Prettify(s)
18578}
18579
18580// GoString returns the string representation
18581func (s Certificate) GoString() string {
18582	return s.String()
18583}
18584
18585// SetArn sets the Arn field's value.
18586func (s *Certificate) SetArn(v string) *Certificate {
18587	s.Arn = &v
18588	return s
18589}
18590
18591// SetCreatedAt sets the CreatedAt field's value.
18592func (s *Certificate) SetCreatedAt(v time.Time) *Certificate {
18593	s.CreatedAt = &v
18594	return s
18595}
18596
18597// SetDomainName sets the DomainName field's value.
18598func (s *Certificate) SetDomainName(v string) *Certificate {
18599	s.DomainName = &v
18600	return s
18601}
18602
18603// SetDomainValidationRecords sets the DomainValidationRecords field's value.
18604func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate {
18605	s.DomainValidationRecords = v
18606	return s
18607}
18608
18609// SetEligibleToRenew sets the EligibleToRenew field's value.
18610func (s *Certificate) SetEligibleToRenew(v string) *Certificate {
18611	s.EligibleToRenew = &v
18612	return s
18613}
18614
18615// SetInUseResourceCount sets the InUseResourceCount field's value.
18616func (s *Certificate) SetInUseResourceCount(v int64) *Certificate {
18617	s.InUseResourceCount = &v
18618	return s
18619}
18620
18621// SetIssuedAt sets the IssuedAt field's value.
18622func (s *Certificate) SetIssuedAt(v time.Time) *Certificate {
18623	s.IssuedAt = &v
18624	return s
18625}
18626
18627// SetIssuerCA sets the IssuerCA field's value.
18628func (s *Certificate) SetIssuerCA(v string) *Certificate {
18629	s.IssuerCA = &v
18630	return s
18631}
18632
18633// SetKeyAlgorithm sets the KeyAlgorithm field's value.
18634func (s *Certificate) SetKeyAlgorithm(v string) *Certificate {
18635	s.KeyAlgorithm = &v
18636	return s
18637}
18638
18639// SetName sets the Name field's value.
18640func (s *Certificate) SetName(v string) *Certificate {
18641	s.Name = &v
18642	return s
18643}
18644
18645// SetNotAfter sets the NotAfter field's value.
18646func (s *Certificate) SetNotAfter(v time.Time) *Certificate {
18647	s.NotAfter = &v
18648	return s
18649}
18650
18651// SetNotBefore sets the NotBefore field's value.
18652func (s *Certificate) SetNotBefore(v time.Time) *Certificate {
18653	s.NotBefore = &v
18654	return s
18655}
18656
18657// SetRenewalSummary sets the RenewalSummary field's value.
18658func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate {
18659	s.RenewalSummary = v
18660	return s
18661}
18662
18663// SetRequestFailureReason sets the RequestFailureReason field's value.
18664func (s *Certificate) SetRequestFailureReason(v string) *Certificate {
18665	s.RequestFailureReason = &v
18666	return s
18667}
18668
18669// SetRevocationReason sets the RevocationReason field's value.
18670func (s *Certificate) SetRevocationReason(v string) *Certificate {
18671	s.RevocationReason = &v
18672	return s
18673}
18674
18675// SetRevokedAt sets the RevokedAt field's value.
18676func (s *Certificate) SetRevokedAt(v time.Time) *Certificate {
18677	s.RevokedAt = &v
18678	return s
18679}
18680
18681// SetSerialNumber sets the SerialNumber field's value.
18682func (s *Certificate) SetSerialNumber(v string) *Certificate {
18683	s.SerialNumber = &v
18684	return s
18685}
18686
18687// SetStatus sets the Status field's value.
18688func (s *Certificate) SetStatus(v string) *Certificate {
18689	s.Status = &v
18690	return s
18691}
18692
18693// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
18694func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate {
18695	s.SubjectAlternativeNames = v
18696	return s
18697}
18698
18699// SetSupportCode sets the SupportCode field's value.
18700func (s *Certificate) SetSupportCode(v string) *Certificate {
18701	s.SupportCode = &v
18702	return s
18703}
18704
18705// SetTags sets the Tags field's value.
18706func (s *Certificate) SetTags(v []*Tag) *Certificate {
18707	s.Tags = v
18708	return s
18709}
18710
18711// Describes an Amazon Lightsail SSL/TLS certificate.
18712type CertificateSummary struct {
18713	_ struct{} `type:"structure"`
18714
18715	// The Amazon Resource Name (ARN) of the certificate.
18716	CertificateArn *string `locationName:"certificateArn" type:"string"`
18717
18718	// An object that describes a certificate in detail.
18719	CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"`
18720
18721	// The name of the certificate.
18722	CertificateName *string `locationName:"certificateName" type:"string"`
18723
18724	// The domain name of the certificate.
18725	DomainName *string `locationName:"domainName" type:"string"`
18726
18727	// The tag keys and optional values for the resource. For more information about
18728	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
18729	Tags []*Tag `locationName:"tags" type:"list"`
18730}
18731
18732// String returns the string representation
18733func (s CertificateSummary) String() string {
18734	return awsutil.Prettify(s)
18735}
18736
18737// GoString returns the string representation
18738func (s CertificateSummary) GoString() string {
18739	return s.String()
18740}
18741
18742// SetCertificateArn sets the CertificateArn field's value.
18743func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary {
18744	s.CertificateArn = &v
18745	return s
18746}
18747
18748// SetCertificateDetail sets the CertificateDetail field's value.
18749func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary {
18750	s.CertificateDetail = v
18751	return s
18752}
18753
18754// SetCertificateName sets the CertificateName field's value.
18755func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary {
18756	s.CertificateName = &v
18757	return s
18758}
18759
18760// SetDomainName sets the DomainName field's value.
18761func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary {
18762	s.DomainName = &v
18763	return s
18764}
18765
18766// SetTags sets the Tags field's value.
18767func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary {
18768	s.Tags = v
18769	return s
18770}
18771
18772type CloseInstancePublicPortsInput struct {
18773	_ struct{} `type:"structure"`
18774
18775	// The name of the instance for which to close ports.
18776	//
18777	// InstanceName is a required field
18778	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
18779
18780	// An object to describe the ports to close for the specified instance.
18781	//
18782	// PortInfo is a required field
18783	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
18784}
18785
18786// String returns the string representation
18787func (s CloseInstancePublicPortsInput) String() string {
18788	return awsutil.Prettify(s)
18789}
18790
18791// GoString returns the string representation
18792func (s CloseInstancePublicPortsInput) GoString() string {
18793	return s.String()
18794}
18795
18796// Validate inspects the fields of the type to determine if they are valid.
18797func (s *CloseInstancePublicPortsInput) Validate() error {
18798	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
18799	if s.InstanceName == nil {
18800		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
18801	}
18802	if s.PortInfo == nil {
18803		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
18804	}
18805	if s.PortInfo != nil {
18806		if err := s.PortInfo.Validate(); err != nil {
18807			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
18808		}
18809	}
18810
18811	if invalidParams.Len() > 0 {
18812		return invalidParams
18813	}
18814	return nil
18815}
18816
18817// SetInstanceName sets the InstanceName field's value.
18818func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
18819	s.InstanceName = &v
18820	return s
18821}
18822
18823// SetPortInfo sets the PortInfo field's value.
18824func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
18825	s.PortInfo = v
18826	return s
18827}
18828
18829type CloseInstancePublicPortsOutput struct {
18830	_ struct{} `type:"structure"`
18831
18832	// An object that describes the result of the action, such as the status of
18833	// the request, the timestamp of the request, and the resources affected by
18834	// the request.
18835	Operation *Operation `locationName:"operation" type:"structure"`
18836}
18837
18838// String returns the string representation
18839func (s CloseInstancePublicPortsOutput) String() string {
18840	return awsutil.Prettify(s)
18841}
18842
18843// GoString returns the string representation
18844func (s CloseInstancePublicPortsOutput) GoString() string {
18845	return s.String()
18846}
18847
18848// SetOperation sets the Operation field's value.
18849func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
18850	s.Operation = v
18851	return s
18852}
18853
18854// Describes a CloudFormation stack record created as a result of the create
18855// cloud formation stack action.
18856//
18857// A CloudFormation stack record provides information about the AWS CloudFormation
18858// stack used to create a new Amazon Elastic Compute Cloud instance from an
18859// exported Lightsail instance snapshot.
18860type CloudFormationStackRecord struct {
18861	_ struct{} `type:"structure"`
18862
18863	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
18864	Arn *string `locationName:"arn" type:"string"`
18865
18866	// The date when the CloudFormation stack record was created.
18867	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18868
18869	// A list of objects describing the destination service, which is AWS CloudFormation,
18870	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
18871	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
18872
18873	// A list of objects describing the Availability Zone and AWS Region of the
18874	// CloudFormation stack record.
18875	Location *ResourceLocation `locationName:"location" type:"structure"`
18876
18877	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
18878	// followed by a GUID.
18879	Name *string `locationName:"name" type:"string"`
18880
18881	// The Lightsail resource type (e.g., CloudFormationStackRecord).
18882	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
18883
18884	// A list of objects describing the source of the CloudFormation stack record.
18885	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
18886
18887	// The current state of the CloudFormation stack record.
18888	State *string `locationName:"state" type:"string" enum:"RecordState"`
18889}
18890
18891// String returns the string representation
18892func (s CloudFormationStackRecord) String() string {
18893	return awsutil.Prettify(s)
18894}
18895
18896// GoString returns the string representation
18897func (s CloudFormationStackRecord) GoString() string {
18898	return s.String()
18899}
18900
18901// SetArn sets the Arn field's value.
18902func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
18903	s.Arn = &v
18904	return s
18905}
18906
18907// SetCreatedAt sets the CreatedAt field's value.
18908func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
18909	s.CreatedAt = &v
18910	return s
18911}
18912
18913// SetDestinationInfo sets the DestinationInfo field's value.
18914func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
18915	s.DestinationInfo = v
18916	return s
18917}
18918
18919// SetLocation sets the Location field's value.
18920func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
18921	s.Location = v
18922	return s
18923}
18924
18925// SetName sets the Name field's value.
18926func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
18927	s.Name = &v
18928	return s
18929}
18930
18931// SetResourceType sets the ResourceType field's value.
18932func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
18933	s.ResourceType = &v
18934	return s
18935}
18936
18937// SetSourceInfo sets the SourceInfo field's value.
18938func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
18939	s.SourceInfo = v
18940	return s
18941}
18942
18943// SetState sets the State field's value.
18944func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
18945	s.State = &v
18946	return s
18947}
18948
18949// Describes the source of a CloudFormation stack record (i.e., the export snapshot
18950// record).
18951type CloudFormationStackRecordSourceInfo struct {
18952	_ struct{} `type:"structure"`
18953
18954	// The Amazon Resource Name (ARN) of the export snapshot record.
18955	Arn *string `locationName:"arn" type:"string"`
18956
18957	// The name of the record.
18958	Name *string `locationName:"name" type:"string"`
18959
18960	// The Lightsail resource type (e.g., ExportSnapshotRecord).
18961	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
18962}
18963
18964// String returns the string representation
18965func (s CloudFormationStackRecordSourceInfo) String() string {
18966	return awsutil.Prettify(s)
18967}
18968
18969// GoString returns the string representation
18970func (s CloudFormationStackRecordSourceInfo) GoString() string {
18971	return s.String()
18972}
18973
18974// SetArn sets the Arn field's value.
18975func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
18976	s.Arn = &v
18977	return s
18978}
18979
18980// SetName sets the Name field's value.
18981func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
18982	s.Name = &v
18983	return s
18984}
18985
18986// SetResourceType sets the ResourceType field's value.
18987func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
18988	s.ResourceType = &v
18989	return s
18990}
18991
18992// Describes a contact method.
18993//
18994// A contact method is a way to send you notifications. For more information,
18995// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
18996type ContactMethod struct {
18997	_ struct{} `type:"structure"`
18998
18999	// The Amazon Resource Name (ARN) of the contact method.
19000	Arn *string `locationName:"arn" type:"string"`
19001
19002	// The destination of the contact method, such as an email address or a mobile
19003	// phone number.
19004	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
19005
19006	// The timestamp when the contact method was created.
19007	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19008
19009	// Describes the resource location.
19010	Location *ResourceLocation `locationName:"location" type:"structure"`
19011
19012	// The name of the contact method.
19013	Name *string `locationName:"name" type:"string"`
19014
19015	// The protocol of the contact method, such as email or SMS (text messaging).
19016	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
19017
19018	// The Lightsail resource type (e.g., ContactMethod).
19019	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19020
19021	// The current status of the contact method.
19022	//
19023	// A contact method has the following possible status:
19024	//
19025	//    * PendingVerification - The contact method has not yet been verified,
19026	//    and the verification has not yet expired.
19027	//
19028	//    * Valid - The contact method has been verified.
19029	//
19030	//    * InValid - An attempt was made to verify the contact method, but the
19031	//    verification has expired.
19032	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
19033
19034	// The support code. Include this code in your email to support when you have
19035	// questions about your Lightsail contact method. This code enables our support
19036	// team to look up your Lightsail information more easily.
19037	SupportCode *string `locationName:"supportCode" type:"string"`
19038}
19039
19040// String returns the string representation
19041func (s ContactMethod) String() string {
19042	return awsutil.Prettify(s)
19043}
19044
19045// GoString returns the string representation
19046func (s ContactMethod) GoString() string {
19047	return s.String()
19048}
19049
19050// SetArn sets the Arn field's value.
19051func (s *ContactMethod) SetArn(v string) *ContactMethod {
19052	s.Arn = &v
19053	return s
19054}
19055
19056// SetContactEndpoint sets the ContactEndpoint field's value.
19057func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
19058	s.ContactEndpoint = &v
19059	return s
19060}
19061
19062// SetCreatedAt sets the CreatedAt field's value.
19063func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
19064	s.CreatedAt = &v
19065	return s
19066}
19067
19068// SetLocation sets the Location field's value.
19069func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
19070	s.Location = v
19071	return s
19072}
19073
19074// SetName sets the Name field's value.
19075func (s *ContactMethod) SetName(v string) *ContactMethod {
19076	s.Name = &v
19077	return s
19078}
19079
19080// SetProtocol sets the Protocol field's value.
19081func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
19082	s.Protocol = &v
19083	return s
19084}
19085
19086// SetResourceType sets the ResourceType field's value.
19087func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
19088	s.ResourceType = &v
19089	return s
19090}
19091
19092// SetStatus sets the Status field's value.
19093func (s *ContactMethod) SetStatus(v string) *ContactMethod {
19094	s.Status = &v
19095	return s
19096}
19097
19098// SetSupportCode sets the SupportCode field's value.
19099func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
19100	s.SupportCode = &v
19101	return s
19102}
19103
19104// Describes the settings of a container that will be launched, or that is launched,
19105// to an Amazon Lightsail container service.
19106type Container struct {
19107	_ struct{} `type:"structure"`
19108
19109	// The launch command for the container.
19110	Command []*string `locationName:"command" type:"list"`
19111
19112	// The environment variables of the container.
19113	Environment map[string]*string `locationName:"environment" type:"map"`
19114
19115	// The name of the image used for the container.
19116	//
19117	// Container images sourced from your Lightsail container service, that are
19118	// registered and stored on your service, start with a colon (:). For example,
19119	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
19120	// registry like Docker Hub don't start with a colon. For example, nginx:latest
19121	// or nginx.
19122	Image *string `locationName:"image" type:"string"`
19123
19124	// The open firewall ports of the container.
19125	Ports map[string]*string `locationName:"ports" type:"map"`
19126}
19127
19128// String returns the string representation
19129func (s Container) String() string {
19130	return awsutil.Prettify(s)
19131}
19132
19133// GoString returns the string representation
19134func (s Container) GoString() string {
19135	return s.String()
19136}
19137
19138// SetCommand sets the Command field's value.
19139func (s *Container) SetCommand(v []*string) *Container {
19140	s.Command = v
19141	return s
19142}
19143
19144// SetEnvironment sets the Environment field's value.
19145func (s *Container) SetEnvironment(v map[string]*string) *Container {
19146	s.Environment = v
19147	return s
19148}
19149
19150// SetImage sets the Image field's value.
19151func (s *Container) SetImage(v string) *Container {
19152	s.Image = &v
19153	return s
19154}
19155
19156// SetPorts sets the Ports field's value.
19157func (s *Container) SetPorts(v map[string]*string) *Container {
19158	s.Ports = v
19159	return s
19160}
19161
19162// Describes a container image that is registered to an Amazon Lightsail container
19163// service.
19164type ContainerImage struct {
19165	_ struct{} `type:"structure"`
19166
19167	// The timestamp when the container image was created.
19168	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19169
19170	// The digest of the container image.
19171	Digest *string `locationName:"digest" type:"string"`
19172
19173	// The name of the container image.
19174	Image *string `locationName:"image" type:"string"`
19175}
19176
19177// String returns the string representation
19178func (s ContainerImage) String() string {
19179	return awsutil.Prettify(s)
19180}
19181
19182// GoString returns the string representation
19183func (s ContainerImage) GoString() string {
19184	return s.String()
19185}
19186
19187// SetCreatedAt sets the CreatedAt field's value.
19188func (s *ContainerImage) SetCreatedAt(v time.Time) *ContainerImage {
19189	s.CreatedAt = &v
19190	return s
19191}
19192
19193// SetDigest sets the Digest field's value.
19194func (s *ContainerImage) SetDigest(v string) *ContainerImage {
19195	s.Digest = &v
19196	return s
19197}
19198
19199// SetImage sets the Image field's value.
19200func (s *ContainerImage) SetImage(v string) *ContainerImage {
19201	s.Image = &v
19202	return s
19203}
19204
19205// Describes an Amazon Lightsail container service.
19206type ContainerService struct {
19207	_ struct{} `type:"structure"`
19208
19209	// The Amazon Resource Name (ARN) of the container service.
19210	Arn *string `locationName:"arn" type:"string"`
19211
19212	// The name of the container service.
19213	ContainerServiceName *string `locationName:"containerServiceName" min:"1" type:"string"`
19214
19215	// The timestamp when the container service was created.
19216	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19217
19218	// An object that describes the current container deployment of the container
19219	// service.
19220	CurrentDeployment *ContainerServiceDeployment `locationName:"currentDeployment" type:"structure"`
19221
19222	// A Boolean value indicating whether the container service is disabled.
19223	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
19224
19225	// An object that describes the location of the container service, such as the
19226	// AWS Region and Availability Zone.
19227	Location *ResourceLocation `locationName:"location" type:"structure"`
19228
19229	// An object that describes the next deployment of the container service.
19230	//
19231	// This value is null when there is no deployment in a pending state.
19232	NextDeployment *ContainerServiceDeployment `locationName:"nextDeployment" type:"structure"`
19233
19234	// The power specification of the container service.
19235	//
19236	// The power specifies the amount of RAM, the number of vCPUs, and the base
19237	// price of the container service.
19238	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
19239
19240	// The ID of the power of the container service.
19241	PowerId *string `locationName:"powerId" type:"string"`
19242
19243	// The principal ARN of the container service.
19244	//
19245	// The principal ARN can be used to create a trust relationship between your
19246	// standard AWS account and your Lightsail container service. This allows you
19247	// to give your service permission to access resources in your standard AWS
19248	// account.
19249	PrincipalArn *string `locationName:"principalArn" type:"string"`
19250
19251	// The private domain name of the container service.
19252	//
19253	// The private domain name is accessible only by other resources within the
19254	// default virtual private cloud (VPC) of your Lightsail account.
19255	PrivateDomainName *string `locationName:"privateDomainName" type:"string"`
19256
19257	// The public domain name of the container service, such as example.com and
19258	// www.example.com.
19259	//
19260	// You can specify up to four public domain names for a container service. The
19261	// domain names that you specify are used when you create a deployment with
19262	// a container configured as the public endpoint of your container service.
19263	//
19264	// If you don't specify public domain names, then you can use the default domain
19265	// of the container service.
19266	//
19267	// You must create and validate an SSL/TLS certificate before you can use public
19268	// domain names with your container service. Use the CreateCertificate action
19269	// to create a certificate for the public domain names you want to use with
19270	// your container service.
19271	//
19272	// See CreateContainerService or UpdateContainerService for information about
19273	// how to specify public domain names for your Lightsail container service.
19274	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
19275
19276	// The Lightsail resource type of the container service (i.e., ContainerService).
19277	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19278
19279	// The scale specification of the container service.
19280	//
19281	// The scale specifies the allocated compute nodes of the container service.
19282	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
19283
19284	// The current state of the container service.
19285	//
19286	// The following container service states are possible:
19287	//
19288	//    * PENDING - The container service is being created.
19289	//
19290	//    * READY - The container service is running but it does not have an active
19291	//    container deployment.
19292	//
19293	//    * DEPLOYING - The container service is launching a container deployment.
19294	//
19295	//    * RUNNING - The container service is running and it has an active container
19296	//    deployment.
19297	//
19298	//    * UPDATING - The container service capacity or its custom domains are
19299	//    being updated.
19300	//
19301	//    * DELETING - The container service is being deleted.
19302	//
19303	//    * DISABLED - The container service is disabled, and its active deployment
19304	//    and containers, if any, are shut down.
19305	State *string `locationName:"state" type:"string" enum:"ContainerServiceState"`
19306
19307	// An object that describes the current state of the container service.
19308	//
19309	// The state detail is populated only when a container service is in a PENDING,
19310	// DEPLOYING, or UPDATING state.
19311	StateDetail *ContainerServiceStateDetail `locationName:"stateDetail" type:"structure"`
19312
19313	// The tag keys and optional values for the resource. For more information about
19314	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
19315	Tags []*Tag `locationName:"tags" type:"list"`
19316
19317	// The publicly accessible URL of the container service.
19318	//
19319	// If no public endpoint is specified in the currentDeployment, this URL returns
19320	// a 404 response.
19321	Url *string `locationName:"url" type:"string"`
19322}
19323
19324// String returns the string representation
19325func (s ContainerService) String() string {
19326	return awsutil.Prettify(s)
19327}
19328
19329// GoString returns the string representation
19330func (s ContainerService) GoString() string {
19331	return s.String()
19332}
19333
19334// SetArn sets the Arn field's value.
19335func (s *ContainerService) SetArn(v string) *ContainerService {
19336	s.Arn = &v
19337	return s
19338}
19339
19340// SetContainerServiceName sets the ContainerServiceName field's value.
19341func (s *ContainerService) SetContainerServiceName(v string) *ContainerService {
19342	s.ContainerServiceName = &v
19343	return s
19344}
19345
19346// SetCreatedAt sets the CreatedAt field's value.
19347func (s *ContainerService) SetCreatedAt(v time.Time) *ContainerService {
19348	s.CreatedAt = &v
19349	return s
19350}
19351
19352// SetCurrentDeployment sets the CurrentDeployment field's value.
19353func (s *ContainerService) SetCurrentDeployment(v *ContainerServiceDeployment) *ContainerService {
19354	s.CurrentDeployment = v
19355	return s
19356}
19357
19358// SetIsDisabled sets the IsDisabled field's value.
19359func (s *ContainerService) SetIsDisabled(v bool) *ContainerService {
19360	s.IsDisabled = &v
19361	return s
19362}
19363
19364// SetLocation sets the Location field's value.
19365func (s *ContainerService) SetLocation(v *ResourceLocation) *ContainerService {
19366	s.Location = v
19367	return s
19368}
19369
19370// SetNextDeployment sets the NextDeployment field's value.
19371func (s *ContainerService) SetNextDeployment(v *ContainerServiceDeployment) *ContainerService {
19372	s.NextDeployment = v
19373	return s
19374}
19375
19376// SetPower sets the Power field's value.
19377func (s *ContainerService) SetPower(v string) *ContainerService {
19378	s.Power = &v
19379	return s
19380}
19381
19382// SetPowerId sets the PowerId field's value.
19383func (s *ContainerService) SetPowerId(v string) *ContainerService {
19384	s.PowerId = &v
19385	return s
19386}
19387
19388// SetPrincipalArn sets the PrincipalArn field's value.
19389func (s *ContainerService) SetPrincipalArn(v string) *ContainerService {
19390	s.PrincipalArn = &v
19391	return s
19392}
19393
19394// SetPrivateDomainName sets the PrivateDomainName field's value.
19395func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService {
19396	s.PrivateDomainName = &v
19397	return s
19398}
19399
19400// SetPublicDomainNames sets the PublicDomainNames field's value.
19401func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService {
19402	s.PublicDomainNames = v
19403	return s
19404}
19405
19406// SetResourceType sets the ResourceType field's value.
19407func (s *ContainerService) SetResourceType(v string) *ContainerService {
19408	s.ResourceType = &v
19409	return s
19410}
19411
19412// SetScale sets the Scale field's value.
19413func (s *ContainerService) SetScale(v int64) *ContainerService {
19414	s.Scale = &v
19415	return s
19416}
19417
19418// SetState sets the State field's value.
19419func (s *ContainerService) SetState(v string) *ContainerService {
19420	s.State = &v
19421	return s
19422}
19423
19424// SetStateDetail sets the StateDetail field's value.
19425func (s *ContainerService) SetStateDetail(v *ContainerServiceStateDetail) *ContainerService {
19426	s.StateDetail = v
19427	return s
19428}
19429
19430// SetTags sets the Tags field's value.
19431func (s *ContainerService) SetTags(v []*Tag) *ContainerService {
19432	s.Tags = v
19433	return s
19434}
19435
19436// SetUrl sets the Url field's value.
19437func (s *ContainerService) SetUrl(v string) *ContainerService {
19438	s.Url = &v
19439	return s
19440}
19441
19442// Describes a container deployment configuration of an Amazon Lightsail container
19443// service.
19444//
19445// A deployment specifies the settings, such as the ports and launch command,
19446// of containers that are deployed to your container service.
19447type ContainerServiceDeployment struct {
19448	_ struct{} `type:"structure"`
19449
19450	// An object that describes the configuration for the containers of the deployment.
19451	Containers map[string]*Container `locationName:"containers" type:"map"`
19452
19453	// The timestamp when the deployment was created.
19454	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19455
19456	// An object that describes the endpoint of the deployment.
19457	PublicEndpoint *ContainerServiceEndpoint `locationName:"publicEndpoint" type:"structure"`
19458
19459	// The state of the deployment.
19460	//
19461	// A deployment can be in one of the following states:
19462	//
19463	//    * Activating - The deployment is being created.
19464	//
19465	//    * Active - The deployment was successfully created, and it's currently
19466	//    running on the container service. The container service can have only
19467	//    one deployment in an active state at a time.
19468	//
19469	//    * Inactive - The deployment was previously successfully created, but it
19470	//    is not currently running on the container service.
19471	//
19472	//    * Failed - The deployment failed. Use the GetContainerLog action to view
19473	//    the log events for the containers in the deployment to try to determine
19474	//    the reason for the failure.
19475	State *string `locationName:"state" type:"string" enum:"ContainerServiceDeploymentState"`
19476
19477	// The version number of the deployment.
19478	Version *int64 `locationName:"version" type:"integer"`
19479}
19480
19481// String returns the string representation
19482func (s ContainerServiceDeployment) String() string {
19483	return awsutil.Prettify(s)
19484}
19485
19486// GoString returns the string representation
19487func (s ContainerServiceDeployment) GoString() string {
19488	return s.String()
19489}
19490
19491// SetContainers sets the Containers field's value.
19492func (s *ContainerServiceDeployment) SetContainers(v map[string]*Container) *ContainerServiceDeployment {
19493	s.Containers = v
19494	return s
19495}
19496
19497// SetCreatedAt sets the CreatedAt field's value.
19498func (s *ContainerServiceDeployment) SetCreatedAt(v time.Time) *ContainerServiceDeployment {
19499	s.CreatedAt = &v
19500	return s
19501}
19502
19503// SetPublicEndpoint sets the PublicEndpoint field's value.
19504func (s *ContainerServiceDeployment) SetPublicEndpoint(v *ContainerServiceEndpoint) *ContainerServiceDeployment {
19505	s.PublicEndpoint = v
19506	return s
19507}
19508
19509// SetState sets the State field's value.
19510func (s *ContainerServiceDeployment) SetState(v string) *ContainerServiceDeployment {
19511	s.State = &v
19512	return s
19513}
19514
19515// SetVersion sets the Version field's value.
19516func (s *ContainerServiceDeployment) SetVersion(v int64) *ContainerServiceDeployment {
19517	s.Version = &v
19518	return s
19519}
19520
19521// Describes a container deployment configuration of an Amazon Lightsail container
19522// service.
19523//
19524// A deployment specifies the settings, such as the ports and launch command,
19525// of containers that are deployed to your container service.
19526type ContainerServiceDeploymentRequest struct {
19527	_ struct{} `type:"structure"`
19528
19529	// An object that describes the configuration for the containers of the deployment.
19530	Containers map[string]*Container `locationName:"containers" type:"map"`
19531
19532	// An object that describes the endpoint of the deployment.
19533	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
19534}
19535
19536// String returns the string representation
19537func (s ContainerServiceDeploymentRequest) String() string {
19538	return awsutil.Prettify(s)
19539}
19540
19541// GoString returns the string representation
19542func (s ContainerServiceDeploymentRequest) GoString() string {
19543	return s.String()
19544}
19545
19546// Validate inspects the fields of the type to determine if they are valid.
19547func (s *ContainerServiceDeploymentRequest) Validate() error {
19548	invalidParams := request.ErrInvalidParams{Context: "ContainerServiceDeploymentRequest"}
19549	if s.PublicEndpoint != nil {
19550		if err := s.PublicEndpoint.Validate(); err != nil {
19551			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
19552		}
19553	}
19554
19555	if invalidParams.Len() > 0 {
19556		return invalidParams
19557	}
19558	return nil
19559}
19560
19561// SetContainers sets the Containers field's value.
19562func (s *ContainerServiceDeploymentRequest) SetContainers(v map[string]*Container) *ContainerServiceDeploymentRequest {
19563	s.Containers = v
19564	return s
19565}
19566
19567// SetPublicEndpoint sets the PublicEndpoint field's value.
19568func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest) *ContainerServiceDeploymentRequest {
19569	s.PublicEndpoint = v
19570	return s
19571}
19572
19573// Describes the public endpoint configuration of a deployment of an Amazon
19574// Lightsail container service.
19575type ContainerServiceEndpoint struct {
19576	_ struct{} `type:"structure"`
19577
19578	// The name of the container entry of the deployment that the endpoint configuration
19579	// applies to.
19580	ContainerName *string `locationName:"containerName" type:"string"`
19581
19582	// The port of the specified container to which traffic is forwarded to.
19583	ContainerPort *int64 `locationName:"containerPort" type:"integer"`
19584
19585	// An object that describes the health check configuration of the container.
19586	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
19587}
19588
19589// String returns the string representation
19590func (s ContainerServiceEndpoint) String() string {
19591	return awsutil.Prettify(s)
19592}
19593
19594// GoString returns the string representation
19595func (s ContainerServiceEndpoint) GoString() string {
19596	return s.String()
19597}
19598
19599// SetContainerName sets the ContainerName field's value.
19600func (s *ContainerServiceEndpoint) SetContainerName(v string) *ContainerServiceEndpoint {
19601	s.ContainerName = &v
19602	return s
19603}
19604
19605// SetContainerPort sets the ContainerPort field's value.
19606func (s *ContainerServiceEndpoint) SetContainerPort(v int64) *ContainerServiceEndpoint {
19607	s.ContainerPort = &v
19608	return s
19609}
19610
19611// SetHealthCheck sets the HealthCheck field's value.
19612func (s *ContainerServiceEndpoint) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *ContainerServiceEndpoint {
19613	s.HealthCheck = v
19614	return s
19615}
19616
19617// Describes the health check configuration of an Amazon Lightsail container
19618// service.
19619type ContainerServiceHealthCheckConfig struct {
19620	_ struct{} `type:"structure"`
19621
19622	// The number of consecutive health checks successes required before moving
19623	// the container to the Healthy state. The default value is 2.
19624	HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"`
19625
19626	// The approximate interval, in seconds, between health checks of an individual
19627	// container. You can specify between 5 and 300 seconds. The default value is
19628	// 5.
19629	IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"`
19630
19631	// The path on the container on which to perform the health check. The default
19632	// value is /.
19633	Path *string `locationName:"path" type:"string"`
19634
19635	// The HTTP codes to use when checking for a successful response from a container.
19636	// You can specify values between 200 and 499. You can specify multiple values
19637	// (for example, 200,202) or a range of values (for example, 200-299).
19638	SuccessCodes *string `locationName:"successCodes" type:"string"`
19639
19640	// The amount of time, in seconds, during which no response means a failed health
19641	// check. You can specify between 2 and 60 seconds. The default value is 2.
19642	TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"`
19643
19644	// The number of consecutive health check failures required before moving the
19645	// container to the Unhealthy state. The default value is 2.
19646	UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"`
19647}
19648
19649// String returns the string representation
19650func (s ContainerServiceHealthCheckConfig) String() string {
19651	return awsutil.Prettify(s)
19652}
19653
19654// GoString returns the string representation
19655func (s ContainerServiceHealthCheckConfig) GoString() string {
19656	return s.String()
19657}
19658
19659// SetHealthyThreshold sets the HealthyThreshold field's value.
19660func (s *ContainerServiceHealthCheckConfig) SetHealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
19661	s.HealthyThreshold = &v
19662	return s
19663}
19664
19665// SetIntervalSeconds sets the IntervalSeconds field's value.
19666func (s *ContainerServiceHealthCheckConfig) SetIntervalSeconds(v int64) *ContainerServiceHealthCheckConfig {
19667	s.IntervalSeconds = &v
19668	return s
19669}
19670
19671// SetPath sets the Path field's value.
19672func (s *ContainerServiceHealthCheckConfig) SetPath(v string) *ContainerServiceHealthCheckConfig {
19673	s.Path = &v
19674	return s
19675}
19676
19677// SetSuccessCodes sets the SuccessCodes field's value.
19678func (s *ContainerServiceHealthCheckConfig) SetSuccessCodes(v string) *ContainerServiceHealthCheckConfig {
19679	s.SuccessCodes = &v
19680	return s
19681}
19682
19683// SetTimeoutSeconds sets the TimeoutSeconds field's value.
19684func (s *ContainerServiceHealthCheckConfig) SetTimeoutSeconds(v int64) *ContainerServiceHealthCheckConfig {
19685	s.TimeoutSeconds = &v
19686	return s
19687}
19688
19689// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
19690func (s *ContainerServiceHealthCheckConfig) SetUnhealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
19691	s.UnhealthyThreshold = &v
19692	return s
19693}
19694
19695// Describes the log events of a container of an Amazon Lightsail container
19696// service.
19697type ContainerServiceLogEvent struct {
19698	_ struct{} `type:"structure"`
19699
19700	// The timestamp when the container service log event was created.
19701	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19702
19703	// The message of the container service log event.
19704	Message *string `locationName:"message" type:"string"`
19705}
19706
19707// String returns the string representation
19708func (s ContainerServiceLogEvent) String() string {
19709	return awsutil.Prettify(s)
19710}
19711
19712// GoString returns the string representation
19713func (s ContainerServiceLogEvent) GoString() string {
19714	return s.String()
19715}
19716
19717// SetCreatedAt sets the CreatedAt field's value.
19718func (s *ContainerServiceLogEvent) SetCreatedAt(v time.Time) *ContainerServiceLogEvent {
19719	s.CreatedAt = &v
19720	return s
19721}
19722
19723// SetMessage sets the Message field's value.
19724func (s *ContainerServiceLogEvent) SetMessage(v string) *ContainerServiceLogEvent {
19725	s.Message = &v
19726	return s
19727}
19728
19729// Describes the powers that can be specified for an Amazon Lightsail container
19730// service.
19731//
19732// The power specifies the amount of RAM, the number of vCPUs, and the base
19733// price of the container service.
19734type ContainerServicePower struct {
19735	_ struct{} `type:"structure"`
19736
19737	// The number of vCPUs included in the power.
19738	CpuCount *float64 `locationName:"cpuCount" type:"float"`
19739
19740	// A Boolean value indicating whether the power is active and can be specified
19741	// for container services.
19742	IsActive *bool `locationName:"isActive" type:"boolean"`
19743
19744	// The friendly name of the power (e.g., nano).
19745	Name *string `locationName:"name" type:"string"`
19746
19747	// The ID of the power (e.g., nano-1).
19748	PowerId *string `locationName:"powerId" type:"string"`
19749
19750	// The monthly price of the power in USD.
19751	Price *float64 `locationName:"price" type:"float"`
19752
19753	// The amount of RAM (in GB) of the power.
19754	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
19755}
19756
19757// String returns the string representation
19758func (s ContainerServicePower) String() string {
19759	return awsutil.Prettify(s)
19760}
19761
19762// GoString returns the string representation
19763func (s ContainerServicePower) GoString() string {
19764	return s.String()
19765}
19766
19767// SetCpuCount sets the CpuCount field's value.
19768func (s *ContainerServicePower) SetCpuCount(v float64) *ContainerServicePower {
19769	s.CpuCount = &v
19770	return s
19771}
19772
19773// SetIsActive sets the IsActive field's value.
19774func (s *ContainerServicePower) SetIsActive(v bool) *ContainerServicePower {
19775	s.IsActive = &v
19776	return s
19777}
19778
19779// SetName sets the Name field's value.
19780func (s *ContainerServicePower) SetName(v string) *ContainerServicePower {
19781	s.Name = &v
19782	return s
19783}
19784
19785// SetPowerId sets the PowerId field's value.
19786func (s *ContainerServicePower) SetPowerId(v string) *ContainerServicePower {
19787	s.PowerId = &v
19788	return s
19789}
19790
19791// SetPrice sets the Price field's value.
19792func (s *ContainerServicePower) SetPrice(v float64) *ContainerServicePower {
19793	s.Price = &v
19794	return s
19795}
19796
19797// SetRamSizeInGb sets the RamSizeInGb field's value.
19798func (s *ContainerServicePower) SetRamSizeInGb(v float64) *ContainerServicePower {
19799	s.RamSizeInGb = &v
19800	return s
19801}
19802
19803// Describes the login information for the container image registry of an Amazon
19804// Lightsail account.
19805type ContainerServiceRegistryLogin struct {
19806	_ struct{} `type:"structure"`
19807
19808	// The timestamp of when the container image registry username and password
19809	// expire.
19810	//
19811	// The log in credentials expire 12 hours after they are created, at which point
19812	// you will need to create a new set of log in credentials using the CreateContainerServiceRegistryLogin
19813	// action.
19814	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
19815
19816	// The container service registry password to use to push container images to
19817	// the container image registry of a Lightsail account
19818	Password *string `locationName:"password" type:"string"`
19819
19820	// The address to use to push container images to the container image registry
19821	// of a Lightsail account.
19822	Registry *string `locationName:"registry" type:"string"`
19823
19824	// The container service registry username to use to push container images to
19825	// the container image registry of a Lightsail account.
19826	Username *string `locationName:"username" type:"string"`
19827}
19828
19829// String returns the string representation
19830func (s ContainerServiceRegistryLogin) String() string {
19831	return awsutil.Prettify(s)
19832}
19833
19834// GoString returns the string representation
19835func (s ContainerServiceRegistryLogin) GoString() string {
19836	return s.String()
19837}
19838
19839// SetExpiresAt sets the ExpiresAt field's value.
19840func (s *ContainerServiceRegistryLogin) SetExpiresAt(v time.Time) *ContainerServiceRegistryLogin {
19841	s.ExpiresAt = &v
19842	return s
19843}
19844
19845// SetPassword sets the Password field's value.
19846func (s *ContainerServiceRegistryLogin) SetPassword(v string) *ContainerServiceRegistryLogin {
19847	s.Password = &v
19848	return s
19849}
19850
19851// SetRegistry sets the Registry field's value.
19852func (s *ContainerServiceRegistryLogin) SetRegistry(v string) *ContainerServiceRegistryLogin {
19853	s.Registry = &v
19854	return s
19855}
19856
19857// SetUsername sets the Username field's value.
19858func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceRegistryLogin {
19859	s.Username = &v
19860	return s
19861}
19862
19863// Describes the current state of a container service.
19864type ContainerServiceStateDetail struct {
19865	_ struct{} `type:"structure"`
19866
19867	// The state code of the container service.
19868	//
19869	// The following state codes are possible:
19870	//
19871	//    * The following state codes are possible if your container service is
19872	//    in a DEPLOYING or UPDATING state: CREATING_SYSTEM_RESOURCES - The system
19873	//    resources for your container service are being created. CREATING_NETWORK_INFRASTRUCTURE
19874	//    - The network infrastructure for your container service are being created.
19875	//    PROVISIONING_CERTIFICATE - The SSL/TLS certificate for your container
19876	//    service is being created. PROVISIONING_SERVICE - Your container service
19877	//    is being provisioned. CREATING_DEPLOYMENT - Your deployment is being created
19878	//    on your container service. EVALUATING_HEALTH_CHECK - The health of your
19879	//    deployment is being evaluated. ACTIVATING_DEPLOYMENT - Your deployment
19880	//    is being activated.
19881	//
19882	//    * The following state codes are possible if your container service is
19883	//    in a PENDING state: CERTIFICATE_LIMIT_EXCEEDED - The SSL/TLS certificate
19884	//    required for your container service exceeds the maximum number of certificates
19885	//    allowed for your account. UNKNOWN_ERROR - An error was experienced when
19886	//    your container service was being created.
19887	Code *string `locationName:"code" type:"string" enum:"ContainerServiceStateDetailCode"`
19888
19889	// A message that provides more information for the state code.
19890	//
19891	// The state detail is populated only when a container service is in a PENDING,
19892	// DEPLOYING, or UPDATING state.
19893	Message *string `locationName:"message" type:"string"`
19894}
19895
19896// String returns the string representation
19897func (s ContainerServiceStateDetail) String() string {
19898	return awsutil.Prettify(s)
19899}
19900
19901// GoString returns the string representation
19902func (s ContainerServiceStateDetail) GoString() string {
19903	return s.String()
19904}
19905
19906// SetCode sets the Code field's value.
19907func (s *ContainerServiceStateDetail) SetCode(v string) *ContainerServiceStateDetail {
19908	s.Code = &v
19909	return s
19910}
19911
19912// SetMessage sets the Message field's value.
19913func (s *ContainerServiceStateDetail) SetMessage(v string) *ContainerServiceStateDetail {
19914	s.Message = &v
19915	return s
19916}
19917
19918// Describes whether an Amazon Lightsail content delivery network (CDN) distribution
19919// forwards cookies to the origin and, if so, which ones.
19920//
19921// For the cookies that you specify, your distribution caches separate versions
19922// of the specified content based on the cookie values in viewer requests.
19923type CookieObject struct {
19924	_ struct{} `type:"structure"`
19925
19926	// The specific cookies to forward to your distribution's origin.
19927	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
19928
19929	// Specifies which cookies to forward to the distribution's origin for a cache
19930	// behavior: all, none, or allow-list to forward only the cookies specified
19931	// in the cookiesAllowList parameter.
19932	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
19933}
19934
19935// String returns the string representation
19936func (s CookieObject) String() string {
19937	return awsutil.Prettify(s)
19938}
19939
19940// GoString returns the string representation
19941func (s CookieObject) GoString() string {
19942	return s.String()
19943}
19944
19945// SetCookiesAllowList sets the CookiesAllowList field's value.
19946func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
19947	s.CookiesAllowList = v
19948	return s
19949}
19950
19951// SetOption sets the Option field's value.
19952func (s *CookieObject) SetOption(v string) *CookieObject {
19953	s.Option = &v
19954	return s
19955}
19956
19957type CopySnapshotInput struct {
19958	_ struct{} `type:"structure"`
19959
19960	// The date of the source automatic snapshot to copy. Use the get auto snapshots
19961	// operation to identify the dates of the available automatic snapshots.
19962	//
19963	// Constraints:
19964	//
19965	//    * Must be specified in YYYY-MM-DD format.
19966	//
19967	//    * This parameter cannot be defined together with the use latest restorable
19968	//    auto snapshot parameter. The restore date and use latest restorable auto
19969	//    snapshot parameters are mutually exclusive.
19970	//
19971	//    * Define this parameter only when copying an automatic snapshot as a manual
19972	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
19973	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
19974	RestoreDate *string `locationName:"restoreDate" type:"string"`
19975
19976	// The AWS Region where the source manual or automatic snapshot is located.
19977	//
19978	// SourceRegion is a required field
19979	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
19980
19981	// The name of the source instance or disk from which the source automatic snapshot
19982	// was created.
19983	//
19984	// Constraint:
19985	//
19986	//    * Define this parameter only when copying an automatic snapshot as a manual
19987	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
19988	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
19989	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
19990
19991	// The name of the source manual snapshot to copy.
19992	//
19993	// Constraint:
19994	//
19995	//    * Define this parameter only when copying a manual snapshot as another
19996	//    manual snapshot.
19997	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
19998
19999	// The name of the new manual snapshot to be created as a copy.
20000	//
20001	// TargetSnapshotName is a required field
20002	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
20003
20004	// A Boolean value to indicate whether to use the latest available automatic
20005	// snapshot of the specified source instance or disk.
20006	//
20007	// Constraints:
20008	//
20009	//    * This parameter cannot be defined together with the restore date parameter.
20010	//    The use latest restorable auto snapshot and restore date parameters are
20011	//    mutually exclusive.
20012	//
20013	//    * Define this parameter only when copying an automatic snapshot as a manual
20014	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20015	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
20016	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
20017}
20018
20019// String returns the string representation
20020func (s CopySnapshotInput) String() string {
20021	return awsutil.Prettify(s)
20022}
20023
20024// GoString returns the string representation
20025func (s CopySnapshotInput) GoString() string {
20026	return s.String()
20027}
20028
20029// Validate inspects the fields of the type to determine if they are valid.
20030func (s *CopySnapshotInput) Validate() error {
20031	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
20032	if s.SourceRegion == nil {
20033		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
20034	}
20035	if s.TargetSnapshotName == nil {
20036		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
20037	}
20038
20039	if invalidParams.Len() > 0 {
20040		return invalidParams
20041	}
20042	return nil
20043}
20044
20045// SetRestoreDate sets the RestoreDate field's value.
20046func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
20047	s.RestoreDate = &v
20048	return s
20049}
20050
20051// SetSourceRegion sets the SourceRegion field's value.
20052func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
20053	s.SourceRegion = &v
20054	return s
20055}
20056
20057// SetSourceResourceName sets the SourceResourceName field's value.
20058func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
20059	s.SourceResourceName = &v
20060	return s
20061}
20062
20063// SetSourceSnapshotName sets the SourceSnapshotName field's value.
20064func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
20065	s.SourceSnapshotName = &v
20066	return s
20067}
20068
20069// SetTargetSnapshotName sets the TargetSnapshotName field's value.
20070func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
20071	s.TargetSnapshotName = &v
20072	return s
20073}
20074
20075// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
20076func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
20077	s.UseLatestRestorableAutoSnapshot = &v
20078	return s
20079}
20080
20081type CopySnapshotOutput struct {
20082	_ struct{} `type:"structure"`
20083
20084	// An array of objects that describe the result of the action, such as the status
20085	// of the request, the timestamp of the request, and the resources affected
20086	// by the request.
20087	Operations []*Operation `locationName:"operations" type:"list"`
20088}
20089
20090// String returns the string representation
20091func (s CopySnapshotOutput) String() string {
20092	return awsutil.Prettify(s)
20093}
20094
20095// GoString returns the string representation
20096func (s CopySnapshotOutput) GoString() string {
20097	return s.String()
20098}
20099
20100// SetOperations sets the Operations field's value.
20101func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
20102	s.Operations = v
20103	return s
20104}
20105
20106type CreateBucketAccessKeyInput struct {
20107	_ struct{} `type:"structure"`
20108
20109	// The name of the bucket that the new access key will belong to, and grant
20110	// access to.
20111	//
20112	// BucketName is a required field
20113	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
20114}
20115
20116// String returns the string representation
20117func (s CreateBucketAccessKeyInput) String() string {
20118	return awsutil.Prettify(s)
20119}
20120
20121// GoString returns the string representation
20122func (s CreateBucketAccessKeyInput) GoString() string {
20123	return s.String()
20124}
20125
20126// Validate inspects the fields of the type to determine if they are valid.
20127func (s *CreateBucketAccessKeyInput) Validate() error {
20128	invalidParams := request.ErrInvalidParams{Context: "CreateBucketAccessKeyInput"}
20129	if s.BucketName == nil {
20130		invalidParams.Add(request.NewErrParamRequired("BucketName"))
20131	}
20132	if s.BucketName != nil && len(*s.BucketName) < 3 {
20133		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
20134	}
20135
20136	if invalidParams.Len() > 0 {
20137		return invalidParams
20138	}
20139	return nil
20140}
20141
20142// SetBucketName sets the BucketName field's value.
20143func (s *CreateBucketAccessKeyInput) SetBucketName(v string) *CreateBucketAccessKeyInput {
20144	s.BucketName = &v
20145	return s
20146}
20147
20148type CreateBucketAccessKeyOutput struct {
20149	_ struct{} `type:"structure"`
20150
20151	// An object that describes the access key that is created.
20152	AccessKey *AccessKey `locationName:"accessKey" type:"structure"`
20153
20154	// An array of objects that describe the result of the action, such as the status
20155	// of the request, the timestamp of the request, and the resources affected
20156	// by the request.
20157	Operations []*Operation `locationName:"operations" type:"list"`
20158}
20159
20160// String returns the string representation
20161func (s CreateBucketAccessKeyOutput) String() string {
20162	return awsutil.Prettify(s)
20163}
20164
20165// GoString returns the string representation
20166func (s CreateBucketAccessKeyOutput) GoString() string {
20167	return s.String()
20168}
20169
20170// SetAccessKey sets the AccessKey field's value.
20171func (s *CreateBucketAccessKeyOutput) SetAccessKey(v *AccessKey) *CreateBucketAccessKeyOutput {
20172	s.AccessKey = v
20173	return s
20174}
20175
20176// SetOperations sets the Operations field's value.
20177func (s *CreateBucketAccessKeyOutput) SetOperations(v []*Operation) *CreateBucketAccessKeyOutput {
20178	s.Operations = v
20179	return s
20180}
20181
20182type CreateBucketInput struct {
20183	_ struct{} `type:"structure"`
20184
20185	// The name for the bucket.
20186	//
20187	// For more information about bucket names, see Bucket naming rules in Amazon
20188	// Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/bucket-naming-rules-in-amazon-lightsail)
20189	// in the Amazon Lightsail Developer Guide.
20190	//
20191	// BucketName is a required field
20192	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
20193
20194	// The ID of the bundle to use for the bucket.
20195	//
20196	// A bucket bundle specifies the monthly cost, storage space, and data transfer
20197	// quota for a bucket.
20198	//
20199	// Use the GetBucketBundles action to get a list of bundle IDs that you can
20200	// specify.
20201	//
20202	// Use the UpdateBucketBundle action to change the bundle after the bucket is
20203	// created.
20204	//
20205	// BundleId is a required field
20206	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
20207
20208	// A Boolean value that indicates whether to enable versioning of objects in
20209	// the bucket.
20210	//
20211	// For more information about versioning, see Enabling and suspending object
20212	// versioning in a bucket in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-managing-bucket-object-versioning)
20213	// in the Amazon Lightsail Developer Guide.
20214	EnableObjectVersioning *bool `locationName:"enableObjectVersioning" type:"boolean"`
20215
20216	// The tag keys and optional values to add to the bucket during creation.
20217	//
20218	// Use the TagResource action to tag the bucket after it's created.
20219	Tags []*Tag `locationName:"tags" type:"list"`
20220}
20221
20222// String returns the string representation
20223func (s CreateBucketInput) String() string {
20224	return awsutil.Prettify(s)
20225}
20226
20227// GoString returns the string representation
20228func (s CreateBucketInput) GoString() string {
20229	return s.String()
20230}
20231
20232// Validate inspects the fields of the type to determine if they are valid.
20233func (s *CreateBucketInput) Validate() error {
20234	invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
20235	if s.BucketName == nil {
20236		invalidParams.Add(request.NewErrParamRequired("BucketName"))
20237	}
20238	if s.BucketName != nil && len(*s.BucketName) < 3 {
20239		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
20240	}
20241	if s.BundleId == nil {
20242		invalidParams.Add(request.NewErrParamRequired("BundleId"))
20243	}
20244
20245	if invalidParams.Len() > 0 {
20246		return invalidParams
20247	}
20248	return nil
20249}
20250
20251// SetBucketName sets the BucketName field's value.
20252func (s *CreateBucketInput) SetBucketName(v string) *CreateBucketInput {
20253	s.BucketName = &v
20254	return s
20255}
20256
20257// SetBundleId sets the BundleId field's value.
20258func (s *CreateBucketInput) SetBundleId(v string) *CreateBucketInput {
20259	s.BundleId = &v
20260	return s
20261}
20262
20263// SetEnableObjectVersioning sets the EnableObjectVersioning field's value.
20264func (s *CreateBucketInput) SetEnableObjectVersioning(v bool) *CreateBucketInput {
20265	s.EnableObjectVersioning = &v
20266	return s
20267}
20268
20269// SetTags sets the Tags field's value.
20270func (s *CreateBucketInput) SetTags(v []*Tag) *CreateBucketInput {
20271	s.Tags = v
20272	return s
20273}
20274
20275type CreateBucketOutput struct {
20276	_ struct{} `type:"structure"`
20277
20278	// An object that describes the bucket that is created.
20279	Bucket *Bucket `locationName:"bucket" type:"structure"`
20280
20281	// An array of objects that describe the result of the action, such as the status
20282	// of the request, the timestamp of the request, and the resources affected
20283	// by the request.
20284	Operations []*Operation `locationName:"operations" type:"list"`
20285}
20286
20287// String returns the string representation
20288func (s CreateBucketOutput) String() string {
20289	return awsutil.Prettify(s)
20290}
20291
20292// GoString returns the string representation
20293func (s CreateBucketOutput) GoString() string {
20294	return s.String()
20295}
20296
20297// SetBucket sets the Bucket field's value.
20298func (s *CreateBucketOutput) SetBucket(v *Bucket) *CreateBucketOutput {
20299	s.Bucket = v
20300	return s
20301}
20302
20303// SetOperations sets the Operations field's value.
20304func (s *CreateBucketOutput) SetOperations(v []*Operation) *CreateBucketOutput {
20305	s.Operations = v
20306	return s
20307}
20308
20309type CreateCertificateInput struct {
20310	_ struct{} `type:"structure"`
20311
20312	// The name for the certificate.
20313	//
20314	// CertificateName is a required field
20315	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
20316
20317	// The domain name (e.g., example.com) for the certificate.
20318	//
20319	// DomainName is a required field
20320	DomainName *string `locationName:"domainName" type:"string" required:"true"`
20321
20322	// An array of strings that specify the alternate domains (e.g., example2.com)
20323	// and subdomains (e.g., blog.example.com) for the certificate.
20324	//
20325	// You can specify a maximum of nine alternate domains (in addition to the primary
20326	// domain name).
20327	//
20328	// Wildcard domain entries (e.g., *.example.com) are not supported.
20329	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
20330
20331	// The tag keys and optional values to add to the certificate during create.
20332	//
20333	// Use the TagResource action to tag a resource after it's created.
20334	Tags []*Tag `locationName:"tags" type:"list"`
20335}
20336
20337// String returns the string representation
20338func (s CreateCertificateInput) String() string {
20339	return awsutil.Prettify(s)
20340}
20341
20342// GoString returns the string representation
20343func (s CreateCertificateInput) GoString() string {
20344	return s.String()
20345}
20346
20347// Validate inspects the fields of the type to determine if they are valid.
20348func (s *CreateCertificateInput) Validate() error {
20349	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
20350	if s.CertificateName == nil {
20351		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
20352	}
20353	if s.DomainName == nil {
20354		invalidParams.Add(request.NewErrParamRequired("DomainName"))
20355	}
20356
20357	if invalidParams.Len() > 0 {
20358		return invalidParams
20359	}
20360	return nil
20361}
20362
20363// SetCertificateName sets the CertificateName field's value.
20364func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
20365	s.CertificateName = &v
20366	return s
20367}
20368
20369// SetDomainName sets the DomainName field's value.
20370func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
20371	s.DomainName = &v
20372	return s
20373}
20374
20375// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
20376func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
20377	s.SubjectAlternativeNames = v
20378	return s
20379}
20380
20381// SetTags sets the Tags field's value.
20382func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
20383	s.Tags = v
20384	return s
20385}
20386
20387type CreateCertificateOutput struct {
20388	_ struct{} `type:"structure"`
20389
20390	// An object that describes the certificate created.
20391	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
20392
20393	// An array of objects that describe the result of the action, such as the status
20394	// of the request, the timestamp of the request, and the resources affected
20395	// by the request.
20396	Operations []*Operation `locationName:"operations" type:"list"`
20397}
20398
20399// String returns the string representation
20400func (s CreateCertificateOutput) String() string {
20401	return awsutil.Prettify(s)
20402}
20403
20404// GoString returns the string representation
20405func (s CreateCertificateOutput) GoString() string {
20406	return s.String()
20407}
20408
20409// SetCertificate sets the Certificate field's value.
20410func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
20411	s.Certificate = v
20412	return s
20413}
20414
20415// SetOperations sets the Operations field's value.
20416func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
20417	s.Operations = v
20418	return s
20419}
20420
20421type CreateCloudFormationStackInput struct {
20422	_ struct{} `type:"structure"`
20423
20424	// An array of parameters that will be used to create the new Amazon EC2 instance.
20425	// You can only pass one instance entry at a time in this array. You will get
20426	// an invalid parameter error if you pass more than one instance entry in this
20427	// array.
20428	//
20429	// Instances is a required field
20430	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
20431}
20432
20433// String returns the string representation
20434func (s CreateCloudFormationStackInput) String() string {
20435	return awsutil.Prettify(s)
20436}
20437
20438// GoString returns the string representation
20439func (s CreateCloudFormationStackInput) GoString() string {
20440	return s.String()
20441}
20442
20443// Validate inspects the fields of the type to determine if they are valid.
20444func (s *CreateCloudFormationStackInput) Validate() error {
20445	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
20446	if s.Instances == nil {
20447		invalidParams.Add(request.NewErrParamRequired("Instances"))
20448	}
20449	if s.Instances != nil {
20450		for i, v := range s.Instances {
20451			if v == nil {
20452				continue
20453			}
20454			if err := v.Validate(); err != nil {
20455				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
20456			}
20457		}
20458	}
20459
20460	if invalidParams.Len() > 0 {
20461		return invalidParams
20462	}
20463	return nil
20464}
20465
20466// SetInstances sets the Instances field's value.
20467func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
20468	s.Instances = v
20469	return s
20470}
20471
20472type CreateCloudFormationStackOutput struct {
20473	_ struct{} `type:"structure"`
20474
20475	// An array of objects that describe the result of the action, such as the status
20476	// of the request, the timestamp of the request, and the resources affected
20477	// by the request.
20478	Operations []*Operation `locationName:"operations" type:"list"`
20479}
20480
20481// String returns the string representation
20482func (s CreateCloudFormationStackOutput) String() string {
20483	return awsutil.Prettify(s)
20484}
20485
20486// GoString returns the string representation
20487func (s CreateCloudFormationStackOutput) GoString() string {
20488	return s.String()
20489}
20490
20491// SetOperations sets the Operations field's value.
20492func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
20493	s.Operations = v
20494	return s
20495}
20496
20497type CreateContactMethodInput struct {
20498	_ struct{} `type:"structure"`
20499
20500	// The destination of the contact method, such as an email address or a mobile
20501	// phone number.
20502	//
20503	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
20504	// for the phone number structure used for international telecommunication.
20505	// Phone numbers that follow this format can have a maximum of 15 digits, and
20506	// they are prefixed with the plus character (+) and the country code. For example,
20507	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
20508	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
20509	//
20510	// ContactEndpoint is a required field
20511	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
20512
20513	// The protocol of the contact method, such as Email or SMS (text messaging).
20514	//
20515	// The SMS protocol is supported only in the following AWS Regions.
20516	//
20517	//    * US East (N. Virginia) (us-east-1)
20518	//
20519	//    * US West (Oregon) (us-west-2)
20520	//
20521	//    * Europe (Ireland) (eu-west-1)
20522	//
20523	//    * Asia Pacific (Tokyo) (ap-northeast-1)
20524	//
20525	//    * Asia Pacific (Singapore) (ap-southeast-1)
20526	//
20527	//    * Asia Pacific (Sydney) (ap-southeast-2)
20528	//
20529	// For a list of countries/regions where SMS text messages can be sent, and
20530	// the latest AWS Regions where SMS text messaging is supported, see Supported
20531	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
20532	// in the Amazon SNS Developer Guide.
20533	//
20534	// For more information about notifications in Amazon Lightsail, see Notifications
20535	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
20536	//
20537	// Protocol is a required field
20538	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
20539}
20540
20541// String returns the string representation
20542func (s CreateContactMethodInput) String() string {
20543	return awsutil.Prettify(s)
20544}
20545
20546// GoString returns the string representation
20547func (s CreateContactMethodInput) GoString() string {
20548	return s.String()
20549}
20550
20551// Validate inspects the fields of the type to determine if they are valid.
20552func (s *CreateContactMethodInput) Validate() error {
20553	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
20554	if s.ContactEndpoint == nil {
20555		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
20556	}
20557	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
20558		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
20559	}
20560	if s.Protocol == nil {
20561		invalidParams.Add(request.NewErrParamRequired("Protocol"))
20562	}
20563
20564	if invalidParams.Len() > 0 {
20565		return invalidParams
20566	}
20567	return nil
20568}
20569
20570// SetContactEndpoint sets the ContactEndpoint field's value.
20571func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
20572	s.ContactEndpoint = &v
20573	return s
20574}
20575
20576// SetProtocol sets the Protocol field's value.
20577func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
20578	s.Protocol = &v
20579	return s
20580}
20581
20582type CreateContactMethodOutput struct {
20583	_ struct{} `type:"structure"`
20584
20585	// An array of objects that describe the result of the action, such as the status
20586	// of the request, the timestamp of the request, and the resources affected
20587	// by the request.
20588	Operations []*Operation `locationName:"operations" type:"list"`
20589}
20590
20591// String returns the string representation
20592func (s CreateContactMethodOutput) String() string {
20593	return awsutil.Prettify(s)
20594}
20595
20596// GoString returns the string representation
20597func (s CreateContactMethodOutput) GoString() string {
20598	return s.String()
20599}
20600
20601// SetOperations sets the Operations field's value.
20602func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
20603	s.Operations = v
20604	return s
20605}
20606
20607type CreateContainerServiceDeploymentInput struct {
20608	_ struct{} `type:"structure"`
20609
20610	// An object that describes the settings of the containers that will be launched
20611	// on the container service.
20612	Containers map[string]*Container `locationName:"containers" type:"map"`
20613
20614	// An object that describes the settings of the public endpoint for the container
20615	// service.
20616	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
20617
20618	// The name of the container service for which to create the deployment.
20619	//
20620	// ServiceName is a required field
20621	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
20622}
20623
20624// String returns the string representation
20625func (s CreateContainerServiceDeploymentInput) String() string {
20626	return awsutil.Prettify(s)
20627}
20628
20629// GoString returns the string representation
20630func (s CreateContainerServiceDeploymentInput) GoString() string {
20631	return s.String()
20632}
20633
20634// Validate inspects the fields of the type to determine if they are valid.
20635func (s *CreateContainerServiceDeploymentInput) Validate() error {
20636	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceDeploymentInput"}
20637	if s.ServiceName == nil {
20638		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
20639	}
20640	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
20641		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
20642	}
20643	if s.PublicEndpoint != nil {
20644		if err := s.PublicEndpoint.Validate(); err != nil {
20645			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
20646		}
20647	}
20648
20649	if invalidParams.Len() > 0 {
20650		return invalidParams
20651	}
20652	return nil
20653}
20654
20655// SetContainers sets the Containers field's value.
20656func (s *CreateContainerServiceDeploymentInput) SetContainers(v map[string]*Container) *CreateContainerServiceDeploymentInput {
20657	s.Containers = v
20658	return s
20659}
20660
20661// SetPublicEndpoint sets the PublicEndpoint field's value.
20662func (s *CreateContainerServiceDeploymentInput) SetPublicEndpoint(v *EndpointRequest) *CreateContainerServiceDeploymentInput {
20663	s.PublicEndpoint = v
20664	return s
20665}
20666
20667// SetServiceName sets the ServiceName field's value.
20668func (s *CreateContainerServiceDeploymentInput) SetServiceName(v string) *CreateContainerServiceDeploymentInput {
20669	s.ServiceName = &v
20670	return s
20671}
20672
20673type CreateContainerServiceDeploymentOutput struct {
20674	_ struct{} `type:"structure"`
20675
20676	// An object that describes a container service.
20677	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
20678}
20679
20680// String returns the string representation
20681func (s CreateContainerServiceDeploymentOutput) String() string {
20682	return awsutil.Prettify(s)
20683}
20684
20685// GoString returns the string representation
20686func (s CreateContainerServiceDeploymentOutput) GoString() string {
20687	return s.String()
20688}
20689
20690// SetContainerService sets the ContainerService field's value.
20691func (s *CreateContainerServiceDeploymentOutput) SetContainerService(v *ContainerService) *CreateContainerServiceDeploymentOutput {
20692	s.ContainerService = v
20693	return s
20694}
20695
20696type CreateContainerServiceInput struct {
20697	_ struct{} `type:"structure"`
20698
20699	// An object that describes a deployment for the container service.
20700	//
20701	// A deployment specifies the containers that will be launched on the container
20702	// service and their settings, such as the ports to open, the environment variables
20703	// to apply, and the launch command to run. It also specifies the container
20704	// that will serve as the public endpoint of the deployment and its settings,
20705	// such as the HTTP or HTTPS port to use, and the health check configuration.
20706	Deployment *ContainerServiceDeploymentRequest `locationName:"deployment" type:"structure"`
20707
20708	// The power specification for the container service.
20709	//
20710	// The power specifies the amount of memory, vCPUs, and base monthly cost of
20711	// each node of the container service. The power and scale of a container service
20712	// makes up its configured capacity. To determine the monthly price of your
20713	// container service, multiply the base price of the power with the scale (the
20714	// number of nodes) of the service.
20715	//
20716	// Use the GetContainerServicePowers action to get a list of power options that
20717	// you can specify using this parameter, and their base monthly cost.
20718	//
20719	// Power is a required field
20720	Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"`
20721
20722	// The public domain names to use with the container service, such as example.com
20723	// and www.example.com.
20724	//
20725	// You can specify up to four public domain names for a container service. The
20726	// domain names that you specify are used when you create a deployment with
20727	// a container configured as the public endpoint of your container service.
20728	//
20729	// If you don't specify public domain names, then you can use the default domain
20730	// of the container service.
20731	//
20732	// You must create and validate an SSL/TLS certificate before you can use public
20733	// domain names with your container service. Use the CreateCertificate action
20734	// to create a certificate for the public domain names you want to use with
20735	// your container service.
20736	//
20737	// You can specify public domain names using a string to array map as shown
20738	// in the example later on this page.
20739	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
20740
20741	// The scale specification for the container service.
20742	//
20743	// The scale specifies the allocated compute nodes of the container service.
20744	// The power and scale of a container service makes up its configured capacity.
20745	// To determine the monthly price of your container service, multiply the base
20746	// price of the power with the scale (the number of nodes) of the service.
20747	//
20748	// Scale is a required field
20749	Scale *int64 `locationName:"scale" min:"1" type:"integer" required:"true"`
20750
20751	// The name for the container service.
20752	//
20753	// The name that you specify for your container service will make up part of
20754	// its default domain. The default domain of a container service is typically
20755	// https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. If
20756	// the name of your container service is container-service-1, and it's located
20757	// in the US East (Ohio) AWS region (us-east-2), then the domain for your container
20758	// service will be like the following example: https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com
20759	//
20760	// The following are the requirements for container service names:
20761	//
20762	//    * Must be unique within each AWS Region in your Lightsail account.
20763	//
20764	//    * Must contain 1 to 63 characters.
20765	//
20766	//    * Must contain only alphanumeric characters and hyphens.
20767	//
20768	//    * A hyphen (-) can separate words but cannot be at the start or end of
20769	//    the name.
20770	//
20771	// ServiceName is a required field
20772	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
20773
20774	// The tag keys and optional values to add to the certificate during create.
20775	//
20776	// Use the TagResource action to tag a resource after it's created.
20777	//
20778	// For more information about tags in Lightsail, see the Amazon Lightsail Developer
20779	// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
20780	Tags []*Tag `locationName:"tags" type:"list"`
20781}
20782
20783// String returns the string representation
20784func (s CreateContainerServiceInput) String() string {
20785	return awsutil.Prettify(s)
20786}
20787
20788// GoString returns the string representation
20789func (s CreateContainerServiceInput) GoString() string {
20790	return s.String()
20791}
20792
20793// Validate inspects the fields of the type to determine if they are valid.
20794func (s *CreateContainerServiceInput) Validate() error {
20795	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceInput"}
20796	if s.Power == nil {
20797		invalidParams.Add(request.NewErrParamRequired("Power"))
20798	}
20799	if s.Scale == nil {
20800		invalidParams.Add(request.NewErrParamRequired("Scale"))
20801	}
20802	if s.Scale != nil && *s.Scale < 1 {
20803		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
20804	}
20805	if s.ServiceName == nil {
20806		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
20807	}
20808	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
20809		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
20810	}
20811	if s.Deployment != nil {
20812		if err := s.Deployment.Validate(); err != nil {
20813			invalidParams.AddNested("Deployment", err.(request.ErrInvalidParams))
20814		}
20815	}
20816
20817	if invalidParams.Len() > 0 {
20818		return invalidParams
20819	}
20820	return nil
20821}
20822
20823// SetDeployment sets the Deployment field's value.
20824func (s *CreateContainerServiceInput) SetDeployment(v *ContainerServiceDeploymentRequest) *CreateContainerServiceInput {
20825	s.Deployment = v
20826	return s
20827}
20828
20829// SetPower sets the Power field's value.
20830func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerServiceInput {
20831	s.Power = &v
20832	return s
20833}
20834
20835// SetPublicDomainNames sets the PublicDomainNames field's value.
20836func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput {
20837	s.PublicDomainNames = v
20838	return s
20839}
20840
20841// SetScale sets the Scale field's value.
20842func (s *CreateContainerServiceInput) SetScale(v int64) *CreateContainerServiceInput {
20843	s.Scale = &v
20844	return s
20845}
20846
20847// SetServiceName sets the ServiceName field's value.
20848func (s *CreateContainerServiceInput) SetServiceName(v string) *CreateContainerServiceInput {
20849	s.ServiceName = &v
20850	return s
20851}
20852
20853// SetTags sets the Tags field's value.
20854func (s *CreateContainerServiceInput) SetTags(v []*Tag) *CreateContainerServiceInput {
20855	s.Tags = v
20856	return s
20857}
20858
20859type CreateContainerServiceOutput struct {
20860	_ struct{} `type:"structure"`
20861
20862	// An object that describes a container service.
20863	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
20864}
20865
20866// String returns the string representation
20867func (s CreateContainerServiceOutput) String() string {
20868	return awsutil.Prettify(s)
20869}
20870
20871// GoString returns the string representation
20872func (s CreateContainerServiceOutput) GoString() string {
20873	return s.String()
20874}
20875
20876// SetContainerService sets the ContainerService field's value.
20877func (s *CreateContainerServiceOutput) SetContainerService(v *ContainerService) *CreateContainerServiceOutput {
20878	s.ContainerService = v
20879	return s
20880}
20881
20882type CreateContainerServiceRegistryLoginInput struct {
20883	_ struct{} `type:"structure"`
20884}
20885
20886// String returns the string representation
20887func (s CreateContainerServiceRegistryLoginInput) String() string {
20888	return awsutil.Prettify(s)
20889}
20890
20891// GoString returns the string representation
20892func (s CreateContainerServiceRegistryLoginInput) GoString() string {
20893	return s.String()
20894}
20895
20896type CreateContainerServiceRegistryLoginOutput struct {
20897	_ struct{} `type:"structure"`
20898
20899	// An object that describes the log in information for the container service
20900	// registry of your Lightsail account.
20901	RegistryLogin *ContainerServiceRegistryLogin `locationName:"registryLogin" type:"structure"`
20902}
20903
20904// String returns the string representation
20905func (s CreateContainerServiceRegistryLoginOutput) String() string {
20906	return awsutil.Prettify(s)
20907}
20908
20909// GoString returns the string representation
20910func (s CreateContainerServiceRegistryLoginOutput) GoString() string {
20911	return s.String()
20912}
20913
20914// SetRegistryLogin sets the RegistryLogin field's value.
20915func (s *CreateContainerServiceRegistryLoginOutput) SetRegistryLogin(v *ContainerServiceRegistryLogin) *CreateContainerServiceRegistryLoginOutput {
20916	s.RegistryLogin = v
20917	return s
20918}
20919
20920type CreateDiskFromSnapshotInput struct {
20921	_ struct{} `type:"structure"`
20922
20923	// An array of objects that represent the add-ons to enable for the new disk.
20924	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
20925
20926	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
20927	// Choose the same Availability Zone as the Lightsail instance where you want
20928	// to create the disk.
20929	//
20930	// Use the GetRegions operation to list the Availability Zones where Lightsail
20931	// is currently available.
20932	//
20933	// AvailabilityZone is a required field
20934	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
20935
20936	// The unique Lightsail disk name (e.g., my-disk).
20937	//
20938	// DiskName is a required field
20939	DiskName *string `locationName:"diskName" type:"string" required:"true"`
20940
20941	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
20942	// new storage disk.
20943	//
20944	// Constraint:
20945	//
20946	//    * This parameter cannot be defined together with the source disk name
20947	//    parameter. The disk snapshot name and source disk name parameters are
20948	//    mutually exclusive.
20949	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
20950
20951	// The date of the automatic snapshot to use for the new disk. Use the get auto
20952	// snapshots operation to identify the dates of the available automatic snapshots.
20953	//
20954	// Constraints:
20955	//
20956	//    * Must be specified in YYYY-MM-DD format.
20957	//
20958	//    * This parameter cannot be defined together with the use latest restorable
20959	//    auto snapshot parameter. The restore date and use latest restorable auto
20960	//    snapshot parameters are mutually exclusive.
20961	//
20962	//    * Define this parameter only when creating a new disk from an automatic
20963	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20964	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
20965	RestoreDate *string `locationName:"restoreDate" type:"string"`
20966
20967	// The size of the disk in GB (e.g., 32).
20968	//
20969	// SizeInGb is a required field
20970	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
20971
20972	// The name of the source disk from which the source automatic snapshot was
20973	// created.
20974	//
20975	// Constraints:
20976	//
20977	//    * This parameter cannot be defined together with the disk snapshot name
20978	//    parameter. The source disk name and disk snapshot name parameters are
20979	//    mutually exclusive.
20980	//
20981	//    * Define this parameter only when creating a new disk from an automatic
20982	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20983	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
20984	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
20985
20986	// The tag keys and optional values to add to the resource during create.
20987	//
20988	// Use the TagResource action to tag a resource after it's created.
20989	Tags []*Tag `locationName:"tags" type:"list"`
20990
20991	// A Boolean value to indicate whether to use the latest available automatic
20992	// snapshot.
20993	//
20994	// Constraints:
20995	//
20996	//    * This parameter cannot be defined together with the restore date parameter.
20997	//    The use latest restorable auto snapshot and restore date parameters are
20998	//    mutually exclusive.
20999	//
21000	//    * Define this parameter only when creating a new disk from an automatic
21001	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21002	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21003	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
21004}
21005
21006// String returns the string representation
21007func (s CreateDiskFromSnapshotInput) String() string {
21008	return awsutil.Prettify(s)
21009}
21010
21011// GoString returns the string representation
21012func (s CreateDiskFromSnapshotInput) GoString() string {
21013	return s.String()
21014}
21015
21016// Validate inspects the fields of the type to determine if they are valid.
21017func (s *CreateDiskFromSnapshotInput) Validate() error {
21018	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
21019	if s.AvailabilityZone == nil {
21020		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
21021	}
21022	if s.DiskName == nil {
21023		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21024	}
21025	if s.SizeInGb == nil {
21026		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
21027	}
21028	if s.AddOns != nil {
21029		for i, v := range s.AddOns {
21030			if v == nil {
21031				continue
21032			}
21033			if err := v.Validate(); err != nil {
21034				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
21035			}
21036		}
21037	}
21038
21039	if invalidParams.Len() > 0 {
21040		return invalidParams
21041	}
21042	return nil
21043}
21044
21045// SetAddOns sets the AddOns field's value.
21046func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
21047	s.AddOns = v
21048	return s
21049}
21050
21051// SetAvailabilityZone sets the AvailabilityZone field's value.
21052func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
21053	s.AvailabilityZone = &v
21054	return s
21055}
21056
21057// SetDiskName sets the DiskName field's value.
21058func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
21059	s.DiskName = &v
21060	return s
21061}
21062
21063// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21064func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
21065	s.DiskSnapshotName = &v
21066	return s
21067}
21068
21069// SetRestoreDate sets the RestoreDate field's value.
21070func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
21071	s.RestoreDate = &v
21072	return s
21073}
21074
21075// SetSizeInGb sets the SizeInGb field's value.
21076func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
21077	s.SizeInGb = &v
21078	return s
21079}
21080
21081// SetSourceDiskName sets the SourceDiskName field's value.
21082func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
21083	s.SourceDiskName = &v
21084	return s
21085}
21086
21087// SetTags sets the Tags field's value.
21088func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
21089	s.Tags = v
21090	return s
21091}
21092
21093// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
21094func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
21095	s.UseLatestRestorableAutoSnapshot = &v
21096	return s
21097}
21098
21099type CreateDiskFromSnapshotOutput struct {
21100	_ struct{} `type:"structure"`
21101
21102	// An array of objects that describe the result of the action, such as the status
21103	// of the request, the timestamp of the request, and the resources affected
21104	// by the request.
21105	Operations []*Operation `locationName:"operations" type:"list"`
21106}
21107
21108// String returns the string representation
21109func (s CreateDiskFromSnapshotOutput) String() string {
21110	return awsutil.Prettify(s)
21111}
21112
21113// GoString returns the string representation
21114func (s CreateDiskFromSnapshotOutput) GoString() string {
21115	return s.String()
21116}
21117
21118// SetOperations sets the Operations field's value.
21119func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
21120	s.Operations = v
21121	return s
21122}
21123
21124type CreateDiskInput struct {
21125	_ struct{} `type:"structure"`
21126
21127	// An array of objects that represent the add-ons to enable for the new disk.
21128	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
21129
21130	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
21131	// Use the same Availability Zone as the Lightsail instance to which you want
21132	// to attach the disk.
21133	//
21134	// Use the get regions operation to list the Availability Zones where Lightsail
21135	// is currently available.
21136	//
21137	// AvailabilityZone is a required field
21138	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
21139
21140	// The unique Lightsail disk name (e.g., my-disk).
21141	//
21142	// DiskName is a required field
21143	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21144
21145	// The size of the disk in GB (e.g., 32).
21146	//
21147	// SizeInGb is a required field
21148	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
21149
21150	// The tag keys and optional values to add to the resource during create.
21151	//
21152	// Use the TagResource action to tag a resource after it's created.
21153	Tags []*Tag `locationName:"tags" type:"list"`
21154}
21155
21156// String returns the string representation
21157func (s CreateDiskInput) String() string {
21158	return awsutil.Prettify(s)
21159}
21160
21161// GoString returns the string representation
21162func (s CreateDiskInput) GoString() string {
21163	return s.String()
21164}
21165
21166// Validate inspects the fields of the type to determine if they are valid.
21167func (s *CreateDiskInput) Validate() error {
21168	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
21169	if s.AvailabilityZone == nil {
21170		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
21171	}
21172	if s.DiskName == nil {
21173		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21174	}
21175	if s.SizeInGb == nil {
21176		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
21177	}
21178	if s.AddOns != nil {
21179		for i, v := range s.AddOns {
21180			if v == nil {
21181				continue
21182			}
21183			if err := v.Validate(); err != nil {
21184				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
21185			}
21186		}
21187	}
21188
21189	if invalidParams.Len() > 0 {
21190		return invalidParams
21191	}
21192	return nil
21193}
21194
21195// SetAddOns sets the AddOns field's value.
21196func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
21197	s.AddOns = v
21198	return s
21199}
21200
21201// SetAvailabilityZone sets the AvailabilityZone field's value.
21202func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
21203	s.AvailabilityZone = &v
21204	return s
21205}
21206
21207// SetDiskName sets the DiskName field's value.
21208func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
21209	s.DiskName = &v
21210	return s
21211}
21212
21213// SetSizeInGb sets the SizeInGb field's value.
21214func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
21215	s.SizeInGb = &v
21216	return s
21217}
21218
21219// SetTags sets the Tags field's value.
21220func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
21221	s.Tags = v
21222	return s
21223}
21224
21225type CreateDiskOutput struct {
21226	_ struct{} `type:"structure"`
21227
21228	// An array of objects that describe the result of the action, such as the status
21229	// of the request, the timestamp of the request, and the resources affected
21230	// by the request.
21231	Operations []*Operation `locationName:"operations" type:"list"`
21232}
21233
21234// String returns the string representation
21235func (s CreateDiskOutput) String() string {
21236	return awsutil.Prettify(s)
21237}
21238
21239// GoString returns the string representation
21240func (s CreateDiskOutput) GoString() string {
21241	return s.String()
21242}
21243
21244// SetOperations sets the Operations field's value.
21245func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
21246	s.Operations = v
21247	return s
21248}
21249
21250type CreateDiskSnapshotInput struct {
21251	_ struct{} `type:"structure"`
21252
21253	// The unique name of the source disk (e.g., Disk-Virginia-1).
21254	//
21255	// This parameter cannot be defined together with the instance name parameter.
21256	// The disk name and instance name parameters are mutually exclusive.
21257	DiskName *string `locationName:"diskName" type:"string"`
21258
21259	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
21260	// on the source disk.
21261	//
21262	// DiskSnapshotName is a required field
21263	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
21264
21265	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
21266	// When this is defined, a snapshot of the instance's system volume is created.
21267	//
21268	// This parameter cannot be defined together with the disk name parameter. The
21269	// instance name and disk name parameters are mutually exclusive.
21270	InstanceName *string `locationName:"instanceName" type:"string"`
21271
21272	// The tag keys and optional values to add to the resource during create.
21273	//
21274	// Use the TagResource action to tag a resource after it's created.
21275	Tags []*Tag `locationName:"tags" type:"list"`
21276}
21277
21278// String returns the string representation
21279func (s CreateDiskSnapshotInput) String() string {
21280	return awsutil.Prettify(s)
21281}
21282
21283// GoString returns the string representation
21284func (s CreateDiskSnapshotInput) GoString() string {
21285	return s.String()
21286}
21287
21288// Validate inspects the fields of the type to determine if they are valid.
21289func (s *CreateDiskSnapshotInput) Validate() error {
21290	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
21291	if s.DiskSnapshotName == nil {
21292		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
21293	}
21294
21295	if invalidParams.Len() > 0 {
21296		return invalidParams
21297	}
21298	return nil
21299}
21300
21301// SetDiskName sets the DiskName field's value.
21302func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
21303	s.DiskName = &v
21304	return s
21305}
21306
21307// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21308func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
21309	s.DiskSnapshotName = &v
21310	return s
21311}
21312
21313// SetInstanceName sets the InstanceName field's value.
21314func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
21315	s.InstanceName = &v
21316	return s
21317}
21318
21319// SetTags sets the Tags field's value.
21320func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
21321	s.Tags = v
21322	return s
21323}
21324
21325type CreateDiskSnapshotOutput struct {
21326	_ struct{} `type:"structure"`
21327
21328	// An array of objects that describe the result of the action, such as the status
21329	// of the request, the timestamp of the request, and the resources affected
21330	// by the request.
21331	Operations []*Operation `locationName:"operations" type:"list"`
21332}
21333
21334// String returns the string representation
21335func (s CreateDiskSnapshotOutput) String() string {
21336	return awsutil.Prettify(s)
21337}
21338
21339// GoString returns the string representation
21340func (s CreateDiskSnapshotOutput) GoString() string {
21341	return s.String()
21342}
21343
21344// SetOperations sets the Operations field's value.
21345func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
21346	s.Operations = v
21347	return s
21348}
21349
21350type CreateDistributionInput struct {
21351	_ struct{} `type:"structure"`
21352
21353	// The bundle ID to use for the distribution.
21354	//
21355	// A distribution bundle describes the specifications of your distribution,
21356	// such as the monthly cost and monthly network transfer quota.
21357	//
21358	// Use the GetDistributionBundles action to get a list of distribution bundle
21359	// IDs that you can specify.
21360	//
21361	// BundleId is a required field
21362	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
21363
21364	// An object that describes the cache behavior settings for the distribution.
21365	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
21366
21367	// An array of objects that describe the per-path cache behavior for the distribution.
21368	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
21369
21370	// An object that describes the default cache behavior for the distribution.
21371	//
21372	// DefaultCacheBehavior is a required field
21373	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
21374
21375	// The name for the distribution.
21376	//
21377	// DistributionName is a required field
21378	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
21379
21380	// The IP address type for the distribution.
21381	//
21382	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
21383	//
21384	// The default value is dualstack.
21385	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
21386
21387	// An object that describes the origin resource for the distribution, such as
21388	// a Lightsail instance or load balancer.
21389	//
21390	// The distribution pulls, caches, and serves content from the origin.
21391	//
21392	// Origin is a required field
21393	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
21394
21395	// The tag keys and optional values to add to the distribution during create.
21396	//
21397	// Use the TagResource action to tag a resource after it's created.
21398	Tags []*Tag `locationName:"tags" type:"list"`
21399}
21400
21401// String returns the string representation
21402func (s CreateDistributionInput) String() string {
21403	return awsutil.Prettify(s)
21404}
21405
21406// GoString returns the string representation
21407func (s CreateDistributionInput) GoString() string {
21408	return s.String()
21409}
21410
21411// Validate inspects the fields of the type to determine if they are valid.
21412func (s *CreateDistributionInput) Validate() error {
21413	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
21414	if s.BundleId == nil {
21415		invalidParams.Add(request.NewErrParamRequired("BundleId"))
21416	}
21417	if s.DefaultCacheBehavior == nil {
21418		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
21419	}
21420	if s.DistributionName == nil {
21421		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
21422	}
21423	if s.Origin == nil {
21424		invalidParams.Add(request.NewErrParamRequired("Origin"))
21425	}
21426
21427	if invalidParams.Len() > 0 {
21428		return invalidParams
21429	}
21430	return nil
21431}
21432
21433// SetBundleId sets the BundleId field's value.
21434func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
21435	s.BundleId = &v
21436	return s
21437}
21438
21439// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
21440func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
21441	s.CacheBehaviorSettings = v
21442	return s
21443}
21444
21445// SetCacheBehaviors sets the CacheBehaviors field's value.
21446func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
21447	s.CacheBehaviors = v
21448	return s
21449}
21450
21451// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
21452func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
21453	s.DefaultCacheBehavior = v
21454	return s
21455}
21456
21457// SetDistributionName sets the DistributionName field's value.
21458func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
21459	s.DistributionName = &v
21460	return s
21461}
21462
21463// SetIpAddressType sets the IpAddressType field's value.
21464func (s *CreateDistributionInput) SetIpAddressType(v string) *CreateDistributionInput {
21465	s.IpAddressType = &v
21466	return s
21467}
21468
21469// SetOrigin sets the Origin field's value.
21470func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
21471	s.Origin = v
21472	return s
21473}
21474
21475// SetTags sets the Tags field's value.
21476func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
21477	s.Tags = v
21478	return s
21479}
21480
21481type CreateDistributionOutput struct {
21482	_ struct{} `type:"structure"`
21483
21484	// An object that describes the distribution created.
21485	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
21486
21487	// An array of objects that describe the result of the action, such as the status
21488	// of the request, the timestamp of the request, and the resources affected
21489	// by the request.
21490	Operation *Operation `locationName:"operation" type:"structure"`
21491}
21492
21493// String returns the string representation
21494func (s CreateDistributionOutput) String() string {
21495	return awsutil.Prettify(s)
21496}
21497
21498// GoString returns the string representation
21499func (s CreateDistributionOutput) GoString() string {
21500	return s.String()
21501}
21502
21503// SetDistribution sets the Distribution field's value.
21504func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
21505	s.Distribution = v
21506	return s
21507}
21508
21509// SetOperation sets the Operation field's value.
21510func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
21511	s.Operation = v
21512	return s
21513}
21514
21515type CreateDomainEntryInput struct {
21516	_ struct{} `type:"structure"`
21517
21518	// An array of key-value pairs containing information about the domain entry
21519	// request.
21520	//
21521	// DomainEntry is a required field
21522	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
21523
21524	// The domain name (e.g., example.com) for which you want to create the domain
21525	// entry.
21526	//
21527	// DomainName is a required field
21528	DomainName *string `locationName:"domainName" type:"string" required:"true"`
21529}
21530
21531// String returns the string representation
21532func (s CreateDomainEntryInput) String() string {
21533	return awsutil.Prettify(s)
21534}
21535
21536// GoString returns the string representation
21537func (s CreateDomainEntryInput) GoString() string {
21538	return s.String()
21539}
21540
21541// Validate inspects the fields of the type to determine if they are valid.
21542func (s *CreateDomainEntryInput) Validate() error {
21543	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
21544	if s.DomainEntry == nil {
21545		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
21546	}
21547	if s.DomainName == nil {
21548		invalidParams.Add(request.NewErrParamRequired("DomainName"))
21549	}
21550
21551	if invalidParams.Len() > 0 {
21552		return invalidParams
21553	}
21554	return nil
21555}
21556
21557// SetDomainEntry sets the DomainEntry field's value.
21558func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
21559	s.DomainEntry = v
21560	return s
21561}
21562
21563// SetDomainName sets the DomainName field's value.
21564func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
21565	s.DomainName = &v
21566	return s
21567}
21568
21569type CreateDomainEntryOutput struct {
21570	_ struct{} `type:"structure"`
21571
21572	// An array of objects that describe the result of the action, such as the status
21573	// of the request, the timestamp of the request, and the resources affected
21574	// by the request.
21575	Operation *Operation `locationName:"operation" type:"structure"`
21576}
21577
21578// String returns the string representation
21579func (s CreateDomainEntryOutput) String() string {
21580	return awsutil.Prettify(s)
21581}
21582
21583// GoString returns the string representation
21584func (s CreateDomainEntryOutput) GoString() string {
21585	return s.String()
21586}
21587
21588// SetOperation sets the Operation field's value.
21589func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
21590	s.Operation = v
21591	return s
21592}
21593
21594type CreateDomainInput struct {
21595	_ struct{} `type:"structure"`
21596
21597	// The domain name to manage (e.g., example.com).
21598	//
21599	// You cannot register a new domain name using Lightsail. You must register
21600	// a domain name using Amazon Route 53 or another domain name registrar. If
21601	// you have already registered your domain, you can enter its name in this parameter
21602	// to manage the DNS records for that domain using Lightsail.
21603	//
21604	// DomainName is a required field
21605	DomainName *string `locationName:"domainName" type:"string" required:"true"`
21606
21607	// The tag keys and optional values to add to the resource during create.
21608	//
21609	// Use the TagResource action to tag a resource after it's created.
21610	Tags []*Tag `locationName:"tags" type:"list"`
21611}
21612
21613// String returns the string representation
21614func (s CreateDomainInput) String() string {
21615	return awsutil.Prettify(s)
21616}
21617
21618// GoString returns the string representation
21619func (s CreateDomainInput) GoString() string {
21620	return s.String()
21621}
21622
21623// Validate inspects the fields of the type to determine if they are valid.
21624func (s *CreateDomainInput) Validate() error {
21625	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
21626	if s.DomainName == nil {
21627		invalidParams.Add(request.NewErrParamRequired("DomainName"))
21628	}
21629
21630	if invalidParams.Len() > 0 {
21631		return invalidParams
21632	}
21633	return nil
21634}
21635
21636// SetDomainName sets the DomainName field's value.
21637func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
21638	s.DomainName = &v
21639	return s
21640}
21641
21642// SetTags sets the Tags field's value.
21643func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
21644	s.Tags = v
21645	return s
21646}
21647
21648type CreateDomainOutput struct {
21649	_ struct{} `type:"structure"`
21650
21651	// An array of objects that describe the result of the action, such as the status
21652	// of the request, the timestamp of the request, and the resources affected
21653	// by the request.
21654	Operation *Operation `locationName:"operation" type:"structure"`
21655}
21656
21657// String returns the string representation
21658func (s CreateDomainOutput) String() string {
21659	return awsutil.Prettify(s)
21660}
21661
21662// GoString returns the string representation
21663func (s CreateDomainOutput) GoString() string {
21664	return s.String()
21665}
21666
21667// SetOperation sets the Operation field's value.
21668func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
21669	s.Operation = v
21670	return s
21671}
21672
21673type CreateInstanceSnapshotInput struct {
21674	_ struct{} `type:"structure"`
21675
21676	// The Lightsail instance on which to base your snapshot.
21677	//
21678	// InstanceName is a required field
21679	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
21680
21681	// The name for your new snapshot.
21682	//
21683	// InstanceSnapshotName is a required field
21684	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
21685
21686	// The tag keys and optional values to add to the resource during create.
21687	//
21688	// Use the TagResource action to tag a resource after it's created.
21689	Tags []*Tag `locationName:"tags" type:"list"`
21690}
21691
21692// String returns the string representation
21693func (s CreateInstanceSnapshotInput) String() string {
21694	return awsutil.Prettify(s)
21695}
21696
21697// GoString returns the string representation
21698func (s CreateInstanceSnapshotInput) GoString() string {
21699	return s.String()
21700}
21701
21702// Validate inspects the fields of the type to determine if they are valid.
21703func (s *CreateInstanceSnapshotInput) Validate() error {
21704	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
21705	if s.InstanceName == nil {
21706		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
21707	}
21708	if s.InstanceSnapshotName == nil {
21709		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
21710	}
21711
21712	if invalidParams.Len() > 0 {
21713		return invalidParams
21714	}
21715	return nil
21716}
21717
21718// SetInstanceName sets the InstanceName field's value.
21719func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
21720	s.InstanceName = &v
21721	return s
21722}
21723
21724// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
21725func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
21726	s.InstanceSnapshotName = &v
21727	return s
21728}
21729
21730// SetTags sets the Tags field's value.
21731func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
21732	s.Tags = v
21733	return s
21734}
21735
21736type CreateInstanceSnapshotOutput struct {
21737	_ struct{} `type:"structure"`
21738
21739	// An array of objects that describe the result of the action, such as the status
21740	// of the request, the timestamp of the request, and the resources affected
21741	// by the request.
21742	Operations []*Operation `locationName:"operations" type:"list"`
21743}
21744
21745// String returns the string representation
21746func (s CreateInstanceSnapshotOutput) String() string {
21747	return awsutil.Prettify(s)
21748}
21749
21750// GoString returns the string representation
21751func (s CreateInstanceSnapshotOutput) GoString() string {
21752	return s.String()
21753}
21754
21755// SetOperations sets the Operations field's value.
21756func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
21757	s.Operations = v
21758	return s
21759}
21760
21761type CreateInstancesFromSnapshotInput struct {
21762	_ struct{} `type:"structure"`
21763
21764	// An array of objects representing the add-ons to enable for the new instance.
21765	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
21766
21767	// An object containing information about one or more disk mappings.
21768	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
21769
21770	// The Availability Zone where you want to create your instances. Use the following
21771	// formatting: us-east-2a (case sensitive). You can get a list of Availability
21772	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
21773	// operation. Be sure to add the include Availability Zones parameter to your
21774	// request.
21775	//
21776	// AvailabilityZone is a required field
21777	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
21778
21779	// The bundle of specification information for your virtual private server (or
21780	// instance), including the pricing plan (e.g., micro_1_0).
21781	//
21782	// BundleId is a required field
21783	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
21784
21785	// The names for your new instances.
21786	//
21787	// InstanceNames is a required field
21788	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
21789
21790	// The name of the instance snapshot on which you are basing your new instances.
21791	// Use the get instance snapshots operation to return information about your
21792	// existing snapshots.
21793	//
21794	// Constraint:
21795	//
21796	//    * This parameter cannot be defined together with the source instance name
21797	//    parameter. The instance snapshot name and source instance name parameters
21798	//    are mutually exclusive.
21799	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
21800
21801	// The IP address type for the instance.
21802	//
21803	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
21804	//
21805	// The default value is dualstack.
21806	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
21807
21808	// The name for your key pair.
21809	KeyPairName *string `locationName:"keyPairName" type:"string"`
21810
21811	// The date of the automatic snapshot to use for the new instance. Use the get
21812	// auto snapshots operation to identify the dates of the available automatic
21813	// snapshots.
21814	//
21815	// Constraints:
21816	//
21817	//    * Must be specified in YYYY-MM-DD format.
21818	//
21819	//    * This parameter cannot be defined together with the use latest restorable
21820	//    auto snapshot parameter. The restore date and use latest restorable auto
21821	//    snapshot parameters are mutually exclusive.
21822	//
21823	//    * Define this parameter only when creating a new instance from an automatic
21824	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21825	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21826	RestoreDate *string `locationName:"restoreDate" type:"string"`
21827
21828	// The name of the source instance from which the source automatic snapshot
21829	// was created.
21830	//
21831	// Constraints:
21832	//
21833	//    * This parameter cannot be defined together with the instance snapshot
21834	//    name parameter. The source instance name and instance snapshot name parameters
21835	//    are mutually exclusive.
21836	//
21837	//    * Define this parameter only when creating a new instance from an automatic
21838	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21839	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21840	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
21841
21842	// The tag keys and optional values to add to the resource during create.
21843	//
21844	// Use the TagResource action to tag a resource after it's created.
21845	Tags []*Tag `locationName:"tags" type:"list"`
21846
21847	// A Boolean value to indicate whether to use the latest available automatic
21848	// snapshot.
21849	//
21850	// Constraints:
21851	//
21852	//    * This parameter cannot be defined together with the restore date parameter.
21853	//    The use latest restorable auto snapshot and restore date parameters are
21854	//    mutually exclusive.
21855	//
21856	//    * Define this parameter only when creating a new instance from an automatic
21857	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21858	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21859	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
21860
21861	// You can create a launch script that configures a server with additional user
21862	// data. For example, apt-get -y update.
21863	//
21864	// Depending on the machine image you choose, the command to get software on
21865	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
21866	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
21867	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
21868	UserData *string `locationName:"userData" type:"string"`
21869}
21870
21871// String returns the string representation
21872func (s CreateInstancesFromSnapshotInput) String() string {
21873	return awsutil.Prettify(s)
21874}
21875
21876// GoString returns the string representation
21877func (s CreateInstancesFromSnapshotInput) GoString() string {
21878	return s.String()
21879}
21880
21881// Validate inspects the fields of the type to determine if they are valid.
21882func (s *CreateInstancesFromSnapshotInput) Validate() error {
21883	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
21884	if s.AvailabilityZone == nil {
21885		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
21886	}
21887	if s.BundleId == nil {
21888		invalidParams.Add(request.NewErrParamRequired("BundleId"))
21889	}
21890	if s.InstanceNames == nil {
21891		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
21892	}
21893	if s.AddOns != nil {
21894		for i, v := range s.AddOns {
21895			if v == nil {
21896				continue
21897			}
21898			if err := v.Validate(); err != nil {
21899				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
21900			}
21901		}
21902	}
21903
21904	if invalidParams.Len() > 0 {
21905		return invalidParams
21906	}
21907	return nil
21908}
21909
21910// SetAddOns sets the AddOns field's value.
21911func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
21912	s.AddOns = v
21913	return s
21914}
21915
21916// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
21917func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
21918	s.AttachedDiskMapping = v
21919	return s
21920}
21921
21922// SetAvailabilityZone sets the AvailabilityZone field's value.
21923func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
21924	s.AvailabilityZone = &v
21925	return s
21926}
21927
21928// SetBundleId sets the BundleId field's value.
21929func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
21930	s.BundleId = &v
21931	return s
21932}
21933
21934// SetInstanceNames sets the InstanceNames field's value.
21935func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
21936	s.InstanceNames = v
21937	return s
21938}
21939
21940// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
21941func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
21942	s.InstanceSnapshotName = &v
21943	return s
21944}
21945
21946// SetIpAddressType sets the IpAddressType field's value.
21947func (s *CreateInstancesFromSnapshotInput) SetIpAddressType(v string) *CreateInstancesFromSnapshotInput {
21948	s.IpAddressType = &v
21949	return s
21950}
21951
21952// SetKeyPairName sets the KeyPairName field's value.
21953func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
21954	s.KeyPairName = &v
21955	return s
21956}
21957
21958// SetRestoreDate sets the RestoreDate field's value.
21959func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
21960	s.RestoreDate = &v
21961	return s
21962}
21963
21964// SetSourceInstanceName sets the SourceInstanceName field's value.
21965func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
21966	s.SourceInstanceName = &v
21967	return s
21968}
21969
21970// SetTags sets the Tags field's value.
21971func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
21972	s.Tags = v
21973	return s
21974}
21975
21976// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
21977func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
21978	s.UseLatestRestorableAutoSnapshot = &v
21979	return s
21980}
21981
21982// SetUserData sets the UserData field's value.
21983func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
21984	s.UserData = &v
21985	return s
21986}
21987
21988type CreateInstancesFromSnapshotOutput struct {
21989	_ struct{} `type:"structure"`
21990
21991	// An array of objects that describe the result of the action, such as the status
21992	// of the request, the timestamp of the request, and the resources affected
21993	// by the request.
21994	Operations []*Operation `locationName:"operations" type:"list"`
21995}
21996
21997// String returns the string representation
21998func (s CreateInstancesFromSnapshotOutput) String() string {
21999	return awsutil.Prettify(s)
22000}
22001
22002// GoString returns the string representation
22003func (s CreateInstancesFromSnapshotOutput) GoString() string {
22004	return s.String()
22005}
22006
22007// SetOperations sets the Operations field's value.
22008func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
22009	s.Operations = v
22010	return s
22011}
22012
22013type CreateInstancesInput struct {
22014	_ struct{} `type:"structure"`
22015
22016	// An array of objects representing the add-ons to enable for the new instance.
22017	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
22018
22019	// The Availability Zone in which to create your instance. Use the following
22020	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
22021	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
22022	// operation. Be sure to add the include Availability Zones parameter to your
22023	// request.
22024	//
22025	// AvailabilityZone is a required field
22026	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
22027
22028	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
22029	// Use the get blueprints operation to return a list of available images (or
22030	// blueprints).
22031	//
22032	// Use active blueprints when creating new instances. Inactive blueprints are
22033	// listed to support customers with existing instances and are not necessarily
22034	// available to create new instances. Blueprints are marked inactive when they
22035	// become outdated due to operating system updates or new application releases.
22036	//
22037	// BlueprintId is a required field
22038	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
22039
22040	// The bundle of specification information for your virtual private server (or
22041	// instance), including the pricing plan (e.g., micro_1_0).
22042	//
22043	// BundleId is a required field
22044	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
22045
22046	// (Deprecated) The name for your custom image.
22047	//
22048	// In releases prior to June 12, 2017, this parameter was ignored by the API.
22049	// It is now deprecated.
22050	//
22051	// Deprecated: CustomImageName has been deprecated
22052	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
22053
22054	// The names to use for your new Lightsail instances. Separate multiple values
22055	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
22056	//
22057	// InstanceNames is a required field
22058	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
22059
22060	// The IP address type for the instance.
22061	//
22062	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
22063	//
22064	// The default value is dualstack.
22065	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
22066
22067	// The name of your key pair.
22068	KeyPairName *string `locationName:"keyPairName" type:"string"`
22069
22070	// The tag keys and optional values to add to the resource during create.
22071	//
22072	// Use the TagResource action to tag a resource after it's created.
22073	Tags []*Tag `locationName:"tags" type:"list"`
22074
22075	// A launch script you can create that configures a server with additional user
22076	// data. For example, you might want to run apt-get -y update.
22077	//
22078	// Depending on the machine image you choose, the command to get software on
22079	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
22080	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
22081	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
22082	UserData *string `locationName:"userData" type:"string"`
22083}
22084
22085// String returns the string representation
22086func (s CreateInstancesInput) String() string {
22087	return awsutil.Prettify(s)
22088}
22089
22090// GoString returns the string representation
22091func (s CreateInstancesInput) GoString() string {
22092	return s.String()
22093}
22094
22095// Validate inspects the fields of the type to determine if they are valid.
22096func (s *CreateInstancesInput) Validate() error {
22097	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
22098	if s.AvailabilityZone == nil {
22099		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
22100	}
22101	if s.BlueprintId == nil {
22102		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
22103	}
22104	if s.BundleId == nil {
22105		invalidParams.Add(request.NewErrParamRequired("BundleId"))
22106	}
22107	if s.InstanceNames == nil {
22108		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
22109	}
22110	if s.AddOns != nil {
22111		for i, v := range s.AddOns {
22112			if v == nil {
22113				continue
22114			}
22115			if err := v.Validate(); err != nil {
22116				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
22117			}
22118		}
22119	}
22120
22121	if invalidParams.Len() > 0 {
22122		return invalidParams
22123	}
22124	return nil
22125}
22126
22127// SetAddOns sets the AddOns field's value.
22128func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
22129	s.AddOns = v
22130	return s
22131}
22132
22133// SetAvailabilityZone sets the AvailabilityZone field's value.
22134func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
22135	s.AvailabilityZone = &v
22136	return s
22137}
22138
22139// SetBlueprintId sets the BlueprintId field's value.
22140func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
22141	s.BlueprintId = &v
22142	return s
22143}
22144
22145// SetBundleId sets the BundleId field's value.
22146func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
22147	s.BundleId = &v
22148	return s
22149}
22150
22151// SetCustomImageName sets the CustomImageName field's value.
22152func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
22153	s.CustomImageName = &v
22154	return s
22155}
22156
22157// SetInstanceNames sets the InstanceNames field's value.
22158func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
22159	s.InstanceNames = v
22160	return s
22161}
22162
22163// SetIpAddressType sets the IpAddressType field's value.
22164func (s *CreateInstancesInput) SetIpAddressType(v string) *CreateInstancesInput {
22165	s.IpAddressType = &v
22166	return s
22167}
22168
22169// SetKeyPairName sets the KeyPairName field's value.
22170func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
22171	s.KeyPairName = &v
22172	return s
22173}
22174
22175// SetTags sets the Tags field's value.
22176func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
22177	s.Tags = v
22178	return s
22179}
22180
22181// SetUserData sets the UserData field's value.
22182func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
22183	s.UserData = &v
22184	return s
22185}
22186
22187type CreateInstancesOutput struct {
22188	_ struct{} `type:"structure"`
22189
22190	// An array of objects that describe the result of the action, such as the status
22191	// of the request, the timestamp of the request, and the resources affected
22192	// by the request.
22193	Operations []*Operation `locationName:"operations" type:"list"`
22194}
22195
22196// String returns the string representation
22197func (s CreateInstancesOutput) String() string {
22198	return awsutil.Prettify(s)
22199}
22200
22201// GoString returns the string representation
22202func (s CreateInstancesOutput) GoString() string {
22203	return s.String()
22204}
22205
22206// SetOperations sets the Operations field's value.
22207func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
22208	s.Operations = v
22209	return s
22210}
22211
22212type CreateKeyPairInput struct {
22213	_ struct{} `type:"structure"`
22214
22215	// The name for your new key pair.
22216	//
22217	// KeyPairName is a required field
22218	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
22219
22220	// The tag keys and optional values to add to the resource during create.
22221	//
22222	// Use the TagResource action to tag a resource after it's created.
22223	Tags []*Tag `locationName:"tags" type:"list"`
22224}
22225
22226// String returns the string representation
22227func (s CreateKeyPairInput) String() string {
22228	return awsutil.Prettify(s)
22229}
22230
22231// GoString returns the string representation
22232func (s CreateKeyPairInput) GoString() string {
22233	return s.String()
22234}
22235
22236// Validate inspects the fields of the type to determine if they are valid.
22237func (s *CreateKeyPairInput) Validate() error {
22238	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
22239	if s.KeyPairName == nil {
22240		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
22241	}
22242
22243	if invalidParams.Len() > 0 {
22244		return invalidParams
22245	}
22246	return nil
22247}
22248
22249// SetKeyPairName sets the KeyPairName field's value.
22250func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
22251	s.KeyPairName = &v
22252	return s
22253}
22254
22255// SetTags sets the Tags field's value.
22256func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
22257	s.Tags = v
22258	return s
22259}
22260
22261type CreateKeyPairOutput struct {
22262	_ struct{} `type:"structure"`
22263
22264	// An array of key-value pairs containing information about the new key pair
22265	// you just created.
22266	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
22267
22268	// An array of objects that describe the result of the action, such as the status
22269	// of the request, the timestamp of the request, and the resources affected
22270	// by the request.
22271	Operation *Operation `locationName:"operation" type:"structure"`
22272
22273	// A base64-encoded RSA private key.
22274	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
22275
22276	// A base64-encoded public key of the ssh-rsa type.
22277	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
22278}
22279
22280// String returns the string representation
22281func (s CreateKeyPairOutput) String() string {
22282	return awsutil.Prettify(s)
22283}
22284
22285// GoString returns the string representation
22286func (s CreateKeyPairOutput) GoString() string {
22287	return s.String()
22288}
22289
22290// SetKeyPair sets the KeyPair field's value.
22291func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
22292	s.KeyPair = v
22293	return s
22294}
22295
22296// SetOperation sets the Operation field's value.
22297func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
22298	s.Operation = v
22299	return s
22300}
22301
22302// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
22303func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
22304	s.PrivateKeyBase64 = &v
22305	return s
22306}
22307
22308// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
22309func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
22310	s.PublicKeyBase64 = &v
22311	return s
22312}
22313
22314type CreateLoadBalancerInput struct {
22315	_ struct{} `type:"structure"`
22316
22317	// The optional alternative domains and subdomains to use with your SSL/TLS
22318	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
22319	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
22320
22321	// The domain name with which your certificate is associated (e.g., example.com).
22322	//
22323	// If you specify certificateDomainName, then certificateName is required (and
22324	// vice-versa).
22325	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
22326
22327	// The name of the SSL/TLS certificate.
22328	//
22329	// If you specify certificateName, then certificateDomainName is required (and
22330	// vice-versa).
22331	CertificateName *string `locationName:"certificateName" type:"string"`
22332
22333	// The path you provided to perform the load balancer health check. If you didn't
22334	// specify a health check path, Lightsail uses the root path of your website
22335	// (e.g., "/").
22336	//
22337	// You may want to specify a custom health check path other than the root of
22338	// your application if your home page loads slowly or has a lot of media or
22339	// scripting on it.
22340	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
22341
22342	// The instance port where you're creating your load balancer.
22343	//
22344	// InstancePort is a required field
22345	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
22346
22347	// The IP address type for the load balancer.
22348	//
22349	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
22350	//
22351	// The default value is dualstack.
22352	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
22353
22354	// The name of your load balancer.
22355	//
22356	// LoadBalancerName is a required field
22357	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22358
22359	// The tag keys and optional values to add to the resource during create.
22360	//
22361	// Use the TagResource action to tag a resource after it's created.
22362	Tags []*Tag `locationName:"tags" type:"list"`
22363}
22364
22365// String returns the string representation
22366func (s CreateLoadBalancerInput) String() string {
22367	return awsutil.Prettify(s)
22368}
22369
22370// GoString returns the string representation
22371func (s CreateLoadBalancerInput) GoString() string {
22372	return s.String()
22373}
22374
22375// Validate inspects the fields of the type to determine if they are valid.
22376func (s *CreateLoadBalancerInput) Validate() error {
22377	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
22378	if s.InstancePort == nil {
22379		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
22380	}
22381	if s.InstancePort != nil && *s.InstancePort < -1 {
22382		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
22383	}
22384	if s.LoadBalancerName == nil {
22385		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22386	}
22387
22388	if invalidParams.Len() > 0 {
22389		return invalidParams
22390	}
22391	return nil
22392}
22393
22394// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
22395func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
22396	s.CertificateAlternativeNames = v
22397	return s
22398}
22399
22400// SetCertificateDomainName sets the CertificateDomainName field's value.
22401func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
22402	s.CertificateDomainName = &v
22403	return s
22404}
22405
22406// SetCertificateName sets the CertificateName field's value.
22407func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
22408	s.CertificateName = &v
22409	return s
22410}
22411
22412// SetHealthCheckPath sets the HealthCheckPath field's value.
22413func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
22414	s.HealthCheckPath = &v
22415	return s
22416}
22417
22418// SetInstancePort sets the InstancePort field's value.
22419func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
22420	s.InstancePort = &v
22421	return s
22422}
22423
22424// SetIpAddressType sets the IpAddressType field's value.
22425func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
22426	s.IpAddressType = &v
22427	return s
22428}
22429
22430// SetLoadBalancerName sets the LoadBalancerName field's value.
22431func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
22432	s.LoadBalancerName = &v
22433	return s
22434}
22435
22436// SetTags sets the Tags field's value.
22437func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
22438	s.Tags = v
22439	return s
22440}
22441
22442type CreateLoadBalancerOutput struct {
22443	_ struct{} `type:"structure"`
22444
22445	// An array of objects that describe the result of the action, such as the status
22446	// of the request, the timestamp of the request, and the resources affected
22447	// by the request.
22448	Operations []*Operation `locationName:"operations" type:"list"`
22449}
22450
22451// String returns the string representation
22452func (s CreateLoadBalancerOutput) String() string {
22453	return awsutil.Prettify(s)
22454}
22455
22456// GoString returns the string representation
22457func (s CreateLoadBalancerOutput) GoString() string {
22458	return s.String()
22459}
22460
22461// SetOperations sets the Operations field's value.
22462func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
22463	s.Operations = v
22464	return s
22465}
22466
22467type CreateLoadBalancerTlsCertificateInput struct {
22468	_ struct{} `type:"structure"`
22469
22470	// An array of strings listing alternative domains and subdomains for your SSL/TLS
22471	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
22472	// of 9 alternative names (in addition to the 1 primary domain). We do not support
22473	// wildcards (e.g., *.example.com).
22474	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
22475
22476	// The domain name (e.g., example.com) for your SSL/TLS certificate.
22477	//
22478	// CertificateDomainName is a required field
22479	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
22480
22481	// The SSL/TLS certificate name.
22482	//
22483	// You can have up to 10 certificates in your account at one time. Each Lightsail
22484	// load balancer can have up to 2 certificates associated with it at one time.
22485	// There is also an overall limit to the number of certificates that can be
22486	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
22487	//
22488	// CertificateName is a required field
22489	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
22490
22491	// The load balancer name where you want to create the SSL/TLS certificate.
22492	//
22493	// LoadBalancerName is a required field
22494	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22495
22496	// The tag keys and optional values to add to the resource during create.
22497	//
22498	// Use the TagResource action to tag a resource after it's created.
22499	Tags []*Tag `locationName:"tags" type:"list"`
22500}
22501
22502// String returns the string representation
22503func (s CreateLoadBalancerTlsCertificateInput) String() string {
22504	return awsutil.Prettify(s)
22505}
22506
22507// GoString returns the string representation
22508func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
22509	return s.String()
22510}
22511
22512// Validate inspects the fields of the type to determine if they are valid.
22513func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
22514	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
22515	if s.CertificateDomainName == nil {
22516		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
22517	}
22518	if s.CertificateName == nil {
22519		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
22520	}
22521	if s.LoadBalancerName == nil {
22522		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22523	}
22524
22525	if invalidParams.Len() > 0 {
22526		return invalidParams
22527	}
22528	return nil
22529}
22530
22531// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
22532func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
22533	s.CertificateAlternativeNames = v
22534	return s
22535}
22536
22537// SetCertificateDomainName sets the CertificateDomainName field's value.
22538func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
22539	s.CertificateDomainName = &v
22540	return s
22541}
22542
22543// SetCertificateName sets the CertificateName field's value.
22544func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
22545	s.CertificateName = &v
22546	return s
22547}
22548
22549// SetLoadBalancerName sets the LoadBalancerName field's value.
22550func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
22551	s.LoadBalancerName = &v
22552	return s
22553}
22554
22555// SetTags sets the Tags field's value.
22556func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
22557	s.Tags = v
22558	return s
22559}
22560
22561type CreateLoadBalancerTlsCertificateOutput struct {
22562	_ struct{} `type:"structure"`
22563
22564	// An array of objects that describe the result of the action, such as the status
22565	// of the request, the timestamp of the request, and the resources affected
22566	// by the request.
22567	Operations []*Operation `locationName:"operations" type:"list"`
22568}
22569
22570// String returns the string representation
22571func (s CreateLoadBalancerTlsCertificateOutput) String() string {
22572	return awsutil.Prettify(s)
22573}
22574
22575// GoString returns the string representation
22576func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
22577	return s.String()
22578}
22579
22580// SetOperations sets the Operations field's value.
22581func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
22582	s.Operations = v
22583	return s
22584}
22585
22586type CreateRelationalDatabaseFromSnapshotInput struct {
22587	_ struct{} `type:"structure"`
22588
22589	// The Availability Zone in which to create your new database. Use the us-east-2a
22590	// case-sensitive format.
22591	//
22592	// You can get a list of Availability Zones by using the get regions operation.
22593	// Be sure to add the include relational database Availability Zones parameter
22594	// to your request.
22595	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
22596
22597	// Specifies the accessibility options for your new database. A value of true
22598	// specifies a database that is available to resources outside of your Lightsail
22599	// account. A value of false specifies a database that is available only to
22600	// your Lightsail resources in the same region as your database.
22601	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
22602
22603	// The bundle ID for your new database. A bundle describes the performance specifications
22604	// for your database.
22605	//
22606	// You can get a list of database bundle IDs by using the get relational database
22607	// bundles operation.
22608	//
22609	// When creating a new database from a snapshot, you cannot choose a bundle
22610	// that is smaller than the bundle of the source database.
22611	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
22612
22613	// The name to use for your new Lightsail database resource.
22614	//
22615	// Constraints:
22616	//
22617	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
22618	//
22619	//    * The first and last character must be a letter or number.
22620	//
22621	// RelationalDatabaseName is a required field
22622	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22623
22624	// The name of the database snapshot from which to create your new database.
22625	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
22626
22627	// The date and time to restore your database from.
22628	//
22629	// Constraints:
22630	//
22631	//    * Must be before the latest restorable time for the database.
22632	//
22633	//    * Cannot be specified if the use latest restorable time parameter is true.
22634	//
22635	//    * Specified in Coordinated Universal Time (UTC).
22636	//
22637	//    * Specified in the Unix time format. For example, if you wish to use a
22638	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
22639	//    as the restore time.
22640	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
22641
22642	// The name of the source database.
22643	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
22644
22645	// The tag keys and optional values to add to the resource during create.
22646	//
22647	// Use the TagResource action to tag a resource after it's created.
22648	Tags []*Tag `locationName:"tags" type:"list"`
22649
22650	// Specifies whether your database is restored from the latest backup time.
22651	// A value of true restores from the latest backup time.
22652	//
22653	// Default: false
22654	//
22655	// Constraints: Cannot be specified if the restore time parameter is provided.
22656	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
22657}
22658
22659// String returns the string representation
22660func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
22661	return awsutil.Prettify(s)
22662}
22663
22664// GoString returns the string representation
22665func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
22666	return s.String()
22667}
22668
22669// Validate inspects the fields of the type to determine if they are valid.
22670func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
22671	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
22672	if s.RelationalDatabaseName == nil {
22673		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22674	}
22675
22676	if invalidParams.Len() > 0 {
22677		return invalidParams
22678	}
22679	return nil
22680}
22681
22682// SetAvailabilityZone sets the AvailabilityZone field's value.
22683func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
22684	s.AvailabilityZone = &v
22685	return s
22686}
22687
22688// SetPubliclyAccessible sets the PubliclyAccessible field's value.
22689func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
22690	s.PubliclyAccessible = &v
22691	return s
22692}
22693
22694// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
22695func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
22696	s.RelationalDatabaseBundleId = &v
22697	return s
22698}
22699
22700// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22701func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
22702	s.RelationalDatabaseName = &v
22703	return s
22704}
22705
22706// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
22707func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
22708	s.RelationalDatabaseSnapshotName = &v
22709	return s
22710}
22711
22712// SetRestoreTime sets the RestoreTime field's value.
22713func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
22714	s.RestoreTime = &v
22715	return s
22716}
22717
22718// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
22719func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
22720	s.SourceRelationalDatabaseName = &v
22721	return s
22722}
22723
22724// SetTags sets the Tags field's value.
22725func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
22726	s.Tags = v
22727	return s
22728}
22729
22730// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
22731func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
22732	s.UseLatestRestorableTime = &v
22733	return s
22734}
22735
22736type CreateRelationalDatabaseFromSnapshotOutput struct {
22737	_ struct{} `type:"structure"`
22738
22739	// An array of objects that describe the result of the action, such as the status
22740	// of the request, the timestamp of the request, and the resources affected
22741	// by the request.
22742	Operations []*Operation `locationName:"operations" type:"list"`
22743}
22744
22745// String returns the string representation
22746func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
22747	return awsutil.Prettify(s)
22748}
22749
22750// GoString returns the string representation
22751func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
22752	return s.String()
22753}
22754
22755// SetOperations sets the Operations field's value.
22756func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
22757	s.Operations = v
22758	return s
22759}
22760
22761type CreateRelationalDatabaseInput struct {
22762	_ struct{} `type:"structure"`
22763
22764	// The Availability Zone in which to create your new database. Use the us-east-2a
22765	// case-sensitive format.
22766	//
22767	// You can get a list of Availability Zones by using the get regions operation.
22768	// Be sure to add the include relational database Availability Zones parameter
22769	// to your request.
22770	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
22771
22772	// The meaning of this parameter differs according to the database engine you
22773	// use.
22774	//
22775	// MySQL
22776	//
22777	// The name of the database to create when the Lightsail database resource is
22778	// created. If this parameter isn't specified, no database is created in the
22779	// database resource.
22780	//
22781	// Constraints:
22782	//
22783	//    * Must contain 1 to 64 letters or numbers.
22784	//
22785	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
22786	//    or digits (0- 9).
22787	//
22788	//    * Can't be a word reserved by the specified database engine. For more
22789	//    information about reserved words in MySQL, see the Keywords and Reserved
22790	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
22791	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), and
22792	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
22793	//
22794	// PostgreSQL
22795	//
22796	// The name of the database to create when the Lightsail database resource is
22797	// created. If this parameter isn't specified, a database named postgres is
22798	// created in the database resource.
22799	//
22800	// Constraints:
22801	//
22802	//    * Must contain 1 to 63 letters or numbers.
22803	//
22804	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
22805	//    or digits (0- 9).
22806	//
22807	//    * Can't be a word reserved by the specified database engine. For more
22808	//    information about reserved words in PostgreSQL, see the SQL Key Words
22809	//    articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
22810	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
22811	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
22812	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
22813	//
22814	// MasterDatabaseName is a required field
22815	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
22816
22817	// The password for the master user. The password can include any printable
22818	// ASCII character except "/", """, or "@". It cannot contain spaces.
22819	//
22820	// MySQL
22821	//
22822	// Constraints: Must contain from 8 to 41 characters.
22823	//
22824	// PostgreSQL
22825	//
22826	// Constraints: Must contain from 8 to 128 characters.
22827	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
22828
22829	// The name for the master user.
22830	//
22831	// MySQL
22832	//
22833	// Constraints:
22834	//
22835	//    * Required for MySQL.
22836	//
22837	//    * Must be 1 to 16 letters or numbers. Can contain underscores.
22838	//
22839	//    * First character must be a letter.
22840	//
22841	//    * Can't be a reserved word for the chosen database engine. For more information
22842	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
22843	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
22844	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), or
22845	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
22846	//
22847	// PostgreSQL
22848	//
22849	// Constraints:
22850	//
22851	//    * Required for PostgreSQL.
22852	//
22853	//    * Must be 1 to 63 letters or numbers. Can contain underscores.
22854	//
22855	//    * First character must be a letter.
22856	//
22857	//    * Can't be a reserved word for the chosen database engine. For more information
22858	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
22859	//    Words articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
22860	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
22861	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
22862	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
22863	//
22864	// MasterUsername is a required field
22865	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
22866
22867	// The daily time range during which automated backups are created for your
22868	// new database if automated backups are enabled.
22869	//
22870	// The default is a 30-minute window selected at random from an 8-hour block
22871	// of time for each AWS Region. For more information about the preferred backup
22872	// window time blocks for each region, see the Working With Backups (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
22873	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
22874	//
22875	// Constraints:
22876	//
22877	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
22878	//
22879	//    * Specified in Coordinated Universal Time (UTC).
22880	//
22881	//    * Must not conflict with the preferred maintenance window.
22882	//
22883	//    * Must be at least 30 minutes.
22884	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
22885
22886	// The weekly time range during which system maintenance can occur on your new
22887	// database.
22888	//
22889	// The default is a 30-minute window selected at random from an 8-hour block
22890	// of time for each AWS Region, occurring on a random day of the week.
22891	//
22892	// Constraints:
22893	//
22894	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
22895	//
22896	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
22897	//
22898	//    * Must be at least 30 minutes.
22899	//
22900	//    * Specified in Coordinated Universal Time (UTC).
22901	//
22902	//    * Example: Tue:17:00-Tue:17:30
22903	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
22904
22905	// Specifies the accessibility options for your new database. A value of true
22906	// specifies a database that is available to resources outside of your Lightsail
22907	// account. A value of false specifies a database that is available only to
22908	// your Lightsail resources in the same region as your database.
22909	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
22910
22911	// The blueprint ID for your new database. A blueprint describes the major engine
22912	// version of a database.
22913	//
22914	// You can get a list of database blueprints IDs by using the get relational
22915	// database blueprints operation.
22916	//
22917	// RelationalDatabaseBlueprintId is a required field
22918	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
22919
22920	// The bundle ID for your new database. A bundle describes the performance specifications
22921	// for your database.
22922	//
22923	// You can get a list of database bundle IDs by using the get relational database
22924	// bundles operation.
22925	//
22926	// RelationalDatabaseBundleId is a required field
22927	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
22928
22929	// The name to use for your new Lightsail database resource.
22930	//
22931	// Constraints:
22932	//
22933	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
22934	//
22935	//    * The first and last character must be a letter or number.
22936	//
22937	// RelationalDatabaseName is a required field
22938	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22939
22940	// The tag keys and optional values to add to the resource during create.
22941	//
22942	// Use the TagResource action to tag a resource after it's created.
22943	Tags []*Tag `locationName:"tags" type:"list"`
22944}
22945
22946// String returns the string representation
22947func (s CreateRelationalDatabaseInput) String() string {
22948	return awsutil.Prettify(s)
22949}
22950
22951// GoString returns the string representation
22952func (s CreateRelationalDatabaseInput) GoString() string {
22953	return s.String()
22954}
22955
22956// Validate inspects the fields of the type to determine if they are valid.
22957func (s *CreateRelationalDatabaseInput) Validate() error {
22958	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
22959	if s.MasterDatabaseName == nil {
22960		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
22961	}
22962	if s.MasterUsername == nil {
22963		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
22964	}
22965	if s.RelationalDatabaseBlueprintId == nil {
22966		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
22967	}
22968	if s.RelationalDatabaseBundleId == nil {
22969		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
22970	}
22971	if s.RelationalDatabaseName == nil {
22972		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22973	}
22974
22975	if invalidParams.Len() > 0 {
22976		return invalidParams
22977	}
22978	return nil
22979}
22980
22981// SetAvailabilityZone sets the AvailabilityZone field's value.
22982func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
22983	s.AvailabilityZone = &v
22984	return s
22985}
22986
22987// SetMasterDatabaseName sets the MasterDatabaseName field's value.
22988func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
22989	s.MasterDatabaseName = &v
22990	return s
22991}
22992
22993// SetMasterUserPassword sets the MasterUserPassword field's value.
22994func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
22995	s.MasterUserPassword = &v
22996	return s
22997}
22998
22999// SetMasterUsername sets the MasterUsername field's value.
23000func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
23001	s.MasterUsername = &v
23002	return s
23003}
23004
23005// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23006func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
23007	s.PreferredBackupWindow = &v
23008	return s
23009}
23010
23011// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23012func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
23013	s.PreferredMaintenanceWindow = &v
23014	return s
23015}
23016
23017// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23018func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
23019	s.PubliclyAccessible = &v
23020	return s
23021}
23022
23023// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
23024func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
23025	s.RelationalDatabaseBlueprintId = &v
23026	return s
23027}
23028
23029// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
23030func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
23031	s.RelationalDatabaseBundleId = &v
23032	return s
23033}
23034
23035// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23036func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
23037	s.RelationalDatabaseName = &v
23038	return s
23039}
23040
23041// SetTags sets the Tags field's value.
23042func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
23043	s.Tags = v
23044	return s
23045}
23046
23047type CreateRelationalDatabaseOutput struct {
23048	_ struct{} `type:"structure"`
23049
23050	// An array of objects that describe the result of the action, such as the status
23051	// of the request, the timestamp of the request, and the resources affected
23052	// by the request.
23053	Operations []*Operation `locationName:"operations" type:"list"`
23054}
23055
23056// String returns the string representation
23057func (s CreateRelationalDatabaseOutput) String() string {
23058	return awsutil.Prettify(s)
23059}
23060
23061// GoString returns the string representation
23062func (s CreateRelationalDatabaseOutput) GoString() string {
23063	return s.String()
23064}
23065
23066// SetOperations sets the Operations field's value.
23067func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
23068	s.Operations = v
23069	return s
23070}
23071
23072type CreateRelationalDatabaseSnapshotInput struct {
23073	_ struct{} `type:"structure"`
23074
23075	// The name of the database on which to base your new snapshot.
23076	//
23077	// RelationalDatabaseName is a required field
23078	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23079
23080	// The name for your new database snapshot.
23081	//
23082	// Constraints:
23083	//
23084	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
23085	//
23086	//    * The first and last character must be a letter or number.
23087	//
23088	// RelationalDatabaseSnapshotName is a required field
23089	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
23090
23091	// The tag keys and optional values to add to the resource during create.
23092	//
23093	// Use the TagResource action to tag a resource after it's created.
23094	Tags []*Tag `locationName:"tags" type:"list"`
23095}
23096
23097// String returns the string representation
23098func (s CreateRelationalDatabaseSnapshotInput) String() string {
23099	return awsutil.Prettify(s)
23100}
23101
23102// GoString returns the string representation
23103func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
23104	return s.String()
23105}
23106
23107// Validate inspects the fields of the type to determine if they are valid.
23108func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
23109	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
23110	if s.RelationalDatabaseName == nil {
23111		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23112	}
23113	if s.RelationalDatabaseSnapshotName == nil {
23114		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
23115	}
23116
23117	if invalidParams.Len() > 0 {
23118		return invalidParams
23119	}
23120	return nil
23121}
23122
23123// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23124func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
23125	s.RelationalDatabaseName = &v
23126	return s
23127}
23128
23129// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
23130func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
23131	s.RelationalDatabaseSnapshotName = &v
23132	return s
23133}
23134
23135// SetTags sets the Tags field's value.
23136func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
23137	s.Tags = v
23138	return s
23139}
23140
23141type CreateRelationalDatabaseSnapshotOutput struct {
23142	_ struct{} `type:"structure"`
23143
23144	// An array of objects that describe the result of the action, such as the status
23145	// of the request, the timestamp of the request, and the resources affected
23146	// by the request.
23147	Operations []*Operation `locationName:"operations" type:"list"`
23148}
23149
23150// String returns the string representation
23151func (s CreateRelationalDatabaseSnapshotOutput) String() string {
23152	return awsutil.Prettify(s)
23153}
23154
23155// GoString returns the string representation
23156func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
23157	return s.String()
23158}
23159
23160// SetOperations sets the Operations field's value.
23161func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
23162	s.Operations = v
23163	return s
23164}
23165
23166type DeleteAlarmInput struct {
23167	_ struct{} `type:"structure"`
23168
23169	// The name of the alarm to delete.
23170	//
23171	// AlarmName is a required field
23172	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
23173}
23174
23175// String returns the string representation
23176func (s DeleteAlarmInput) String() string {
23177	return awsutil.Prettify(s)
23178}
23179
23180// GoString returns the string representation
23181func (s DeleteAlarmInput) GoString() string {
23182	return s.String()
23183}
23184
23185// Validate inspects the fields of the type to determine if they are valid.
23186func (s *DeleteAlarmInput) Validate() error {
23187	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
23188	if s.AlarmName == nil {
23189		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
23190	}
23191
23192	if invalidParams.Len() > 0 {
23193		return invalidParams
23194	}
23195	return nil
23196}
23197
23198// SetAlarmName sets the AlarmName field's value.
23199func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
23200	s.AlarmName = &v
23201	return s
23202}
23203
23204type DeleteAlarmOutput struct {
23205	_ struct{} `type:"structure"`
23206
23207	// An array of objects that describe the result of the action, such as the status
23208	// of the request, the timestamp of the request, and the resources affected
23209	// by the request.
23210	Operations []*Operation `locationName:"operations" type:"list"`
23211}
23212
23213// String returns the string representation
23214func (s DeleteAlarmOutput) String() string {
23215	return awsutil.Prettify(s)
23216}
23217
23218// GoString returns the string representation
23219func (s DeleteAlarmOutput) GoString() string {
23220	return s.String()
23221}
23222
23223// SetOperations sets the Operations field's value.
23224func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
23225	s.Operations = v
23226	return s
23227}
23228
23229type DeleteAutoSnapshotInput struct {
23230	_ struct{} `type:"structure"`
23231
23232	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
23233	// get auto snapshots operation to get the available automatic snapshots for
23234	// a resource.
23235	//
23236	// Date is a required field
23237	Date *string `locationName:"date" type:"string" required:"true"`
23238
23239	// The name of the source instance or disk from which to delete the automatic
23240	// snapshot.
23241	//
23242	// ResourceName is a required field
23243	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
23244}
23245
23246// String returns the string representation
23247func (s DeleteAutoSnapshotInput) String() string {
23248	return awsutil.Prettify(s)
23249}
23250
23251// GoString returns the string representation
23252func (s DeleteAutoSnapshotInput) GoString() string {
23253	return s.String()
23254}
23255
23256// Validate inspects the fields of the type to determine if they are valid.
23257func (s *DeleteAutoSnapshotInput) Validate() error {
23258	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
23259	if s.Date == nil {
23260		invalidParams.Add(request.NewErrParamRequired("Date"))
23261	}
23262	if s.ResourceName == nil {
23263		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
23264	}
23265
23266	if invalidParams.Len() > 0 {
23267		return invalidParams
23268	}
23269	return nil
23270}
23271
23272// SetDate sets the Date field's value.
23273func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
23274	s.Date = &v
23275	return s
23276}
23277
23278// SetResourceName sets the ResourceName field's value.
23279func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
23280	s.ResourceName = &v
23281	return s
23282}
23283
23284type DeleteAutoSnapshotOutput struct {
23285	_ struct{} `type:"structure"`
23286
23287	// An array of objects that describe the result of the action, such as the status
23288	// of the request, the timestamp of the request, and the resources affected
23289	// by the request.
23290	Operations []*Operation `locationName:"operations" type:"list"`
23291}
23292
23293// String returns the string representation
23294func (s DeleteAutoSnapshotOutput) String() string {
23295	return awsutil.Prettify(s)
23296}
23297
23298// GoString returns the string representation
23299func (s DeleteAutoSnapshotOutput) GoString() string {
23300	return s.String()
23301}
23302
23303// SetOperations sets the Operations field's value.
23304func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
23305	s.Operations = v
23306	return s
23307}
23308
23309type DeleteBucketAccessKeyInput struct {
23310	_ struct{} `type:"structure"`
23311
23312	// The ID of the access key to delete.
23313	//
23314	// Use the GetBucketAccessKeys action to get a list of access key IDs that you
23315	// can specify.
23316	//
23317	// AccessKeyId is a required field
23318	AccessKeyId *string `locationName:"accessKeyId" type:"string" required:"true"`
23319
23320	// The name of the bucket that the access key belongs to.
23321	//
23322	// BucketName is a required field
23323	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
23324}
23325
23326// String returns the string representation
23327func (s DeleteBucketAccessKeyInput) String() string {
23328	return awsutil.Prettify(s)
23329}
23330
23331// GoString returns the string representation
23332func (s DeleteBucketAccessKeyInput) GoString() string {
23333	return s.String()
23334}
23335
23336// Validate inspects the fields of the type to determine if they are valid.
23337func (s *DeleteBucketAccessKeyInput) Validate() error {
23338	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAccessKeyInput"}
23339	if s.AccessKeyId == nil {
23340		invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
23341	}
23342	if s.BucketName == nil {
23343		invalidParams.Add(request.NewErrParamRequired("BucketName"))
23344	}
23345	if s.BucketName != nil && len(*s.BucketName) < 3 {
23346		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
23347	}
23348
23349	if invalidParams.Len() > 0 {
23350		return invalidParams
23351	}
23352	return nil
23353}
23354
23355// SetAccessKeyId sets the AccessKeyId field's value.
23356func (s *DeleteBucketAccessKeyInput) SetAccessKeyId(v string) *DeleteBucketAccessKeyInput {
23357	s.AccessKeyId = &v
23358	return s
23359}
23360
23361// SetBucketName sets the BucketName field's value.
23362func (s *DeleteBucketAccessKeyInput) SetBucketName(v string) *DeleteBucketAccessKeyInput {
23363	s.BucketName = &v
23364	return s
23365}
23366
23367type DeleteBucketAccessKeyOutput struct {
23368	_ struct{} `type:"structure"`
23369
23370	// An array of objects that describe the result of the action, such as the status
23371	// of the request, the timestamp of the request, and the resources affected
23372	// by the request.
23373	Operations []*Operation `locationName:"operations" type:"list"`
23374}
23375
23376// String returns the string representation
23377func (s DeleteBucketAccessKeyOutput) String() string {
23378	return awsutil.Prettify(s)
23379}
23380
23381// GoString returns the string representation
23382func (s DeleteBucketAccessKeyOutput) GoString() string {
23383	return s.String()
23384}
23385
23386// SetOperations sets the Operations field's value.
23387func (s *DeleteBucketAccessKeyOutput) SetOperations(v []*Operation) *DeleteBucketAccessKeyOutput {
23388	s.Operations = v
23389	return s
23390}
23391
23392type DeleteBucketInput struct {
23393	_ struct{} `type:"structure"`
23394
23395	// The name of the bucket to delete.
23396	//
23397	// Use the GetBuckets action to get a list of bucket names that you can specify.
23398	//
23399	// BucketName is a required field
23400	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
23401
23402	// A Boolean value that indicates whether to force delete the bucket.
23403	//
23404	// You must force delete the bucket if it has one of the following conditions:
23405	//
23406	//    * The bucket is the origin of a distribution.
23407	//
23408	//    * The bucket has instances that were granted access to it using the SetResourceAccessForBucket
23409	//    action.
23410	//
23411	//    * The bucket has objects.
23412	//
23413	//    * The bucket has access keys.
23414	//
23415	// Force deleting a bucket might impact other resources that rely on the bucket,
23416	// such as instances, distributions, or software that use the issued access
23417	// keys.
23418	ForceDelete *bool `locationName:"forceDelete" type:"boolean"`
23419}
23420
23421// String returns the string representation
23422func (s DeleteBucketInput) String() string {
23423	return awsutil.Prettify(s)
23424}
23425
23426// GoString returns the string representation
23427func (s DeleteBucketInput) GoString() string {
23428	return s.String()
23429}
23430
23431// Validate inspects the fields of the type to determine if they are valid.
23432func (s *DeleteBucketInput) Validate() error {
23433	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
23434	if s.BucketName == nil {
23435		invalidParams.Add(request.NewErrParamRequired("BucketName"))
23436	}
23437	if s.BucketName != nil && len(*s.BucketName) < 3 {
23438		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
23439	}
23440
23441	if invalidParams.Len() > 0 {
23442		return invalidParams
23443	}
23444	return nil
23445}
23446
23447// SetBucketName sets the BucketName field's value.
23448func (s *DeleteBucketInput) SetBucketName(v string) *DeleteBucketInput {
23449	s.BucketName = &v
23450	return s
23451}
23452
23453// SetForceDelete sets the ForceDelete field's value.
23454func (s *DeleteBucketInput) SetForceDelete(v bool) *DeleteBucketInput {
23455	s.ForceDelete = &v
23456	return s
23457}
23458
23459type DeleteBucketOutput struct {
23460	_ struct{} `type:"structure"`
23461
23462	// An array of objects that describe the result of the action, such as the status
23463	// of the request, the timestamp of the request, and the resources affected
23464	// by the request.
23465	Operations []*Operation `locationName:"operations" type:"list"`
23466}
23467
23468// String returns the string representation
23469func (s DeleteBucketOutput) String() string {
23470	return awsutil.Prettify(s)
23471}
23472
23473// GoString returns the string representation
23474func (s DeleteBucketOutput) GoString() string {
23475	return s.String()
23476}
23477
23478// SetOperations sets the Operations field's value.
23479func (s *DeleteBucketOutput) SetOperations(v []*Operation) *DeleteBucketOutput {
23480	s.Operations = v
23481	return s
23482}
23483
23484type DeleteCertificateInput struct {
23485	_ struct{} `type:"structure"`
23486
23487	// The name of the certificate to delete.
23488	//
23489	// Use the GetCertificates action to get a list of certificate names that you
23490	// can specify.
23491	//
23492	// CertificateName is a required field
23493	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
23494}
23495
23496// String returns the string representation
23497func (s DeleteCertificateInput) String() string {
23498	return awsutil.Prettify(s)
23499}
23500
23501// GoString returns the string representation
23502func (s DeleteCertificateInput) GoString() string {
23503	return s.String()
23504}
23505
23506// Validate inspects the fields of the type to determine if they are valid.
23507func (s *DeleteCertificateInput) Validate() error {
23508	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
23509	if s.CertificateName == nil {
23510		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
23511	}
23512
23513	if invalidParams.Len() > 0 {
23514		return invalidParams
23515	}
23516	return nil
23517}
23518
23519// SetCertificateName sets the CertificateName field's value.
23520func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
23521	s.CertificateName = &v
23522	return s
23523}
23524
23525type DeleteCertificateOutput struct {
23526	_ struct{} `type:"structure"`
23527
23528	// An array of objects that describe the result of the action, such as the status
23529	// of the request, the timestamp of the request, and the resources affected
23530	// by the request.
23531	Operations []*Operation `locationName:"operations" type:"list"`
23532}
23533
23534// String returns the string representation
23535func (s DeleteCertificateOutput) String() string {
23536	return awsutil.Prettify(s)
23537}
23538
23539// GoString returns the string representation
23540func (s DeleteCertificateOutput) GoString() string {
23541	return s.String()
23542}
23543
23544// SetOperations sets the Operations field's value.
23545func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
23546	s.Operations = v
23547	return s
23548}
23549
23550type DeleteContactMethodInput struct {
23551	_ struct{} `type:"structure"`
23552
23553	// The protocol that will be deleted, such as Email or SMS (text messaging).
23554	//
23555	// To delete an Email and an SMS contact method if you added both, you must
23556	// run separate DeleteContactMethod actions to delete each protocol.
23557	//
23558	// Protocol is a required field
23559	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
23560}
23561
23562// String returns the string representation
23563func (s DeleteContactMethodInput) String() string {
23564	return awsutil.Prettify(s)
23565}
23566
23567// GoString returns the string representation
23568func (s DeleteContactMethodInput) GoString() string {
23569	return s.String()
23570}
23571
23572// Validate inspects the fields of the type to determine if they are valid.
23573func (s *DeleteContactMethodInput) Validate() error {
23574	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
23575	if s.Protocol == nil {
23576		invalidParams.Add(request.NewErrParamRequired("Protocol"))
23577	}
23578
23579	if invalidParams.Len() > 0 {
23580		return invalidParams
23581	}
23582	return nil
23583}
23584
23585// SetProtocol sets the Protocol field's value.
23586func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
23587	s.Protocol = &v
23588	return s
23589}
23590
23591type DeleteContactMethodOutput struct {
23592	_ struct{} `type:"structure"`
23593
23594	// An array of objects that describe the result of the action, such as the status
23595	// of the request, the timestamp of the request, and the resources affected
23596	// by the request.
23597	Operations []*Operation `locationName:"operations" type:"list"`
23598}
23599
23600// String returns the string representation
23601func (s DeleteContactMethodOutput) String() string {
23602	return awsutil.Prettify(s)
23603}
23604
23605// GoString returns the string representation
23606func (s DeleteContactMethodOutput) GoString() string {
23607	return s.String()
23608}
23609
23610// SetOperations sets the Operations field's value.
23611func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
23612	s.Operations = v
23613	return s
23614}
23615
23616type DeleteContainerImageInput struct {
23617	_ struct{} `type:"structure"`
23618
23619	// The name of the container image to delete from the container service.
23620	//
23621	// Use the GetContainerImages action to get the name of the container images
23622	// that are registered to a container service.
23623	//
23624	// Container images sourced from your Lightsail container service, that are
23625	// registered and stored on your service, start with a colon (:). For example,
23626	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
23627	// registry like Docker Hub don't start with a colon. For example, nginx:latest
23628	// or nginx.
23629	//
23630	// Image is a required field
23631	Image *string `locationName:"image" type:"string" required:"true"`
23632
23633	// The name of the container service for which to delete a registered container
23634	// image.
23635	//
23636	// ServiceName is a required field
23637	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
23638}
23639
23640// String returns the string representation
23641func (s DeleteContainerImageInput) String() string {
23642	return awsutil.Prettify(s)
23643}
23644
23645// GoString returns the string representation
23646func (s DeleteContainerImageInput) GoString() string {
23647	return s.String()
23648}
23649
23650// Validate inspects the fields of the type to determine if they are valid.
23651func (s *DeleteContainerImageInput) Validate() error {
23652	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerImageInput"}
23653	if s.Image == nil {
23654		invalidParams.Add(request.NewErrParamRequired("Image"))
23655	}
23656	if s.ServiceName == nil {
23657		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
23658	}
23659	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
23660		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
23661	}
23662
23663	if invalidParams.Len() > 0 {
23664		return invalidParams
23665	}
23666	return nil
23667}
23668
23669// SetImage sets the Image field's value.
23670func (s *DeleteContainerImageInput) SetImage(v string) *DeleteContainerImageInput {
23671	s.Image = &v
23672	return s
23673}
23674
23675// SetServiceName sets the ServiceName field's value.
23676func (s *DeleteContainerImageInput) SetServiceName(v string) *DeleteContainerImageInput {
23677	s.ServiceName = &v
23678	return s
23679}
23680
23681type DeleteContainerImageOutput struct {
23682	_ struct{} `type:"structure"`
23683}
23684
23685// String returns the string representation
23686func (s DeleteContainerImageOutput) String() string {
23687	return awsutil.Prettify(s)
23688}
23689
23690// GoString returns the string representation
23691func (s DeleteContainerImageOutput) GoString() string {
23692	return s.String()
23693}
23694
23695type DeleteContainerServiceInput struct {
23696	_ struct{} `type:"structure"`
23697
23698	// The name of the container service to delete.
23699	//
23700	// ServiceName is a required field
23701	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
23702}
23703
23704// String returns the string representation
23705func (s DeleteContainerServiceInput) String() string {
23706	return awsutil.Prettify(s)
23707}
23708
23709// GoString returns the string representation
23710func (s DeleteContainerServiceInput) GoString() string {
23711	return s.String()
23712}
23713
23714// Validate inspects the fields of the type to determine if they are valid.
23715func (s *DeleteContainerServiceInput) Validate() error {
23716	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerServiceInput"}
23717	if s.ServiceName == nil {
23718		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
23719	}
23720	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
23721		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
23722	}
23723
23724	if invalidParams.Len() > 0 {
23725		return invalidParams
23726	}
23727	return nil
23728}
23729
23730// SetServiceName sets the ServiceName field's value.
23731func (s *DeleteContainerServiceInput) SetServiceName(v string) *DeleteContainerServiceInput {
23732	s.ServiceName = &v
23733	return s
23734}
23735
23736type DeleteContainerServiceOutput struct {
23737	_ struct{} `type:"structure"`
23738}
23739
23740// String returns the string representation
23741func (s DeleteContainerServiceOutput) String() string {
23742	return awsutil.Prettify(s)
23743}
23744
23745// GoString returns the string representation
23746func (s DeleteContainerServiceOutput) GoString() string {
23747	return s.String()
23748}
23749
23750type DeleteDiskInput struct {
23751	_ struct{} `type:"structure"`
23752
23753	// The unique name of the disk you want to delete (e.g., my-disk).
23754	//
23755	// DiskName is a required field
23756	DiskName *string `locationName:"diskName" type:"string" required:"true"`
23757
23758	// A Boolean value to indicate whether to delete the enabled add-ons for the
23759	// disk.
23760	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
23761}
23762
23763// String returns the string representation
23764func (s DeleteDiskInput) String() string {
23765	return awsutil.Prettify(s)
23766}
23767
23768// GoString returns the string representation
23769func (s DeleteDiskInput) GoString() string {
23770	return s.String()
23771}
23772
23773// Validate inspects the fields of the type to determine if they are valid.
23774func (s *DeleteDiskInput) Validate() error {
23775	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
23776	if s.DiskName == nil {
23777		invalidParams.Add(request.NewErrParamRequired("DiskName"))
23778	}
23779
23780	if invalidParams.Len() > 0 {
23781		return invalidParams
23782	}
23783	return nil
23784}
23785
23786// SetDiskName sets the DiskName field's value.
23787func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
23788	s.DiskName = &v
23789	return s
23790}
23791
23792// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
23793func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
23794	s.ForceDeleteAddOns = &v
23795	return s
23796}
23797
23798type DeleteDiskOutput struct {
23799	_ struct{} `type:"structure"`
23800
23801	// An array of objects that describe the result of the action, such as the status
23802	// of the request, the timestamp of the request, and the resources affected
23803	// by the request.
23804	Operations []*Operation `locationName:"operations" type:"list"`
23805}
23806
23807// String returns the string representation
23808func (s DeleteDiskOutput) String() string {
23809	return awsutil.Prettify(s)
23810}
23811
23812// GoString returns the string representation
23813func (s DeleteDiskOutput) GoString() string {
23814	return s.String()
23815}
23816
23817// SetOperations sets the Operations field's value.
23818func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
23819	s.Operations = v
23820	return s
23821}
23822
23823type DeleteDiskSnapshotInput struct {
23824	_ struct{} `type:"structure"`
23825
23826	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
23827	//
23828	// DiskSnapshotName is a required field
23829	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
23830}
23831
23832// String returns the string representation
23833func (s DeleteDiskSnapshotInput) String() string {
23834	return awsutil.Prettify(s)
23835}
23836
23837// GoString returns the string representation
23838func (s DeleteDiskSnapshotInput) GoString() string {
23839	return s.String()
23840}
23841
23842// Validate inspects the fields of the type to determine if they are valid.
23843func (s *DeleteDiskSnapshotInput) Validate() error {
23844	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
23845	if s.DiskSnapshotName == nil {
23846		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
23847	}
23848
23849	if invalidParams.Len() > 0 {
23850		return invalidParams
23851	}
23852	return nil
23853}
23854
23855// SetDiskSnapshotName sets the DiskSnapshotName field's value.
23856func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
23857	s.DiskSnapshotName = &v
23858	return s
23859}
23860
23861type DeleteDiskSnapshotOutput struct {
23862	_ struct{} `type:"structure"`
23863
23864	// An array of objects that describe the result of the action, such as the status
23865	// of the request, the timestamp of the request, and the resources affected
23866	// by the request.
23867	Operations []*Operation `locationName:"operations" type:"list"`
23868}
23869
23870// String returns the string representation
23871func (s DeleteDiskSnapshotOutput) String() string {
23872	return awsutil.Prettify(s)
23873}
23874
23875// GoString returns the string representation
23876func (s DeleteDiskSnapshotOutput) GoString() string {
23877	return s.String()
23878}
23879
23880// SetOperations sets the Operations field's value.
23881func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
23882	s.Operations = v
23883	return s
23884}
23885
23886type DeleteDistributionInput struct {
23887	_ struct{} `type:"structure"`
23888
23889	// The name of the distribution to delete.
23890	//
23891	// Use the GetDistributions action to get a list of distribution names that
23892	// you can specify.
23893	DistributionName *string `locationName:"distributionName" type:"string"`
23894}
23895
23896// String returns the string representation
23897func (s DeleteDistributionInput) String() string {
23898	return awsutil.Prettify(s)
23899}
23900
23901// GoString returns the string representation
23902func (s DeleteDistributionInput) GoString() string {
23903	return s.String()
23904}
23905
23906// SetDistributionName sets the DistributionName field's value.
23907func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
23908	s.DistributionName = &v
23909	return s
23910}
23911
23912type DeleteDistributionOutput struct {
23913	_ struct{} `type:"structure"`
23914
23915	// An object that describes the result of the action, such as the status of
23916	// the request, the timestamp of the request, and the resources affected by
23917	// the request.
23918	Operation *Operation `locationName:"operation" type:"structure"`
23919}
23920
23921// String returns the string representation
23922func (s DeleteDistributionOutput) String() string {
23923	return awsutil.Prettify(s)
23924}
23925
23926// GoString returns the string representation
23927func (s DeleteDistributionOutput) GoString() string {
23928	return s.String()
23929}
23930
23931// SetOperation sets the Operation field's value.
23932func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
23933	s.Operation = v
23934	return s
23935}
23936
23937type DeleteDomainEntryInput struct {
23938	_ struct{} `type:"structure"`
23939
23940	// An array of key-value pairs containing information about your domain entries.
23941	//
23942	// DomainEntry is a required field
23943	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
23944
23945	// The name of the domain entry to delete.
23946	//
23947	// DomainName is a required field
23948	DomainName *string `locationName:"domainName" type:"string" required:"true"`
23949}
23950
23951// String returns the string representation
23952func (s DeleteDomainEntryInput) String() string {
23953	return awsutil.Prettify(s)
23954}
23955
23956// GoString returns the string representation
23957func (s DeleteDomainEntryInput) GoString() string {
23958	return s.String()
23959}
23960
23961// Validate inspects the fields of the type to determine if they are valid.
23962func (s *DeleteDomainEntryInput) Validate() error {
23963	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
23964	if s.DomainEntry == nil {
23965		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
23966	}
23967	if s.DomainName == nil {
23968		invalidParams.Add(request.NewErrParamRequired("DomainName"))
23969	}
23970
23971	if invalidParams.Len() > 0 {
23972		return invalidParams
23973	}
23974	return nil
23975}
23976
23977// SetDomainEntry sets the DomainEntry field's value.
23978func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
23979	s.DomainEntry = v
23980	return s
23981}
23982
23983// SetDomainName sets the DomainName field's value.
23984func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
23985	s.DomainName = &v
23986	return s
23987}
23988
23989type DeleteDomainEntryOutput struct {
23990	_ struct{} `type:"structure"`
23991
23992	// An array of objects that describe the result of the action, such as the status
23993	// of the request, the timestamp of the request, and the resources affected
23994	// by the request.
23995	Operation *Operation `locationName:"operation" type:"structure"`
23996}
23997
23998// String returns the string representation
23999func (s DeleteDomainEntryOutput) String() string {
24000	return awsutil.Prettify(s)
24001}
24002
24003// GoString returns the string representation
24004func (s DeleteDomainEntryOutput) GoString() string {
24005	return s.String()
24006}
24007
24008// SetOperation sets the Operation field's value.
24009func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
24010	s.Operation = v
24011	return s
24012}
24013
24014type DeleteDomainInput struct {
24015	_ struct{} `type:"structure"`
24016
24017	// The specific domain name to delete.
24018	//
24019	// DomainName is a required field
24020	DomainName *string `locationName:"domainName" type:"string" required:"true"`
24021}
24022
24023// String returns the string representation
24024func (s DeleteDomainInput) String() string {
24025	return awsutil.Prettify(s)
24026}
24027
24028// GoString returns the string representation
24029func (s DeleteDomainInput) GoString() string {
24030	return s.String()
24031}
24032
24033// Validate inspects the fields of the type to determine if they are valid.
24034func (s *DeleteDomainInput) Validate() error {
24035	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
24036	if s.DomainName == nil {
24037		invalidParams.Add(request.NewErrParamRequired("DomainName"))
24038	}
24039
24040	if invalidParams.Len() > 0 {
24041		return invalidParams
24042	}
24043	return nil
24044}
24045
24046// SetDomainName sets the DomainName field's value.
24047func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
24048	s.DomainName = &v
24049	return s
24050}
24051
24052type DeleteDomainOutput struct {
24053	_ struct{} `type:"structure"`
24054
24055	// An array of objects that describe the result of the action, such as the status
24056	// of the request, the timestamp of the request, and the resources affected
24057	// by the request.
24058	Operation *Operation `locationName:"operation" type:"structure"`
24059}
24060
24061// String returns the string representation
24062func (s DeleteDomainOutput) String() string {
24063	return awsutil.Prettify(s)
24064}
24065
24066// GoString returns the string representation
24067func (s DeleteDomainOutput) GoString() string {
24068	return s.String()
24069}
24070
24071// SetOperation sets the Operation field's value.
24072func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
24073	s.Operation = v
24074	return s
24075}
24076
24077type DeleteInstanceInput struct {
24078	_ struct{} `type:"structure"`
24079
24080	// A Boolean value to indicate whether to delete the enabled add-ons for the
24081	// disk.
24082	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
24083
24084	// The name of the instance to delete.
24085	//
24086	// InstanceName is a required field
24087	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
24088}
24089
24090// String returns the string representation
24091func (s DeleteInstanceInput) String() string {
24092	return awsutil.Prettify(s)
24093}
24094
24095// GoString returns the string representation
24096func (s DeleteInstanceInput) GoString() string {
24097	return s.String()
24098}
24099
24100// Validate inspects the fields of the type to determine if they are valid.
24101func (s *DeleteInstanceInput) Validate() error {
24102	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
24103	if s.InstanceName == nil {
24104		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
24105	}
24106
24107	if invalidParams.Len() > 0 {
24108		return invalidParams
24109	}
24110	return nil
24111}
24112
24113// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
24114func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
24115	s.ForceDeleteAddOns = &v
24116	return s
24117}
24118
24119// SetInstanceName sets the InstanceName field's value.
24120func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
24121	s.InstanceName = &v
24122	return s
24123}
24124
24125type DeleteInstanceOutput struct {
24126	_ struct{} `type:"structure"`
24127
24128	// An array of objects that describe the result of the action, such as the status
24129	// of the request, the timestamp of the request, and the resources affected
24130	// by the request.
24131	Operations []*Operation `locationName:"operations" type:"list"`
24132}
24133
24134// String returns the string representation
24135func (s DeleteInstanceOutput) String() string {
24136	return awsutil.Prettify(s)
24137}
24138
24139// GoString returns the string representation
24140func (s DeleteInstanceOutput) GoString() string {
24141	return s.String()
24142}
24143
24144// SetOperations sets the Operations field's value.
24145func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
24146	s.Operations = v
24147	return s
24148}
24149
24150type DeleteInstanceSnapshotInput struct {
24151	_ struct{} `type:"structure"`
24152
24153	// The name of the snapshot to delete.
24154	//
24155	// InstanceSnapshotName is a required field
24156	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
24157}
24158
24159// String returns the string representation
24160func (s DeleteInstanceSnapshotInput) String() string {
24161	return awsutil.Prettify(s)
24162}
24163
24164// GoString returns the string representation
24165func (s DeleteInstanceSnapshotInput) GoString() string {
24166	return s.String()
24167}
24168
24169// Validate inspects the fields of the type to determine if they are valid.
24170func (s *DeleteInstanceSnapshotInput) Validate() error {
24171	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
24172	if s.InstanceSnapshotName == nil {
24173		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
24174	}
24175
24176	if invalidParams.Len() > 0 {
24177		return invalidParams
24178	}
24179	return nil
24180}
24181
24182// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
24183func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
24184	s.InstanceSnapshotName = &v
24185	return s
24186}
24187
24188type DeleteInstanceSnapshotOutput struct {
24189	_ struct{} `type:"structure"`
24190
24191	// An array of objects that describe the result of the action, such as the status
24192	// of the request, the timestamp of the request, and the resources affected
24193	// by the request.
24194	Operations []*Operation `locationName:"operations" type:"list"`
24195}
24196
24197// String returns the string representation
24198func (s DeleteInstanceSnapshotOutput) String() string {
24199	return awsutil.Prettify(s)
24200}
24201
24202// GoString returns the string representation
24203func (s DeleteInstanceSnapshotOutput) GoString() string {
24204	return s.String()
24205}
24206
24207// SetOperations sets the Operations field's value.
24208func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
24209	s.Operations = v
24210	return s
24211}
24212
24213type DeleteKeyPairInput struct {
24214	_ struct{} `type:"structure"`
24215
24216	// The name of the key pair to delete.
24217	//
24218	// KeyPairName is a required field
24219	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
24220}
24221
24222// String returns the string representation
24223func (s DeleteKeyPairInput) String() string {
24224	return awsutil.Prettify(s)
24225}
24226
24227// GoString returns the string representation
24228func (s DeleteKeyPairInput) GoString() string {
24229	return s.String()
24230}
24231
24232// Validate inspects the fields of the type to determine if they are valid.
24233func (s *DeleteKeyPairInput) Validate() error {
24234	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
24235	if s.KeyPairName == nil {
24236		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
24237	}
24238
24239	if invalidParams.Len() > 0 {
24240		return invalidParams
24241	}
24242	return nil
24243}
24244
24245// SetKeyPairName sets the KeyPairName field's value.
24246func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
24247	s.KeyPairName = &v
24248	return s
24249}
24250
24251type DeleteKeyPairOutput struct {
24252	_ struct{} `type:"structure"`
24253
24254	// An array of objects that describe the result of the action, such as the status
24255	// of the request, the timestamp of the request, and the resources affected
24256	// by the request.
24257	Operation *Operation `locationName:"operation" type:"structure"`
24258}
24259
24260// String returns the string representation
24261func (s DeleteKeyPairOutput) String() string {
24262	return awsutil.Prettify(s)
24263}
24264
24265// GoString returns the string representation
24266func (s DeleteKeyPairOutput) GoString() string {
24267	return s.String()
24268}
24269
24270// SetOperation sets the Operation field's value.
24271func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
24272	s.Operation = v
24273	return s
24274}
24275
24276type DeleteKnownHostKeysInput struct {
24277	_ struct{} `type:"structure"`
24278
24279	// The name of the instance for which you want to reset the host key or certificate.
24280	//
24281	// InstanceName is a required field
24282	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
24283}
24284
24285// String returns the string representation
24286func (s DeleteKnownHostKeysInput) String() string {
24287	return awsutil.Prettify(s)
24288}
24289
24290// GoString returns the string representation
24291func (s DeleteKnownHostKeysInput) GoString() string {
24292	return s.String()
24293}
24294
24295// Validate inspects the fields of the type to determine if they are valid.
24296func (s *DeleteKnownHostKeysInput) Validate() error {
24297	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
24298	if s.InstanceName == nil {
24299		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
24300	}
24301
24302	if invalidParams.Len() > 0 {
24303		return invalidParams
24304	}
24305	return nil
24306}
24307
24308// SetInstanceName sets the InstanceName field's value.
24309func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
24310	s.InstanceName = &v
24311	return s
24312}
24313
24314type DeleteKnownHostKeysOutput struct {
24315	_ struct{} `type:"structure"`
24316
24317	// An array of objects that describe the result of the action, such as the status
24318	// of the request, the timestamp of the request, and the resources affected
24319	// by the request.
24320	Operations []*Operation `locationName:"operations" type:"list"`
24321}
24322
24323// String returns the string representation
24324func (s DeleteKnownHostKeysOutput) String() string {
24325	return awsutil.Prettify(s)
24326}
24327
24328// GoString returns the string representation
24329func (s DeleteKnownHostKeysOutput) GoString() string {
24330	return s.String()
24331}
24332
24333// SetOperations sets the Operations field's value.
24334func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
24335	s.Operations = v
24336	return s
24337}
24338
24339type DeleteLoadBalancerInput struct {
24340	_ struct{} `type:"structure"`
24341
24342	// The name of the load balancer you want to delete.
24343	//
24344	// LoadBalancerName is a required field
24345	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
24346}
24347
24348// String returns the string representation
24349func (s DeleteLoadBalancerInput) String() string {
24350	return awsutil.Prettify(s)
24351}
24352
24353// GoString returns the string representation
24354func (s DeleteLoadBalancerInput) GoString() string {
24355	return s.String()
24356}
24357
24358// Validate inspects the fields of the type to determine if they are valid.
24359func (s *DeleteLoadBalancerInput) Validate() error {
24360	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
24361	if s.LoadBalancerName == nil {
24362		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
24363	}
24364
24365	if invalidParams.Len() > 0 {
24366		return invalidParams
24367	}
24368	return nil
24369}
24370
24371// SetLoadBalancerName sets the LoadBalancerName field's value.
24372func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
24373	s.LoadBalancerName = &v
24374	return s
24375}
24376
24377type DeleteLoadBalancerOutput struct {
24378	_ struct{} `type:"structure"`
24379
24380	// An array of objects that describe the result of the action, such as the status
24381	// of the request, the timestamp of the request, and the resources affected
24382	// by the request.
24383	Operations []*Operation `locationName:"operations" type:"list"`
24384}
24385
24386// String returns the string representation
24387func (s DeleteLoadBalancerOutput) String() string {
24388	return awsutil.Prettify(s)
24389}
24390
24391// GoString returns the string representation
24392func (s DeleteLoadBalancerOutput) GoString() string {
24393	return s.String()
24394}
24395
24396// SetOperations sets the Operations field's value.
24397func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
24398	s.Operations = v
24399	return s
24400}
24401
24402type DeleteLoadBalancerTlsCertificateInput struct {
24403	_ struct{} `type:"structure"`
24404
24405	// The SSL/TLS certificate name.
24406	//
24407	// CertificateName is a required field
24408	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
24409
24410	// When true, forces the deletion of an SSL/TLS certificate.
24411	//
24412	// There can be two certificates associated with a Lightsail load balancer:
24413	// the primary and the backup. The force parameter is required when the primary
24414	// SSL/TLS certificate is in use by an instance attached to the load balancer.
24415	Force *bool `locationName:"force" type:"boolean"`
24416
24417	// The load balancer name.
24418	//
24419	// LoadBalancerName is a required field
24420	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
24421}
24422
24423// String returns the string representation
24424func (s DeleteLoadBalancerTlsCertificateInput) String() string {
24425	return awsutil.Prettify(s)
24426}
24427
24428// GoString returns the string representation
24429func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
24430	return s.String()
24431}
24432
24433// Validate inspects the fields of the type to determine if they are valid.
24434func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
24435	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
24436	if s.CertificateName == nil {
24437		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
24438	}
24439	if s.LoadBalancerName == nil {
24440		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
24441	}
24442
24443	if invalidParams.Len() > 0 {
24444		return invalidParams
24445	}
24446	return nil
24447}
24448
24449// SetCertificateName sets the CertificateName field's value.
24450func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
24451	s.CertificateName = &v
24452	return s
24453}
24454
24455// SetForce sets the Force field's value.
24456func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
24457	s.Force = &v
24458	return s
24459}
24460
24461// SetLoadBalancerName sets the LoadBalancerName field's value.
24462func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
24463	s.LoadBalancerName = &v
24464	return s
24465}
24466
24467type DeleteLoadBalancerTlsCertificateOutput struct {
24468	_ struct{} `type:"structure"`
24469
24470	// An array of objects that describe the result of the action, such as the status
24471	// of the request, the timestamp of the request, and the resources affected
24472	// by the request.
24473	Operations []*Operation `locationName:"operations" type:"list"`
24474}
24475
24476// String returns the string representation
24477func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
24478	return awsutil.Prettify(s)
24479}
24480
24481// GoString returns the string representation
24482func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
24483	return s.String()
24484}
24485
24486// SetOperations sets the Operations field's value.
24487func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
24488	s.Operations = v
24489	return s
24490}
24491
24492type DeleteRelationalDatabaseInput struct {
24493	_ struct{} `type:"structure"`
24494
24495	// The name of the database snapshot created if skip final snapshot is false,
24496	// which is the default value for that parameter.
24497	//
24498	// Specifying this parameter and also specifying the skip final snapshot parameter
24499	// to true results in an error.
24500	//
24501	// Constraints:
24502	//
24503	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
24504	//
24505	//    * The first and last character must be a letter or number.
24506	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
24507
24508	// The name of the database that you are deleting.
24509	//
24510	// RelationalDatabaseName is a required field
24511	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24512
24513	// Determines whether a final database snapshot is created before your database
24514	// is deleted. If true is specified, no database snapshot is created. If false
24515	// is specified, a database snapshot is created before your database is deleted.
24516	//
24517	// You must specify the final relational database snapshot name parameter if
24518	// the skip final snapshot parameter is false.
24519	//
24520	// Default: false
24521	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
24522}
24523
24524// String returns the string representation
24525func (s DeleteRelationalDatabaseInput) String() string {
24526	return awsutil.Prettify(s)
24527}
24528
24529// GoString returns the string representation
24530func (s DeleteRelationalDatabaseInput) GoString() string {
24531	return s.String()
24532}
24533
24534// Validate inspects the fields of the type to determine if they are valid.
24535func (s *DeleteRelationalDatabaseInput) Validate() error {
24536	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
24537	if s.RelationalDatabaseName == nil {
24538		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24539	}
24540
24541	if invalidParams.Len() > 0 {
24542		return invalidParams
24543	}
24544	return nil
24545}
24546
24547// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
24548func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
24549	s.FinalRelationalDatabaseSnapshotName = &v
24550	return s
24551}
24552
24553// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24554func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
24555	s.RelationalDatabaseName = &v
24556	return s
24557}
24558
24559// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
24560func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
24561	s.SkipFinalSnapshot = &v
24562	return s
24563}
24564
24565type DeleteRelationalDatabaseOutput struct {
24566	_ struct{} `type:"structure"`
24567
24568	// An array of objects that describe the result of the action, such as the status
24569	// of the request, the timestamp of the request, and the resources affected
24570	// by the request.
24571	Operations []*Operation `locationName:"operations" type:"list"`
24572}
24573
24574// String returns the string representation
24575func (s DeleteRelationalDatabaseOutput) String() string {
24576	return awsutil.Prettify(s)
24577}
24578
24579// GoString returns the string representation
24580func (s DeleteRelationalDatabaseOutput) GoString() string {
24581	return s.String()
24582}
24583
24584// SetOperations sets the Operations field's value.
24585func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
24586	s.Operations = v
24587	return s
24588}
24589
24590type DeleteRelationalDatabaseSnapshotInput struct {
24591	_ struct{} `type:"structure"`
24592
24593	// The name of the database snapshot that you are deleting.
24594	//
24595	// RelationalDatabaseSnapshotName is a required field
24596	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
24597}
24598
24599// String returns the string representation
24600func (s DeleteRelationalDatabaseSnapshotInput) String() string {
24601	return awsutil.Prettify(s)
24602}
24603
24604// GoString returns the string representation
24605func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
24606	return s.String()
24607}
24608
24609// Validate inspects the fields of the type to determine if they are valid.
24610func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
24611	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
24612	if s.RelationalDatabaseSnapshotName == nil {
24613		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
24614	}
24615
24616	if invalidParams.Len() > 0 {
24617		return invalidParams
24618	}
24619	return nil
24620}
24621
24622// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
24623func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
24624	s.RelationalDatabaseSnapshotName = &v
24625	return s
24626}
24627
24628type DeleteRelationalDatabaseSnapshotOutput struct {
24629	_ struct{} `type:"structure"`
24630
24631	// An array of objects that describe the result of the action, such as the status
24632	// of the request, the timestamp of the request, and the resources affected
24633	// by the request.
24634	Operations []*Operation `locationName:"operations" type:"list"`
24635}
24636
24637// String returns the string representation
24638func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
24639	return awsutil.Prettify(s)
24640}
24641
24642// GoString returns the string representation
24643func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
24644	return s.String()
24645}
24646
24647// SetOperations sets the Operations field's value.
24648func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
24649	s.Operations = v
24650	return s
24651}
24652
24653// Describes the destination of a record.
24654type DestinationInfo struct {
24655	_ struct{} `type:"structure"`
24656
24657	// The ID of the resource created at the destination.
24658	Id *string `locationName:"id" type:"string"`
24659
24660	// The destination service of the record.
24661	Service *string `locationName:"service" type:"string"`
24662}
24663
24664// String returns the string representation
24665func (s DestinationInfo) String() string {
24666	return awsutil.Prettify(s)
24667}
24668
24669// GoString returns the string representation
24670func (s DestinationInfo) GoString() string {
24671	return s.String()
24672}
24673
24674// SetId sets the Id field's value.
24675func (s *DestinationInfo) SetId(v string) *DestinationInfo {
24676	s.Id = &v
24677	return s
24678}
24679
24680// SetService sets the Service field's value.
24681func (s *DestinationInfo) SetService(v string) *DestinationInfo {
24682	s.Service = &v
24683	return s
24684}
24685
24686type DetachCertificateFromDistributionInput struct {
24687	_ struct{} `type:"structure"`
24688
24689	// The name of the distribution from which to detach the certificate.
24690	//
24691	// Use the GetDistributions action to get a list of distribution names that
24692	// you can specify.
24693	//
24694	// DistributionName is a required field
24695	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
24696}
24697
24698// String returns the string representation
24699func (s DetachCertificateFromDistributionInput) String() string {
24700	return awsutil.Prettify(s)
24701}
24702
24703// GoString returns the string representation
24704func (s DetachCertificateFromDistributionInput) GoString() string {
24705	return s.String()
24706}
24707
24708// Validate inspects the fields of the type to determine if they are valid.
24709func (s *DetachCertificateFromDistributionInput) Validate() error {
24710	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
24711	if s.DistributionName == nil {
24712		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
24713	}
24714
24715	if invalidParams.Len() > 0 {
24716		return invalidParams
24717	}
24718	return nil
24719}
24720
24721// SetDistributionName sets the DistributionName field's value.
24722func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
24723	s.DistributionName = &v
24724	return s
24725}
24726
24727type DetachCertificateFromDistributionOutput struct {
24728	_ struct{} `type:"structure"`
24729
24730	// An object that describes the result of the action, such as the status of
24731	// the request, the timestamp of the request, and the resources affected by
24732	// the request.
24733	Operation *Operation `locationName:"operation" type:"structure"`
24734}
24735
24736// String returns the string representation
24737func (s DetachCertificateFromDistributionOutput) String() string {
24738	return awsutil.Prettify(s)
24739}
24740
24741// GoString returns the string representation
24742func (s DetachCertificateFromDistributionOutput) GoString() string {
24743	return s.String()
24744}
24745
24746// SetOperation sets the Operation field's value.
24747func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
24748	s.Operation = v
24749	return s
24750}
24751
24752type DetachDiskInput struct {
24753	_ struct{} `type:"structure"`
24754
24755	// The unique name of the disk you want to detach from your instance (e.g.,
24756	// my-disk).
24757	//
24758	// DiskName is a required field
24759	DiskName *string `locationName:"diskName" type:"string" required:"true"`
24760}
24761
24762// String returns the string representation
24763func (s DetachDiskInput) String() string {
24764	return awsutil.Prettify(s)
24765}
24766
24767// GoString returns the string representation
24768func (s DetachDiskInput) GoString() string {
24769	return s.String()
24770}
24771
24772// Validate inspects the fields of the type to determine if they are valid.
24773func (s *DetachDiskInput) Validate() error {
24774	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
24775	if s.DiskName == nil {
24776		invalidParams.Add(request.NewErrParamRequired("DiskName"))
24777	}
24778
24779	if invalidParams.Len() > 0 {
24780		return invalidParams
24781	}
24782	return nil
24783}
24784
24785// SetDiskName sets the DiskName field's value.
24786func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
24787	s.DiskName = &v
24788	return s
24789}
24790
24791type DetachDiskOutput struct {
24792	_ struct{} `type:"structure"`
24793
24794	// An array of objects that describe the result of the action, such as the status
24795	// of the request, the timestamp of the request, and the resources affected
24796	// by the request.
24797	Operations []*Operation `locationName:"operations" type:"list"`
24798}
24799
24800// String returns the string representation
24801func (s DetachDiskOutput) String() string {
24802	return awsutil.Prettify(s)
24803}
24804
24805// GoString returns the string representation
24806func (s DetachDiskOutput) GoString() string {
24807	return s.String()
24808}
24809
24810// SetOperations sets the Operations field's value.
24811func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
24812	s.Operations = v
24813	return s
24814}
24815
24816type DetachInstancesFromLoadBalancerInput struct {
24817	_ struct{} `type:"structure"`
24818
24819	// An array of strings containing the names of the instances you want to detach
24820	// from the load balancer.
24821	//
24822	// InstanceNames is a required field
24823	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
24824
24825	// The name of the Lightsail load balancer.
24826	//
24827	// LoadBalancerName is a required field
24828	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
24829}
24830
24831// String returns the string representation
24832func (s DetachInstancesFromLoadBalancerInput) String() string {
24833	return awsutil.Prettify(s)
24834}
24835
24836// GoString returns the string representation
24837func (s DetachInstancesFromLoadBalancerInput) GoString() string {
24838	return s.String()
24839}
24840
24841// Validate inspects the fields of the type to determine if they are valid.
24842func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
24843	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
24844	if s.InstanceNames == nil {
24845		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
24846	}
24847	if s.LoadBalancerName == nil {
24848		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
24849	}
24850
24851	if invalidParams.Len() > 0 {
24852		return invalidParams
24853	}
24854	return nil
24855}
24856
24857// SetInstanceNames sets the InstanceNames field's value.
24858func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
24859	s.InstanceNames = v
24860	return s
24861}
24862
24863// SetLoadBalancerName sets the LoadBalancerName field's value.
24864func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
24865	s.LoadBalancerName = &v
24866	return s
24867}
24868
24869type DetachInstancesFromLoadBalancerOutput struct {
24870	_ struct{} `type:"structure"`
24871
24872	// An array of objects that describe the result of the action, such as the status
24873	// of the request, the timestamp of the request, and the resources affected
24874	// by the request.
24875	Operations []*Operation `locationName:"operations" type:"list"`
24876}
24877
24878// String returns the string representation
24879func (s DetachInstancesFromLoadBalancerOutput) String() string {
24880	return awsutil.Prettify(s)
24881}
24882
24883// GoString returns the string representation
24884func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
24885	return s.String()
24886}
24887
24888// SetOperations sets the Operations field's value.
24889func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
24890	s.Operations = v
24891	return s
24892}
24893
24894type DetachStaticIpInput struct {
24895	_ struct{} `type:"structure"`
24896
24897	// The name of the static IP to detach from the instance.
24898	//
24899	// StaticIpName is a required field
24900	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
24901}
24902
24903// String returns the string representation
24904func (s DetachStaticIpInput) String() string {
24905	return awsutil.Prettify(s)
24906}
24907
24908// GoString returns the string representation
24909func (s DetachStaticIpInput) GoString() string {
24910	return s.String()
24911}
24912
24913// Validate inspects the fields of the type to determine if they are valid.
24914func (s *DetachStaticIpInput) Validate() error {
24915	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
24916	if s.StaticIpName == nil {
24917		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
24918	}
24919
24920	if invalidParams.Len() > 0 {
24921		return invalidParams
24922	}
24923	return nil
24924}
24925
24926// SetStaticIpName sets the StaticIpName field's value.
24927func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
24928	s.StaticIpName = &v
24929	return s
24930}
24931
24932type DetachStaticIpOutput struct {
24933	_ struct{} `type:"structure"`
24934
24935	// An array of objects that describe the result of the action, such as the status
24936	// of the request, the timestamp of the request, and the resources affected
24937	// by the request.
24938	Operations []*Operation `locationName:"operations" type:"list"`
24939}
24940
24941// String returns the string representation
24942func (s DetachStaticIpOutput) String() string {
24943	return awsutil.Prettify(s)
24944}
24945
24946// GoString returns the string representation
24947func (s DetachStaticIpOutput) GoString() string {
24948	return s.String()
24949}
24950
24951// SetOperations sets the Operations field's value.
24952func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
24953	s.Operations = v
24954	return s
24955}
24956
24957type DisableAddOnInput struct {
24958	_ struct{} `type:"structure"`
24959
24960	// The add-on type to disable.
24961	//
24962	// AddOnType is a required field
24963	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
24964
24965	// The name of the source resource for which to disable the add-on.
24966	//
24967	// ResourceName is a required field
24968	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24969}
24970
24971// String returns the string representation
24972func (s DisableAddOnInput) String() string {
24973	return awsutil.Prettify(s)
24974}
24975
24976// GoString returns the string representation
24977func (s DisableAddOnInput) GoString() string {
24978	return s.String()
24979}
24980
24981// Validate inspects the fields of the type to determine if they are valid.
24982func (s *DisableAddOnInput) Validate() error {
24983	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
24984	if s.AddOnType == nil {
24985		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
24986	}
24987	if s.ResourceName == nil {
24988		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24989	}
24990
24991	if invalidParams.Len() > 0 {
24992		return invalidParams
24993	}
24994	return nil
24995}
24996
24997// SetAddOnType sets the AddOnType field's value.
24998func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
24999	s.AddOnType = &v
25000	return s
25001}
25002
25003// SetResourceName sets the ResourceName field's value.
25004func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
25005	s.ResourceName = &v
25006	return s
25007}
25008
25009type DisableAddOnOutput struct {
25010	_ struct{} `type:"structure"`
25011
25012	// An array of objects that describe the result of the action, such as the status
25013	// of the request, the timestamp of the request, and the resources affected
25014	// by the request.
25015	Operations []*Operation `locationName:"operations" type:"list"`
25016}
25017
25018// String returns the string representation
25019func (s DisableAddOnOutput) String() string {
25020	return awsutil.Prettify(s)
25021}
25022
25023// GoString returns the string representation
25024func (s DisableAddOnOutput) GoString() string {
25025	return s.String()
25026}
25027
25028// SetOperations sets the Operations field's value.
25029func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
25030	s.Operations = v
25031	return s
25032}
25033
25034// Describes a block storage disk.
25035type Disk struct {
25036	_ struct{} `type:"structure"`
25037
25038	// An array of objects representing the add-ons enabled on the disk.
25039	AddOns []*AddOn `locationName:"addOns" type:"list"`
25040
25041	// The Amazon Resource Name (ARN) of the disk.
25042	Arn *string `locationName:"arn" type:"string"`
25043
25044	// The resources to which the disk is attached.
25045	AttachedTo *string `locationName:"attachedTo" type:"string"`
25046
25047	// (Deprecated) The attachment state of the disk.
25048	//
25049	// In releases prior to November 14, 2017, this parameter returned attached
25050	// for system disks in the API response. It is now deprecated, but still included
25051	// in the response. Use isAttached instead.
25052	//
25053	// Deprecated: AttachmentState has been deprecated
25054	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
25055
25056	// The date when the disk was created.
25057	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25058
25059	// (Deprecated) The number of GB in use by the disk.
25060	//
25061	// In releases prior to November 14, 2017, this parameter was not included in
25062	// the API response. It is now deprecated.
25063	//
25064	// Deprecated: GbInUse has been deprecated
25065	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
25066
25067	// The input/output operations per second (IOPS) of the disk.
25068	Iops *int64 `locationName:"iops" type:"integer"`
25069
25070	// A Boolean value indicating whether the disk is attached.
25071	IsAttached *bool `locationName:"isAttached" type:"boolean"`
25072
25073	// A Boolean value indicating whether this disk is a system disk (has an operating
25074	// system loaded on it).
25075	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
25076
25077	// The AWS Region and Availability Zone where the disk is located.
25078	Location *ResourceLocation `locationName:"location" type:"structure"`
25079
25080	// The unique name of the disk.
25081	Name *string `locationName:"name" type:"string"`
25082
25083	// The disk path.
25084	Path *string `locationName:"path" type:"string"`
25085
25086	// The Lightsail resource type (e.g., Disk).
25087	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
25088
25089	// The size of the disk in GB.
25090	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
25091
25092	// Describes the status of the disk.
25093	State *string `locationName:"state" type:"string" enum:"DiskState"`
25094
25095	// The support code. Include this code in your email to support when you have
25096	// questions about an instance or another resource in Lightsail. This code enables
25097	// our support team to look up your Lightsail information more easily.
25098	SupportCode *string `locationName:"supportCode" type:"string"`
25099
25100	// The tag keys and optional values for the resource. For more information about
25101	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
25102	Tags []*Tag `locationName:"tags" type:"list"`
25103}
25104
25105// String returns the string representation
25106func (s Disk) String() string {
25107	return awsutil.Prettify(s)
25108}
25109
25110// GoString returns the string representation
25111func (s Disk) GoString() string {
25112	return s.String()
25113}
25114
25115// SetAddOns sets the AddOns field's value.
25116func (s *Disk) SetAddOns(v []*AddOn) *Disk {
25117	s.AddOns = v
25118	return s
25119}
25120
25121// SetArn sets the Arn field's value.
25122func (s *Disk) SetArn(v string) *Disk {
25123	s.Arn = &v
25124	return s
25125}
25126
25127// SetAttachedTo sets the AttachedTo field's value.
25128func (s *Disk) SetAttachedTo(v string) *Disk {
25129	s.AttachedTo = &v
25130	return s
25131}
25132
25133// SetAttachmentState sets the AttachmentState field's value.
25134func (s *Disk) SetAttachmentState(v string) *Disk {
25135	s.AttachmentState = &v
25136	return s
25137}
25138
25139// SetCreatedAt sets the CreatedAt field's value.
25140func (s *Disk) SetCreatedAt(v time.Time) *Disk {
25141	s.CreatedAt = &v
25142	return s
25143}
25144
25145// SetGbInUse sets the GbInUse field's value.
25146func (s *Disk) SetGbInUse(v int64) *Disk {
25147	s.GbInUse = &v
25148	return s
25149}
25150
25151// SetIops sets the Iops field's value.
25152func (s *Disk) SetIops(v int64) *Disk {
25153	s.Iops = &v
25154	return s
25155}
25156
25157// SetIsAttached sets the IsAttached field's value.
25158func (s *Disk) SetIsAttached(v bool) *Disk {
25159	s.IsAttached = &v
25160	return s
25161}
25162
25163// SetIsSystemDisk sets the IsSystemDisk field's value.
25164func (s *Disk) SetIsSystemDisk(v bool) *Disk {
25165	s.IsSystemDisk = &v
25166	return s
25167}
25168
25169// SetLocation sets the Location field's value.
25170func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
25171	s.Location = v
25172	return s
25173}
25174
25175// SetName sets the Name field's value.
25176func (s *Disk) SetName(v string) *Disk {
25177	s.Name = &v
25178	return s
25179}
25180
25181// SetPath sets the Path field's value.
25182func (s *Disk) SetPath(v string) *Disk {
25183	s.Path = &v
25184	return s
25185}
25186
25187// SetResourceType sets the ResourceType field's value.
25188func (s *Disk) SetResourceType(v string) *Disk {
25189	s.ResourceType = &v
25190	return s
25191}
25192
25193// SetSizeInGb sets the SizeInGb field's value.
25194func (s *Disk) SetSizeInGb(v int64) *Disk {
25195	s.SizeInGb = &v
25196	return s
25197}
25198
25199// SetState sets the State field's value.
25200func (s *Disk) SetState(v string) *Disk {
25201	s.State = &v
25202	return s
25203}
25204
25205// SetSupportCode sets the SupportCode field's value.
25206func (s *Disk) SetSupportCode(v string) *Disk {
25207	s.SupportCode = &v
25208	return s
25209}
25210
25211// SetTags sets the Tags field's value.
25212func (s *Disk) SetTags(v []*Tag) *Disk {
25213	s.Tags = v
25214	return s
25215}
25216
25217// Describes a disk.
25218type DiskInfo struct {
25219	_ struct{} `type:"structure"`
25220
25221	// A Boolean value indicating whether this disk is a system disk (has an operating
25222	// system loaded on it).
25223	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
25224
25225	// The disk name.
25226	Name *string `locationName:"name" type:"string"`
25227
25228	// The disk path.
25229	Path *string `locationName:"path" type:"string"`
25230
25231	// The size of the disk in GB (e.g., 32).
25232	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
25233}
25234
25235// String returns the string representation
25236func (s DiskInfo) String() string {
25237	return awsutil.Prettify(s)
25238}
25239
25240// GoString returns the string representation
25241func (s DiskInfo) GoString() string {
25242	return s.String()
25243}
25244
25245// SetIsSystemDisk sets the IsSystemDisk field's value.
25246func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
25247	s.IsSystemDisk = &v
25248	return s
25249}
25250
25251// SetName sets the Name field's value.
25252func (s *DiskInfo) SetName(v string) *DiskInfo {
25253	s.Name = &v
25254	return s
25255}
25256
25257// SetPath sets the Path field's value.
25258func (s *DiskInfo) SetPath(v string) *DiskInfo {
25259	s.Path = &v
25260	return s
25261}
25262
25263// SetSizeInGb sets the SizeInGb field's value.
25264func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
25265	s.SizeInGb = &v
25266	return s
25267}
25268
25269// Describes a block storage disk mapping.
25270type DiskMap struct {
25271	_ struct{} `type:"structure"`
25272
25273	// The new disk name (e.g., my-new-disk).
25274	NewDiskName *string `locationName:"newDiskName" type:"string"`
25275
25276	// The original disk path exposed to the instance (for example, /dev/sdh).
25277	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
25278}
25279
25280// String returns the string representation
25281func (s DiskMap) String() string {
25282	return awsutil.Prettify(s)
25283}
25284
25285// GoString returns the string representation
25286func (s DiskMap) GoString() string {
25287	return s.String()
25288}
25289
25290// SetNewDiskName sets the NewDiskName field's value.
25291func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
25292	s.NewDiskName = &v
25293	return s
25294}
25295
25296// SetOriginalDiskPath sets the OriginalDiskPath field's value.
25297func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
25298	s.OriginalDiskPath = &v
25299	return s
25300}
25301
25302// Describes a block storage disk snapshot.
25303type DiskSnapshot struct {
25304	_ struct{} `type:"structure"`
25305
25306	// The Amazon Resource Name (ARN) of the disk snapshot.
25307	Arn *string `locationName:"arn" type:"string"`
25308
25309	// The date when the disk snapshot was created.
25310	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25311
25312	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
25313	// was created.
25314	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
25315
25316	// The unique name of the source disk from which the disk snapshot was created.
25317	FromDiskName *string `locationName:"fromDiskName" type:"string"`
25318
25319	// The Amazon Resource Name (ARN) of the source instance from which the disk
25320	// (system volume) snapshot was created.
25321	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
25322
25323	// The unique name of the source instance from which the disk (system volume)
25324	// snapshot was created.
25325	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
25326
25327	// A Boolean value indicating whether the snapshot was created from an automatic
25328	// snapshot.
25329	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
25330
25331	// The AWS Region and Availability Zone where the disk snapshot was created.
25332	Location *ResourceLocation `locationName:"location" type:"structure"`
25333
25334	// The name of the disk snapshot (e.g., my-disk-snapshot).
25335	Name *string `locationName:"name" type:"string"`
25336
25337	// The progress of the snapshot.
25338	Progress *string `locationName:"progress" type:"string"`
25339
25340	// The Lightsail resource type (e.g., DiskSnapshot).
25341	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
25342
25343	// The size of the disk in GB.
25344	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
25345
25346	// The status of the disk snapshot operation.
25347	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
25348
25349	// The support code. Include this code in your email to support when you have
25350	// questions about an instance or another resource in Lightsail. This code enables
25351	// our support team to look up your Lightsail information more easily.
25352	SupportCode *string `locationName:"supportCode" type:"string"`
25353
25354	// The tag keys and optional values for the resource. For more information about
25355	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
25356	Tags []*Tag `locationName:"tags" type:"list"`
25357}
25358
25359// String returns the string representation
25360func (s DiskSnapshot) String() string {
25361	return awsutil.Prettify(s)
25362}
25363
25364// GoString returns the string representation
25365func (s DiskSnapshot) GoString() string {
25366	return s.String()
25367}
25368
25369// SetArn sets the Arn field's value.
25370func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
25371	s.Arn = &v
25372	return s
25373}
25374
25375// SetCreatedAt sets the CreatedAt field's value.
25376func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
25377	s.CreatedAt = &v
25378	return s
25379}
25380
25381// SetFromDiskArn sets the FromDiskArn field's value.
25382func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
25383	s.FromDiskArn = &v
25384	return s
25385}
25386
25387// SetFromDiskName sets the FromDiskName field's value.
25388func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
25389	s.FromDiskName = &v
25390	return s
25391}
25392
25393// SetFromInstanceArn sets the FromInstanceArn field's value.
25394func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
25395	s.FromInstanceArn = &v
25396	return s
25397}
25398
25399// SetFromInstanceName sets the FromInstanceName field's value.
25400func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
25401	s.FromInstanceName = &v
25402	return s
25403}
25404
25405// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
25406func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
25407	s.IsFromAutoSnapshot = &v
25408	return s
25409}
25410
25411// SetLocation sets the Location field's value.
25412func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
25413	s.Location = v
25414	return s
25415}
25416
25417// SetName sets the Name field's value.
25418func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
25419	s.Name = &v
25420	return s
25421}
25422
25423// SetProgress sets the Progress field's value.
25424func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
25425	s.Progress = &v
25426	return s
25427}
25428
25429// SetResourceType sets the ResourceType field's value.
25430func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
25431	s.ResourceType = &v
25432	return s
25433}
25434
25435// SetSizeInGb sets the SizeInGb field's value.
25436func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
25437	s.SizeInGb = &v
25438	return s
25439}
25440
25441// SetState sets the State field's value.
25442func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
25443	s.State = &v
25444	return s
25445}
25446
25447// SetSupportCode sets the SupportCode field's value.
25448func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
25449	s.SupportCode = &v
25450	return s
25451}
25452
25453// SetTags sets the Tags field's value.
25454func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
25455	s.Tags = v
25456	return s
25457}
25458
25459// Describes a disk snapshot.
25460type DiskSnapshotInfo struct {
25461	_ struct{} `type:"structure"`
25462
25463	// The size of the disk in GB (e.g., 32).
25464	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
25465}
25466
25467// String returns the string representation
25468func (s DiskSnapshotInfo) String() string {
25469	return awsutil.Prettify(s)
25470}
25471
25472// GoString returns the string representation
25473func (s DiskSnapshotInfo) GoString() string {
25474	return s.String()
25475}
25476
25477// SetSizeInGb sets the SizeInGb field's value.
25478func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
25479	s.SizeInGb = &v
25480	return s
25481}
25482
25483// Describes the specifications of a distribution bundle.
25484type DistributionBundle struct {
25485	_ struct{} `type:"structure"`
25486
25487	// The ID of the bundle.
25488	BundleId *string `locationName:"bundleId" type:"string"`
25489
25490	// Indicates whether the bundle is active, and can be specified for a new or
25491	// existing distribution.
25492	IsActive *bool `locationName:"isActive" type:"boolean"`
25493
25494	// The name of the distribution bundle.
25495	Name *string `locationName:"name" type:"string"`
25496
25497	// The monthly price, in US dollars, of the bundle.
25498	Price *float64 `locationName:"price" type:"float"`
25499
25500	// The monthly network transfer quota of the bundle.
25501	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
25502}
25503
25504// String returns the string representation
25505func (s DistributionBundle) String() string {
25506	return awsutil.Prettify(s)
25507}
25508
25509// GoString returns the string representation
25510func (s DistributionBundle) GoString() string {
25511	return s.String()
25512}
25513
25514// SetBundleId sets the BundleId field's value.
25515func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
25516	s.BundleId = &v
25517	return s
25518}
25519
25520// SetIsActive sets the IsActive field's value.
25521func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
25522	s.IsActive = &v
25523	return s
25524}
25525
25526// SetName sets the Name field's value.
25527func (s *DistributionBundle) SetName(v string) *DistributionBundle {
25528	s.Name = &v
25529	return s
25530}
25531
25532// SetPrice sets the Price field's value.
25533func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
25534	s.Price = &v
25535	return s
25536}
25537
25538// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
25539func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
25540	s.TransferPerMonthInGb = &v
25541	return s
25542}
25543
25544// Describes a domain where you are storing recordsets.
25545type Domain struct {
25546	_ struct{} `type:"structure"`
25547
25548	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
25549	Arn *string `locationName:"arn" type:"string"`
25550
25551	// The date when the domain recordset was created.
25552	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25553
25554	// An array of key-value pairs containing information about the domain entries.
25555	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
25556
25557	// The AWS Region and Availability Zones where the domain recordset was created.
25558	Location *ResourceLocation `locationName:"location" type:"structure"`
25559
25560	// The name of the domain.
25561	Name *string `locationName:"name" type:"string"`
25562
25563	// The resource type.
25564	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
25565
25566	// The support code. Include this code in your email to support when you have
25567	// questions about an instance or another resource in Lightsail. This code enables
25568	// our support team to look up your Lightsail information more easily.
25569	SupportCode *string `locationName:"supportCode" type:"string"`
25570
25571	// The tag keys and optional values for the resource. For more information about
25572	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
25573	Tags []*Tag `locationName:"tags" type:"list"`
25574}
25575
25576// String returns the string representation
25577func (s Domain) String() string {
25578	return awsutil.Prettify(s)
25579}
25580
25581// GoString returns the string representation
25582func (s Domain) GoString() string {
25583	return s.String()
25584}
25585
25586// SetArn sets the Arn field's value.
25587func (s *Domain) SetArn(v string) *Domain {
25588	s.Arn = &v
25589	return s
25590}
25591
25592// SetCreatedAt sets the CreatedAt field's value.
25593func (s *Domain) SetCreatedAt(v time.Time) *Domain {
25594	s.CreatedAt = &v
25595	return s
25596}
25597
25598// SetDomainEntries sets the DomainEntries field's value.
25599func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
25600	s.DomainEntries = v
25601	return s
25602}
25603
25604// SetLocation sets the Location field's value.
25605func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
25606	s.Location = v
25607	return s
25608}
25609
25610// SetName sets the Name field's value.
25611func (s *Domain) SetName(v string) *Domain {
25612	s.Name = &v
25613	return s
25614}
25615
25616// SetResourceType sets the ResourceType field's value.
25617func (s *Domain) SetResourceType(v string) *Domain {
25618	s.ResourceType = &v
25619	return s
25620}
25621
25622// SetSupportCode sets the SupportCode field's value.
25623func (s *Domain) SetSupportCode(v string) *Domain {
25624	s.SupportCode = &v
25625	return s
25626}
25627
25628// SetTags sets the Tags field's value.
25629func (s *Domain) SetTags(v []*Tag) *Domain {
25630	s.Tags = v
25631	return s
25632}
25633
25634// Describes a domain recordset entry.
25635type DomainEntry struct {
25636	_ struct{} `type:"structure"`
25637
25638	// The ID of the domain recordset entry.
25639	Id *string `locationName:"id" type:"string"`
25640
25641	// When true, specifies whether the domain entry is an alias used by the Lightsail
25642	// load balancer. You can include an alias (A type) record in your request,
25643	// which points to a load balancer DNS name and routes traffic to your load
25644	// balancer.
25645	IsAlias *bool `locationName:"isAlias" type:"boolean"`
25646
25647	// The name of the domain.
25648	Name *string `locationName:"name" type:"string"`
25649
25650	// (Deprecated) The options for the domain entry.
25651	//
25652	// In releases prior to November 29, 2017, this parameter was not included in
25653	// the API response. It is now deprecated.
25654	//
25655	// Deprecated: Options has been deprecated
25656	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
25657
25658	// The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.).
25659	//
25660	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
25661	// For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net.
25662	// For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com.
25663	// Be sure to also set isAlias to true when setting up an A record for a Lightsail
25664	// load balancer, distribution, or container service.
25665	Target *string `locationName:"target" type:"string"`
25666
25667	// The type of domain entry, such as address for IPv4 (A), address for IPv6
25668	// (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start
25669	// of authority (SOA), service locator (SRV), or text (TXT).
25670	//
25671	// The following domain entry types can be used:
25672	//
25673	//    * A
25674	//
25675	//    * AAAA
25676	//
25677	//    * CNAME
25678	//
25679	//    * MX
25680	//
25681	//    * NS
25682	//
25683	//    * SOA
25684	//
25685	//    * SRV
25686	//
25687	//    * TXT
25688	Type *string `locationName:"type" type:"string"`
25689}
25690
25691// String returns the string representation
25692func (s DomainEntry) String() string {
25693	return awsutil.Prettify(s)
25694}
25695
25696// GoString returns the string representation
25697func (s DomainEntry) GoString() string {
25698	return s.String()
25699}
25700
25701// SetId sets the Id field's value.
25702func (s *DomainEntry) SetId(v string) *DomainEntry {
25703	s.Id = &v
25704	return s
25705}
25706
25707// SetIsAlias sets the IsAlias field's value.
25708func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
25709	s.IsAlias = &v
25710	return s
25711}
25712
25713// SetName sets the Name field's value.
25714func (s *DomainEntry) SetName(v string) *DomainEntry {
25715	s.Name = &v
25716	return s
25717}
25718
25719// SetOptions sets the Options field's value.
25720func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
25721	s.Options = v
25722	return s
25723}
25724
25725// SetTarget sets the Target field's value.
25726func (s *DomainEntry) SetTarget(v string) *DomainEntry {
25727	s.Target = &v
25728	return s
25729}
25730
25731// SetType sets the Type field's value.
25732func (s *DomainEntry) SetType(v string) *DomainEntry {
25733	s.Type = &v
25734	return s
25735}
25736
25737// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
25738type DomainValidationRecord struct {
25739	_ struct{} `type:"structure"`
25740
25741	// The domain name of the certificate validation record. For example, example.com
25742	// or www.example.com.
25743	DomainName *string `locationName:"domainName" type:"string"`
25744
25745	// An object that describes the DNS records to add to your domain's DNS to validate
25746	// it for the certificate.
25747	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
25748}
25749
25750// String returns the string representation
25751func (s DomainValidationRecord) String() string {
25752	return awsutil.Prettify(s)
25753}
25754
25755// GoString returns the string representation
25756func (s DomainValidationRecord) GoString() string {
25757	return s.String()
25758}
25759
25760// SetDomainName sets the DomainName field's value.
25761func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
25762	s.DomainName = &v
25763	return s
25764}
25765
25766// SetResourceRecord sets the ResourceRecord field's value.
25767func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
25768	s.ResourceRecord = v
25769	return s
25770}
25771
25772type DownloadDefaultKeyPairInput struct {
25773	_ struct{} `type:"structure"`
25774}
25775
25776// String returns the string representation
25777func (s DownloadDefaultKeyPairInput) String() string {
25778	return awsutil.Prettify(s)
25779}
25780
25781// GoString returns the string representation
25782func (s DownloadDefaultKeyPairInput) GoString() string {
25783	return s.String()
25784}
25785
25786type DownloadDefaultKeyPairOutput struct {
25787	_ struct{} `type:"structure"`
25788
25789	// A base64-encoded RSA private key.
25790	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
25791
25792	// A base64-encoded public key of the ssh-rsa type.
25793	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
25794}
25795
25796// String returns the string representation
25797func (s DownloadDefaultKeyPairOutput) String() string {
25798	return awsutil.Prettify(s)
25799}
25800
25801// GoString returns the string representation
25802func (s DownloadDefaultKeyPairOutput) GoString() string {
25803	return s.String()
25804}
25805
25806// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
25807func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
25808	s.PrivateKeyBase64 = &v
25809	return s
25810}
25811
25812// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
25813func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
25814	s.PublicKeyBase64 = &v
25815	return s
25816}
25817
25818type EnableAddOnInput struct {
25819	_ struct{} `type:"structure"`
25820
25821	// An array of strings representing the add-on to enable or modify.
25822	//
25823	// AddOnRequest is a required field
25824	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
25825
25826	// The name of the source resource for which to enable or modify the add-on.
25827	//
25828	// ResourceName is a required field
25829	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
25830}
25831
25832// String returns the string representation
25833func (s EnableAddOnInput) String() string {
25834	return awsutil.Prettify(s)
25835}
25836
25837// GoString returns the string representation
25838func (s EnableAddOnInput) GoString() string {
25839	return s.String()
25840}
25841
25842// Validate inspects the fields of the type to determine if they are valid.
25843func (s *EnableAddOnInput) Validate() error {
25844	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
25845	if s.AddOnRequest == nil {
25846		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
25847	}
25848	if s.ResourceName == nil {
25849		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
25850	}
25851	if s.AddOnRequest != nil {
25852		if err := s.AddOnRequest.Validate(); err != nil {
25853			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
25854		}
25855	}
25856
25857	if invalidParams.Len() > 0 {
25858		return invalidParams
25859	}
25860	return nil
25861}
25862
25863// SetAddOnRequest sets the AddOnRequest field's value.
25864func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
25865	s.AddOnRequest = v
25866	return s
25867}
25868
25869// SetResourceName sets the ResourceName field's value.
25870func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
25871	s.ResourceName = &v
25872	return s
25873}
25874
25875type EnableAddOnOutput struct {
25876	_ struct{} `type:"structure"`
25877
25878	// An array of objects that describe the result of the action, such as the status
25879	// of the request, the timestamp of the request, and the resources affected
25880	// by the request.
25881	Operations []*Operation `locationName:"operations" type:"list"`
25882}
25883
25884// String returns the string representation
25885func (s EnableAddOnOutput) String() string {
25886	return awsutil.Prettify(s)
25887}
25888
25889// GoString returns the string representation
25890func (s EnableAddOnOutput) GoString() string {
25891	return s.String()
25892}
25893
25894// SetOperations sets the Operations field's value.
25895func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
25896	s.Operations = v
25897	return s
25898}
25899
25900// Describes the settings of a public endpoint for an Amazon Lightsail container
25901// service.
25902type EndpointRequest struct {
25903	_ struct{} `type:"structure"`
25904
25905	// The name of the container for the endpoint.
25906	//
25907	// ContainerName is a required field
25908	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
25909
25910	// The port of the container to which traffic is forwarded to.
25911	//
25912	// ContainerPort is a required field
25913	ContainerPort *int64 `locationName:"containerPort" type:"integer" required:"true"`
25914
25915	// An object that describes the health check configuration of the container.
25916	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
25917}
25918
25919// String returns the string representation
25920func (s EndpointRequest) String() string {
25921	return awsutil.Prettify(s)
25922}
25923
25924// GoString returns the string representation
25925func (s EndpointRequest) GoString() string {
25926	return s.String()
25927}
25928
25929// Validate inspects the fields of the type to determine if they are valid.
25930func (s *EndpointRequest) Validate() error {
25931	invalidParams := request.ErrInvalidParams{Context: "EndpointRequest"}
25932	if s.ContainerName == nil {
25933		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
25934	}
25935	if s.ContainerPort == nil {
25936		invalidParams.Add(request.NewErrParamRequired("ContainerPort"))
25937	}
25938
25939	if invalidParams.Len() > 0 {
25940		return invalidParams
25941	}
25942	return nil
25943}
25944
25945// SetContainerName sets the ContainerName field's value.
25946func (s *EndpointRequest) SetContainerName(v string) *EndpointRequest {
25947	s.ContainerName = &v
25948	return s
25949}
25950
25951// SetContainerPort sets the ContainerPort field's value.
25952func (s *EndpointRequest) SetContainerPort(v int64) *EndpointRequest {
25953	s.ContainerPort = &v
25954	return s
25955}
25956
25957// SetHealthCheck sets the HealthCheck field's value.
25958func (s *EndpointRequest) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *EndpointRequest {
25959	s.HealthCheck = v
25960	return s
25961}
25962
25963type ExportSnapshotInput struct {
25964	_ struct{} `type:"structure"`
25965
25966	// The name of the instance or disk snapshot to be exported to Amazon EC2.
25967	//
25968	// SourceSnapshotName is a required field
25969	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
25970}
25971
25972// String returns the string representation
25973func (s ExportSnapshotInput) String() string {
25974	return awsutil.Prettify(s)
25975}
25976
25977// GoString returns the string representation
25978func (s ExportSnapshotInput) GoString() string {
25979	return s.String()
25980}
25981
25982// Validate inspects the fields of the type to determine if they are valid.
25983func (s *ExportSnapshotInput) Validate() error {
25984	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
25985	if s.SourceSnapshotName == nil {
25986		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
25987	}
25988
25989	if invalidParams.Len() > 0 {
25990		return invalidParams
25991	}
25992	return nil
25993}
25994
25995// SetSourceSnapshotName sets the SourceSnapshotName field's value.
25996func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
25997	s.SourceSnapshotName = &v
25998	return s
25999}
26000
26001type ExportSnapshotOutput struct {
26002	_ struct{} `type:"structure"`
26003
26004	// An array of objects that describe the result of the action, such as the status
26005	// of the request, the timestamp of the request, and the resources affected
26006	// by the request.
26007	Operations []*Operation `locationName:"operations" type:"list"`
26008}
26009
26010// String returns the string representation
26011func (s ExportSnapshotOutput) String() string {
26012	return awsutil.Prettify(s)
26013}
26014
26015// GoString returns the string representation
26016func (s ExportSnapshotOutput) GoString() string {
26017	return s.String()
26018}
26019
26020// SetOperations sets the Operations field's value.
26021func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
26022	s.Operations = v
26023	return s
26024}
26025
26026// Describes an export snapshot record.
26027type ExportSnapshotRecord struct {
26028	_ struct{} `type:"structure"`
26029
26030	// The Amazon Resource Name (ARN) of the export snapshot record.
26031	Arn *string `locationName:"arn" type:"string"`
26032
26033	// The date when the export snapshot record was created.
26034	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26035
26036	// A list of objects describing the destination of the export snapshot record.
26037	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
26038
26039	// The AWS Region and Availability Zone where the export snapshot record is
26040	// located.
26041	Location *ResourceLocation `locationName:"location" type:"structure"`
26042
26043	// The export snapshot record name.
26044	Name *string `locationName:"name" type:"string"`
26045
26046	// The Lightsail resource type (e.g., ExportSnapshotRecord).
26047	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26048
26049	// A list of objects describing the source of the export snapshot record.
26050	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
26051
26052	// The state of the export snapshot record.
26053	State *string `locationName:"state" type:"string" enum:"RecordState"`
26054}
26055
26056// String returns the string representation
26057func (s ExportSnapshotRecord) String() string {
26058	return awsutil.Prettify(s)
26059}
26060
26061// GoString returns the string representation
26062func (s ExportSnapshotRecord) GoString() string {
26063	return s.String()
26064}
26065
26066// SetArn sets the Arn field's value.
26067func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
26068	s.Arn = &v
26069	return s
26070}
26071
26072// SetCreatedAt sets the CreatedAt field's value.
26073func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
26074	s.CreatedAt = &v
26075	return s
26076}
26077
26078// SetDestinationInfo sets the DestinationInfo field's value.
26079func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
26080	s.DestinationInfo = v
26081	return s
26082}
26083
26084// SetLocation sets the Location field's value.
26085func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
26086	s.Location = v
26087	return s
26088}
26089
26090// SetName sets the Name field's value.
26091func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
26092	s.Name = &v
26093	return s
26094}
26095
26096// SetResourceType sets the ResourceType field's value.
26097func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
26098	s.ResourceType = &v
26099	return s
26100}
26101
26102// SetSourceInfo sets the SourceInfo field's value.
26103func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
26104	s.SourceInfo = v
26105	return s
26106}
26107
26108// SetState sets the State field's value.
26109func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
26110	s.State = &v
26111	return s
26112}
26113
26114// Describes the source of an export snapshot record.
26115type ExportSnapshotRecordSourceInfo struct {
26116	_ struct{} `type:"structure"`
26117
26118	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
26119	Arn *string `locationName:"arn" type:"string"`
26120
26121	// The date when the source instance or disk snapshot was created.
26122	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26123
26124	// A list of objects describing a disk snapshot.
26125	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
26126
26127	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
26128	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
26129
26130	// The name of the snapshot's source instance or disk.
26131	FromResourceName *string `locationName:"fromResourceName" type:"string"`
26132
26133	// A list of objects describing an instance snapshot.
26134	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
26135
26136	// The name of the source instance or disk snapshot.
26137	Name *string `locationName:"name" type:"string"`
26138
26139	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
26140	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
26141}
26142
26143// String returns the string representation
26144func (s ExportSnapshotRecordSourceInfo) String() string {
26145	return awsutil.Prettify(s)
26146}
26147
26148// GoString returns the string representation
26149func (s ExportSnapshotRecordSourceInfo) GoString() string {
26150	return s.String()
26151}
26152
26153// SetArn sets the Arn field's value.
26154func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
26155	s.Arn = &v
26156	return s
26157}
26158
26159// SetCreatedAt sets the CreatedAt field's value.
26160func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
26161	s.CreatedAt = &v
26162	return s
26163}
26164
26165// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
26166func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
26167	s.DiskSnapshotInfo = v
26168	return s
26169}
26170
26171// SetFromResourceArn sets the FromResourceArn field's value.
26172func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
26173	s.FromResourceArn = &v
26174	return s
26175}
26176
26177// SetFromResourceName sets the FromResourceName field's value.
26178func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
26179	s.FromResourceName = &v
26180	return s
26181}
26182
26183// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
26184func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
26185	s.InstanceSnapshotInfo = v
26186	return s
26187}
26188
26189// SetName sets the Name field's value.
26190func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
26191	s.Name = &v
26192	return s
26193}
26194
26195// SetResourceType sets the ResourceType field's value.
26196func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
26197	s.ResourceType = &v
26198	return s
26199}
26200
26201type GetActiveNamesInput struct {
26202	_ struct{} `type:"structure"`
26203
26204	// The token to advance to the next page of results from your request.
26205	//
26206	// To get a page token, perform an initial GetActiveNames request. If your results
26207	// are paginated, the response will return a next page token that you can specify
26208	// as the page token in a subsequent request.
26209	PageToken *string `locationName:"pageToken" type:"string"`
26210}
26211
26212// String returns the string representation
26213func (s GetActiveNamesInput) String() string {
26214	return awsutil.Prettify(s)
26215}
26216
26217// GoString returns the string representation
26218func (s GetActiveNamesInput) GoString() string {
26219	return s.String()
26220}
26221
26222// SetPageToken sets the PageToken field's value.
26223func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
26224	s.PageToken = &v
26225	return s
26226}
26227
26228type GetActiveNamesOutput struct {
26229	_ struct{} `type:"structure"`
26230
26231	// The list of active names returned by the get active names request.
26232	ActiveNames []*string `locationName:"activeNames" type:"list"`
26233
26234	// The token to advance to the next page of results from your request.
26235	//
26236	// A next page token is not returned if there are no more results to display.
26237	//
26238	// To get the next page of results, perform another GetActiveNames request and
26239	// specify the next page token using the pageToken parameter.
26240	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26241}
26242
26243// String returns the string representation
26244func (s GetActiveNamesOutput) String() string {
26245	return awsutil.Prettify(s)
26246}
26247
26248// GoString returns the string representation
26249func (s GetActiveNamesOutput) GoString() string {
26250	return s.String()
26251}
26252
26253// SetActiveNames sets the ActiveNames field's value.
26254func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
26255	s.ActiveNames = v
26256	return s
26257}
26258
26259// SetNextPageToken sets the NextPageToken field's value.
26260func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
26261	s.NextPageToken = &v
26262	return s
26263}
26264
26265type GetAlarmsInput struct {
26266	_ struct{} `type:"structure"`
26267
26268	// The name of the alarm.
26269	//
26270	// Specify an alarm name to return information about a specific alarm.
26271	AlarmName *string `locationName:"alarmName" type:"string"`
26272
26273	// The name of the Lightsail resource being monitored by the alarm.
26274	//
26275	// Specify a monitored resource name to return information about all alarms
26276	// for a specific resource.
26277	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
26278
26279	// The token to advance to the next page of results from your request.
26280	//
26281	// To get a page token, perform an initial GetAlarms request. If your results
26282	// are paginated, the response will return a next page token that you can specify
26283	// as the page token in a subsequent request.
26284	PageToken *string `locationName:"pageToken" type:"string"`
26285}
26286
26287// String returns the string representation
26288func (s GetAlarmsInput) String() string {
26289	return awsutil.Prettify(s)
26290}
26291
26292// GoString returns the string representation
26293func (s GetAlarmsInput) GoString() string {
26294	return s.String()
26295}
26296
26297// SetAlarmName sets the AlarmName field's value.
26298func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
26299	s.AlarmName = &v
26300	return s
26301}
26302
26303// SetMonitoredResourceName sets the MonitoredResourceName field's value.
26304func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
26305	s.MonitoredResourceName = &v
26306	return s
26307}
26308
26309// SetPageToken sets the PageToken field's value.
26310func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
26311	s.PageToken = &v
26312	return s
26313}
26314
26315type GetAlarmsOutput struct {
26316	_ struct{} `type:"structure"`
26317
26318	// An array of objects that describe the alarms.
26319	Alarms []*Alarm `locationName:"alarms" type:"list"`
26320
26321	// The token to advance to the next page of results from your request.
26322	//
26323	// A next page token is not returned if there are no more results to display.
26324	//
26325	// To get the next page of results, perform another GetAlarms request and specify
26326	// the next page token using the pageToken parameter.
26327	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26328}
26329
26330// String returns the string representation
26331func (s GetAlarmsOutput) String() string {
26332	return awsutil.Prettify(s)
26333}
26334
26335// GoString returns the string representation
26336func (s GetAlarmsOutput) GoString() string {
26337	return s.String()
26338}
26339
26340// SetAlarms sets the Alarms field's value.
26341func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
26342	s.Alarms = v
26343	return s
26344}
26345
26346// SetNextPageToken sets the NextPageToken field's value.
26347func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
26348	s.NextPageToken = &v
26349	return s
26350}
26351
26352type GetAutoSnapshotsInput struct {
26353	_ struct{} `type:"structure"`
26354
26355	// The name of the source instance or disk from which to get automatic snapshot
26356	// information.
26357	//
26358	// ResourceName is a required field
26359	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
26360}
26361
26362// String returns the string representation
26363func (s GetAutoSnapshotsInput) String() string {
26364	return awsutil.Prettify(s)
26365}
26366
26367// GoString returns the string representation
26368func (s GetAutoSnapshotsInput) GoString() string {
26369	return s.String()
26370}
26371
26372// Validate inspects the fields of the type to determine if they are valid.
26373func (s *GetAutoSnapshotsInput) Validate() error {
26374	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
26375	if s.ResourceName == nil {
26376		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
26377	}
26378
26379	if invalidParams.Len() > 0 {
26380		return invalidParams
26381	}
26382	return nil
26383}
26384
26385// SetResourceName sets the ResourceName field's value.
26386func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
26387	s.ResourceName = &v
26388	return s
26389}
26390
26391type GetAutoSnapshotsOutput struct {
26392	_ struct{} `type:"structure"`
26393
26394	// An array of objects that describe the automatic snapshots that are available
26395	// for the specified source instance or disk.
26396	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
26397
26398	// The name of the source instance or disk for the automatic snapshots.
26399	ResourceName *string `locationName:"resourceName" type:"string"`
26400
26401	// The resource type (e.g., Instance or Disk).
26402	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26403}
26404
26405// String returns the string representation
26406func (s GetAutoSnapshotsOutput) String() string {
26407	return awsutil.Prettify(s)
26408}
26409
26410// GoString returns the string representation
26411func (s GetAutoSnapshotsOutput) GoString() string {
26412	return s.String()
26413}
26414
26415// SetAutoSnapshots sets the AutoSnapshots field's value.
26416func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
26417	s.AutoSnapshots = v
26418	return s
26419}
26420
26421// SetResourceName sets the ResourceName field's value.
26422func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
26423	s.ResourceName = &v
26424	return s
26425}
26426
26427// SetResourceType sets the ResourceType field's value.
26428func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
26429	s.ResourceType = &v
26430	return s
26431}
26432
26433type GetBlueprintsInput struct {
26434	_ struct{} `type:"structure"`
26435
26436	// A Boolean value indicating whether to include inactive results in your request.
26437	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
26438
26439	// The token to advance to the next page of results from your request.
26440	//
26441	// To get a page token, perform an initial GetBlueprints request. If your results
26442	// are paginated, the response will return a next page token that you can specify
26443	// as the page token in a subsequent request.
26444	PageToken *string `locationName:"pageToken" type:"string"`
26445}
26446
26447// String returns the string representation
26448func (s GetBlueprintsInput) String() string {
26449	return awsutil.Prettify(s)
26450}
26451
26452// GoString returns the string representation
26453func (s GetBlueprintsInput) GoString() string {
26454	return s.String()
26455}
26456
26457// SetIncludeInactive sets the IncludeInactive field's value.
26458func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
26459	s.IncludeInactive = &v
26460	return s
26461}
26462
26463// SetPageToken sets the PageToken field's value.
26464func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
26465	s.PageToken = &v
26466	return s
26467}
26468
26469type GetBlueprintsOutput struct {
26470	_ struct{} `type:"structure"`
26471
26472	// An array of key-value pairs that contains information about the available
26473	// blueprints.
26474	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
26475
26476	// The token to advance to the next page of results from your request.
26477	//
26478	// A next page token is not returned if there are no more results to display.
26479	//
26480	// To get the next page of results, perform another GetBlueprints request and
26481	// specify the next page token using the pageToken parameter.
26482	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26483}
26484
26485// String returns the string representation
26486func (s GetBlueprintsOutput) String() string {
26487	return awsutil.Prettify(s)
26488}
26489
26490// GoString returns the string representation
26491func (s GetBlueprintsOutput) GoString() string {
26492	return s.String()
26493}
26494
26495// SetBlueprints sets the Blueprints field's value.
26496func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
26497	s.Blueprints = v
26498	return s
26499}
26500
26501// SetNextPageToken sets the NextPageToken field's value.
26502func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
26503	s.NextPageToken = &v
26504	return s
26505}
26506
26507type GetBucketAccessKeysInput struct {
26508	_ struct{} `type:"structure"`
26509
26510	// The name of the bucket for which to return access keys.
26511	//
26512	// BucketName is a required field
26513	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
26514}
26515
26516// String returns the string representation
26517func (s GetBucketAccessKeysInput) String() string {
26518	return awsutil.Prettify(s)
26519}
26520
26521// GoString returns the string representation
26522func (s GetBucketAccessKeysInput) GoString() string {
26523	return s.String()
26524}
26525
26526// Validate inspects the fields of the type to determine if they are valid.
26527func (s *GetBucketAccessKeysInput) Validate() error {
26528	invalidParams := request.ErrInvalidParams{Context: "GetBucketAccessKeysInput"}
26529	if s.BucketName == nil {
26530		invalidParams.Add(request.NewErrParamRequired("BucketName"))
26531	}
26532	if s.BucketName != nil && len(*s.BucketName) < 3 {
26533		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
26534	}
26535
26536	if invalidParams.Len() > 0 {
26537		return invalidParams
26538	}
26539	return nil
26540}
26541
26542// SetBucketName sets the BucketName field's value.
26543func (s *GetBucketAccessKeysInput) SetBucketName(v string) *GetBucketAccessKeysInput {
26544	s.BucketName = &v
26545	return s
26546}
26547
26548type GetBucketAccessKeysOutput struct {
26549	_ struct{} `type:"structure"`
26550
26551	// An object that describes the access keys for the specified bucket.
26552	AccessKeys []*AccessKey `locationName:"accessKeys" type:"list"`
26553}
26554
26555// String returns the string representation
26556func (s GetBucketAccessKeysOutput) String() string {
26557	return awsutil.Prettify(s)
26558}
26559
26560// GoString returns the string representation
26561func (s GetBucketAccessKeysOutput) GoString() string {
26562	return s.String()
26563}
26564
26565// SetAccessKeys sets the AccessKeys field's value.
26566func (s *GetBucketAccessKeysOutput) SetAccessKeys(v []*AccessKey) *GetBucketAccessKeysOutput {
26567	s.AccessKeys = v
26568	return s
26569}
26570
26571type GetBucketBundlesInput struct {
26572	_ struct{} `type:"structure"`
26573
26574	// A Boolean value that indicates whether to include inactive (unavailable)
26575	// bundles in the response.
26576	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
26577}
26578
26579// String returns the string representation
26580func (s GetBucketBundlesInput) String() string {
26581	return awsutil.Prettify(s)
26582}
26583
26584// GoString returns the string representation
26585func (s GetBucketBundlesInput) GoString() string {
26586	return s.String()
26587}
26588
26589// SetIncludeInactive sets the IncludeInactive field's value.
26590func (s *GetBucketBundlesInput) SetIncludeInactive(v bool) *GetBucketBundlesInput {
26591	s.IncludeInactive = &v
26592	return s
26593}
26594
26595type GetBucketBundlesOutput struct {
26596	_ struct{} `type:"structure"`
26597
26598	// An object that describes bucket bundles.
26599	Bundles []*BucketBundle `locationName:"bundles" type:"list"`
26600}
26601
26602// String returns the string representation
26603func (s GetBucketBundlesOutput) String() string {
26604	return awsutil.Prettify(s)
26605}
26606
26607// GoString returns the string representation
26608func (s GetBucketBundlesOutput) GoString() string {
26609	return s.String()
26610}
26611
26612// SetBundles sets the Bundles field's value.
26613func (s *GetBucketBundlesOutput) SetBundles(v []*BucketBundle) *GetBucketBundlesOutput {
26614	s.Bundles = v
26615	return s
26616}
26617
26618type GetBucketMetricDataInput struct {
26619	_ struct{} `type:"structure"`
26620
26621	// The name of the bucket for which to get metric data.
26622	//
26623	// BucketName is a required field
26624	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
26625
26626	// The timestamp indicating the latest data to be returned.
26627	//
26628	// EndTime is a required field
26629	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
26630
26631	// The metric for which you want to return information.
26632	//
26633	// Valid bucket metric names are listed below, along with the most useful statistics
26634	// to include in your request, and the published unit value.
26635	//
26636	// These bucket metrics are reported once per day.
26637	//
26638	//    * BucketSizeBytes - The amount of data in bytes stored in a bucket. This
26639	//    value is calculated by summing the size of all objects in the bucket (including
26640	//    object versions), including the size of all parts for all incomplete multipart
26641	//    uploads to the bucket. Statistics: The most useful statistic is Maximum.
26642	//    Unit: The published unit is Bytes.
26643	//
26644	//    * NumberOfObjects - The total number of objects stored in a bucket. This
26645	//    value is calculated by counting all objects in the bucket (including object
26646	//    versions) and the total number of parts for all incomplete multipart uploads
26647	//    to the bucket. Statistics: The most useful statistic is Average. Unit:
26648	//    The published unit is Count.
26649	//
26650	// MetricName is a required field
26651	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"BucketMetricName"`
26652
26653	// The granularity, in seconds, of the returned data points.
26654	//
26655	// Bucket storage metrics are reported once per day. Therefore, you should specify
26656	// a period of 86400 seconds, which is the number of seconds in a day.
26657	//
26658	// Period is a required field
26659	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
26660
26661	// The timestamp indicating the earliest data to be returned.
26662	//
26663	// StartTime is a required field
26664	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
26665
26666	// The statistic for the metric.
26667	//
26668	// The following statistics are available:
26669	//
26670	//    * Minimum - The lowest value observed during the specified period. Use
26671	//    this value to determine low volumes of activity for your application.
26672	//
26673	//    * Maximum - The highest value observed during the specified period. Use
26674	//    this value to determine high volumes of activity for your application.
26675	//
26676	//    * Sum - The sum of all values submitted for the matching metric. You can
26677	//    use this statistic to determine the total volume of a metric.
26678	//
26679	//    * Average - The value of Sum / SampleCount during the specified period.
26680	//    By comparing this statistic with the Minimum and Maximum values, you can
26681	//    determine the full scope of a metric and how close the average use is
26682	//    to the Minimum and Maximum values. This comparison helps you to know when
26683	//    to increase or decrease your resources.
26684	//
26685	//    * SampleCount - The count, or number, of data points used for the statistical
26686	//    calculation.
26687	//
26688	// Statistics is a required field
26689	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
26690
26691	// The unit for the metric data request.
26692	//
26693	// Valid units depend on the metric data being requested. For the valid units
26694	// with each available metric, see the metricName parameter.
26695	//
26696	// Unit is a required field
26697	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
26698}
26699
26700// String returns the string representation
26701func (s GetBucketMetricDataInput) String() string {
26702	return awsutil.Prettify(s)
26703}
26704
26705// GoString returns the string representation
26706func (s GetBucketMetricDataInput) GoString() string {
26707	return s.String()
26708}
26709
26710// Validate inspects the fields of the type to determine if they are valid.
26711func (s *GetBucketMetricDataInput) Validate() error {
26712	invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricDataInput"}
26713	if s.BucketName == nil {
26714		invalidParams.Add(request.NewErrParamRequired("BucketName"))
26715	}
26716	if s.BucketName != nil && len(*s.BucketName) < 3 {
26717		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
26718	}
26719	if s.EndTime == nil {
26720		invalidParams.Add(request.NewErrParamRequired("EndTime"))
26721	}
26722	if s.MetricName == nil {
26723		invalidParams.Add(request.NewErrParamRequired("MetricName"))
26724	}
26725	if s.Period == nil {
26726		invalidParams.Add(request.NewErrParamRequired("Period"))
26727	}
26728	if s.Period != nil && *s.Period < 60 {
26729		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
26730	}
26731	if s.StartTime == nil {
26732		invalidParams.Add(request.NewErrParamRequired("StartTime"))
26733	}
26734	if s.Statistics == nil {
26735		invalidParams.Add(request.NewErrParamRequired("Statistics"))
26736	}
26737	if s.Unit == nil {
26738		invalidParams.Add(request.NewErrParamRequired("Unit"))
26739	}
26740
26741	if invalidParams.Len() > 0 {
26742		return invalidParams
26743	}
26744	return nil
26745}
26746
26747// SetBucketName sets the BucketName field's value.
26748func (s *GetBucketMetricDataInput) SetBucketName(v string) *GetBucketMetricDataInput {
26749	s.BucketName = &v
26750	return s
26751}
26752
26753// SetEndTime sets the EndTime field's value.
26754func (s *GetBucketMetricDataInput) SetEndTime(v time.Time) *GetBucketMetricDataInput {
26755	s.EndTime = &v
26756	return s
26757}
26758
26759// SetMetricName sets the MetricName field's value.
26760func (s *GetBucketMetricDataInput) SetMetricName(v string) *GetBucketMetricDataInput {
26761	s.MetricName = &v
26762	return s
26763}
26764
26765// SetPeriod sets the Period field's value.
26766func (s *GetBucketMetricDataInput) SetPeriod(v int64) *GetBucketMetricDataInput {
26767	s.Period = &v
26768	return s
26769}
26770
26771// SetStartTime sets the StartTime field's value.
26772func (s *GetBucketMetricDataInput) SetStartTime(v time.Time) *GetBucketMetricDataInput {
26773	s.StartTime = &v
26774	return s
26775}
26776
26777// SetStatistics sets the Statistics field's value.
26778func (s *GetBucketMetricDataInput) SetStatistics(v []*string) *GetBucketMetricDataInput {
26779	s.Statistics = v
26780	return s
26781}
26782
26783// SetUnit sets the Unit field's value.
26784func (s *GetBucketMetricDataInput) SetUnit(v string) *GetBucketMetricDataInput {
26785	s.Unit = &v
26786	return s
26787}
26788
26789type GetBucketMetricDataOutput struct {
26790	_ struct{} `type:"structure"`
26791
26792	// An array of objects that describe the metric data returned.
26793	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
26794
26795	// The name of the metric returned.
26796	MetricName *string `locationName:"metricName" type:"string" enum:"BucketMetricName"`
26797}
26798
26799// String returns the string representation
26800func (s GetBucketMetricDataOutput) String() string {
26801	return awsutil.Prettify(s)
26802}
26803
26804// GoString returns the string representation
26805func (s GetBucketMetricDataOutput) GoString() string {
26806	return s.String()
26807}
26808
26809// SetMetricData sets the MetricData field's value.
26810func (s *GetBucketMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetBucketMetricDataOutput {
26811	s.MetricData = v
26812	return s
26813}
26814
26815// SetMetricName sets the MetricName field's value.
26816func (s *GetBucketMetricDataOutput) SetMetricName(v string) *GetBucketMetricDataOutput {
26817	s.MetricName = &v
26818	return s
26819}
26820
26821type GetBucketsInput struct {
26822	_ struct{} `type:"structure"`
26823
26824	// The name of the bucket for which to return information.
26825	//
26826	// When omitted, the response includes all of your buckets in the AWS Region
26827	// where the request is made.
26828	BucketName *string `locationName:"bucketName" min:"3" type:"string"`
26829
26830	// A Boolean value that indicates whether to include Lightsail instances that
26831	// were given access to the bucket using the SetResourceAccessForBucket action.
26832	IncludeConnectedResources *bool `locationName:"includeConnectedResources" type:"boolean"`
26833
26834	// The token to advance to the next page of results from your request.
26835	//
26836	// To get a page token, perform an initial GetBuckets request. If your results
26837	// are paginated, the response will return a next page token that you can specify
26838	// as the page token in a subsequent request.
26839	PageToken *string `locationName:"pageToken" type:"string"`
26840}
26841
26842// String returns the string representation
26843func (s GetBucketsInput) String() string {
26844	return awsutil.Prettify(s)
26845}
26846
26847// GoString returns the string representation
26848func (s GetBucketsInput) GoString() string {
26849	return s.String()
26850}
26851
26852// Validate inspects the fields of the type to determine if they are valid.
26853func (s *GetBucketsInput) Validate() error {
26854	invalidParams := request.ErrInvalidParams{Context: "GetBucketsInput"}
26855	if s.BucketName != nil && len(*s.BucketName) < 3 {
26856		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
26857	}
26858
26859	if invalidParams.Len() > 0 {
26860		return invalidParams
26861	}
26862	return nil
26863}
26864
26865// SetBucketName sets the BucketName field's value.
26866func (s *GetBucketsInput) SetBucketName(v string) *GetBucketsInput {
26867	s.BucketName = &v
26868	return s
26869}
26870
26871// SetIncludeConnectedResources sets the IncludeConnectedResources field's value.
26872func (s *GetBucketsInput) SetIncludeConnectedResources(v bool) *GetBucketsInput {
26873	s.IncludeConnectedResources = &v
26874	return s
26875}
26876
26877// SetPageToken sets the PageToken field's value.
26878func (s *GetBucketsInput) SetPageToken(v string) *GetBucketsInput {
26879	s.PageToken = &v
26880	return s
26881}
26882
26883type GetBucketsOutput struct {
26884	_ struct{} `type:"structure"`
26885
26886	// An array of objects that describe buckets.
26887	Buckets []*Bucket `locationName:"buckets" type:"list"`
26888
26889	// The token to advance to the next page of results from your request.
26890	//
26891	// A next page token is not returned if there are no more results to display.
26892	//
26893	// To get the next page of results, perform another GetBuckets request and specify
26894	// the next page token using the pageToken parameter.
26895	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26896}
26897
26898// String returns the string representation
26899func (s GetBucketsOutput) String() string {
26900	return awsutil.Prettify(s)
26901}
26902
26903// GoString returns the string representation
26904func (s GetBucketsOutput) GoString() string {
26905	return s.String()
26906}
26907
26908// SetBuckets sets the Buckets field's value.
26909func (s *GetBucketsOutput) SetBuckets(v []*Bucket) *GetBucketsOutput {
26910	s.Buckets = v
26911	return s
26912}
26913
26914// SetNextPageToken sets the NextPageToken field's value.
26915func (s *GetBucketsOutput) SetNextPageToken(v string) *GetBucketsOutput {
26916	s.NextPageToken = &v
26917	return s
26918}
26919
26920type GetBundlesInput struct {
26921	_ struct{} `type:"structure"`
26922
26923	// A Boolean value that indicates whether to include inactive bundle results
26924	// in your request.
26925	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
26926
26927	// The token to advance to the next page of results from your request.
26928	//
26929	// To get a page token, perform an initial GetBundles request. If your results
26930	// are paginated, the response will return a next page token that you can specify
26931	// as the page token in a subsequent request.
26932	PageToken *string `locationName:"pageToken" type:"string"`
26933}
26934
26935// String returns the string representation
26936func (s GetBundlesInput) String() string {
26937	return awsutil.Prettify(s)
26938}
26939
26940// GoString returns the string representation
26941func (s GetBundlesInput) GoString() string {
26942	return s.String()
26943}
26944
26945// SetIncludeInactive sets the IncludeInactive field's value.
26946func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
26947	s.IncludeInactive = &v
26948	return s
26949}
26950
26951// SetPageToken sets the PageToken field's value.
26952func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
26953	s.PageToken = &v
26954	return s
26955}
26956
26957type GetBundlesOutput struct {
26958	_ struct{} `type:"structure"`
26959
26960	// An array of key-value pairs that contains information about the available
26961	// bundles.
26962	Bundles []*Bundle `locationName:"bundles" type:"list"`
26963
26964	// The token to advance to the next page of results from your request.
26965	//
26966	// A next page token is not returned if there are no more results to display.
26967	//
26968	// To get the next page of results, perform another GetBundles request and specify
26969	// the next page token using the pageToken parameter.
26970	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26971}
26972
26973// String returns the string representation
26974func (s GetBundlesOutput) String() string {
26975	return awsutil.Prettify(s)
26976}
26977
26978// GoString returns the string representation
26979func (s GetBundlesOutput) GoString() string {
26980	return s.String()
26981}
26982
26983// SetBundles sets the Bundles field's value.
26984func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
26985	s.Bundles = v
26986	return s
26987}
26988
26989// SetNextPageToken sets the NextPageToken field's value.
26990func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
26991	s.NextPageToken = &v
26992	return s
26993}
26994
26995type GetCertificatesInput struct {
26996	_ struct{} `type:"structure"`
26997
26998	// The name for the certificate for which to return information.
26999	//
27000	// When omitted, the response includes all of your certificates in the AWS Region
27001	// where the request is made.
27002	CertificateName *string `locationName:"certificateName" type:"string"`
27003
27004	// The status of the certificates for which to return information.
27005	//
27006	// For example, specify ISSUED to return only certificates with an ISSUED status.
27007	//
27008	// When omitted, the response includes all of your certificates in the AWS Region
27009	// where the request is made, regardless of their current status.
27010	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
27011
27012	// Indicates whether to include detailed information about the certificates
27013	// in the response.
27014	//
27015	// When omitted, the response includes only the certificate names, Amazon Resource
27016	// Names (ARNs), domain names, and tags.
27017	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
27018}
27019
27020// String returns the string representation
27021func (s GetCertificatesInput) String() string {
27022	return awsutil.Prettify(s)
27023}
27024
27025// GoString returns the string representation
27026func (s GetCertificatesInput) GoString() string {
27027	return s.String()
27028}
27029
27030// SetCertificateName sets the CertificateName field's value.
27031func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
27032	s.CertificateName = &v
27033	return s
27034}
27035
27036// SetCertificateStatuses sets the CertificateStatuses field's value.
27037func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
27038	s.CertificateStatuses = v
27039	return s
27040}
27041
27042// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
27043func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
27044	s.IncludeCertificateDetails = &v
27045	return s
27046}
27047
27048type GetCertificatesOutput struct {
27049	_ struct{} `type:"structure"`
27050
27051	// An object that describes certificates.
27052	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
27053}
27054
27055// String returns the string representation
27056func (s GetCertificatesOutput) String() string {
27057	return awsutil.Prettify(s)
27058}
27059
27060// GoString returns the string representation
27061func (s GetCertificatesOutput) GoString() string {
27062	return s.String()
27063}
27064
27065// SetCertificates sets the Certificates field's value.
27066func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
27067	s.Certificates = v
27068	return s
27069}
27070
27071type GetCloudFormationStackRecordsInput struct {
27072	_ struct{} `type:"structure"`
27073
27074	// The token to advance to the next page of results from your request.
27075	//
27076	// To get a page token, perform an initial GetClouFormationStackRecords request.
27077	// If your results are paginated, the response will return a next page token
27078	// that you can specify as the page token in a subsequent request.
27079	PageToken *string `locationName:"pageToken" type:"string"`
27080}
27081
27082// String returns the string representation
27083func (s GetCloudFormationStackRecordsInput) String() string {
27084	return awsutil.Prettify(s)
27085}
27086
27087// GoString returns the string representation
27088func (s GetCloudFormationStackRecordsInput) GoString() string {
27089	return s.String()
27090}
27091
27092// SetPageToken sets the PageToken field's value.
27093func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
27094	s.PageToken = &v
27095	return s
27096}
27097
27098type GetCloudFormationStackRecordsOutput struct {
27099	_ struct{} `type:"structure"`
27100
27101	// A list of objects describing the CloudFormation stack records.
27102	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
27103
27104	// The token to advance to the next page of results from your request.
27105	//
27106	// A next page token is not returned if there are no more results to display.
27107	//
27108	// To get the next page of results, perform another GetCloudFormationStackRecords
27109	// request and specify the next page token using the pageToken parameter.
27110	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27111}
27112
27113// String returns the string representation
27114func (s GetCloudFormationStackRecordsOutput) String() string {
27115	return awsutil.Prettify(s)
27116}
27117
27118// GoString returns the string representation
27119func (s GetCloudFormationStackRecordsOutput) GoString() string {
27120	return s.String()
27121}
27122
27123// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
27124func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
27125	s.CloudFormationStackRecords = v
27126	return s
27127}
27128
27129// SetNextPageToken sets the NextPageToken field's value.
27130func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
27131	s.NextPageToken = &v
27132	return s
27133}
27134
27135type GetContactMethodsInput struct {
27136	_ struct{} `type:"structure"`
27137
27138	// The protocols used to send notifications, such as Email, or SMS (text messaging).
27139	//
27140	// Specify a protocol in your request to return information about a specific
27141	// contact method protocol.
27142	Protocols []*string `locationName:"protocols" type:"list"`
27143}
27144
27145// String returns the string representation
27146func (s GetContactMethodsInput) String() string {
27147	return awsutil.Prettify(s)
27148}
27149
27150// GoString returns the string representation
27151func (s GetContactMethodsInput) GoString() string {
27152	return s.String()
27153}
27154
27155// SetProtocols sets the Protocols field's value.
27156func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
27157	s.Protocols = v
27158	return s
27159}
27160
27161type GetContactMethodsOutput struct {
27162	_ struct{} `type:"structure"`
27163
27164	// An array of objects that describe the contact methods.
27165	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
27166}
27167
27168// String returns the string representation
27169func (s GetContactMethodsOutput) String() string {
27170	return awsutil.Prettify(s)
27171}
27172
27173// GoString returns the string representation
27174func (s GetContactMethodsOutput) GoString() string {
27175	return s.String()
27176}
27177
27178// SetContactMethods sets the ContactMethods field's value.
27179func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
27180	s.ContactMethods = v
27181	return s
27182}
27183
27184type GetContainerAPIMetadataInput struct {
27185	_ struct{} `type:"structure"`
27186}
27187
27188// String returns the string representation
27189func (s GetContainerAPIMetadataInput) String() string {
27190	return awsutil.Prettify(s)
27191}
27192
27193// GoString returns the string representation
27194func (s GetContainerAPIMetadataInput) GoString() string {
27195	return s.String()
27196}
27197
27198type GetContainerAPIMetadataOutput struct {
27199	_ struct{} `type:"structure"`
27200
27201	// Metadata about Lightsail containers, such as the current version of the Lightsail
27202	// Control (lightsailctl) plugin.
27203	Metadata []map[string]*string `locationName:"metadata" type:"list"`
27204}
27205
27206// String returns the string representation
27207func (s GetContainerAPIMetadataOutput) String() string {
27208	return awsutil.Prettify(s)
27209}
27210
27211// GoString returns the string representation
27212func (s GetContainerAPIMetadataOutput) GoString() string {
27213	return s.String()
27214}
27215
27216// SetMetadata sets the Metadata field's value.
27217func (s *GetContainerAPIMetadataOutput) SetMetadata(v []map[string]*string) *GetContainerAPIMetadataOutput {
27218	s.Metadata = v
27219	return s
27220}
27221
27222type GetContainerImagesInput struct {
27223	_ struct{} `type:"structure"`
27224
27225	// The name of the container service for which to return registered container
27226	// images.
27227	//
27228	// ServiceName is a required field
27229	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
27230}
27231
27232// String returns the string representation
27233func (s GetContainerImagesInput) String() string {
27234	return awsutil.Prettify(s)
27235}
27236
27237// GoString returns the string representation
27238func (s GetContainerImagesInput) GoString() string {
27239	return s.String()
27240}
27241
27242// Validate inspects the fields of the type to determine if they are valid.
27243func (s *GetContainerImagesInput) Validate() error {
27244	invalidParams := request.ErrInvalidParams{Context: "GetContainerImagesInput"}
27245	if s.ServiceName == nil {
27246		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
27247	}
27248	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
27249		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
27250	}
27251
27252	if invalidParams.Len() > 0 {
27253		return invalidParams
27254	}
27255	return nil
27256}
27257
27258// SetServiceName sets the ServiceName field's value.
27259func (s *GetContainerImagesInput) SetServiceName(v string) *GetContainerImagesInput {
27260	s.ServiceName = &v
27261	return s
27262}
27263
27264type GetContainerImagesOutput struct {
27265	_ struct{} `type:"structure"`
27266
27267	// An array of objects that describe container images that are registered to
27268	// the container service.
27269	ContainerImages []*ContainerImage `locationName:"containerImages" type:"list"`
27270}
27271
27272// String returns the string representation
27273func (s GetContainerImagesOutput) String() string {
27274	return awsutil.Prettify(s)
27275}
27276
27277// GoString returns the string representation
27278func (s GetContainerImagesOutput) GoString() string {
27279	return s.String()
27280}
27281
27282// SetContainerImages sets the ContainerImages field's value.
27283func (s *GetContainerImagesOutput) SetContainerImages(v []*ContainerImage) *GetContainerImagesOutput {
27284	s.ContainerImages = v
27285	return s
27286}
27287
27288type GetContainerLogInput struct {
27289	_ struct{} `type:"structure"`
27290
27291	// The name of the container that is either running or previously ran on the
27292	// container service for which to return a log.
27293	//
27294	// ContainerName is a required field
27295	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
27296
27297	// The end of the time interval for which to get log data.
27298	//
27299	// Constraints:
27300	//
27301	//    * Specified in Coordinated Universal Time (UTC).
27302	//
27303	//    * Specified in the Unix time format. For example, if you wish to use an
27304	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
27305	//    time.
27306	//
27307	// You can convert a human-friendly time to Unix time format using a converter
27308	// like Epoch converter (https://www.epochconverter.com/).
27309	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
27310
27311	// The pattern to use to filter the returned log events to a specific term.
27312	//
27313	// The following are a few examples of filter patterns that you can specify:
27314	//
27315	//    * To return all log events, specify a filter pattern of "".
27316	//
27317	//    * To exclude log events that contain the ERROR term, and return all other
27318	//    log events, specify a filter pattern of "-ERROR".
27319	//
27320	//    * To return log events that contain the ERROR term, specify a filter pattern
27321	//    of "ERROR".
27322	//
27323	//    * To return log events that contain both the ERROR and Exception terms,
27324	//    specify a filter pattern of "ERROR Exception".
27325	//
27326	//    * To return log events that contain the ERROR or the Exception term, specify
27327	//    a filter pattern of "?ERROR ?Exception".
27328	FilterPattern *string `locationName:"filterPattern" type:"string"`
27329
27330	// The token to advance to the next page of results from your request.
27331	//
27332	// To get a page token, perform an initial GetContainerLog request. If your
27333	// results are paginated, the response will return a next page token that you
27334	// can specify as the page token in a subsequent request.
27335	PageToken *string `locationName:"pageToken" type:"string"`
27336
27337	// The name of the container service for which to get a container log.
27338	//
27339	// ServiceName is a required field
27340	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
27341
27342	// The start of the time interval for which to get log data.
27343	//
27344	// Constraints:
27345	//
27346	//    * Specified in Coordinated Universal Time (UTC).
27347	//
27348	//    * Specified in the Unix time format. For example, if you wish to use a
27349	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
27350	//    start time.
27351	//
27352	// You can convert a human-friendly time to Unix time format using a converter
27353	// like Epoch converter (https://www.epochconverter.com/).
27354	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
27355}
27356
27357// String returns the string representation
27358func (s GetContainerLogInput) String() string {
27359	return awsutil.Prettify(s)
27360}
27361
27362// GoString returns the string representation
27363func (s GetContainerLogInput) GoString() string {
27364	return s.String()
27365}
27366
27367// Validate inspects the fields of the type to determine if they are valid.
27368func (s *GetContainerLogInput) Validate() error {
27369	invalidParams := request.ErrInvalidParams{Context: "GetContainerLogInput"}
27370	if s.ContainerName == nil {
27371		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
27372	}
27373	if s.ServiceName == nil {
27374		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
27375	}
27376	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
27377		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
27378	}
27379
27380	if invalidParams.Len() > 0 {
27381		return invalidParams
27382	}
27383	return nil
27384}
27385
27386// SetContainerName sets the ContainerName field's value.
27387func (s *GetContainerLogInput) SetContainerName(v string) *GetContainerLogInput {
27388	s.ContainerName = &v
27389	return s
27390}
27391
27392// SetEndTime sets the EndTime field's value.
27393func (s *GetContainerLogInput) SetEndTime(v time.Time) *GetContainerLogInput {
27394	s.EndTime = &v
27395	return s
27396}
27397
27398// SetFilterPattern sets the FilterPattern field's value.
27399func (s *GetContainerLogInput) SetFilterPattern(v string) *GetContainerLogInput {
27400	s.FilterPattern = &v
27401	return s
27402}
27403
27404// SetPageToken sets the PageToken field's value.
27405func (s *GetContainerLogInput) SetPageToken(v string) *GetContainerLogInput {
27406	s.PageToken = &v
27407	return s
27408}
27409
27410// SetServiceName sets the ServiceName field's value.
27411func (s *GetContainerLogInput) SetServiceName(v string) *GetContainerLogInput {
27412	s.ServiceName = &v
27413	return s
27414}
27415
27416// SetStartTime sets the StartTime field's value.
27417func (s *GetContainerLogInput) SetStartTime(v time.Time) *GetContainerLogInput {
27418	s.StartTime = &v
27419	return s
27420}
27421
27422type GetContainerLogOutput struct {
27423	_ struct{} `type:"structure"`
27424
27425	// An array of objects that describe the log events of a container.
27426	LogEvents []*ContainerServiceLogEvent `locationName:"logEvents" type:"list"`
27427
27428	// The token to advance to the next page of results from your request.
27429	//
27430	// A next page token is not returned if there are no more results to display.
27431	//
27432	// To get the next page of results, perform another GetContainerLog request
27433	// and specify the next page token using the pageToken parameter.
27434	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27435}
27436
27437// String returns the string representation
27438func (s GetContainerLogOutput) String() string {
27439	return awsutil.Prettify(s)
27440}
27441
27442// GoString returns the string representation
27443func (s GetContainerLogOutput) GoString() string {
27444	return s.String()
27445}
27446
27447// SetLogEvents sets the LogEvents field's value.
27448func (s *GetContainerLogOutput) SetLogEvents(v []*ContainerServiceLogEvent) *GetContainerLogOutput {
27449	s.LogEvents = v
27450	return s
27451}
27452
27453// SetNextPageToken sets the NextPageToken field's value.
27454func (s *GetContainerLogOutput) SetNextPageToken(v string) *GetContainerLogOutput {
27455	s.NextPageToken = &v
27456	return s
27457}
27458
27459type GetContainerServiceDeploymentsInput struct {
27460	_ struct{} `type:"structure"`
27461
27462	// The name of the container service for which to return deployments.
27463	//
27464	// ServiceName is a required field
27465	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
27466}
27467
27468// String returns the string representation
27469func (s GetContainerServiceDeploymentsInput) String() string {
27470	return awsutil.Prettify(s)
27471}
27472
27473// GoString returns the string representation
27474func (s GetContainerServiceDeploymentsInput) GoString() string {
27475	return s.String()
27476}
27477
27478// Validate inspects the fields of the type to determine if they are valid.
27479func (s *GetContainerServiceDeploymentsInput) Validate() error {
27480	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceDeploymentsInput"}
27481	if s.ServiceName == nil {
27482		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
27483	}
27484	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
27485		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
27486	}
27487
27488	if invalidParams.Len() > 0 {
27489		return invalidParams
27490	}
27491	return nil
27492}
27493
27494// SetServiceName sets the ServiceName field's value.
27495func (s *GetContainerServiceDeploymentsInput) SetServiceName(v string) *GetContainerServiceDeploymentsInput {
27496	s.ServiceName = &v
27497	return s
27498}
27499
27500type GetContainerServiceDeploymentsOutput struct {
27501	_ struct{} `type:"structure"`
27502
27503	// An array of objects that describe deployments for a container service.
27504	Deployments []*ContainerServiceDeployment `locationName:"deployments" type:"list"`
27505}
27506
27507// String returns the string representation
27508func (s GetContainerServiceDeploymentsOutput) String() string {
27509	return awsutil.Prettify(s)
27510}
27511
27512// GoString returns the string representation
27513func (s GetContainerServiceDeploymentsOutput) GoString() string {
27514	return s.String()
27515}
27516
27517// SetDeployments sets the Deployments field's value.
27518func (s *GetContainerServiceDeploymentsOutput) SetDeployments(v []*ContainerServiceDeployment) *GetContainerServiceDeploymentsOutput {
27519	s.Deployments = v
27520	return s
27521}
27522
27523type GetContainerServiceMetricDataInput struct {
27524	_ struct{} `type:"structure"`
27525
27526	// The end time of the time period.
27527	//
27528	// EndTime is a required field
27529	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
27530
27531	// The metric for which you want to return information.
27532	//
27533	// Valid container service metric names are listed below, along with the most
27534	// useful statistics to include in your request, and the published unit value.
27535	//
27536	//    * CPUUtilization - The average percentage of compute units that are currently
27537	//    in use across all nodes of the container service. This metric identifies
27538	//    the processing power required to run containers on each node of the container
27539	//    service. Statistics: The most useful statistics are Maximum and Average.
27540	//    Unit: The published unit is Percent.
27541	//
27542	//    * MemoryUtilization - The average percentage of available memory that
27543	//    is currently in use across all nodes of the container service. This metric
27544	//    identifies the memory required to run containers on each node of the container
27545	//    service. Statistics: The most useful statistics are Maximum and Average.
27546	//    Unit: The published unit is Percent.
27547	//
27548	// MetricName is a required field
27549	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"ContainerServiceMetricName"`
27550
27551	// The granularity, in seconds, of the returned data points.
27552	//
27553	// All container service metric data is available in 5-minute (300 seconds)
27554	// granularity.
27555	//
27556	// Period is a required field
27557	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
27558
27559	// The name of the container service for which to get metric data.
27560	//
27561	// ServiceName is a required field
27562	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
27563
27564	// The start time of the time period.
27565	//
27566	// StartTime is a required field
27567	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
27568
27569	// The statistic for the metric.
27570	//
27571	// The following statistics are available:
27572	//
27573	//    * Minimum - The lowest value observed during the specified period. Use
27574	//    this value to determine low volumes of activity for your application.
27575	//
27576	//    * Maximum - The highest value observed during the specified period. Use
27577	//    this value to determine high volumes of activity for your application.
27578	//
27579	//    * Sum - All values submitted for the matching metric added together. You
27580	//    can use this statistic to determine the total volume of a metric.
27581	//
27582	//    * Average - The value of Sum / SampleCount during the specified period.
27583	//    By comparing this statistic with the Minimum and Maximum values, you can
27584	//    determine the full scope of a metric and how close the average use is
27585	//    to the Minimum and Maximum values. This comparison helps you to know when
27586	//    to increase or decrease your resources.
27587	//
27588	//    * SampleCount - The count, or number, of data points used for the statistical
27589	//    calculation.
27590	//
27591	// Statistics is a required field
27592	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
27593}
27594
27595// String returns the string representation
27596func (s GetContainerServiceMetricDataInput) String() string {
27597	return awsutil.Prettify(s)
27598}
27599
27600// GoString returns the string representation
27601func (s GetContainerServiceMetricDataInput) GoString() string {
27602	return s.String()
27603}
27604
27605// Validate inspects the fields of the type to determine if they are valid.
27606func (s *GetContainerServiceMetricDataInput) Validate() error {
27607	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceMetricDataInput"}
27608	if s.EndTime == nil {
27609		invalidParams.Add(request.NewErrParamRequired("EndTime"))
27610	}
27611	if s.MetricName == nil {
27612		invalidParams.Add(request.NewErrParamRequired("MetricName"))
27613	}
27614	if s.Period == nil {
27615		invalidParams.Add(request.NewErrParamRequired("Period"))
27616	}
27617	if s.Period != nil && *s.Period < 60 {
27618		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
27619	}
27620	if s.ServiceName == nil {
27621		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
27622	}
27623	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
27624		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
27625	}
27626	if s.StartTime == nil {
27627		invalidParams.Add(request.NewErrParamRequired("StartTime"))
27628	}
27629	if s.Statistics == nil {
27630		invalidParams.Add(request.NewErrParamRequired("Statistics"))
27631	}
27632
27633	if invalidParams.Len() > 0 {
27634		return invalidParams
27635	}
27636	return nil
27637}
27638
27639// SetEndTime sets the EndTime field's value.
27640func (s *GetContainerServiceMetricDataInput) SetEndTime(v time.Time) *GetContainerServiceMetricDataInput {
27641	s.EndTime = &v
27642	return s
27643}
27644
27645// SetMetricName sets the MetricName field's value.
27646func (s *GetContainerServiceMetricDataInput) SetMetricName(v string) *GetContainerServiceMetricDataInput {
27647	s.MetricName = &v
27648	return s
27649}
27650
27651// SetPeriod sets the Period field's value.
27652func (s *GetContainerServiceMetricDataInput) SetPeriod(v int64) *GetContainerServiceMetricDataInput {
27653	s.Period = &v
27654	return s
27655}
27656
27657// SetServiceName sets the ServiceName field's value.
27658func (s *GetContainerServiceMetricDataInput) SetServiceName(v string) *GetContainerServiceMetricDataInput {
27659	s.ServiceName = &v
27660	return s
27661}
27662
27663// SetStartTime sets the StartTime field's value.
27664func (s *GetContainerServiceMetricDataInput) SetStartTime(v time.Time) *GetContainerServiceMetricDataInput {
27665	s.StartTime = &v
27666	return s
27667}
27668
27669// SetStatistics sets the Statistics field's value.
27670func (s *GetContainerServiceMetricDataInput) SetStatistics(v []*string) *GetContainerServiceMetricDataInput {
27671	s.Statistics = v
27672	return s
27673}
27674
27675type GetContainerServiceMetricDataOutput struct {
27676	_ struct{} `type:"structure"`
27677
27678	// An array of objects that describe the metric data returned.
27679	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
27680
27681	// The name of the metric returned.
27682	MetricName *string `locationName:"metricName" type:"string" enum:"ContainerServiceMetricName"`
27683}
27684
27685// String returns the string representation
27686func (s GetContainerServiceMetricDataOutput) String() string {
27687	return awsutil.Prettify(s)
27688}
27689
27690// GoString returns the string representation
27691func (s GetContainerServiceMetricDataOutput) GoString() string {
27692	return s.String()
27693}
27694
27695// SetMetricData sets the MetricData field's value.
27696func (s *GetContainerServiceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetContainerServiceMetricDataOutput {
27697	s.MetricData = v
27698	return s
27699}
27700
27701// SetMetricName sets the MetricName field's value.
27702func (s *GetContainerServiceMetricDataOutput) SetMetricName(v string) *GetContainerServiceMetricDataOutput {
27703	s.MetricName = &v
27704	return s
27705}
27706
27707type GetContainerServicePowersInput struct {
27708	_ struct{} `type:"structure"`
27709}
27710
27711// String returns the string representation
27712func (s GetContainerServicePowersInput) String() string {
27713	return awsutil.Prettify(s)
27714}
27715
27716// GoString returns the string representation
27717func (s GetContainerServicePowersInput) GoString() string {
27718	return s.String()
27719}
27720
27721type GetContainerServicePowersOutput struct {
27722	_ struct{} `type:"structure"`
27723
27724	// An array of objects that describe the powers that can be specified for a
27725	// container service.
27726	Powers []*ContainerServicePower `locationName:"powers" type:"list"`
27727}
27728
27729// String returns the string representation
27730func (s GetContainerServicePowersOutput) String() string {
27731	return awsutil.Prettify(s)
27732}
27733
27734// GoString returns the string representation
27735func (s GetContainerServicePowersOutput) GoString() string {
27736	return s.String()
27737}
27738
27739// SetPowers sets the Powers field's value.
27740func (s *GetContainerServicePowersOutput) SetPowers(v []*ContainerServicePower) *GetContainerServicePowersOutput {
27741	s.Powers = v
27742	return s
27743}
27744
27745type GetContainerServicesInput struct {
27746	_ struct{} `type:"structure"`
27747
27748	// The name of the container service for which to return information.
27749	//
27750	// When omitted, the response includes all of your container services in the
27751	// AWS Region where the request is made.
27752	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
27753}
27754
27755// String returns the string representation
27756func (s GetContainerServicesInput) String() string {
27757	return awsutil.Prettify(s)
27758}
27759
27760// GoString returns the string representation
27761func (s GetContainerServicesInput) GoString() string {
27762	return s.String()
27763}
27764
27765// Validate inspects the fields of the type to determine if they are valid.
27766func (s *GetContainerServicesInput) Validate() error {
27767	invalidParams := request.ErrInvalidParams{Context: "GetContainerServicesInput"}
27768	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
27769		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
27770	}
27771
27772	if invalidParams.Len() > 0 {
27773		return invalidParams
27774	}
27775	return nil
27776}
27777
27778// SetServiceName sets the ServiceName field's value.
27779func (s *GetContainerServicesInput) SetServiceName(v string) *GetContainerServicesInput {
27780	s.ServiceName = &v
27781	return s
27782}
27783
27784type GetContainerServicesOutput struct {
27785	_ struct{} `type:"structure"`
27786
27787	// An array of objects that describe one or more container services.
27788	ContainerServices []*ContainerService `locationName:"containerServices" type:"list"`
27789}
27790
27791// String returns the string representation
27792func (s GetContainerServicesOutput) String() string {
27793	return awsutil.Prettify(s)
27794}
27795
27796// GoString returns the string representation
27797func (s GetContainerServicesOutput) GoString() string {
27798	return s.String()
27799}
27800
27801// SetContainerServices sets the ContainerServices field's value.
27802func (s *GetContainerServicesOutput) SetContainerServices(v []*ContainerService) *GetContainerServicesOutput {
27803	s.ContainerServices = v
27804	return s
27805}
27806
27807type GetDiskInput struct {
27808	_ struct{} `type:"structure"`
27809
27810	// The name of the disk (e.g., my-disk).
27811	//
27812	// DiskName is a required field
27813	DiskName *string `locationName:"diskName" type:"string" required:"true"`
27814}
27815
27816// String returns the string representation
27817func (s GetDiskInput) String() string {
27818	return awsutil.Prettify(s)
27819}
27820
27821// GoString returns the string representation
27822func (s GetDiskInput) GoString() string {
27823	return s.String()
27824}
27825
27826// Validate inspects the fields of the type to determine if they are valid.
27827func (s *GetDiskInput) Validate() error {
27828	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
27829	if s.DiskName == nil {
27830		invalidParams.Add(request.NewErrParamRequired("DiskName"))
27831	}
27832
27833	if invalidParams.Len() > 0 {
27834		return invalidParams
27835	}
27836	return nil
27837}
27838
27839// SetDiskName sets the DiskName field's value.
27840func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
27841	s.DiskName = &v
27842	return s
27843}
27844
27845type GetDiskOutput struct {
27846	_ struct{} `type:"structure"`
27847
27848	// An object containing information about the disk.
27849	Disk *Disk `locationName:"disk" type:"structure"`
27850}
27851
27852// String returns the string representation
27853func (s GetDiskOutput) String() string {
27854	return awsutil.Prettify(s)
27855}
27856
27857// GoString returns the string representation
27858func (s GetDiskOutput) GoString() string {
27859	return s.String()
27860}
27861
27862// SetDisk sets the Disk field's value.
27863func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
27864	s.Disk = v
27865	return s
27866}
27867
27868type GetDiskSnapshotInput struct {
27869	_ struct{} `type:"structure"`
27870
27871	// The name of the disk snapshot (e.g., my-disk-snapshot).
27872	//
27873	// DiskSnapshotName is a required field
27874	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
27875}
27876
27877// String returns the string representation
27878func (s GetDiskSnapshotInput) String() string {
27879	return awsutil.Prettify(s)
27880}
27881
27882// GoString returns the string representation
27883func (s GetDiskSnapshotInput) GoString() string {
27884	return s.String()
27885}
27886
27887// Validate inspects the fields of the type to determine if they are valid.
27888func (s *GetDiskSnapshotInput) Validate() error {
27889	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
27890	if s.DiskSnapshotName == nil {
27891		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
27892	}
27893
27894	if invalidParams.Len() > 0 {
27895		return invalidParams
27896	}
27897	return nil
27898}
27899
27900// SetDiskSnapshotName sets the DiskSnapshotName field's value.
27901func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
27902	s.DiskSnapshotName = &v
27903	return s
27904}
27905
27906type GetDiskSnapshotOutput struct {
27907	_ struct{} `type:"structure"`
27908
27909	// An object containing information about the disk snapshot.
27910	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
27911}
27912
27913// String returns the string representation
27914func (s GetDiskSnapshotOutput) String() string {
27915	return awsutil.Prettify(s)
27916}
27917
27918// GoString returns the string representation
27919func (s GetDiskSnapshotOutput) GoString() string {
27920	return s.String()
27921}
27922
27923// SetDiskSnapshot sets the DiskSnapshot field's value.
27924func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
27925	s.DiskSnapshot = v
27926	return s
27927}
27928
27929type GetDiskSnapshotsInput struct {
27930	_ struct{} `type:"structure"`
27931
27932	// The token to advance to the next page of results from your request.
27933	//
27934	// To get a page token, perform an initial GetDiskSnapshots request. If your
27935	// results are paginated, the response will return a next page token that you
27936	// can specify as the page token in a subsequent request.
27937	PageToken *string `locationName:"pageToken" type:"string"`
27938}
27939
27940// String returns the string representation
27941func (s GetDiskSnapshotsInput) String() string {
27942	return awsutil.Prettify(s)
27943}
27944
27945// GoString returns the string representation
27946func (s GetDiskSnapshotsInput) GoString() string {
27947	return s.String()
27948}
27949
27950// SetPageToken sets the PageToken field's value.
27951func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
27952	s.PageToken = &v
27953	return s
27954}
27955
27956type GetDiskSnapshotsOutput struct {
27957	_ struct{} `type:"structure"`
27958
27959	// An array of objects containing information about all block storage disk snapshots.
27960	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
27961
27962	// The token to advance to the next page of results from your request.
27963	//
27964	// A next page token is not returned if there are no more results to display.
27965	//
27966	// To get the next page of results, perform another GetDiskSnapshots request
27967	// and specify the next page token using the pageToken parameter.
27968	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27969}
27970
27971// String returns the string representation
27972func (s GetDiskSnapshotsOutput) String() string {
27973	return awsutil.Prettify(s)
27974}
27975
27976// GoString returns the string representation
27977func (s GetDiskSnapshotsOutput) GoString() string {
27978	return s.String()
27979}
27980
27981// SetDiskSnapshots sets the DiskSnapshots field's value.
27982func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
27983	s.DiskSnapshots = v
27984	return s
27985}
27986
27987// SetNextPageToken sets the NextPageToken field's value.
27988func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
27989	s.NextPageToken = &v
27990	return s
27991}
27992
27993type GetDisksInput struct {
27994	_ struct{} `type:"structure"`
27995
27996	// The token to advance to the next page of results from your request.
27997	//
27998	// To get a page token, perform an initial GetDisks request. If your results
27999	// are paginated, the response will return a next page token that you can specify
28000	// as the page token in a subsequent request.
28001	PageToken *string `locationName:"pageToken" type:"string"`
28002}
28003
28004// String returns the string representation
28005func (s GetDisksInput) String() string {
28006	return awsutil.Prettify(s)
28007}
28008
28009// GoString returns the string representation
28010func (s GetDisksInput) GoString() string {
28011	return s.String()
28012}
28013
28014// SetPageToken sets the PageToken field's value.
28015func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
28016	s.PageToken = &v
28017	return s
28018}
28019
28020type GetDisksOutput struct {
28021	_ struct{} `type:"structure"`
28022
28023	// An array of objects containing information about all block storage disks.
28024	Disks []*Disk `locationName:"disks" type:"list"`
28025
28026	// The token to advance to the next page of results from your request.
28027	//
28028	// A next page token is not returned if there are no more results to display.
28029	//
28030	// To get the next page of results, perform another GetDisks request and specify
28031	// the next page token using the pageToken parameter.
28032	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28033}
28034
28035// String returns the string representation
28036func (s GetDisksOutput) String() string {
28037	return awsutil.Prettify(s)
28038}
28039
28040// GoString returns the string representation
28041func (s GetDisksOutput) GoString() string {
28042	return s.String()
28043}
28044
28045// SetDisks sets the Disks field's value.
28046func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
28047	s.Disks = v
28048	return s
28049}
28050
28051// SetNextPageToken sets the NextPageToken field's value.
28052func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
28053	s.NextPageToken = &v
28054	return s
28055}
28056
28057type GetDistributionBundlesInput struct {
28058	_ struct{} `type:"structure"`
28059}
28060
28061// String returns the string representation
28062func (s GetDistributionBundlesInput) String() string {
28063	return awsutil.Prettify(s)
28064}
28065
28066// GoString returns the string representation
28067func (s GetDistributionBundlesInput) GoString() string {
28068	return s.String()
28069}
28070
28071type GetDistributionBundlesOutput struct {
28072	_ struct{} `type:"structure"`
28073
28074	// An object that describes a distribution bundle.
28075	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
28076}
28077
28078// String returns the string representation
28079func (s GetDistributionBundlesOutput) String() string {
28080	return awsutil.Prettify(s)
28081}
28082
28083// GoString returns the string representation
28084func (s GetDistributionBundlesOutput) GoString() string {
28085	return s.String()
28086}
28087
28088// SetBundles sets the Bundles field's value.
28089func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
28090	s.Bundles = v
28091	return s
28092}
28093
28094type GetDistributionLatestCacheResetInput struct {
28095	_ struct{} `type:"structure"`
28096
28097	// The name of the distribution for which to return the timestamp of the last
28098	// cache reset.
28099	//
28100	// Use the GetDistributions action to get a list of distribution names that
28101	// you can specify.
28102	//
28103	// When omitted, the response includes the latest cache reset timestamp of all
28104	// your distributions.
28105	DistributionName *string `locationName:"distributionName" type:"string"`
28106}
28107
28108// String returns the string representation
28109func (s GetDistributionLatestCacheResetInput) String() string {
28110	return awsutil.Prettify(s)
28111}
28112
28113// GoString returns the string representation
28114func (s GetDistributionLatestCacheResetInput) GoString() string {
28115	return s.String()
28116}
28117
28118// SetDistributionName sets the DistributionName field's value.
28119func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
28120	s.DistributionName = &v
28121	return s
28122}
28123
28124type GetDistributionLatestCacheResetOutput struct {
28125	_ struct{} `type:"structure"`
28126
28127	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
28128	// format.
28129	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
28130
28131	// The status of the last cache reset.
28132	Status *string `locationName:"status" type:"string"`
28133}
28134
28135// String returns the string representation
28136func (s GetDistributionLatestCacheResetOutput) String() string {
28137	return awsutil.Prettify(s)
28138}
28139
28140// GoString returns the string representation
28141func (s GetDistributionLatestCacheResetOutput) GoString() string {
28142	return s.String()
28143}
28144
28145// SetCreateTime sets the CreateTime field's value.
28146func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
28147	s.CreateTime = &v
28148	return s
28149}
28150
28151// SetStatus sets the Status field's value.
28152func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
28153	s.Status = &v
28154	return s
28155}
28156
28157type GetDistributionMetricDataInput struct {
28158	_ struct{} `type:"structure"`
28159
28160	// The name of the distribution for which to get metric data.
28161	//
28162	// Use the GetDistributions action to get a list of distribution names that
28163	// you can specify.
28164	//
28165	// DistributionName is a required field
28166	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
28167
28168	// The end of the time interval for which to get metric data.
28169	//
28170	// Constraints:
28171	//
28172	//    * Specified in Coordinated Universal Time (UTC).
28173	//
28174	//    * Specified in the Unix time format. For example, if you wish to use an
28175	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
28176	//    time.
28177	//
28178	// You can convert a human-friendly time to Unix time format using a converter
28179	// like Epoch converter (https://www.epochconverter.com/).
28180	//
28181	// EndTime is a required field
28182	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
28183
28184	// The metric for which you want to return information.
28185	//
28186	// Valid distribution metric names are listed below, along with the most useful
28187	// statistics to include in your request, and the published unit value.
28188	//
28189	//    * Requests - The total number of viewer requests received by your Lightsail
28190	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
28191	//    Statistics: The most useful statistic is Sum. Unit: The published unit
28192	//    is None.
28193	//
28194	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
28195	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
28196	//    Unit: The published unit is None.
28197	//
28198	//    * BytesUploaded - The number of bytes uploaded to your origin by your
28199	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
28200	//    useful statistic is Sum. Unit: The published unit is None.
28201	//
28202	//    * TotalErrorRate - The percentage of all viewer requests for which the
28203	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
28204	//    statistic is Average. Unit: The published unit is Percent.
28205	//
28206	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
28207	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
28208	//    have made an error. For example, a status code of 404 (Not Found) means
28209	//    that the client requested an object that could not be found. Statistics:
28210	//    The most useful statistic is Average. Unit: The published unit is Percent.
28211	//
28212	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
28213	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
28214	//    the requests. For example, a status code of 503 (Service Unavailable)
28215	//    means that the origin server is currently unavailable. Statistics: The
28216	//    most useful statistic is Average. Unit: The published unit is Percent.
28217	//
28218	// MetricName is a required field
28219	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
28220
28221	// The granularity, in seconds, for the metric data points that will be returned.
28222	//
28223	// Period is a required field
28224	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
28225
28226	// The start of the time interval for which to get metric data.
28227	//
28228	// Constraints:
28229	//
28230	//    * Specified in Coordinated Universal Time (UTC).
28231	//
28232	//    * Specified in the Unix time format. For example, if you wish to use a
28233	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
28234	//    start time.
28235	//
28236	// You can convert a human-friendly time to Unix time format using a converter
28237	// like Epoch converter (https://www.epochconverter.com/).
28238	//
28239	// StartTime is a required field
28240	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
28241
28242	// The statistic for the metric.
28243	//
28244	// The following statistics are available:
28245	//
28246	//    * Minimum - The lowest value observed during the specified period. Use
28247	//    this value to determine low volumes of activity for your application.
28248	//
28249	//    * Maximum - The highest value observed during the specified period. Use
28250	//    this value to determine high volumes of activity for your application.
28251	//
28252	//    * Sum - All values submitted for the matching metric added together. You
28253	//    can use this statistic to determine the total volume of a metric.
28254	//
28255	//    * Average - The value of Sum / SampleCount during the specified period.
28256	//    By comparing this statistic with the Minimum and Maximum values, you can
28257	//    determine the full scope of a metric and how close the average use is
28258	//    to the Minimum and Maximum values. This comparison helps you to know when
28259	//    to increase or decrease your resources.
28260	//
28261	//    * SampleCount - The count, or number, of data points used for the statistical
28262	//    calculation.
28263	//
28264	// Statistics is a required field
28265	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
28266
28267	// The unit for the metric data request.
28268	//
28269	// Valid units depend on the metric data being requested. For the valid units
28270	// with each available metric, see the metricName parameter.
28271	//
28272	// Unit is a required field
28273	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
28274}
28275
28276// String returns the string representation
28277func (s GetDistributionMetricDataInput) String() string {
28278	return awsutil.Prettify(s)
28279}
28280
28281// GoString returns the string representation
28282func (s GetDistributionMetricDataInput) GoString() string {
28283	return s.String()
28284}
28285
28286// Validate inspects the fields of the type to determine if they are valid.
28287func (s *GetDistributionMetricDataInput) Validate() error {
28288	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
28289	if s.DistributionName == nil {
28290		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
28291	}
28292	if s.EndTime == nil {
28293		invalidParams.Add(request.NewErrParamRequired("EndTime"))
28294	}
28295	if s.MetricName == nil {
28296		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28297	}
28298	if s.Period == nil {
28299		invalidParams.Add(request.NewErrParamRequired("Period"))
28300	}
28301	if s.Period != nil && *s.Period < 60 {
28302		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
28303	}
28304	if s.StartTime == nil {
28305		invalidParams.Add(request.NewErrParamRequired("StartTime"))
28306	}
28307	if s.Statistics == nil {
28308		invalidParams.Add(request.NewErrParamRequired("Statistics"))
28309	}
28310	if s.Unit == nil {
28311		invalidParams.Add(request.NewErrParamRequired("Unit"))
28312	}
28313
28314	if invalidParams.Len() > 0 {
28315		return invalidParams
28316	}
28317	return nil
28318}
28319
28320// SetDistributionName sets the DistributionName field's value.
28321func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
28322	s.DistributionName = &v
28323	return s
28324}
28325
28326// SetEndTime sets the EndTime field's value.
28327func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
28328	s.EndTime = &v
28329	return s
28330}
28331
28332// SetMetricName sets the MetricName field's value.
28333func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
28334	s.MetricName = &v
28335	return s
28336}
28337
28338// SetPeriod sets the Period field's value.
28339func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
28340	s.Period = &v
28341	return s
28342}
28343
28344// SetStartTime sets the StartTime field's value.
28345func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
28346	s.StartTime = &v
28347	return s
28348}
28349
28350// SetStatistics sets the Statistics field's value.
28351func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
28352	s.Statistics = v
28353	return s
28354}
28355
28356// SetUnit sets the Unit field's value.
28357func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
28358	s.Unit = &v
28359	return s
28360}
28361
28362type GetDistributionMetricDataOutput struct {
28363	_ struct{} `type:"structure"`
28364
28365	// An array of objects that describe the metric data returned.
28366	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
28367
28368	// The name of the metric returned.
28369	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
28370}
28371
28372// String returns the string representation
28373func (s GetDistributionMetricDataOutput) String() string {
28374	return awsutil.Prettify(s)
28375}
28376
28377// GoString returns the string representation
28378func (s GetDistributionMetricDataOutput) GoString() string {
28379	return s.String()
28380}
28381
28382// SetMetricData sets the MetricData field's value.
28383func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
28384	s.MetricData = v
28385	return s
28386}
28387
28388// SetMetricName sets the MetricName field's value.
28389func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
28390	s.MetricName = &v
28391	return s
28392}
28393
28394type GetDistributionsInput struct {
28395	_ struct{} `type:"structure"`
28396
28397	// The name of the distribution for which to return information.
28398	//
28399	// When omitted, the response includes all of your distributions in the AWS
28400	// Region where the request is made.
28401	DistributionName *string `locationName:"distributionName" type:"string"`
28402
28403	// The token to advance to the next page of results from your request.
28404	//
28405	// To get a page token, perform an initial GetDistributions request. If your
28406	// results are paginated, the response will return a next page token that you
28407	// can specify as the page token in a subsequent request.
28408	PageToken *string `locationName:"pageToken" type:"string"`
28409}
28410
28411// String returns the string representation
28412func (s GetDistributionsInput) String() string {
28413	return awsutil.Prettify(s)
28414}
28415
28416// GoString returns the string representation
28417func (s GetDistributionsInput) GoString() string {
28418	return s.String()
28419}
28420
28421// SetDistributionName sets the DistributionName field's value.
28422func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
28423	s.DistributionName = &v
28424	return s
28425}
28426
28427// SetPageToken sets the PageToken field's value.
28428func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
28429	s.PageToken = &v
28430	return s
28431}
28432
28433type GetDistributionsOutput struct {
28434	_ struct{} `type:"structure"`
28435
28436	// An array of objects that describe your distributions.
28437	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
28438
28439	// The token to advance to the next page of results from your request.
28440	//
28441	// A next page token is not returned if there are no more results to display.
28442	//
28443	// To get the next page of results, perform another GetDistributions request
28444	// and specify the next page token using the pageToken parameter.
28445	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28446}
28447
28448// String returns the string representation
28449func (s GetDistributionsOutput) String() string {
28450	return awsutil.Prettify(s)
28451}
28452
28453// GoString returns the string representation
28454func (s GetDistributionsOutput) GoString() string {
28455	return s.String()
28456}
28457
28458// SetDistributions sets the Distributions field's value.
28459func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
28460	s.Distributions = v
28461	return s
28462}
28463
28464// SetNextPageToken sets the NextPageToken field's value.
28465func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
28466	s.NextPageToken = &v
28467	return s
28468}
28469
28470type GetDomainInput struct {
28471	_ struct{} `type:"structure"`
28472
28473	// The domain name for which your want to return information about.
28474	//
28475	// DomainName is a required field
28476	DomainName *string `locationName:"domainName" type:"string" required:"true"`
28477}
28478
28479// String returns the string representation
28480func (s GetDomainInput) String() string {
28481	return awsutil.Prettify(s)
28482}
28483
28484// GoString returns the string representation
28485func (s GetDomainInput) GoString() string {
28486	return s.String()
28487}
28488
28489// Validate inspects the fields of the type to determine if they are valid.
28490func (s *GetDomainInput) Validate() error {
28491	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
28492	if s.DomainName == nil {
28493		invalidParams.Add(request.NewErrParamRequired("DomainName"))
28494	}
28495
28496	if invalidParams.Len() > 0 {
28497		return invalidParams
28498	}
28499	return nil
28500}
28501
28502// SetDomainName sets the DomainName field's value.
28503func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
28504	s.DomainName = &v
28505	return s
28506}
28507
28508type GetDomainOutput struct {
28509	_ struct{} `type:"structure"`
28510
28511	// An array of key-value pairs containing information about your get domain
28512	// request.
28513	Domain *Domain `locationName:"domain" type:"structure"`
28514}
28515
28516// String returns the string representation
28517func (s GetDomainOutput) String() string {
28518	return awsutil.Prettify(s)
28519}
28520
28521// GoString returns the string representation
28522func (s GetDomainOutput) GoString() string {
28523	return s.String()
28524}
28525
28526// SetDomain sets the Domain field's value.
28527func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
28528	s.Domain = v
28529	return s
28530}
28531
28532type GetDomainsInput struct {
28533	_ struct{} `type:"structure"`
28534
28535	// The token to advance to the next page of results from your request.
28536	//
28537	// To get a page token, perform an initial GetDomains request. If your results
28538	// are paginated, the response will return a next page token that you can specify
28539	// as the page token in a subsequent request.
28540	PageToken *string `locationName:"pageToken" type:"string"`
28541}
28542
28543// String returns the string representation
28544func (s GetDomainsInput) String() string {
28545	return awsutil.Prettify(s)
28546}
28547
28548// GoString returns the string representation
28549func (s GetDomainsInput) GoString() string {
28550	return s.String()
28551}
28552
28553// SetPageToken sets the PageToken field's value.
28554func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
28555	s.PageToken = &v
28556	return s
28557}
28558
28559type GetDomainsOutput struct {
28560	_ struct{} `type:"structure"`
28561
28562	// An array of key-value pairs containing information about each of the domain
28563	// entries in the user's account.
28564	Domains []*Domain `locationName:"domains" type:"list"`
28565
28566	// The token to advance to the next page of results from your request.
28567	//
28568	// A next page token is not returned if there are no more results to display.
28569	//
28570	// To get the next page of results, perform another GetDomains request and specify
28571	// the next page token using the pageToken parameter.
28572	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28573}
28574
28575// String returns the string representation
28576func (s GetDomainsOutput) String() string {
28577	return awsutil.Prettify(s)
28578}
28579
28580// GoString returns the string representation
28581func (s GetDomainsOutput) GoString() string {
28582	return s.String()
28583}
28584
28585// SetDomains sets the Domains field's value.
28586func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
28587	s.Domains = v
28588	return s
28589}
28590
28591// SetNextPageToken sets the NextPageToken field's value.
28592func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
28593	s.NextPageToken = &v
28594	return s
28595}
28596
28597type GetExportSnapshotRecordsInput struct {
28598	_ struct{} `type:"structure"`
28599
28600	// The token to advance to the next page of results from your request.
28601	//
28602	// To get a page token, perform an initial GetExportSnapshotRecords request.
28603	// If your results are paginated, the response will return a next page token
28604	// that you can specify as the page token in a subsequent request.
28605	PageToken *string `locationName:"pageToken" type:"string"`
28606}
28607
28608// String returns the string representation
28609func (s GetExportSnapshotRecordsInput) String() string {
28610	return awsutil.Prettify(s)
28611}
28612
28613// GoString returns the string representation
28614func (s GetExportSnapshotRecordsInput) GoString() string {
28615	return s.String()
28616}
28617
28618// SetPageToken sets the PageToken field's value.
28619func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
28620	s.PageToken = &v
28621	return s
28622}
28623
28624type GetExportSnapshotRecordsOutput struct {
28625	_ struct{} `type:"structure"`
28626
28627	// A list of objects describing the export snapshot records.
28628	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
28629
28630	// The token to advance to the next page of results from your request.
28631	//
28632	// A next page token is not returned if there are no more results to display.
28633	//
28634	// To get the next page of results, perform another GetExportSnapshotRecords
28635	// request and specify the next page token using the pageToken parameter.
28636	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28637}
28638
28639// String returns the string representation
28640func (s GetExportSnapshotRecordsOutput) String() string {
28641	return awsutil.Prettify(s)
28642}
28643
28644// GoString returns the string representation
28645func (s GetExportSnapshotRecordsOutput) GoString() string {
28646	return s.String()
28647}
28648
28649// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
28650func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
28651	s.ExportSnapshotRecords = v
28652	return s
28653}
28654
28655// SetNextPageToken sets the NextPageToken field's value.
28656func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
28657	s.NextPageToken = &v
28658	return s
28659}
28660
28661type GetInstanceAccessDetailsInput struct {
28662	_ struct{} `type:"structure"`
28663
28664	// The name of the instance to access.
28665	//
28666	// InstanceName is a required field
28667	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
28668
28669	// The protocol to use to connect to your instance. Defaults to ssh.
28670	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
28671}
28672
28673// String returns the string representation
28674func (s GetInstanceAccessDetailsInput) String() string {
28675	return awsutil.Prettify(s)
28676}
28677
28678// GoString returns the string representation
28679func (s GetInstanceAccessDetailsInput) GoString() string {
28680	return s.String()
28681}
28682
28683// Validate inspects the fields of the type to determine if they are valid.
28684func (s *GetInstanceAccessDetailsInput) Validate() error {
28685	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
28686	if s.InstanceName == nil {
28687		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
28688	}
28689
28690	if invalidParams.Len() > 0 {
28691		return invalidParams
28692	}
28693	return nil
28694}
28695
28696// SetInstanceName sets the InstanceName field's value.
28697func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
28698	s.InstanceName = &v
28699	return s
28700}
28701
28702// SetProtocol sets the Protocol field's value.
28703func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
28704	s.Protocol = &v
28705	return s
28706}
28707
28708type GetInstanceAccessDetailsOutput struct {
28709	_ struct{} `type:"structure"`
28710
28711	// An array of key-value pairs containing information about a get instance access
28712	// request.
28713	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
28714}
28715
28716// String returns the string representation
28717func (s GetInstanceAccessDetailsOutput) String() string {
28718	return awsutil.Prettify(s)
28719}
28720
28721// GoString returns the string representation
28722func (s GetInstanceAccessDetailsOutput) GoString() string {
28723	return s.String()
28724}
28725
28726// SetAccessDetails sets the AccessDetails field's value.
28727func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
28728	s.AccessDetails = v
28729	return s
28730}
28731
28732type GetInstanceInput struct {
28733	_ struct{} `type:"structure"`
28734
28735	// The name of the instance.
28736	//
28737	// InstanceName is a required field
28738	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
28739}
28740
28741// String returns the string representation
28742func (s GetInstanceInput) String() string {
28743	return awsutil.Prettify(s)
28744}
28745
28746// GoString returns the string representation
28747func (s GetInstanceInput) GoString() string {
28748	return s.String()
28749}
28750
28751// Validate inspects the fields of the type to determine if they are valid.
28752func (s *GetInstanceInput) Validate() error {
28753	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
28754	if s.InstanceName == nil {
28755		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
28756	}
28757
28758	if invalidParams.Len() > 0 {
28759		return invalidParams
28760	}
28761	return nil
28762}
28763
28764// SetInstanceName sets the InstanceName field's value.
28765func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
28766	s.InstanceName = &v
28767	return s
28768}
28769
28770type GetInstanceMetricDataInput struct {
28771	_ struct{} `type:"structure"`
28772
28773	// The end time of the time period.
28774	//
28775	// EndTime is a required field
28776	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
28777
28778	// The name of the instance for which you want to get metrics data.
28779	//
28780	// InstanceName is a required field
28781	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
28782
28783	// The metric for which you want to return information.
28784	//
28785	// Valid instance metric names are listed below, along with the most useful
28786	// statistics to include in your request, and the published unit value.
28787	//
28788	//    * BurstCapacityPercentage - The percentage of CPU performance available
28789	//    for your instance to burst above its baseline. Your instance continuously
28790	//    accrues and consumes burst capacity. Burst capacity stops accruing when
28791	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
28792	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
28793	//    Statistics: The most useful statistics are Maximum and Average. Unit:
28794	//    The published unit is Percent.
28795	//
28796	//    * BurstCapacityTime - The available amount of time for your instance to
28797	//    burst at 100% CPU utilization. Your instance continuously accrues and
28798	//    consumes burst capacity. Burst capacity time stops accruing when your
28799	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
28800	//    time is consumed at the full rate only when your instance operates at
28801	//    100% CPU utilization. For example, if your instance operates at 50% CPU
28802	//    utilization in the burstable zone for a 5-minute period, then it consumes
28803	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
28804	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
28805	//    5-minute period. For more information, see Viewing instance burst capacity
28806	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
28807	//    Statistics: The most useful statistics are Maximum and Average. Unit:
28808	//    The published unit is Seconds.
28809	//
28810	//    * CPUUtilization - The percentage of allocated compute units that are
28811	//    currently in use on the instance. This metric identifies the processing
28812	//    power to run the applications on the instance. Tools in your operating
28813	//    system can show a lower percentage than Lightsail when the instance is
28814	//    not allocated a full processor core. Statistics: The most useful statistics
28815	//    are Maximum and Average. Unit: The published unit is Percent.
28816	//
28817	//    * NetworkIn - The number of bytes received on all network interfaces by
28818	//    the instance. This metric identifies the volume of incoming network traffic
28819	//    to the instance. The number reported is the number of bytes received during
28820	//    the period. Because this metric is reported in 5-minute intervals, divide
28821	//    the reported number by 300 to find Bytes/second. Statistics: The most
28822	//    useful statistic is Sum. Unit: The published unit is Bytes.
28823	//
28824	//    * NetworkOut - The number of bytes sent out on all network interfaces
28825	//    by the instance. This metric identifies the volume of outgoing network
28826	//    traffic from the instance. The number reported is the number of bytes
28827	//    sent during the period. Because this metric is reported in 5-minute intervals,
28828	//    divide the reported number by 300 to find Bytes/second. Statistics: The
28829	//    most useful statistic is Sum. Unit: The published unit is Bytes.
28830	//
28831	//    * StatusCheckFailed - Reports whether the instance passed or failed both
28832	//    the instance status check and the system status check. This metric can
28833	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
28834	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
28835	//    Unit: The published unit is Count.
28836	//
28837	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
28838	//    failed the instance status check. This metric can be either 0 (passed)
28839	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
28840	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
28841	//    unit is Count.
28842	//
28843	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
28844	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
28845	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
28846	//    The most useful statistic is Sum. Unit: The published unit is Count.
28847	//
28848	// MetricName is a required field
28849	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
28850
28851	// The granularity, in seconds, of the returned data points.
28852	//
28853	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
28854	// instance metric data is available in 1-minute (60 seconds) granularity. All
28855	// other instance metric data is available in 5-minute (300 seconds) granularity.
28856	//
28857	// Period is a required field
28858	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
28859
28860	// The start time of the time period.
28861	//
28862	// StartTime is a required field
28863	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
28864
28865	// The statistic for the metric.
28866	//
28867	// The following statistics are available:
28868	//
28869	//    * Minimum - The lowest value observed during the specified period. Use
28870	//    this value to determine low volumes of activity for your application.
28871	//
28872	//    * Maximum - The highest value observed during the specified period. Use
28873	//    this value to determine high volumes of activity for your application.
28874	//
28875	//    * Sum - All values submitted for the matching metric added together. You
28876	//    can use this statistic to determine the total volume of a metric.
28877	//
28878	//    * Average - The value of Sum / SampleCount during the specified period.
28879	//    By comparing this statistic with the Minimum and Maximum values, you can
28880	//    determine the full scope of a metric and how close the average use is
28881	//    to the Minimum and Maximum values. This comparison helps you to know when
28882	//    to increase or decrease your resources.
28883	//
28884	//    * SampleCount - The count, or number, of data points used for the statistical
28885	//    calculation.
28886	//
28887	// Statistics is a required field
28888	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
28889
28890	// The unit for the metric data request. Valid units depend on the metric data
28891	// being requested. For the valid units to specify with each available metric,
28892	// see the metricName parameter.
28893	//
28894	// Unit is a required field
28895	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
28896}
28897
28898// String returns the string representation
28899func (s GetInstanceMetricDataInput) String() string {
28900	return awsutil.Prettify(s)
28901}
28902
28903// GoString returns the string representation
28904func (s GetInstanceMetricDataInput) GoString() string {
28905	return s.String()
28906}
28907
28908// Validate inspects the fields of the type to determine if they are valid.
28909func (s *GetInstanceMetricDataInput) Validate() error {
28910	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
28911	if s.EndTime == nil {
28912		invalidParams.Add(request.NewErrParamRequired("EndTime"))
28913	}
28914	if s.InstanceName == nil {
28915		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
28916	}
28917	if s.MetricName == nil {
28918		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28919	}
28920	if s.Period == nil {
28921		invalidParams.Add(request.NewErrParamRequired("Period"))
28922	}
28923	if s.Period != nil && *s.Period < 60 {
28924		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
28925	}
28926	if s.StartTime == nil {
28927		invalidParams.Add(request.NewErrParamRequired("StartTime"))
28928	}
28929	if s.Statistics == nil {
28930		invalidParams.Add(request.NewErrParamRequired("Statistics"))
28931	}
28932	if s.Unit == nil {
28933		invalidParams.Add(request.NewErrParamRequired("Unit"))
28934	}
28935
28936	if invalidParams.Len() > 0 {
28937		return invalidParams
28938	}
28939	return nil
28940}
28941
28942// SetEndTime sets the EndTime field's value.
28943func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
28944	s.EndTime = &v
28945	return s
28946}
28947
28948// SetInstanceName sets the InstanceName field's value.
28949func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
28950	s.InstanceName = &v
28951	return s
28952}
28953
28954// SetMetricName sets the MetricName field's value.
28955func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
28956	s.MetricName = &v
28957	return s
28958}
28959
28960// SetPeriod sets the Period field's value.
28961func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
28962	s.Period = &v
28963	return s
28964}
28965
28966// SetStartTime sets the StartTime field's value.
28967func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
28968	s.StartTime = &v
28969	return s
28970}
28971
28972// SetStatistics sets the Statistics field's value.
28973func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
28974	s.Statistics = v
28975	return s
28976}
28977
28978// SetUnit sets the Unit field's value.
28979func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
28980	s.Unit = &v
28981	return s
28982}
28983
28984type GetInstanceMetricDataOutput struct {
28985	_ struct{} `type:"structure"`
28986
28987	// An array of objects that describe the metric data returned.
28988	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
28989
28990	// The name of the metric returned.
28991	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
28992}
28993
28994// String returns the string representation
28995func (s GetInstanceMetricDataOutput) String() string {
28996	return awsutil.Prettify(s)
28997}
28998
28999// GoString returns the string representation
29000func (s GetInstanceMetricDataOutput) GoString() string {
29001	return s.String()
29002}
29003
29004// SetMetricData sets the MetricData field's value.
29005func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
29006	s.MetricData = v
29007	return s
29008}
29009
29010// SetMetricName sets the MetricName field's value.
29011func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
29012	s.MetricName = &v
29013	return s
29014}
29015
29016type GetInstanceOutput struct {
29017	_ struct{} `type:"structure"`
29018
29019	// An array of key-value pairs containing information about the specified instance.
29020	Instance *Instance `locationName:"instance" type:"structure"`
29021}
29022
29023// String returns the string representation
29024func (s GetInstanceOutput) String() string {
29025	return awsutil.Prettify(s)
29026}
29027
29028// GoString returns the string representation
29029func (s GetInstanceOutput) GoString() string {
29030	return s.String()
29031}
29032
29033// SetInstance sets the Instance field's value.
29034func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
29035	s.Instance = v
29036	return s
29037}
29038
29039type GetInstancePortStatesInput struct {
29040	_ struct{} `type:"structure"`
29041
29042	// The name of the instance for which to return firewall port states.
29043	//
29044	// InstanceName is a required field
29045	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
29046}
29047
29048// String returns the string representation
29049func (s GetInstancePortStatesInput) String() string {
29050	return awsutil.Prettify(s)
29051}
29052
29053// GoString returns the string representation
29054func (s GetInstancePortStatesInput) GoString() string {
29055	return s.String()
29056}
29057
29058// Validate inspects the fields of the type to determine if they are valid.
29059func (s *GetInstancePortStatesInput) Validate() error {
29060	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
29061	if s.InstanceName == nil {
29062		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
29063	}
29064
29065	if invalidParams.Len() > 0 {
29066		return invalidParams
29067	}
29068	return nil
29069}
29070
29071// SetInstanceName sets the InstanceName field's value.
29072func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
29073	s.InstanceName = &v
29074	return s
29075}
29076
29077type GetInstancePortStatesOutput struct {
29078	_ struct{} `type:"structure"`
29079
29080	// An array of objects that describe the firewall port states for the specified
29081	// instance.
29082	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
29083}
29084
29085// String returns the string representation
29086func (s GetInstancePortStatesOutput) String() string {
29087	return awsutil.Prettify(s)
29088}
29089
29090// GoString returns the string representation
29091func (s GetInstancePortStatesOutput) GoString() string {
29092	return s.String()
29093}
29094
29095// SetPortStates sets the PortStates field's value.
29096func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
29097	s.PortStates = v
29098	return s
29099}
29100
29101type GetInstanceSnapshotInput struct {
29102	_ struct{} `type:"structure"`
29103
29104	// The name of the snapshot for which you are requesting information.
29105	//
29106	// InstanceSnapshotName is a required field
29107	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
29108}
29109
29110// String returns the string representation
29111func (s GetInstanceSnapshotInput) String() string {
29112	return awsutil.Prettify(s)
29113}
29114
29115// GoString returns the string representation
29116func (s GetInstanceSnapshotInput) GoString() string {
29117	return s.String()
29118}
29119
29120// Validate inspects the fields of the type to determine if they are valid.
29121func (s *GetInstanceSnapshotInput) Validate() error {
29122	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
29123	if s.InstanceSnapshotName == nil {
29124		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
29125	}
29126
29127	if invalidParams.Len() > 0 {
29128		return invalidParams
29129	}
29130	return nil
29131}
29132
29133// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
29134func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
29135	s.InstanceSnapshotName = &v
29136	return s
29137}
29138
29139type GetInstanceSnapshotOutput struct {
29140	_ struct{} `type:"structure"`
29141
29142	// An array of key-value pairs containing information about the results of your
29143	// get instance snapshot request.
29144	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
29145}
29146
29147// String returns the string representation
29148func (s GetInstanceSnapshotOutput) String() string {
29149	return awsutil.Prettify(s)
29150}
29151
29152// GoString returns the string representation
29153func (s GetInstanceSnapshotOutput) GoString() string {
29154	return s.String()
29155}
29156
29157// SetInstanceSnapshot sets the InstanceSnapshot field's value.
29158func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
29159	s.InstanceSnapshot = v
29160	return s
29161}
29162
29163type GetInstanceSnapshotsInput struct {
29164	_ struct{} `type:"structure"`
29165
29166	// The token to advance to the next page of results from your request.
29167	//
29168	// To get a page token, perform an initial GetInstanceSnapshots request. If
29169	// your results are paginated, the response will return a next page token that
29170	// you can specify as the page token in a subsequent request.
29171	PageToken *string `locationName:"pageToken" type:"string"`
29172}
29173
29174// String returns the string representation
29175func (s GetInstanceSnapshotsInput) String() string {
29176	return awsutil.Prettify(s)
29177}
29178
29179// GoString returns the string representation
29180func (s GetInstanceSnapshotsInput) GoString() string {
29181	return s.String()
29182}
29183
29184// SetPageToken sets the PageToken field's value.
29185func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
29186	s.PageToken = &v
29187	return s
29188}
29189
29190type GetInstanceSnapshotsOutput struct {
29191	_ struct{} `type:"structure"`
29192
29193	// An array of key-value pairs containing information about the results of your
29194	// get instance snapshots request.
29195	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
29196
29197	// The token to advance to the next page of results from your request.
29198	//
29199	// A next page token is not returned if there are no more results to display.
29200	//
29201	// To get the next page of results, perform another GetInstanceSnapshots request
29202	// and specify the next page token using the pageToken parameter.
29203	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29204}
29205
29206// String returns the string representation
29207func (s GetInstanceSnapshotsOutput) String() string {
29208	return awsutil.Prettify(s)
29209}
29210
29211// GoString returns the string representation
29212func (s GetInstanceSnapshotsOutput) GoString() string {
29213	return s.String()
29214}
29215
29216// SetInstanceSnapshots sets the InstanceSnapshots field's value.
29217func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
29218	s.InstanceSnapshots = v
29219	return s
29220}
29221
29222// SetNextPageToken sets the NextPageToken field's value.
29223func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
29224	s.NextPageToken = &v
29225	return s
29226}
29227
29228type GetInstanceStateInput struct {
29229	_ struct{} `type:"structure"`
29230
29231	// The name of the instance to get state information about.
29232	//
29233	// InstanceName is a required field
29234	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
29235}
29236
29237// String returns the string representation
29238func (s GetInstanceStateInput) String() string {
29239	return awsutil.Prettify(s)
29240}
29241
29242// GoString returns the string representation
29243func (s GetInstanceStateInput) GoString() string {
29244	return s.String()
29245}
29246
29247// Validate inspects the fields of the type to determine if they are valid.
29248func (s *GetInstanceStateInput) Validate() error {
29249	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
29250	if s.InstanceName == nil {
29251		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
29252	}
29253
29254	if invalidParams.Len() > 0 {
29255		return invalidParams
29256	}
29257	return nil
29258}
29259
29260// SetInstanceName sets the InstanceName field's value.
29261func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
29262	s.InstanceName = &v
29263	return s
29264}
29265
29266type GetInstanceStateOutput struct {
29267	_ struct{} `type:"structure"`
29268
29269	// The state of the instance.
29270	State *InstanceState `locationName:"state" type:"structure"`
29271}
29272
29273// String returns the string representation
29274func (s GetInstanceStateOutput) String() string {
29275	return awsutil.Prettify(s)
29276}
29277
29278// GoString returns the string representation
29279func (s GetInstanceStateOutput) GoString() string {
29280	return s.String()
29281}
29282
29283// SetState sets the State field's value.
29284func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
29285	s.State = v
29286	return s
29287}
29288
29289type GetInstancesInput struct {
29290	_ struct{} `type:"structure"`
29291
29292	// The token to advance to the next page of results from your request.
29293	//
29294	// To get a page token, perform an initial GetInstances request. If your results
29295	// are paginated, the response will return a next page token that you can specify
29296	// as the page token in a subsequent request.
29297	PageToken *string `locationName:"pageToken" type:"string"`
29298}
29299
29300// String returns the string representation
29301func (s GetInstancesInput) String() string {
29302	return awsutil.Prettify(s)
29303}
29304
29305// GoString returns the string representation
29306func (s GetInstancesInput) GoString() string {
29307	return s.String()
29308}
29309
29310// SetPageToken sets the PageToken field's value.
29311func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
29312	s.PageToken = &v
29313	return s
29314}
29315
29316type GetInstancesOutput struct {
29317	_ struct{} `type:"structure"`
29318
29319	// An array of key-value pairs containing information about your instances.
29320	Instances []*Instance `locationName:"instances" type:"list"`
29321
29322	// The token to advance to the next page of results from your request.
29323	//
29324	// A next page token is not returned if there are no more results to display.
29325	//
29326	// To get the next page of results, perform another GetInstances request and
29327	// specify the next page token using the pageToken parameter.
29328	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29329}
29330
29331// String returns the string representation
29332func (s GetInstancesOutput) String() string {
29333	return awsutil.Prettify(s)
29334}
29335
29336// GoString returns the string representation
29337func (s GetInstancesOutput) GoString() string {
29338	return s.String()
29339}
29340
29341// SetInstances sets the Instances field's value.
29342func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
29343	s.Instances = v
29344	return s
29345}
29346
29347// SetNextPageToken sets the NextPageToken field's value.
29348func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
29349	s.NextPageToken = &v
29350	return s
29351}
29352
29353type GetKeyPairInput struct {
29354	_ struct{} `type:"structure"`
29355
29356	// The name of the key pair for which you are requesting information.
29357	//
29358	// KeyPairName is a required field
29359	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
29360}
29361
29362// String returns the string representation
29363func (s GetKeyPairInput) String() string {
29364	return awsutil.Prettify(s)
29365}
29366
29367// GoString returns the string representation
29368func (s GetKeyPairInput) GoString() string {
29369	return s.String()
29370}
29371
29372// Validate inspects the fields of the type to determine if they are valid.
29373func (s *GetKeyPairInput) Validate() error {
29374	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
29375	if s.KeyPairName == nil {
29376		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
29377	}
29378
29379	if invalidParams.Len() > 0 {
29380		return invalidParams
29381	}
29382	return nil
29383}
29384
29385// SetKeyPairName sets the KeyPairName field's value.
29386func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
29387	s.KeyPairName = &v
29388	return s
29389}
29390
29391type GetKeyPairOutput struct {
29392	_ struct{} `type:"structure"`
29393
29394	// An array of key-value pairs containing information about the key pair.
29395	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
29396}
29397
29398// String returns the string representation
29399func (s GetKeyPairOutput) String() string {
29400	return awsutil.Prettify(s)
29401}
29402
29403// GoString returns the string representation
29404func (s GetKeyPairOutput) GoString() string {
29405	return s.String()
29406}
29407
29408// SetKeyPair sets the KeyPair field's value.
29409func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
29410	s.KeyPair = v
29411	return s
29412}
29413
29414type GetKeyPairsInput struct {
29415	_ struct{} `type:"structure"`
29416
29417	// The token to advance to the next page of results from your request.
29418	//
29419	// To get a page token, perform an initial GetKeyPairs request. If your results
29420	// are paginated, the response will return a next page token that you can specify
29421	// as the page token in a subsequent request.
29422	PageToken *string `locationName:"pageToken" type:"string"`
29423}
29424
29425// String returns the string representation
29426func (s GetKeyPairsInput) String() string {
29427	return awsutil.Prettify(s)
29428}
29429
29430// GoString returns the string representation
29431func (s GetKeyPairsInput) GoString() string {
29432	return s.String()
29433}
29434
29435// SetPageToken sets the PageToken field's value.
29436func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
29437	s.PageToken = &v
29438	return s
29439}
29440
29441type GetKeyPairsOutput struct {
29442	_ struct{} `type:"structure"`
29443
29444	// An array of key-value pairs containing information about the key pairs.
29445	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
29446
29447	// The token to advance to the next page of results from your request.
29448	//
29449	// A next page token is not returned if there are no more results to display.
29450	//
29451	// To get the next page of results, perform another GetKeyPairs request and
29452	// specify the next page token using the pageToken parameter.
29453	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29454}
29455
29456// String returns the string representation
29457func (s GetKeyPairsOutput) String() string {
29458	return awsutil.Prettify(s)
29459}
29460
29461// GoString returns the string representation
29462func (s GetKeyPairsOutput) GoString() string {
29463	return s.String()
29464}
29465
29466// SetKeyPairs sets the KeyPairs field's value.
29467func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
29468	s.KeyPairs = v
29469	return s
29470}
29471
29472// SetNextPageToken sets the NextPageToken field's value.
29473func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
29474	s.NextPageToken = &v
29475	return s
29476}
29477
29478type GetLoadBalancerInput struct {
29479	_ struct{} `type:"structure"`
29480
29481	// The name of the load balancer.
29482	//
29483	// LoadBalancerName is a required field
29484	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
29485}
29486
29487// String returns the string representation
29488func (s GetLoadBalancerInput) String() string {
29489	return awsutil.Prettify(s)
29490}
29491
29492// GoString returns the string representation
29493func (s GetLoadBalancerInput) GoString() string {
29494	return s.String()
29495}
29496
29497// Validate inspects the fields of the type to determine if they are valid.
29498func (s *GetLoadBalancerInput) Validate() error {
29499	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
29500	if s.LoadBalancerName == nil {
29501		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
29502	}
29503
29504	if invalidParams.Len() > 0 {
29505		return invalidParams
29506	}
29507	return nil
29508}
29509
29510// SetLoadBalancerName sets the LoadBalancerName field's value.
29511func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
29512	s.LoadBalancerName = &v
29513	return s
29514}
29515
29516type GetLoadBalancerMetricDataInput struct {
29517	_ struct{} `type:"structure"`
29518
29519	// The end time of the period.
29520	//
29521	// EndTime is a required field
29522	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
29523
29524	// The name of the load balancer.
29525	//
29526	// LoadBalancerName is a required field
29527	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
29528
29529	// The metric for which you want to return information.
29530	//
29531	// Valid load balancer metric names are listed below, along with the most useful
29532	// statistics to include in your request, and the published unit value.
29533	//
29534	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
29535	//    by the client that did not establish a session with the load balancer
29536	//    due to a TLS error generated by the load balancer. Possible causes include
29537	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
29538	//    is Sum. Unit: The published unit is Count.
29539	//
29540	//    * HealthyHostCount - The number of target instances that are considered
29541	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
29542	//    Maximum. Unit: The published unit is Count.
29543	//
29544	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
29545	//    generated by the target instances. This does not include any response
29546	//    codes generated by the load balancer. Statistics: The most useful statistic
29547	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
29548	//    published unit is Count.
29549	//
29550	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
29551	//    generated by the target instances. This does not include any response
29552	//    codes generated by the load balancer. Statistics: The most useful statistic
29553	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
29554	//    published unit is Count.
29555	//
29556	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
29557	//    generated by the target instances. This does not include any response
29558	//    codes generated by the load balancer. Statistics: The most useful statistic
29559	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
29560	//    published unit is Count.
29561	//
29562	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
29563	//    generated by the target instances. This does not include any response
29564	//    codes generated by the load balancer. Statistics: The most useful statistic
29565	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
29566	//    published unit is Count.
29567	//
29568	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
29569	//    originated from the load balancer. Client errors are generated when requests
29570	//    are malformed or incomplete. These requests were not received by the target
29571	//    instance. This count does not include response codes generated by the
29572	//    target instances. Statistics: The most useful statistic is Sum. Note that
29573	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
29574	//    Count.
29575	//
29576	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
29577	//    originated from the load balancer. This does not include any response
29578	//    codes generated by the target instance. This metric is reported if there
29579	//    are no healthy instances attached to the load balancer, or if the request
29580	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
29581	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
29582	//    and Average all return 1. Unit: The published unit is Count.
29583	//
29584	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
29585	//    leaves the load balancer until a response from the target instance is
29586	//    received. Statistics: The most useful statistic is Average. Unit: The
29587	//    published unit is Seconds.
29588	//
29589	//    * RejectedConnectionCount - The number of connections that were rejected
29590	//    because the load balancer had reached its maximum number of connections.
29591	//    Statistics: The most useful statistic is Sum. Unit: The published unit
29592	//    is Count.
29593	//
29594	//    * RequestCount - The number of requests processed over IPv4. This count
29595	//    includes only the requests with a response generated by a target instance
29596	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
29597	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
29598	//    is Count.
29599	//
29600	//    * UnhealthyHostCount - The number of target instances that are considered
29601	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
29602	//    and Maximum. Unit: The published unit is Count.
29603	//
29604	// MetricName is a required field
29605	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
29606
29607	// The granularity, in seconds, of the returned data points.
29608	//
29609	// Period is a required field
29610	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
29611
29612	// The start time of the period.
29613	//
29614	// StartTime is a required field
29615	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
29616
29617	// The statistic for the metric.
29618	//
29619	// The following statistics are available:
29620	//
29621	//    * Minimum - The lowest value observed during the specified period. Use
29622	//    this value to determine low volumes of activity for your application.
29623	//
29624	//    * Maximum - The highest value observed during the specified period. Use
29625	//    this value to determine high volumes of activity for your application.
29626	//
29627	//    * Sum - All values submitted for the matching metric added together. You
29628	//    can use this statistic to determine the total volume of a metric.
29629	//
29630	//    * Average - The value of Sum / SampleCount during the specified period.
29631	//    By comparing this statistic with the Minimum and Maximum values, you can
29632	//    determine the full scope of a metric and how close the average use is
29633	//    to the Minimum and Maximum values. This comparison helps you to know when
29634	//    to increase or decrease your resources.
29635	//
29636	//    * SampleCount - The count, or number, of data points used for the statistical
29637	//    calculation.
29638	//
29639	// Statistics is a required field
29640	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
29641
29642	// The unit for the metric data request. Valid units depend on the metric data
29643	// being requested. For the valid units with each available metric, see the
29644	// metricName parameter.
29645	//
29646	// Unit is a required field
29647	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
29648}
29649
29650// String returns the string representation
29651func (s GetLoadBalancerMetricDataInput) String() string {
29652	return awsutil.Prettify(s)
29653}
29654
29655// GoString returns the string representation
29656func (s GetLoadBalancerMetricDataInput) GoString() string {
29657	return s.String()
29658}
29659
29660// Validate inspects the fields of the type to determine if they are valid.
29661func (s *GetLoadBalancerMetricDataInput) Validate() error {
29662	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
29663	if s.EndTime == nil {
29664		invalidParams.Add(request.NewErrParamRequired("EndTime"))
29665	}
29666	if s.LoadBalancerName == nil {
29667		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
29668	}
29669	if s.MetricName == nil {
29670		invalidParams.Add(request.NewErrParamRequired("MetricName"))
29671	}
29672	if s.Period == nil {
29673		invalidParams.Add(request.NewErrParamRequired("Period"))
29674	}
29675	if s.Period != nil && *s.Period < 60 {
29676		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
29677	}
29678	if s.StartTime == nil {
29679		invalidParams.Add(request.NewErrParamRequired("StartTime"))
29680	}
29681	if s.Statistics == nil {
29682		invalidParams.Add(request.NewErrParamRequired("Statistics"))
29683	}
29684	if s.Unit == nil {
29685		invalidParams.Add(request.NewErrParamRequired("Unit"))
29686	}
29687
29688	if invalidParams.Len() > 0 {
29689		return invalidParams
29690	}
29691	return nil
29692}
29693
29694// SetEndTime sets the EndTime field's value.
29695func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
29696	s.EndTime = &v
29697	return s
29698}
29699
29700// SetLoadBalancerName sets the LoadBalancerName field's value.
29701func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
29702	s.LoadBalancerName = &v
29703	return s
29704}
29705
29706// SetMetricName sets the MetricName field's value.
29707func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
29708	s.MetricName = &v
29709	return s
29710}
29711
29712// SetPeriod sets the Period field's value.
29713func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
29714	s.Period = &v
29715	return s
29716}
29717
29718// SetStartTime sets the StartTime field's value.
29719func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
29720	s.StartTime = &v
29721	return s
29722}
29723
29724// SetStatistics sets the Statistics field's value.
29725func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
29726	s.Statistics = v
29727	return s
29728}
29729
29730// SetUnit sets the Unit field's value.
29731func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
29732	s.Unit = &v
29733	return s
29734}
29735
29736type GetLoadBalancerMetricDataOutput struct {
29737	_ struct{} `type:"structure"`
29738
29739	// An array of objects that describe the metric data returned.
29740	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
29741
29742	// The name of the metric returned.
29743	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
29744}
29745
29746// String returns the string representation
29747func (s GetLoadBalancerMetricDataOutput) String() string {
29748	return awsutil.Prettify(s)
29749}
29750
29751// GoString returns the string representation
29752func (s GetLoadBalancerMetricDataOutput) GoString() string {
29753	return s.String()
29754}
29755
29756// SetMetricData sets the MetricData field's value.
29757func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
29758	s.MetricData = v
29759	return s
29760}
29761
29762// SetMetricName sets the MetricName field's value.
29763func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
29764	s.MetricName = &v
29765	return s
29766}
29767
29768type GetLoadBalancerOutput struct {
29769	_ struct{} `type:"structure"`
29770
29771	// An object containing information about your load balancer.
29772	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
29773}
29774
29775// String returns the string representation
29776func (s GetLoadBalancerOutput) String() string {
29777	return awsutil.Prettify(s)
29778}
29779
29780// GoString returns the string representation
29781func (s GetLoadBalancerOutput) GoString() string {
29782	return s.String()
29783}
29784
29785// SetLoadBalancer sets the LoadBalancer field's value.
29786func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
29787	s.LoadBalancer = v
29788	return s
29789}
29790
29791type GetLoadBalancerTlsCertificatesInput struct {
29792	_ struct{} `type:"structure"`
29793
29794	// The name of the load balancer you associated with your SSL/TLS certificate.
29795	//
29796	// LoadBalancerName is a required field
29797	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
29798}
29799
29800// String returns the string representation
29801func (s GetLoadBalancerTlsCertificatesInput) String() string {
29802	return awsutil.Prettify(s)
29803}
29804
29805// GoString returns the string representation
29806func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
29807	return s.String()
29808}
29809
29810// Validate inspects the fields of the type to determine if they are valid.
29811func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
29812	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
29813	if s.LoadBalancerName == nil {
29814		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
29815	}
29816
29817	if invalidParams.Len() > 0 {
29818		return invalidParams
29819	}
29820	return nil
29821}
29822
29823// SetLoadBalancerName sets the LoadBalancerName field's value.
29824func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
29825	s.LoadBalancerName = &v
29826	return s
29827}
29828
29829type GetLoadBalancerTlsCertificatesOutput struct {
29830	_ struct{} `type:"structure"`
29831
29832	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
29833	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
29834}
29835
29836// String returns the string representation
29837func (s GetLoadBalancerTlsCertificatesOutput) String() string {
29838	return awsutil.Prettify(s)
29839}
29840
29841// GoString returns the string representation
29842func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
29843	return s.String()
29844}
29845
29846// SetTlsCertificates sets the TlsCertificates field's value.
29847func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
29848	s.TlsCertificates = v
29849	return s
29850}
29851
29852type GetLoadBalancersInput struct {
29853	_ struct{} `type:"structure"`
29854
29855	// The token to advance to the next page of results from your request.
29856	//
29857	// To get a page token, perform an initial GetLoadBalancers request. If your
29858	// results are paginated, the response will return a next page token that you
29859	// can specify as the page token in a subsequent request.
29860	PageToken *string `locationName:"pageToken" type:"string"`
29861}
29862
29863// String returns the string representation
29864func (s GetLoadBalancersInput) String() string {
29865	return awsutil.Prettify(s)
29866}
29867
29868// GoString returns the string representation
29869func (s GetLoadBalancersInput) GoString() string {
29870	return s.String()
29871}
29872
29873// SetPageToken sets the PageToken field's value.
29874func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
29875	s.PageToken = &v
29876	return s
29877}
29878
29879type GetLoadBalancersOutput struct {
29880	_ struct{} `type:"structure"`
29881
29882	// An array of LoadBalancer objects describing your load balancers.
29883	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
29884
29885	// The token to advance to the next page of results from your request.
29886	//
29887	// A next page token is not returned if there are no more results to display.
29888	//
29889	// To get the next page of results, perform another GetLoadBalancers request
29890	// and specify the next page token using the pageToken parameter.
29891	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29892}
29893
29894// String returns the string representation
29895func (s GetLoadBalancersOutput) String() string {
29896	return awsutil.Prettify(s)
29897}
29898
29899// GoString returns the string representation
29900func (s GetLoadBalancersOutput) GoString() string {
29901	return s.String()
29902}
29903
29904// SetLoadBalancers sets the LoadBalancers field's value.
29905func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
29906	s.LoadBalancers = v
29907	return s
29908}
29909
29910// SetNextPageToken sets the NextPageToken field's value.
29911func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
29912	s.NextPageToken = &v
29913	return s
29914}
29915
29916type GetOperationInput struct {
29917	_ struct{} `type:"structure"`
29918
29919	// A GUID used to identify the operation.
29920	//
29921	// OperationId is a required field
29922	OperationId *string `locationName:"operationId" type:"string" required:"true"`
29923}
29924
29925// String returns the string representation
29926func (s GetOperationInput) String() string {
29927	return awsutil.Prettify(s)
29928}
29929
29930// GoString returns the string representation
29931func (s GetOperationInput) GoString() string {
29932	return s.String()
29933}
29934
29935// Validate inspects the fields of the type to determine if they are valid.
29936func (s *GetOperationInput) Validate() error {
29937	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
29938	if s.OperationId == nil {
29939		invalidParams.Add(request.NewErrParamRequired("OperationId"))
29940	}
29941
29942	if invalidParams.Len() > 0 {
29943		return invalidParams
29944	}
29945	return nil
29946}
29947
29948// SetOperationId sets the OperationId field's value.
29949func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
29950	s.OperationId = &v
29951	return s
29952}
29953
29954type GetOperationOutput struct {
29955	_ struct{} `type:"structure"`
29956
29957	// An array of objects that describe the result of the action, such as the status
29958	// of the request, the timestamp of the request, and the resources affected
29959	// by the request.
29960	Operation *Operation `locationName:"operation" type:"structure"`
29961}
29962
29963// String returns the string representation
29964func (s GetOperationOutput) String() string {
29965	return awsutil.Prettify(s)
29966}
29967
29968// GoString returns the string representation
29969func (s GetOperationOutput) GoString() string {
29970	return s.String()
29971}
29972
29973// SetOperation sets the Operation field's value.
29974func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
29975	s.Operation = v
29976	return s
29977}
29978
29979type GetOperationsForResourceInput struct {
29980	_ struct{} `type:"structure"`
29981
29982	// The token to advance to the next page of results from your request.
29983	//
29984	// To get a page token, perform an initial GetOperationsForResource request.
29985	// If your results are paginated, the response will return a next page token
29986	// that you can specify as the page token in a subsequent request.
29987	PageToken *string `locationName:"pageToken" type:"string"`
29988
29989	// The name of the resource for which you are requesting information.
29990	//
29991	// ResourceName is a required field
29992	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
29993}
29994
29995// String returns the string representation
29996func (s GetOperationsForResourceInput) String() string {
29997	return awsutil.Prettify(s)
29998}
29999
30000// GoString returns the string representation
30001func (s GetOperationsForResourceInput) GoString() string {
30002	return s.String()
30003}
30004
30005// Validate inspects the fields of the type to determine if they are valid.
30006func (s *GetOperationsForResourceInput) Validate() error {
30007	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
30008	if s.ResourceName == nil {
30009		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
30010	}
30011
30012	if invalidParams.Len() > 0 {
30013		return invalidParams
30014	}
30015	return nil
30016}
30017
30018// SetPageToken sets the PageToken field's value.
30019func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
30020	s.PageToken = &v
30021	return s
30022}
30023
30024// SetResourceName sets the ResourceName field's value.
30025func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
30026	s.ResourceName = &v
30027	return s
30028}
30029
30030type GetOperationsForResourceOutput struct {
30031	_ struct{} `type:"structure"`
30032
30033	// (Deprecated) Returns the number of pages of results that remain.
30034	//
30035	// In releases prior to June 12, 2017, this parameter returned null by the API.
30036	// It is now deprecated, and the API returns the next page token parameter instead.
30037	//
30038	// Deprecated: NextPageCount has been deprecated
30039	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
30040
30041	// The token to advance to the next page of results from your request.
30042	//
30043	// A next page token is not returned if there are no more results to display.
30044	//
30045	// To get the next page of results, perform another GetOperationsForResource
30046	// request and specify the next page token using the pageToken parameter.
30047	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30048
30049	// An array of objects that describe the result of the action, such as the status
30050	// of the request, the timestamp of the request, and the resources affected
30051	// by the request.
30052	Operations []*Operation `locationName:"operations" type:"list"`
30053}
30054
30055// String returns the string representation
30056func (s GetOperationsForResourceOutput) String() string {
30057	return awsutil.Prettify(s)
30058}
30059
30060// GoString returns the string representation
30061func (s GetOperationsForResourceOutput) GoString() string {
30062	return s.String()
30063}
30064
30065// SetNextPageCount sets the NextPageCount field's value.
30066func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
30067	s.NextPageCount = &v
30068	return s
30069}
30070
30071// SetNextPageToken sets the NextPageToken field's value.
30072func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
30073	s.NextPageToken = &v
30074	return s
30075}
30076
30077// SetOperations sets the Operations field's value.
30078func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
30079	s.Operations = v
30080	return s
30081}
30082
30083type GetOperationsInput struct {
30084	_ struct{} `type:"structure"`
30085
30086	// The token to advance to the next page of results from your request.
30087	//
30088	// To get a page token, perform an initial GetOperations request. If your results
30089	// are paginated, the response will return a next page token that you can specify
30090	// as the page token in a subsequent request.
30091	PageToken *string `locationName:"pageToken" type:"string"`
30092}
30093
30094// String returns the string representation
30095func (s GetOperationsInput) String() string {
30096	return awsutil.Prettify(s)
30097}
30098
30099// GoString returns the string representation
30100func (s GetOperationsInput) GoString() string {
30101	return s.String()
30102}
30103
30104// SetPageToken sets the PageToken field's value.
30105func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
30106	s.PageToken = &v
30107	return s
30108}
30109
30110type GetOperationsOutput struct {
30111	_ struct{} `type:"structure"`
30112
30113	// The token to advance to the next page of results from your request.
30114	//
30115	// A next page token is not returned if there are no more results to display.
30116	//
30117	// To get the next page of results, perform another GetOperations request and
30118	// specify the next page token using the pageToken parameter.
30119	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30120
30121	// An array of objects that describe the result of the action, such as the status
30122	// of the request, the timestamp of the request, and the resources affected
30123	// by the request.
30124	Operations []*Operation `locationName:"operations" type:"list"`
30125}
30126
30127// String returns the string representation
30128func (s GetOperationsOutput) String() string {
30129	return awsutil.Prettify(s)
30130}
30131
30132// GoString returns the string representation
30133func (s GetOperationsOutput) GoString() string {
30134	return s.String()
30135}
30136
30137// SetNextPageToken sets the NextPageToken field's value.
30138func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
30139	s.NextPageToken = &v
30140	return s
30141}
30142
30143// SetOperations sets the Operations field's value.
30144func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
30145	s.Operations = v
30146	return s
30147}
30148
30149type GetRegionsInput struct {
30150	_ struct{} `type:"structure"`
30151
30152	// A Boolean value indicating whether to also include Availability Zones in
30153	// your get regions request. Availability Zones are indicated with a letter:
30154	// e.g., us-east-2a.
30155	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
30156
30157	// A Boolean value indicating whether to also include Availability Zones for
30158	// databases in your get regions request. Availability Zones are indicated with
30159	// a letter (e.g., us-east-2a).
30160	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
30161}
30162
30163// String returns the string representation
30164func (s GetRegionsInput) String() string {
30165	return awsutil.Prettify(s)
30166}
30167
30168// GoString returns the string representation
30169func (s GetRegionsInput) GoString() string {
30170	return s.String()
30171}
30172
30173// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
30174func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
30175	s.IncludeAvailabilityZones = &v
30176	return s
30177}
30178
30179// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
30180func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
30181	s.IncludeRelationalDatabaseAvailabilityZones = &v
30182	return s
30183}
30184
30185type GetRegionsOutput struct {
30186	_ struct{} `type:"structure"`
30187
30188	// An array of key-value pairs containing information about your get regions
30189	// request.
30190	Regions []*Region `locationName:"regions" type:"list"`
30191}
30192
30193// String returns the string representation
30194func (s GetRegionsOutput) String() string {
30195	return awsutil.Prettify(s)
30196}
30197
30198// GoString returns the string representation
30199func (s GetRegionsOutput) GoString() string {
30200	return s.String()
30201}
30202
30203// SetRegions sets the Regions field's value.
30204func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
30205	s.Regions = v
30206	return s
30207}
30208
30209type GetRelationalDatabaseBlueprintsInput struct {
30210	_ struct{} `type:"structure"`
30211
30212	// The token to advance to the next page of results from your request.
30213	//
30214	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
30215	// If your results are paginated, the response will return a next page token
30216	// that you can specify as the page token in a subsequent request.
30217	PageToken *string `locationName:"pageToken" type:"string"`
30218}
30219
30220// String returns the string representation
30221func (s GetRelationalDatabaseBlueprintsInput) String() string {
30222	return awsutil.Prettify(s)
30223}
30224
30225// GoString returns the string representation
30226func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
30227	return s.String()
30228}
30229
30230// SetPageToken sets the PageToken field's value.
30231func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
30232	s.PageToken = &v
30233	return s
30234}
30235
30236type GetRelationalDatabaseBlueprintsOutput struct {
30237	_ struct{} `type:"structure"`
30238
30239	// An object describing the result of your get relational database blueprints
30240	// request.
30241	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
30242
30243	// The token to advance to the next page of results from your request.
30244	//
30245	// A next page token is not returned if there are no more results to display.
30246	//
30247	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
30248	// request and specify the next page token using the pageToken parameter.
30249	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30250}
30251
30252// String returns the string representation
30253func (s GetRelationalDatabaseBlueprintsOutput) String() string {
30254	return awsutil.Prettify(s)
30255}
30256
30257// GoString returns the string representation
30258func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
30259	return s.String()
30260}
30261
30262// SetBlueprints sets the Blueprints field's value.
30263func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
30264	s.Blueprints = v
30265	return s
30266}
30267
30268// SetNextPageToken sets the NextPageToken field's value.
30269func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
30270	s.NextPageToken = &v
30271	return s
30272}
30273
30274type GetRelationalDatabaseBundlesInput struct {
30275	_ struct{} `type:"structure"`
30276
30277	// The token to advance to the next page of results from your request.
30278	//
30279	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
30280	// If your results are paginated, the response will return a next page token
30281	// that you can specify as the page token in a subsequent request.
30282	PageToken *string `locationName:"pageToken" type:"string"`
30283}
30284
30285// String returns the string representation
30286func (s GetRelationalDatabaseBundlesInput) String() string {
30287	return awsutil.Prettify(s)
30288}
30289
30290// GoString returns the string representation
30291func (s GetRelationalDatabaseBundlesInput) GoString() string {
30292	return s.String()
30293}
30294
30295// SetPageToken sets the PageToken field's value.
30296func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
30297	s.PageToken = &v
30298	return s
30299}
30300
30301type GetRelationalDatabaseBundlesOutput struct {
30302	_ struct{} `type:"structure"`
30303
30304	// An object describing the result of your get relational database bundles request.
30305	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
30306
30307	// The token to advance to the next page of results from your request.
30308	//
30309	// A next page token is not returned if there are no more results to display.
30310	//
30311	// To get the next page of results, perform another GetRelationalDatabaseBundles
30312	// request and specify the next page token using the pageToken parameter.
30313	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30314}
30315
30316// String returns the string representation
30317func (s GetRelationalDatabaseBundlesOutput) String() string {
30318	return awsutil.Prettify(s)
30319}
30320
30321// GoString returns the string representation
30322func (s GetRelationalDatabaseBundlesOutput) GoString() string {
30323	return s.String()
30324}
30325
30326// SetBundles sets the Bundles field's value.
30327func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
30328	s.Bundles = v
30329	return s
30330}
30331
30332// SetNextPageToken sets the NextPageToken field's value.
30333func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
30334	s.NextPageToken = &v
30335	return s
30336}
30337
30338type GetRelationalDatabaseEventsInput struct {
30339	_ struct{} `type:"structure"`
30340
30341	// The number of minutes in the past from which to retrieve events. For example,
30342	// to get all events from the past 2 hours, enter 120.
30343	//
30344	// Default: 60
30345	//
30346	// The minimum is 1 and the maximum is 14 days (20160 minutes).
30347	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
30348
30349	// The token to advance to the next page of results from your request.
30350	//
30351	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
30352	// If your results are paginated, the response will return a next page token
30353	// that you can specify as the page token in a subsequent request.
30354	PageToken *string `locationName:"pageToken" type:"string"`
30355
30356	// The name of the database from which to get events.
30357	//
30358	// RelationalDatabaseName is a required field
30359	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30360}
30361
30362// String returns the string representation
30363func (s GetRelationalDatabaseEventsInput) String() string {
30364	return awsutil.Prettify(s)
30365}
30366
30367// GoString returns the string representation
30368func (s GetRelationalDatabaseEventsInput) GoString() string {
30369	return s.String()
30370}
30371
30372// Validate inspects the fields of the type to determine if they are valid.
30373func (s *GetRelationalDatabaseEventsInput) Validate() error {
30374	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
30375	if s.RelationalDatabaseName == nil {
30376		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30377	}
30378
30379	if invalidParams.Len() > 0 {
30380		return invalidParams
30381	}
30382	return nil
30383}
30384
30385// SetDurationInMinutes sets the DurationInMinutes field's value.
30386func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
30387	s.DurationInMinutes = &v
30388	return s
30389}
30390
30391// SetPageToken sets the PageToken field's value.
30392func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
30393	s.PageToken = &v
30394	return s
30395}
30396
30397// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30398func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
30399	s.RelationalDatabaseName = &v
30400	return s
30401}
30402
30403type GetRelationalDatabaseEventsOutput struct {
30404	_ struct{} `type:"structure"`
30405
30406	// The token to advance to the next page of results from your request.
30407	//
30408	// A next page token is not returned if there are no more results to display.
30409	//
30410	// To get the next page of results, perform another GetRelationalDatabaseEvents
30411	// request and specify the next page token using the pageToken parameter.
30412	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30413
30414	// An object describing the result of your get relational database events request.
30415	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
30416}
30417
30418// String returns the string representation
30419func (s GetRelationalDatabaseEventsOutput) String() string {
30420	return awsutil.Prettify(s)
30421}
30422
30423// GoString returns the string representation
30424func (s GetRelationalDatabaseEventsOutput) GoString() string {
30425	return s.String()
30426}
30427
30428// SetNextPageToken sets the NextPageToken field's value.
30429func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
30430	s.NextPageToken = &v
30431	return s
30432}
30433
30434// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
30435func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
30436	s.RelationalDatabaseEvents = v
30437	return s
30438}
30439
30440type GetRelationalDatabaseInput struct {
30441	_ struct{} `type:"structure"`
30442
30443	// The name of the database that you are looking up.
30444	//
30445	// RelationalDatabaseName is a required field
30446	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30447}
30448
30449// String returns the string representation
30450func (s GetRelationalDatabaseInput) String() string {
30451	return awsutil.Prettify(s)
30452}
30453
30454// GoString returns the string representation
30455func (s GetRelationalDatabaseInput) GoString() string {
30456	return s.String()
30457}
30458
30459// Validate inspects the fields of the type to determine if they are valid.
30460func (s *GetRelationalDatabaseInput) Validate() error {
30461	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
30462	if s.RelationalDatabaseName == nil {
30463		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30464	}
30465
30466	if invalidParams.Len() > 0 {
30467		return invalidParams
30468	}
30469	return nil
30470}
30471
30472// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30473func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
30474	s.RelationalDatabaseName = &v
30475	return s
30476}
30477
30478type GetRelationalDatabaseLogEventsInput struct {
30479	_ struct{} `type:"structure"`
30480
30481	// The end of the time interval from which to get log events.
30482	//
30483	// Constraints:
30484	//
30485	//    * Specified in Coordinated Universal Time (UTC).
30486	//
30487	//    * Specified in the Unix time format. For example, if you wish to use an
30488	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
30489	//    the end time.
30490	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
30491
30492	// The name of the log stream.
30493	//
30494	// Use the get relational database log streams operation to get a list of available
30495	// log streams.
30496	//
30497	// LogStreamName is a required field
30498	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
30499
30500	// The token to advance to the next or previous page of results from your request.
30501	//
30502	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
30503	// If your results are paginated, the response will return a next forward token
30504	// and/or next backward token that you can specify as the page token in a subsequent
30505	// request.
30506	PageToken *string `locationName:"pageToken" type:"string"`
30507
30508	// The name of your database for which to get log events.
30509	//
30510	// RelationalDatabaseName is a required field
30511	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30512
30513	// Parameter to specify if the log should start from head or tail. If true is
30514	// specified, the log event starts from the head of the log. If false is specified,
30515	// the log event starts from the tail of the log.
30516	//
30517	// For PostgreSQL, the default value of false is the only option available.
30518	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
30519
30520	// The start of the time interval from which to get log events.
30521	//
30522	// Constraints:
30523	//
30524	//    * Specified in Coordinated Universal Time (UTC).
30525	//
30526	//    * Specified in the Unix time format. For example, if you wish to use a
30527	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
30528	//    as the start time.
30529	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
30530}
30531
30532// String returns the string representation
30533func (s GetRelationalDatabaseLogEventsInput) String() string {
30534	return awsutil.Prettify(s)
30535}
30536
30537// GoString returns the string representation
30538func (s GetRelationalDatabaseLogEventsInput) GoString() string {
30539	return s.String()
30540}
30541
30542// Validate inspects the fields of the type to determine if they are valid.
30543func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
30544	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
30545	if s.LogStreamName == nil {
30546		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
30547	}
30548	if s.RelationalDatabaseName == nil {
30549		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30550	}
30551
30552	if invalidParams.Len() > 0 {
30553		return invalidParams
30554	}
30555	return nil
30556}
30557
30558// SetEndTime sets the EndTime field's value.
30559func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
30560	s.EndTime = &v
30561	return s
30562}
30563
30564// SetLogStreamName sets the LogStreamName field's value.
30565func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
30566	s.LogStreamName = &v
30567	return s
30568}
30569
30570// SetPageToken sets the PageToken field's value.
30571func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
30572	s.PageToken = &v
30573	return s
30574}
30575
30576// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30577func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
30578	s.RelationalDatabaseName = &v
30579	return s
30580}
30581
30582// SetStartFromHead sets the StartFromHead field's value.
30583func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
30584	s.StartFromHead = &v
30585	return s
30586}
30587
30588// SetStartTime sets the StartTime field's value.
30589func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
30590	s.StartTime = &v
30591	return s
30592}
30593
30594type GetRelationalDatabaseLogEventsOutput struct {
30595	_ struct{} `type:"structure"`
30596
30597	// A token used for advancing to the previous page of results from your get
30598	// relational database log events request.
30599	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
30600
30601	// A token used for advancing to the next page of results from your get relational
30602	// database log events request.
30603	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
30604
30605	// An object describing the result of your get relational database log events
30606	// request.
30607	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
30608}
30609
30610// String returns the string representation
30611func (s GetRelationalDatabaseLogEventsOutput) String() string {
30612	return awsutil.Prettify(s)
30613}
30614
30615// GoString returns the string representation
30616func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
30617	return s.String()
30618}
30619
30620// SetNextBackwardToken sets the NextBackwardToken field's value.
30621func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
30622	s.NextBackwardToken = &v
30623	return s
30624}
30625
30626// SetNextForwardToken sets the NextForwardToken field's value.
30627func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
30628	s.NextForwardToken = &v
30629	return s
30630}
30631
30632// SetResourceLogEvents sets the ResourceLogEvents field's value.
30633func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
30634	s.ResourceLogEvents = v
30635	return s
30636}
30637
30638type GetRelationalDatabaseLogStreamsInput struct {
30639	_ struct{} `type:"structure"`
30640
30641	// The name of your database for which to get log streams.
30642	//
30643	// RelationalDatabaseName is a required field
30644	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30645}
30646
30647// String returns the string representation
30648func (s GetRelationalDatabaseLogStreamsInput) String() string {
30649	return awsutil.Prettify(s)
30650}
30651
30652// GoString returns the string representation
30653func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
30654	return s.String()
30655}
30656
30657// Validate inspects the fields of the type to determine if they are valid.
30658func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
30659	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
30660	if s.RelationalDatabaseName == nil {
30661		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30662	}
30663
30664	if invalidParams.Len() > 0 {
30665		return invalidParams
30666	}
30667	return nil
30668}
30669
30670// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30671func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
30672	s.RelationalDatabaseName = &v
30673	return s
30674}
30675
30676type GetRelationalDatabaseLogStreamsOutput struct {
30677	_ struct{} `type:"structure"`
30678
30679	// An object describing the result of your get relational database log streams
30680	// request.
30681	LogStreams []*string `locationName:"logStreams" type:"list"`
30682}
30683
30684// String returns the string representation
30685func (s GetRelationalDatabaseLogStreamsOutput) String() string {
30686	return awsutil.Prettify(s)
30687}
30688
30689// GoString returns the string representation
30690func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
30691	return s.String()
30692}
30693
30694// SetLogStreams sets the LogStreams field's value.
30695func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
30696	s.LogStreams = v
30697	return s
30698}
30699
30700type GetRelationalDatabaseMasterUserPasswordInput struct {
30701	_ struct{} `type:"structure"`
30702
30703	// The password version to return.
30704	//
30705	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
30706	// respectively. Specifying PENDING returns the newest version of the password
30707	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
30708	// the PENDING password is no longer available.
30709	//
30710	// Default: CURRENT
30711	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
30712
30713	// The name of your database for which to get the master user password.
30714	//
30715	// RelationalDatabaseName is a required field
30716	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30717}
30718
30719// String returns the string representation
30720func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
30721	return awsutil.Prettify(s)
30722}
30723
30724// GoString returns the string representation
30725func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
30726	return s.String()
30727}
30728
30729// Validate inspects the fields of the type to determine if they are valid.
30730func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
30731	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
30732	if s.RelationalDatabaseName == nil {
30733		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30734	}
30735
30736	if invalidParams.Len() > 0 {
30737		return invalidParams
30738	}
30739	return nil
30740}
30741
30742// SetPasswordVersion sets the PasswordVersion field's value.
30743func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
30744	s.PasswordVersion = &v
30745	return s
30746}
30747
30748// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30749func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
30750	s.RelationalDatabaseName = &v
30751	return s
30752}
30753
30754type GetRelationalDatabaseMasterUserPasswordOutput struct {
30755	_ struct{} `type:"structure"`
30756
30757	// The timestamp when the specified version of the master user password was
30758	// created.
30759	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30760
30761	// The master user password for the password version specified.
30762	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
30763}
30764
30765// String returns the string representation
30766func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
30767	return awsutil.Prettify(s)
30768}
30769
30770// GoString returns the string representation
30771func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
30772	return s.String()
30773}
30774
30775// SetCreatedAt sets the CreatedAt field's value.
30776func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
30777	s.CreatedAt = &v
30778	return s
30779}
30780
30781// SetMasterUserPassword sets the MasterUserPassword field's value.
30782func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
30783	s.MasterUserPassword = &v
30784	return s
30785}
30786
30787type GetRelationalDatabaseMetricDataInput struct {
30788	_ struct{} `type:"structure"`
30789
30790	// The end of the time interval from which to get metric data.
30791	//
30792	// Constraints:
30793	//
30794	//    * Specified in Coordinated Universal Time (UTC).
30795	//
30796	//    * Specified in the Unix time format. For example, if you wish to use an
30797	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
30798	//    the end time.
30799	//
30800	// EndTime is a required field
30801	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
30802
30803	// The metric for which you want to return information.
30804	//
30805	// Valid relational database metric names are listed below, along with the most
30806	// useful statistics to include in your request, and the published unit value.
30807	// All relational database metric data is available in 1-minute (60 seconds)
30808	// granularity.
30809	//
30810	//    * CPUUtilization - The percentage of CPU utilization currently in use
30811	//    on the database. Statistics: The most useful statistics are Maximum and
30812	//    Average. Unit: The published unit is Percent.
30813	//
30814	//    * DatabaseConnections - The number of database connections in use. Statistics:
30815	//    The most useful statistics are Maximum and Sum. Unit: The published unit
30816	//    is Count.
30817	//
30818	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
30819	//    that are waiting to access the disk. Statistics: The most useful statistic
30820	//    is Sum. Unit: The published unit is Count.
30821	//
30822	//    * FreeStorageSpace - The amount of available storage space. Statistics:
30823	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
30824	//
30825	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
30826	//    the database, including both customer database traffic and AWS traffic
30827	//    used for monitoring and replication. Statistics: The most useful statistic
30828	//    is Average. Unit: The published unit is Bytes/Second.
30829	//
30830	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
30831	//    on the database, including both customer database traffic and AWS traffic
30832	//    used for monitoring and replication. Statistics: The most useful statistic
30833	//    is Average. Unit: The published unit is Bytes/Second.
30834	//
30835	// MetricName is a required field
30836	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
30837
30838	// The granularity, in seconds, of the returned data points.
30839	//
30840	// All relational database metric data is available in 1-minute (60 seconds)
30841	// granularity.
30842	//
30843	// Period is a required field
30844	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
30845
30846	// The name of your database from which to get metric data.
30847	//
30848	// RelationalDatabaseName is a required field
30849	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30850
30851	// The start of the time interval from which to get metric data.
30852	//
30853	// Constraints:
30854	//
30855	//    * Specified in Coordinated Universal Time (UTC).
30856	//
30857	//    * Specified in the Unix time format. For example, if you wish to use a
30858	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
30859	//    as the start time.
30860	//
30861	// StartTime is a required field
30862	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
30863
30864	// The statistic for the metric.
30865	//
30866	// The following statistics are available:
30867	//
30868	//    * Minimum - The lowest value observed during the specified period. Use
30869	//    this value to determine low volumes of activity for your application.
30870	//
30871	//    * Maximum - The highest value observed during the specified period. Use
30872	//    this value to determine high volumes of activity for your application.
30873	//
30874	//    * Sum - All values submitted for the matching metric added together. You
30875	//    can use this statistic to determine the total volume of a metric.
30876	//
30877	//    * Average - The value of Sum / SampleCount during the specified period.
30878	//    By comparing this statistic with the Minimum and Maximum values, you can
30879	//    determine the full scope of a metric and how close the average use is
30880	//    to the Minimum and Maximum values. This comparison helps you to know when
30881	//    to increase or decrease your resources.
30882	//
30883	//    * SampleCount - The count, or number, of data points used for the statistical
30884	//    calculation.
30885	//
30886	// Statistics is a required field
30887	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
30888
30889	// The unit for the metric data request. Valid units depend on the metric data
30890	// being requested. For the valid units with each available metric, see the
30891	// metricName parameter.
30892	//
30893	// Unit is a required field
30894	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
30895}
30896
30897// String returns the string representation
30898func (s GetRelationalDatabaseMetricDataInput) String() string {
30899	return awsutil.Prettify(s)
30900}
30901
30902// GoString returns the string representation
30903func (s GetRelationalDatabaseMetricDataInput) GoString() string {
30904	return s.String()
30905}
30906
30907// Validate inspects the fields of the type to determine if they are valid.
30908func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
30909	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
30910	if s.EndTime == nil {
30911		invalidParams.Add(request.NewErrParamRequired("EndTime"))
30912	}
30913	if s.MetricName == nil {
30914		invalidParams.Add(request.NewErrParamRequired("MetricName"))
30915	}
30916	if s.Period == nil {
30917		invalidParams.Add(request.NewErrParamRequired("Period"))
30918	}
30919	if s.Period != nil && *s.Period < 60 {
30920		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
30921	}
30922	if s.RelationalDatabaseName == nil {
30923		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30924	}
30925	if s.StartTime == nil {
30926		invalidParams.Add(request.NewErrParamRequired("StartTime"))
30927	}
30928	if s.Statistics == nil {
30929		invalidParams.Add(request.NewErrParamRequired("Statistics"))
30930	}
30931	if s.Unit == nil {
30932		invalidParams.Add(request.NewErrParamRequired("Unit"))
30933	}
30934
30935	if invalidParams.Len() > 0 {
30936		return invalidParams
30937	}
30938	return nil
30939}
30940
30941// SetEndTime sets the EndTime field's value.
30942func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
30943	s.EndTime = &v
30944	return s
30945}
30946
30947// SetMetricName sets the MetricName field's value.
30948func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
30949	s.MetricName = &v
30950	return s
30951}
30952
30953// SetPeriod sets the Period field's value.
30954func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
30955	s.Period = &v
30956	return s
30957}
30958
30959// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30960func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
30961	s.RelationalDatabaseName = &v
30962	return s
30963}
30964
30965// SetStartTime sets the StartTime field's value.
30966func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
30967	s.StartTime = &v
30968	return s
30969}
30970
30971// SetStatistics sets the Statistics field's value.
30972func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
30973	s.Statistics = v
30974	return s
30975}
30976
30977// SetUnit sets the Unit field's value.
30978func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
30979	s.Unit = &v
30980	return s
30981}
30982
30983type GetRelationalDatabaseMetricDataOutput struct {
30984	_ struct{} `type:"structure"`
30985
30986	// An array of objects that describe the metric data returned.
30987	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
30988
30989	// The name of the metric returned.
30990	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
30991}
30992
30993// String returns the string representation
30994func (s GetRelationalDatabaseMetricDataOutput) String() string {
30995	return awsutil.Prettify(s)
30996}
30997
30998// GoString returns the string representation
30999func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
31000	return s.String()
31001}
31002
31003// SetMetricData sets the MetricData field's value.
31004func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
31005	s.MetricData = v
31006	return s
31007}
31008
31009// SetMetricName sets the MetricName field's value.
31010func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
31011	s.MetricName = &v
31012	return s
31013}
31014
31015type GetRelationalDatabaseOutput struct {
31016	_ struct{} `type:"structure"`
31017
31018	// An object describing the specified database.
31019	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
31020}
31021
31022// String returns the string representation
31023func (s GetRelationalDatabaseOutput) String() string {
31024	return awsutil.Prettify(s)
31025}
31026
31027// GoString returns the string representation
31028func (s GetRelationalDatabaseOutput) GoString() string {
31029	return s.String()
31030}
31031
31032// SetRelationalDatabase sets the RelationalDatabase field's value.
31033func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
31034	s.RelationalDatabase = v
31035	return s
31036}
31037
31038type GetRelationalDatabaseParametersInput struct {
31039	_ struct{} `type:"structure"`
31040
31041	// The token to advance to the next page of results from your request.
31042	//
31043	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
31044	// If your results are paginated, the response will return a next page token
31045	// that you can specify as the page token in a subsequent request.
31046	PageToken *string `locationName:"pageToken" type:"string"`
31047
31048	// The name of your database for which to get parameters.
31049	//
31050	// RelationalDatabaseName is a required field
31051	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
31052}
31053
31054// String returns the string representation
31055func (s GetRelationalDatabaseParametersInput) String() string {
31056	return awsutil.Prettify(s)
31057}
31058
31059// GoString returns the string representation
31060func (s GetRelationalDatabaseParametersInput) GoString() string {
31061	return s.String()
31062}
31063
31064// Validate inspects the fields of the type to determine if they are valid.
31065func (s *GetRelationalDatabaseParametersInput) Validate() error {
31066	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
31067	if s.RelationalDatabaseName == nil {
31068		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
31069	}
31070
31071	if invalidParams.Len() > 0 {
31072		return invalidParams
31073	}
31074	return nil
31075}
31076
31077// SetPageToken sets the PageToken field's value.
31078func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
31079	s.PageToken = &v
31080	return s
31081}
31082
31083// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
31084func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
31085	s.RelationalDatabaseName = &v
31086	return s
31087}
31088
31089type GetRelationalDatabaseParametersOutput struct {
31090	_ struct{} `type:"structure"`
31091
31092	// The token to advance to the next page of results from your request.
31093	//
31094	// A next page token is not returned if there are no more results to display.
31095	//
31096	// To get the next page of results, perform another GetRelationalDatabaseParameters
31097	// request and specify the next page token using the pageToken parameter.
31098	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31099
31100	// An object describing the result of your get relational database parameters
31101	// request.
31102	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
31103}
31104
31105// String returns the string representation
31106func (s GetRelationalDatabaseParametersOutput) String() string {
31107	return awsutil.Prettify(s)
31108}
31109
31110// GoString returns the string representation
31111func (s GetRelationalDatabaseParametersOutput) GoString() string {
31112	return s.String()
31113}
31114
31115// SetNextPageToken sets the NextPageToken field's value.
31116func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
31117	s.NextPageToken = &v
31118	return s
31119}
31120
31121// SetParameters sets the Parameters field's value.
31122func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
31123	s.Parameters = v
31124	return s
31125}
31126
31127type GetRelationalDatabaseSnapshotInput struct {
31128	_ struct{} `type:"structure"`
31129
31130	// The name of the database snapshot for which to get information.
31131	//
31132	// RelationalDatabaseSnapshotName is a required field
31133	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
31134}
31135
31136// String returns the string representation
31137func (s GetRelationalDatabaseSnapshotInput) String() string {
31138	return awsutil.Prettify(s)
31139}
31140
31141// GoString returns the string representation
31142func (s GetRelationalDatabaseSnapshotInput) GoString() string {
31143	return s.String()
31144}
31145
31146// Validate inspects the fields of the type to determine if they are valid.
31147func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
31148	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
31149	if s.RelationalDatabaseSnapshotName == nil {
31150		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
31151	}
31152
31153	if invalidParams.Len() > 0 {
31154		return invalidParams
31155	}
31156	return nil
31157}
31158
31159// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
31160func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
31161	s.RelationalDatabaseSnapshotName = &v
31162	return s
31163}
31164
31165type GetRelationalDatabaseSnapshotOutput struct {
31166	_ struct{} `type:"structure"`
31167
31168	// An object describing the specified database snapshot.
31169	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
31170}
31171
31172// String returns the string representation
31173func (s GetRelationalDatabaseSnapshotOutput) String() string {
31174	return awsutil.Prettify(s)
31175}
31176
31177// GoString returns the string representation
31178func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
31179	return s.String()
31180}
31181
31182// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
31183func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
31184	s.RelationalDatabaseSnapshot = v
31185	return s
31186}
31187
31188type GetRelationalDatabaseSnapshotsInput struct {
31189	_ struct{} `type:"structure"`
31190
31191	// The token to advance to the next page of results from your request.
31192	//
31193	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
31194	// If your results are paginated, the response will return a next page token
31195	// that you can specify as the page token in a subsequent request.
31196	PageToken *string `locationName:"pageToken" type:"string"`
31197}
31198
31199// String returns the string representation
31200func (s GetRelationalDatabaseSnapshotsInput) String() string {
31201	return awsutil.Prettify(s)
31202}
31203
31204// GoString returns the string representation
31205func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
31206	return s.String()
31207}
31208
31209// SetPageToken sets the PageToken field's value.
31210func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
31211	s.PageToken = &v
31212	return s
31213}
31214
31215type GetRelationalDatabaseSnapshotsOutput struct {
31216	_ struct{} `type:"structure"`
31217
31218	// The token to advance to the next page of results from your request.
31219	//
31220	// A next page token is not returned if there are no more results to display.
31221	//
31222	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
31223	// request and specify the next page token using the pageToken parameter.
31224	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31225
31226	// An object describing the result of your get relational database snapshots
31227	// request.
31228	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
31229}
31230
31231// String returns the string representation
31232func (s GetRelationalDatabaseSnapshotsOutput) String() string {
31233	return awsutil.Prettify(s)
31234}
31235
31236// GoString returns the string representation
31237func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
31238	return s.String()
31239}
31240
31241// SetNextPageToken sets the NextPageToken field's value.
31242func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
31243	s.NextPageToken = &v
31244	return s
31245}
31246
31247// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
31248func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
31249	s.RelationalDatabaseSnapshots = v
31250	return s
31251}
31252
31253type GetRelationalDatabasesInput struct {
31254	_ struct{} `type:"structure"`
31255
31256	// The token to advance to the next page of results from your request.
31257	//
31258	// To get a page token, perform an initial GetRelationalDatabases request. If
31259	// your results are paginated, the response will return a next page token that
31260	// you can specify as the page token in a subsequent request.
31261	PageToken *string `locationName:"pageToken" type:"string"`
31262}
31263
31264// String returns the string representation
31265func (s GetRelationalDatabasesInput) String() string {
31266	return awsutil.Prettify(s)
31267}
31268
31269// GoString returns the string representation
31270func (s GetRelationalDatabasesInput) GoString() string {
31271	return s.String()
31272}
31273
31274// SetPageToken sets the PageToken field's value.
31275func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
31276	s.PageToken = &v
31277	return s
31278}
31279
31280type GetRelationalDatabasesOutput struct {
31281	_ struct{} `type:"structure"`
31282
31283	// The token to advance to the next page of results from your request.
31284	//
31285	// A next page token is not returned if there are no more results to display.
31286	//
31287	// To get the next page of results, perform another GetRelationalDatabases request
31288	// and specify the next page token using the pageToken parameter.
31289	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31290
31291	// An object describing the result of your get relational databases request.
31292	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
31293}
31294
31295// String returns the string representation
31296func (s GetRelationalDatabasesOutput) String() string {
31297	return awsutil.Prettify(s)
31298}
31299
31300// GoString returns the string representation
31301func (s GetRelationalDatabasesOutput) GoString() string {
31302	return s.String()
31303}
31304
31305// SetNextPageToken sets the NextPageToken field's value.
31306func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
31307	s.NextPageToken = &v
31308	return s
31309}
31310
31311// SetRelationalDatabases sets the RelationalDatabases field's value.
31312func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
31313	s.RelationalDatabases = v
31314	return s
31315}
31316
31317type GetStaticIpInput struct {
31318	_ struct{} `type:"structure"`
31319
31320	// The name of the static IP in Lightsail.
31321	//
31322	// StaticIpName is a required field
31323	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
31324}
31325
31326// String returns the string representation
31327func (s GetStaticIpInput) String() string {
31328	return awsutil.Prettify(s)
31329}
31330
31331// GoString returns the string representation
31332func (s GetStaticIpInput) GoString() string {
31333	return s.String()
31334}
31335
31336// Validate inspects the fields of the type to determine if they are valid.
31337func (s *GetStaticIpInput) Validate() error {
31338	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
31339	if s.StaticIpName == nil {
31340		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
31341	}
31342
31343	if invalidParams.Len() > 0 {
31344		return invalidParams
31345	}
31346	return nil
31347}
31348
31349// SetStaticIpName sets the StaticIpName field's value.
31350func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
31351	s.StaticIpName = &v
31352	return s
31353}
31354
31355type GetStaticIpOutput struct {
31356	_ struct{} `type:"structure"`
31357
31358	// An array of key-value pairs containing information about the requested static
31359	// IP.
31360	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
31361}
31362
31363// String returns the string representation
31364func (s GetStaticIpOutput) String() string {
31365	return awsutil.Prettify(s)
31366}
31367
31368// GoString returns the string representation
31369func (s GetStaticIpOutput) GoString() string {
31370	return s.String()
31371}
31372
31373// SetStaticIp sets the StaticIp field's value.
31374func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
31375	s.StaticIp = v
31376	return s
31377}
31378
31379type GetStaticIpsInput struct {
31380	_ struct{} `type:"structure"`
31381
31382	// The token to advance to the next page of results from your request.
31383	//
31384	// To get a page token, perform an initial GetStaticIps request. If your results
31385	// are paginated, the response will return a next page token that you can specify
31386	// as the page token in a subsequent request.
31387	PageToken *string `locationName:"pageToken" type:"string"`
31388}
31389
31390// String returns the string representation
31391func (s GetStaticIpsInput) String() string {
31392	return awsutil.Prettify(s)
31393}
31394
31395// GoString returns the string representation
31396func (s GetStaticIpsInput) GoString() string {
31397	return s.String()
31398}
31399
31400// SetPageToken sets the PageToken field's value.
31401func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
31402	s.PageToken = &v
31403	return s
31404}
31405
31406type GetStaticIpsOutput struct {
31407	_ struct{} `type:"structure"`
31408
31409	// The token to advance to the next page of results from your request.
31410	//
31411	// A next page token is not returned if there are no more results to display.
31412	//
31413	// To get the next page of results, perform another GetStaticIps request and
31414	// specify the next page token using the pageToken parameter.
31415	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31416
31417	// An array of key-value pairs containing information about your get static
31418	// IPs request.
31419	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
31420}
31421
31422// String returns the string representation
31423func (s GetStaticIpsOutput) String() string {
31424	return awsutil.Prettify(s)
31425}
31426
31427// GoString returns the string representation
31428func (s GetStaticIpsOutput) GoString() string {
31429	return s.String()
31430}
31431
31432// SetNextPageToken sets the NextPageToken field's value.
31433func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
31434	s.NextPageToken = &v
31435	return s
31436}
31437
31438// SetStaticIps sets the StaticIps field's value.
31439func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
31440	s.StaticIps = v
31441	return s
31442}
31443
31444// Describes the request headers that a Lightsail distribution bases caching
31445// on.
31446//
31447// For the headers that you specify, your distribution caches separate versions
31448// of the specified content based on the header values in viewer requests. For
31449// example, suppose viewer requests for logo.jpg contain a custom product header
31450// that has a value of either acme or apex, and you configure your distribution
31451// to cache your content based on values in the product header. Your distribution
31452// forwards the product header to the origin and caches the response from the
31453// origin once for each header value.
31454type HeaderObject struct {
31455	_ struct{} `type:"structure"`
31456
31457	// The specific headers to forward to your distribution's origin.
31458	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
31459
31460	// The headers that you want your distribution to forward to your origin and
31461	// base caching on.
31462	//
31463	// You can configure your distribution to do one of the following:
31464	//
31465	//    * all - Forward all headers to your origin.
31466	//
31467	//    * none - Forward only the default headers.
31468	//
31469	//    * allow-list - Forward only the headers you specify using the headersAllowList
31470	//    parameter.
31471	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
31472}
31473
31474// String returns the string representation
31475func (s HeaderObject) String() string {
31476	return awsutil.Prettify(s)
31477}
31478
31479// GoString returns the string representation
31480func (s HeaderObject) GoString() string {
31481	return s.String()
31482}
31483
31484// SetHeadersAllowList sets the HeadersAllowList field's value.
31485func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
31486	s.HeadersAllowList = v
31487	return s
31488}
31489
31490// SetOption sets the Option field's value.
31491func (s *HeaderObject) SetOption(v string) *HeaderObject {
31492	s.Option = &v
31493	return s
31494}
31495
31496// Describes the public SSH host keys or the RDP certificate.
31497type HostKeyAttributes struct {
31498	_ struct{} `type:"structure"`
31499
31500	// The SSH host key algorithm or the RDP certificate format.
31501	//
31502	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
31503	// etc. For RDP certificates, the algorithm is always x509-cert.
31504	Algorithm *string `locationName:"algorithm" type:"string"`
31505
31506	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
31507	//
31508	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
31509	//
31510	//    * Example of an SHA-1 RDP fingerprint: af:34:51:fe:09:f0:e0:da:b8:4e:56:ca:60:c2:10:ff:38:06:db:45
31511	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
31512
31513	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
31514	//
31515	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
31516	//
31517	//    * Example of an SHA-256 RDP fingerprint: 03:9b:36:9f:4b:de:4e:61:70:fc:7c:c9:78:e7:d2:1a:1c:25:a8:0c:91:f6:7c:e4:d6:a0:85:c8:b4:53:99:68
31518	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
31519
31520	// The returned RDP certificate is not valid after this point in time.
31521	//
31522	// This value is listed only for RDP certificates.
31523	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
31524
31525	// The returned RDP certificate is valid after this point in time.
31526	//
31527	// This value is listed only for RDP certificates.
31528	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
31529
31530	// The public SSH host key or the RDP certificate.
31531	PublicKey *string `locationName:"publicKey" type:"string"`
31532
31533	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
31534	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
31535}
31536
31537// String returns the string representation
31538func (s HostKeyAttributes) String() string {
31539	return awsutil.Prettify(s)
31540}
31541
31542// GoString returns the string representation
31543func (s HostKeyAttributes) GoString() string {
31544	return s.String()
31545}
31546
31547// SetAlgorithm sets the Algorithm field's value.
31548func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
31549	s.Algorithm = &v
31550	return s
31551}
31552
31553// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
31554func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
31555	s.FingerprintSHA1 = &v
31556	return s
31557}
31558
31559// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
31560func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
31561	s.FingerprintSHA256 = &v
31562	return s
31563}
31564
31565// SetNotValidAfter sets the NotValidAfter field's value.
31566func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
31567	s.NotValidAfter = &v
31568	return s
31569}
31570
31571// SetNotValidBefore sets the NotValidBefore field's value.
31572func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
31573	s.NotValidBefore = &v
31574	return s
31575}
31576
31577// SetPublicKey sets the PublicKey field's value.
31578func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
31579	s.PublicKey = &v
31580	return s
31581}
31582
31583// SetWitnessedAt sets the WitnessedAt field's value.
31584func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
31585	s.WitnessedAt = &v
31586	return s
31587}
31588
31589type ImportKeyPairInput struct {
31590	_ struct{} `type:"structure"`
31591
31592	// The name of the key pair for which you want to import the public key.
31593	//
31594	// KeyPairName is a required field
31595	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
31596
31597	// A base64-encoded public key of the ssh-rsa type.
31598	//
31599	// PublicKeyBase64 is a required field
31600	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
31601}
31602
31603// String returns the string representation
31604func (s ImportKeyPairInput) String() string {
31605	return awsutil.Prettify(s)
31606}
31607
31608// GoString returns the string representation
31609func (s ImportKeyPairInput) GoString() string {
31610	return s.String()
31611}
31612
31613// Validate inspects the fields of the type to determine if they are valid.
31614func (s *ImportKeyPairInput) Validate() error {
31615	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
31616	if s.KeyPairName == nil {
31617		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
31618	}
31619	if s.PublicKeyBase64 == nil {
31620		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
31621	}
31622
31623	if invalidParams.Len() > 0 {
31624		return invalidParams
31625	}
31626	return nil
31627}
31628
31629// SetKeyPairName sets the KeyPairName field's value.
31630func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
31631	s.KeyPairName = &v
31632	return s
31633}
31634
31635// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
31636func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
31637	s.PublicKeyBase64 = &v
31638	return s
31639}
31640
31641type ImportKeyPairOutput struct {
31642	_ struct{} `type:"structure"`
31643
31644	// An array of objects that describe the result of the action, such as the status
31645	// of the request, the timestamp of the request, and the resources affected
31646	// by the request.
31647	Operation *Operation `locationName:"operation" type:"structure"`
31648}
31649
31650// String returns the string representation
31651func (s ImportKeyPairOutput) String() string {
31652	return awsutil.Prettify(s)
31653}
31654
31655// GoString returns the string representation
31656func (s ImportKeyPairOutput) GoString() string {
31657	return s.String()
31658}
31659
31660// SetOperation sets the Operation field's value.
31661func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
31662	s.Operation = v
31663	return s
31664}
31665
31666// Describes the origin resource of an Amazon Lightsail content delivery network
31667// (CDN) distribution.
31668//
31669// An origin can be a Lightsail instance or load balancer. A distribution pulls
31670// content from an origin, caches it, and serves it to viewers via a worldwide
31671// network of edge servers.
31672type InputOrigin struct {
31673	_ struct{} `type:"structure"`
31674
31675	// The name of the origin resource.
31676	Name *string `locationName:"name" type:"string"`
31677
31678	// The protocol that your Amazon Lightsail distribution uses when establishing
31679	// a connection with your origin to pull content.
31680	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
31681
31682	// The AWS Region name of the origin resource.
31683	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
31684}
31685
31686// String returns the string representation
31687func (s InputOrigin) String() string {
31688	return awsutil.Prettify(s)
31689}
31690
31691// GoString returns the string representation
31692func (s InputOrigin) GoString() string {
31693	return s.String()
31694}
31695
31696// SetName sets the Name field's value.
31697func (s *InputOrigin) SetName(v string) *InputOrigin {
31698	s.Name = &v
31699	return s
31700}
31701
31702// SetProtocolPolicy sets the ProtocolPolicy field's value.
31703func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
31704	s.ProtocolPolicy = &v
31705	return s
31706}
31707
31708// SetRegionName sets the RegionName field's value.
31709func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
31710	s.RegionName = &v
31711	return s
31712}
31713
31714// Describes an instance (a virtual private server).
31715type Instance struct {
31716	_ struct{} `type:"structure"`
31717
31718	// An array of objects representing the add-ons enabled on the instance.
31719	AddOns []*AddOn `locationName:"addOns" type:"list"`
31720
31721	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
31722	Arn *string `locationName:"arn" type:"string"`
31723
31724	// The blueprint ID (e.g., os_amlinux_2016_03).
31725	BlueprintId *string `locationName:"blueprintId" type:"string"`
31726
31727	// The friendly name of the blueprint (e.g., Amazon Linux).
31728	BlueprintName *string `locationName:"blueprintName" type:"string"`
31729
31730	// The bundle for the instance (e.g., micro_1_0).
31731	BundleId *string `locationName:"bundleId" type:"string"`
31732
31733	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
31734	// time format.
31735	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31736
31737	// The size of the vCPU and the amount of RAM for the instance.
31738	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
31739
31740	// The IP address type of the instance.
31741	//
31742	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
31743	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
31744
31745	// The IPv6 addresses of the instance.
31746	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
31747
31748	// A Boolean value indicating whether this instance has a static IP assigned
31749	// to it.
31750	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
31751
31752	// The region name and Availability Zone where the instance is located.
31753	Location *ResourceLocation `locationName:"location" type:"structure"`
31754
31755	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
31756	Name *string `locationName:"name" type:"string"`
31757
31758	// Information about the public ports and monthly data transfer rates for the
31759	// instance.
31760	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
31761
31762	// The private IP address of the instance.
31763	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
31764
31765	// The public IP address of the instance.
31766	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
31767
31768	// The type of resource (usually Instance).
31769	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31770
31771	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
31772	SshKeyName *string `locationName:"sshKeyName" type:"string"`
31773
31774	// The status code and the state (e.g., running) for the instance.
31775	State *InstanceState `locationName:"state" type:"structure"`
31776
31777	// The support code. Include this code in your email to support when you have
31778	// questions about an instance or another resource in Lightsail. This code enables
31779	// our support team to look up your Lightsail information more easily.
31780	SupportCode *string `locationName:"supportCode" type:"string"`
31781
31782	// The tag keys and optional values for the resource. For more information about
31783	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
31784	Tags []*Tag `locationName:"tags" type:"list"`
31785
31786	// The user name for connecting to the instance (e.g., ec2-user).
31787	Username *string `locationName:"username" type:"string"`
31788}
31789
31790// String returns the string representation
31791func (s Instance) String() string {
31792	return awsutil.Prettify(s)
31793}
31794
31795// GoString returns the string representation
31796func (s Instance) GoString() string {
31797	return s.String()
31798}
31799
31800// SetAddOns sets the AddOns field's value.
31801func (s *Instance) SetAddOns(v []*AddOn) *Instance {
31802	s.AddOns = v
31803	return s
31804}
31805
31806// SetArn sets the Arn field's value.
31807func (s *Instance) SetArn(v string) *Instance {
31808	s.Arn = &v
31809	return s
31810}
31811
31812// SetBlueprintId sets the BlueprintId field's value.
31813func (s *Instance) SetBlueprintId(v string) *Instance {
31814	s.BlueprintId = &v
31815	return s
31816}
31817
31818// SetBlueprintName sets the BlueprintName field's value.
31819func (s *Instance) SetBlueprintName(v string) *Instance {
31820	s.BlueprintName = &v
31821	return s
31822}
31823
31824// SetBundleId sets the BundleId field's value.
31825func (s *Instance) SetBundleId(v string) *Instance {
31826	s.BundleId = &v
31827	return s
31828}
31829
31830// SetCreatedAt sets the CreatedAt field's value.
31831func (s *Instance) SetCreatedAt(v time.Time) *Instance {
31832	s.CreatedAt = &v
31833	return s
31834}
31835
31836// SetHardware sets the Hardware field's value.
31837func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
31838	s.Hardware = v
31839	return s
31840}
31841
31842// SetIpAddressType sets the IpAddressType field's value.
31843func (s *Instance) SetIpAddressType(v string) *Instance {
31844	s.IpAddressType = &v
31845	return s
31846}
31847
31848// SetIpv6Addresses sets the Ipv6Addresses field's value.
31849func (s *Instance) SetIpv6Addresses(v []*string) *Instance {
31850	s.Ipv6Addresses = v
31851	return s
31852}
31853
31854// SetIsStaticIp sets the IsStaticIp field's value.
31855func (s *Instance) SetIsStaticIp(v bool) *Instance {
31856	s.IsStaticIp = &v
31857	return s
31858}
31859
31860// SetLocation sets the Location field's value.
31861func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
31862	s.Location = v
31863	return s
31864}
31865
31866// SetName sets the Name field's value.
31867func (s *Instance) SetName(v string) *Instance {
31868	s.Name = &v
31869	return s
31870}
31871
31872// SetNetworking sets the Networking field's value.
31873func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
31874	s.Networking = v
31875	return s
31876}
31877
31878// SetPrivateIpAddress sets the PrivateIpAddress field's value.
31879func (s *Instance) SetPrivateIpAddress(v string) *Instance {
31880	s.PrivateIpAddress = &v
31881	return s
31882}
31883
31884// SetPublicIpAddress sets the PublicIpAddress field's value.
31885func (s *Instance) SetPublicIpAddress(v string) *Instance {
31886	s.PublicIpAddress = &v
31887	return s
31888}
31889
31890// SetResourceType sets the ResourceType field's value.
31891func (s *Instance) SetResourceType(v string) *Instance {
31892	s.ResourceType = &v
31893	return s
31894}
31895
31896// SetSshKeyName sets the SshKeyName field's value.
31897func (s *Instance) SetSshKeyName(v string) *Instance {
31898	s.SshKeyName = &v
31899	return s
31900}
31901
31902// SetState sets the State field's value.
31903func (s *Instance) SetState(v *InstanceState) *Instance {
31904	s.State = v
31905	return s
31906}
31907
31908// SetSupportCode sets the SupportCode field's value.
31909func (s *Instance) SetSupportCode(v string) *Instance {
31910	s.SupportCode = &v
31911	return s
31912}
31913
31914// SetTags sets the Tags field's value.
31915func (s *Instance) SetTags(v []*Tag) *Instance {
31916	s.Tags = v
31917	return s
31918}
31919
31920// SetUsername sets the Username field's value.
31921func (s *Instance) SetUsername(v string) *Instance {
31922	s.Username = &v
31923	return s
31924}
31925
31926// The parameters for gaining temporary access to one of your Amazon Lightsail
31927// instances.
31928type InstanceAccessDetails struct {
31929	_ struct{} `type:"structure"`
31930
31931	// For SSH access, the public key to use when accessing your instance For OpenSSH
31932	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
31933	CertKey *string `locationName:"certKey" type:"string"`
31934
31935	// For SSH access, the date on which the temporary keys expire.
31936	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
31937
31938	// Describes the public SSH host keys or the RDP certificate.
31939	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
31940
31941	// The name of this Amazon Lightsail instance.
31942	InstanceName *string `locationName:"instanceName" type:"string"`
31943
31944	// The public IP address of the Amazon Lightsail instance.
31945	IpAddress *string `locationName:"ipAddress" type:"string"`
31946
31947	// For RDP access, the password for your Amazon Lightsail instance. Password
31948	// will be an empty string if the password for your new instance is not ready
31949	// yet. When you create an instance, it can take up to 15 minutes for the instance
31950	// to be ready.
31951	//
31952	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
31953	// password will always be an empty string.
31954	//
31955	// If you change the Administrator password on the instance, Lightsail will
31956	// continue to return the original password value. When accessing the instance
31957	// using RDP, you need to manually enter the Administrator password after changing
31958	// it from the default.
31959	Password *string `locationName:"password" type:"string"`
31960
31961	// For a Windows Server-based instance, an object with the data you can use
31962	// to retrieve your password. This is only needed if password is empty and the
31963	// instance is not new (and therefore the password is not ready yet). When you
31964	// create an instance, it can take up to 15 minutes for the instance to be ready.
31965	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
31966
31967	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
31968	// line SSH), you should save this value to tempkey).
31969	PrivateKey *string `locationName:"privateKey" type:"string"`
31970
31971	// The protocol for these Amazon Lightsail instance access details.
31972	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
31973
31974	// The user name to use when logging in to the Amazon Lightsail instance.
31975	Username *string `locationName:"username" type:"string"`
31976}
31977
31978// String returns the string representation
31979func (s InstanceAccessDetails) String() string {
31980	return awsutil.Prettify(s)
31981}
31982
31983// GoString returns the string representation
31984func (s InstanceAccessDetails) GoString() string {
31985	return s.String()
31986}
31987
31988// SetCertKey sets the CertKey field's value.
31989func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
31990	s.CertKey = &v
31991	return s
31992}
31993
31994// SetExpiresAt sets the ExpiresAt field's value.
31995func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
31996	s.ExpiresAt = &v
31997	return s
31998}
31999
32000// SetHostKeys sets the HostKeys field's value.
32001func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
32002	s.HostKeys = v
32003	return s
32004}
32005
32006// SetInstanceName sets the InstanceName field's value.
32007func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
32008	s.InstanceName = &v
32009	return s
32010}
32011
32012// SetIpAddress sets the IpAddress field's value.
32013func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
32014	s.IpAddress = &v
32015	return s
32016}
32017
32018// SetPassword sets the Password field's value.
32019func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
32020	s.Password = &v
32021	return s
32022}
32023
32024// SetPasswordData sets the PasswordData field's value.
32025func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
32026	s.PasswordData = v
32027	return s
32028}
32029
32030// SetPrivateKey sets the PrivateKey field's value.
32031func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
32032	s.PrivateKey = &v
32033	return s
32034}
32035
32036// SetProtocol sets the Protocol field's value.
32037func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
32038	s.Protocol = &v
32039	return s
32040}
32041
32042// SetUsername sets the Username field's value.
32043func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
32044	s.Username = &v
32045	return s
32046}
32047
32048// Describes the Amazon Elastic Compute Cloud instance and related resources
32049// to be created using the create cloud formation stack operation.
32050type InstanceEntry struct {
32051	_ struct{} `type:"structure"`
32052
32053	// The Availability Zone for the new Amazon EC2 instance.
32054	//
32055	// AvailabilityZone is a required field
32056	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
32057
32058	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
32059	//
32060	// InstanceType is a required field
32061	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
32062
32063	// The port configuration to use for the new Amazon EC2 instance.
32064	//
32065	// The following configuration options are available:
32066	//
32067	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
32068	//    blueprint. If this is specified, then IPv4 and IPv6 will be configured
32069	//    for the new instance that is created in Amazon EC2.
32070	//
32071	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
32072	//    instance. If this is specified, the new instance that is created in Amazon
32073	//    EC2 will be configured to match the configuration of the source Lightsail
32074	//    instance. For example, if the source instance is configured for dual-stack
32075	//    (IPv4 and IPv6), then IPv4 and IPv6 will be configured for the new instance
32076	//    that is created in Amazon EC2. If the source instance is configured for
32077	//    IPv4 only, then only IPv4 will be configured for the new instance that
32078	//    is created in Amazon EC2.
32079	//
32080	//    * NONE - Use the default Amazon EC2 security group. If this is specified,
32081	//    then only IPv4 will be configured for the new instance that is created
32082	//    in Amazon EC2.
32083	//
32084	//    * CLOSED - All ports closed. If this is specified, then only IPv4 will
32085	//    be configured for the new instance that is created in Amazon EC2.
32086	//
32087	// If you configured lightsail-connect as a cidrListAliases on your instance,
32088	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
32089	// connect to your instance, that configuration is not carried over to your
32090	// new Amazon EC2 instance.
32091	//
32092	// PortInfoSource is a required field
32093	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
32094
32095	// The name of the export snapshot record, which contains the exported Lightsail
32096	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
32097	//
32098	// Use the get export snapshot records operation to get a list of export snapshot
32099	// records that you can use to create a CloudFormation stack.
32100	//
32101	// SourceName is a required field
32102	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
32103
32104	// A launch script you can create that configures a server with additional user
32105	// data. For example, you might want to run apt-get -y update.
32106	//
32107	// Depending on the machine image you choose, the command to get software on
32108	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
32109	// use apt-get, and FreeBSD uses pkg.
32110	UserData *string `locationName:"userData" type:"string"`
32111}
32112
32113// String returns the string representation
32114func (s InstanceEntry) String() string {
32115	return awsutil.Prettify(s)
32116}
32117
32118// GoString returns the string representation
32119func (s InstanceEntry) GoString() string {
32120	return s.String()
32121}
32122
32123// Validate inspects the fields of the type to determine if they are valid.
32124func (s *InstanceEntry) Validate() error {
32125	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
32126	if s.AvailabilityZone == nil {
32127		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
32128	}
32129	if s.InstanceType == nil {
32130		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
32131	}
32132	if s.PortInfoSource == nil {
32133		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
32134	}
32135	if s.SourceName == nil {
32136		invalidParams.Add(request.NewErrParamRequired("SourceName"))
32137	}
32138
32139	if invalidParams.Len() > 0 {
32140		return invalidParams
32141	}
32142	return nil
32143}
32144
32145// SetAvailabilityZone sets the AvailabilityZone field's value.
32146func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
32147	s.AvailabilityZone = &v
32148	return s
32149}
32150
32151// SetInstanceType sets the InstanceType field's value.
32152func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
32153	s.InstanceType = &v
32154	return s
32155}
32156
32157// SetPortInfoSource sets the PortInfoSource field's value.
32158func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
32159	s.PortInfoSource = &v
32160	return s
32161}
32162
32163// SetSourceName sets the SourceName field's value.
32164func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
32165	s.SourceName = &v
32166	return s
32167}
32168
32169// SetUserData sets the UserData field's value.
32170func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
32171	s.UserData = &v
32172	return s
32173}
32174
32175// Describes the hardware for the instance.
32176type InstanceHardware struct {
32177	_ struct{} `type:"structure"`
32178
32179	// The number of vCPUs the instance has.
32180	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
32181
32182	// The disks attached to the instance.
32183	Disks []*Disk `locationName:"disks" type:"list"`
32184
32185	// The amount of RAM in GB on the instance (e.g., 1.0).
32186	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
32187}
32188
32189// String returns the string representation
32190func (s InstanceHardware) String() string {
32191	return awsutil.Prettify(s)
32192}
32193
32194// GoString returns the string representation
32195func (s InstanceHardware) GoString() string {
32196	return s.String()
32197}
32198
32199// SetCpuCount sets the CpuCount field's value.
32200func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
32201	s.CpuCount = &v
32202	return s
32203}
32204
32205// SetDisks sets the Disks field's value.
32206func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
32207	s.Disks = v
32208	return s
32209}
32210
32211// SetRamSizeInGb sets the RamSizeInGb field's value.
32212func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
32213	s.RamSizeInGb = &v
32214	return s
32215}
32216
32217// Describes information about the health of the instance.
32218type InstanceHealthSummary struct {
32219	_ struct{} `type:"structure"`
32220
32221	// Describes the overall instance health. Valid values are below.
32222	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
32223
32224	// More information about the instance health. If the instanceHealth is healthy,
32225	// then an instanceHealthReason value is not provided.
32226	//
32227	// If instanceHealth is initial, the instanceHealthReason value can be one of
32228	// the following:
32229	//
32230	//    * Lb.RegistrationInProgress - The target instance is in the process of
32231	//    being registered with the load balancer.
32232	//
32233	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
32234	//    the target instance the minimum number of health checks required to determine
32235	//    its health status.
32236	//
32237	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
32238	// of the following:
32239	//
32240	//    * Instance.ResponseCodeMismatch - The health checks did not return an
32241	//    expected HTTP code.
32242	//
32243	//    * Instance.Timeout - The health check requests timed out.
32244	//
32245	//    * Instance.FailedHealthChecks - The health checks failed because the connection
32246	//    to the target instance timed out, the target instance response was malformed,
32247	//    or the target instance failed the health check for an unknown reason.
32248	//
32249	//    * Lb.InternalError - The health checks failed due to an internal error.
32250	//
32251	// If instanceHealth is unused, the instanceHealthReason value can be one of
32252	// the following:
32253	//
32254	//    * Instance.NotRegistered - The target instance is not registered with
32255	//    the target group.
32256	//
32257	//    * Instance.NotInUse - The target group is not used by any load balancer,
32258	//    or the target instance is in an Availability Zone that is not enabled
32259	//    for its load balancer.
32260	//
32261	//    * Instance.IpUnusable - The target IP address is reserved for use by a
32262	//    Lightsail load balancer.
32263	//
32264	//    * Instance.InvalidState - The target is in the stopped or terminated state.
32265	//
32266	// If instanceHealth is draining, the instanceHealthReason value can be one
32267	// of the following:
32268	//
32269	//    * Instance.DeregistrationInProgress - The target instance is in the process
32270	//    of being deregistered and the deregistration delay period has not expired.
32271	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
32272
32273	// The name of the Lightsail instance for which you are requesting health check
32274	// data.
32275	InstanceName *string `locationName:"instanceName" type:"string"`
32276}
32277
32278// String returns the string representation
32279func (s InstanceHealthSummary) String() string {
32280	return awsutil.Prettify(s)
32281}
32282
32283// GoString returns the string representation
32284func (s InstanceHealthSummary) GoString() string {
32285	return s.String()
32286}
32287
32288// SetInstanceHealth sets the InstanceHealth field's value.
32289func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
32290	s.InstanceHealth = &v
32291	return s
32292}
32293
32294// SetInstanceHealthReason sets the InstanceHealthReason field's value.
32295func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
32296	s.InstanceHealthReason = &v
32297	return s
32298}
32299
32300// SetInstanceName sets the InstanceName field's value.
32301func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
32302	s.InstanceName = &v
32303	return s
32304}
32305
32306// Describes monthly data transfer rates and port information for an instance.
32307type InstanceNetworking struct {
32308	_ struct{} `type:"structure"`
32309
32310	// The amount of data in GB allocated for monthly data transfers.
32311	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
32312
32313	// An array of key-value pairs containing information about the ports on the
32314	// instance.
32315	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
32316}
32317
32318// String returns the string representation
32319func (s InstanceNetworking) String() string {
32320	return awsutil.Prettify(s)
32321}
32322
32323// GoString returns the string representation
32324func (s InstanceNetworking) GoString() string {
32325	return s.String()
32326}
32327
32328// SetMonthlyTransfer sets the MonthlyTransfer field's value.
32329func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
32330	s.MonthlyTransfer = v
32331	return s
32332}
32333
32334// SetPorts sets the Ports field's value.
32335func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
32336	s.Ports = v
32337	return s
32338}
32339
32340// Describes information about ports for an Amazon Lightsail instance.
32341type InstancePortInfo struct {
32342	_ struct{} `type:"structure"`
32343
32344	// The access direction (inbound or outbound).
32345	//
32346	// Lightsail currently supports only inbound access direction.
32347	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
32348
32349	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
32350	// or Custom if a specific IP address or range of IP addresses is allowed.
32351	AccessFrom *string `locationName:"accessFrom" type:"string"`
32352
32353	// The type of access (Public or Private).
32354	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
32355
32356	// An alias that defines access for a preconfigured range of IP addresses.
32357	//
32358	// The only alias currently supported is lightsail-connect, which allows IP
32359	// addresses of the browser-based RDP/SSH client in the Lightsail console to
32360	// connect to your instance.
32361	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
32362
32363	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
32364	// allowed to connect to an instance through the ports, and the protocol.
32365	//
32366	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
32367	// to an instance.
32368	//
32369	// For more information about CIDR block notation, see Classless Inter-Domain
32370	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32371	// on Wikipedia.
32372	Cidrs []*string `locationName:"cidrs" type:"list"`
32373
32374	// The common name of the port information.
32375	CommonName *string `locationName:"commonName" type:"string"`
32376
32377	// The first port in a range of open ports on an instance.
32378	//
32379	// Allowed ports:
32380	//
32381	//    * TCP and UDP - 0 to 65535
32382	//
32383	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
32384	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32385	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32386	//    on Wikipedia.
32387	//
32388	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
32389	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32390	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32391	FromPort *int64 `locationName:"fromPort" type:"integer"`
32392
32393	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
32394	// allowed to connect to an instance through the ports, and the protocol. Only
32395	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
32396	// IPv4 should be used.
32397	//
32398	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
32399	// to an instance.
32400	//
32401	// For more information about CIDR block notation, see Classless Inter-Domain
32402	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32403	// on Wikipedia.
32404	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
32405
32406	// The IP protocol name.
32407	//
32408	// The name can be one of the following:
32409	//
32410	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
32411	//    and error-checked delivery of streamed data between applications running
32412	//    on hosts communicating by an IP network. If you have an application that
32413	//    doesn't require reliable data stream service, use UDP instead.
32414	//
32415	//    * all - All transport layer protocol types. For more general information,
32416	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
32417	//    Wikipedia.
32418	//
32419	//    * udp - With User Datagram Protocol (UDP), computer applications can send
32420	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
32421	//    Prior communications are not required to set up transmission channels
32422	//    or data paths. Applications that don't require reliable data stream service
32423	//    can use UDP, which provides a connectionless datagram service that emphasizes
32424	//    reduced latency over reliability. If you do require reliable data stream
32425	//    service, use TCP instead.
32426	//
32427	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
32428	//    messages and operational information indicating success or failure when
32429	//    communicating with an instance. For example, an error is indicated when
32430	//    an instance could not be reached. When you specify icmp as the protocol,
32431	//    you must specify the ICMP type using the fromPort parameter, and ICMP
32432	//    code using the toPort parameter.
32433	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
32434
32435	// The last port in a range of open ports on an instance.
32436	//
32437	// Allowed ports:
32438	//
32439	//    * TCP and UDP - 0 to 65535
32440	//
32441	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
32442	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32443	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32444	//    on Wikipedia.
32445	//
32446	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
32447	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32448	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32449	ToPort *int64 `locationName:"toPort" type:"integer"`
32450}
32451
32452// String returns the string representation
32453func (s InstancePortInfo) String() string {
32454	return awsutil.Prettify(s)
32455}
32456
32457// GoString returns the string representation
32458func (s InstancePortInfo) GoString() string {
32459	return s.String()
32460}
32461
32462// SetAccessDirection sets the AccessDirection field's value.
32463func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
32464	s.AccessDirection = &v
32465	return s
32466}
32467
32468// SetAccessFrom sets the AccessFrom field's value.
32469func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
32470	s.AccessFrom = &v
32471	return s
32472}
32473
32474// SetAccessType sets the AccessType field's value.
32475func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
32476	s.AccessType = &v
32477	return s
32478}
32479
32480// SetCidrListAliases sets the CidrListAliases field's value.
32481func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
32482	s.CidrListAliases = v
32483	return s
32484}
32485
32486// SetCidrs sets the Cidrs field's value.
32487func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
32488	s.Cidrs = v
32489	return s
32490}
32491
32492// SetCommonName sets the CommonName field's value.
32493func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
32494	s.CommonName = &v
32495	return s
32496}
32497
32498// SetFromPort sets the FromPort field's value.
32499func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
32500	s.FromPort = &v
32501	return s
32502}
32503
32504// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
32505func (s *InstancePortInfo) SetIpv6Cidrs(v []*string) *InstancePortInfo {
32506	s.Ipv6Cidrs = v
32507	return s
32508}
32509
32510// SetProtocol sets the Protocol field's value.
32511func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
32512	s.Protocol = &v
32513	return s
32514}
32515
32516// SetToPort sets the ToPort field's value.
32517func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
32518	s.ToPort = &v
32519	return s
32520}
32521
32522// Describes open ports on an instance, the IP addresses allowed to connect
32523// to the instance through the ports, and the protocol.
32524type InstancePortState struct {
32525	_ struct{} `type:"structure"`
32526
32527	// An alias that defines access for a preconfigured range of IP addresses.
32528	//
32529	// The only alias currently supported is lightsail-connect, which allows IP
32530	// addresses of the browser-based RDP/SSH client in the Lightsail console to
32531	// connect to your instance.
32532	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
32533
32534	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
32535	// allowed to connect to an instance through the ports, and the protocol.
32536	//
32537	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
32538	// to an instance.
32539	//
32540	// For more information about CIDR block notation, see Classless Inter-Domain
32541	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32542	// on Wikipedia.
32543	Cidrs []*string `locationName:"cidrs" type:"list"`
32544
32545	// The first port in a range of open ports on an instance.
32546	//
32547	// Allowed ports:
32548	//
32549	//    * TCP and UDP - 0 to 65535
32550	//
32551	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
32552	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32553	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32554	//    on Wikipedia.
32555	//
32556	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
32557	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32558	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32559	FromPort *int64 `locationName:"fromPort" type:"integer"`
32560
32561	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
32562	// allowed to connect to an instance through the ports, and the protocol. Only
32563	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
32564	// IPv4 should be used.
32565	//
32566	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
32567	// to an instance.
32568	//
32569	// For more information about CIDR block notation, see Classless Inter-Domain
32570	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32571	// on Wikipedia.
32572	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
32573
32574	// The IP protocol name.
32575	//
32576	// The name can be one of the following:
32577	//
32578	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
32579	//    and error-checked delivery of streamed data between applications running
32580	//    on hosts communicating by an IP network. If you have an application that
32581	//    doesn't require reliable data stream service, use UDP instead.
32582	//
32583	//    * all - All transport layer protocol types. For more general information,
32584	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
32585	//    Wikipedia.
32586	//
32587	//    * udp - With User Datagram Protocol (UDP), computer applications can send
32588	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
32589	//    Prior communications are not required to set up transmission channels
32590	//    or data paths. Applications that don't require reliable data stream service
32591	//    can use UDP, which provides a connectionless datagram service that emphasizes
32592	//    reduced latency over reliability. If you do require reliable data stream
32593	//    service, use TCP instead.
32594	//
32595	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
32596	//    messages and operational information indicating success or failure when
32597	//    communicating with an instance. For example, an error is indicated when
32598	//    an instance could not be reached. When you specify icmp as the protocol,
32599	//    you must specify the ICMP type using the fromPort parameter, and ICMP
32600	//    code using the toPort parameter.
32601	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
32602
32603	// Specifies whether the instance port is open or closed.
32604	//
32605	// The port state for Lightsail instances is always open.
32606	State *string `locationName:"state" type:"string" enum:"PortState"`
32607
32608	// The last port in a range of open ports on an instance.
32609	//
32610	// Allowed ports:
32611	//
32612	//    * TCP and UDP - 0 to 65535
32613	//
32614	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
32615	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32616	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32617	//    on Wikipedia.
32618	//
32619	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
32620	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32621	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32622	ToPort *int64 `locationName:"toPort" type:"integer"`
32623}
32624
32625// String returns the string representation
32626func (s InstancePortState) String() string {
32627	return awsutil.Prettify(s)
32628}
32629
32630// GoString returns the string representation
32631func (s InstancePortState) GoString() string {
32632	return s.String()
32633}
32634
32635// SetCidrListAliases sets the CidrListAliases field's value.
32636func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
32637	s.CidrListAliases = v
32638	return s
32639}
32640
32641// SetCidrs sets the Cidrs field's value.
32642func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
32643	s.Cidrs = v
32644	return s
32645}
32646
32647// SetFromPort sets the FromPort field's value.
32648func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
32649	s.FromPort = &v
32650	return s
32651}
32652
32653// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
32654func (s *InstancePortState) SetIpv6Cidrs(v []*string) *InstancePortState {
32655	s.Ipv6Cidrs = v
32656	return s
32657}
32658
32659// SetProtocol sets the Protocol field's value.
32660func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
32661	s.Protocol = &v
32662	return s
32663}
32664
32665// SetState sets the State field's value.
32666func (s *InstancePortState) SetState(v string) *InstancePortState {
32667	s.State = &v
32668	return s
32669}
32670
32671// SetToPort sets the ToPort field's value.
32672func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
32673	s.ToPort = &v
32674	return s
32675}
32676
32677// Describes an instance snapshot.
32678type InstanceSnapshot struct {
32679	_ struct{} `type:"structure"`
32680
32681	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
32682	Arn *string `locationName:"arn" type:"string"`
32683
32684	// The timestamp when the snapshot was created (e.g., 1479907467.024).
32685	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
32686
32687	// An array of disk objects containing information about all block storage disks.
32688	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
32689
32690	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
32691	// A blueprint is a virtual private server (or instance) image used to create
32692	// instances quickly.
32693	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
32694
32695	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
32696	FromBundleId *string `locationName:"fromBundleId" type:"string"`
32697
32698	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
32699	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
32700	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
32701
32702	// The instance from which the snapshot was created.
32703	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
32704
32705	// A Boolean value indicating whether the snapshot was created from an automatic
32706	// snapshot.
32707	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
32708
32709	// The region name and Availability Zone where you created the snapshot.
32710	Location *ResourceLocation `locationName:"location" type:"structure"`
32711
32712	// The name of the snapshot.
32713	Name *string `locationName:"name" type:"string"`
32714
32715	// The progress of the snapshot.
32716	//
32717	// This is populated only for disk snapshots, and is null for instance snapshots.
32718	Progress *string `locationName:"progress" type:"string"`
32719
32720	// The type of resource (usually InstanceSnapshot).
32721	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
32722
32723	// The size in GB of the SSD.
32724	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
32725
32726	// The state the snapshot is in.
32727	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
32728
32729	// The support code. Include this code in your email to support when you have
32730	// questions about an instance or another resource in Lightsail. This code enables
32731	// our support team to look up your Lightsail information more easily.
32732	SupportCode *string `locationName:"supportCode" type:"string"`
32733
32734	// The tag keys and optional values for the resource. For more information about
32735	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
32736	Tags []*Tag `locationName:"tags" type:"list"`
32737}
32738
32739// String returns the string representation
32740func (s InstanceSnapshot) String() string {
32741	return awsutil.Prettify(s)
32742}
32743
32744// GoString returns the string representation
32745func (s InstanceSnapshot) GoString() string {
32746	return s.String()
32747}
32748
32749// SetArn sets the Arn field's value.
32750func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
32751	s.Arn = &v
32752	return s
32753}
32754
32755// SetCreatedAt sets the CreatedAt field's value.
32756func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
32757	s.CreatedAt = &v
32758	return s
32759}
32760
32761// SetFromAttachedDisks sets the FromAttachedDisks field's value.
32762func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
32763	s.FromAttachedDisks = v
32764	return s
32765}
32766
32767// SetFromBlueprintId sets the FromBlueprintId field's value.
32768func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
32769	s.FromBlueprintId = &v
32770	return s
32771}
32772
32773// SetFromBundleId sets the FromBundleId field's value.
32774func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
32775	s.FromBundleId = &v
32776	return s
32777}
32778
32779// SetFromInstanceArn sets the FromInstanceArn field's value.
32780func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
32781	s.FromInstanceArn = &v
32782	return s
32783}
32784
32785// SetFromInstanceName sets the FromInstanceName field's value.
32786func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
32787	s.FromInstanceName = &v
32788	return s
32789}
32790
32791// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
32792func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
32793	s.IsFromAutoSnapshot = &v
32794	return s
32795}
32796
32797// SetLocation sets the Location field's value.
32798func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
32799	s.Location = v
32800	return s
32801}
32802
32803// SetName sets the Name field's value.
32804func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
32805	s.Name = &v
32806	return s
32807}
32808
32809// SetProgress sets the Progress field's value.
32810func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
32811	s.Progress = &v
32812	return s
32813}
32814
32815// SetResourceType sets the ResourceType field's value.
32816func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
32817	s.ResourceType = &v
32818	return s
32819}
32820
32821// SetSizeInGb sets the SizeInGb field's value.
32822func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
32823	s.SizeInGb = &v
32824	return s
32825}
32826
32827// SetState sets the State field's value.
32828func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
32829	s.State = &v
32830	return s
32831}
32832
32833// SetSupportCode sets the SupportCode field's value.
32834func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
32835	s.SupportCode = &v
32836	return s
32837}
32838
32839// SetTags sets the Tags field's value.
32840func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
32841	s.Tags = v
32842	return s
32843}
32844
32845// Describes an instance snapshot.
32846type InstanceSnapshotInfo struct {
32847	_ struct{} `type:"structure"`
32848
32849	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
32850	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
32851
32852	// The bundle ID from which the source instance was created (e.g., micro_1_0).
32853	FromBundleId *string `locationName:"fromBundleId" type:"string"`
32854
32855	// A list of objects describing the disks that were attached to the source instance.
32856	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
32857}
32858
32859// String returns the string representation
32860func (s InstanceSnapshotInfo) String() string {
32861	return awsutil.Prettify(s)
32862}
32863
32864// GoString returns the string representation
32865func (s InstanceSnapshotInfo) GoString() string {
32866	return s.String()
32867}
32868
32869// SetFromBlueprintId sets the FromBlueprintId field's value.
32870func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
32871	s.FromBlueprintId = &v
32872	return s
32873}
32874
32875// SetFromBundleId sets the FromBundleId field's value.
32876func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
32877	s.FromBundleId = &v
32878	return s
32879}
32880
32881// SetFromDiskInfo sets the FromDiskInfo field's value.
32882func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
32883	s.FromDiskInfo = v
32884	return s
32885}
32886
32887// Describes the virtual private server (or instance) status.
32888type InstanceState struct {
32889	_ struct{} `type:"structure"`
32890
32891	// The status code for the instance.
32892	Code *int64 `locationName:"code" type:"integer"`
32893
32894	// The state of the instance (e.g., running or pending).
32895	Name *string `locationName:"name" type:"string"`
32896}
32897
32898// String returns the string representation
32899func (s InstanceState) String() string {
32900	return awsutil.Prettify(s)
32901}
32902
32903// GoString returns the string representation
32904func (s InstanceState) GoString() string {
32905	return s.String()
32906}
32907
32908// SetCode sets the Code field's value.
32909func (s *InstanceState) SetCode(v int64) *InstanceState {
32910	s.Code = &v
32911	return s
32912}
32913
32914// SetName sets the Name field's value.
32915func (s *InstanceState) SetName(v string) *InstanceState {
32916	s.Name = &v
32917	return s
32918}
32919
32920// Lightsail throws this exception when user input does not conform to the validation
32921// rules of an input field.
32922//
32923// Domain and distribution APIs are only available in the N. Virginia (us-east-1)
32924// AWS Region. Please set your AWS Region configuration to us-east-1 to create,
32925// view, or edit these resources.
32926type InvalidInputException struct {
32927	_            struct{}                  `type:"structure"`
32928	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
32929
32930	Code_ *string `locationName:"code" type:"string"`
32931
32932	Docs *string `locationName:"docs" type:"string"`
32933
32934	Message_ *string `locationName:"message" type:"string"`
32935
32936	Tip *string `locationName:"tip" type:"string"`
32937}
32938
32939// String returns the string representation
32940func (s InvalidInputException) String() string {
32941	return awsutil.Prettify(s)
32942}
32943
32944// GoString returns the string representation
32945func (s InvalidInputException) GoString() string {
32946	return s.String()
32947}
32948
32949func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
32950	return &InvalidInputException{
32951		RespMetadata: v,
32952	}
32953}
32954
32955// Code returns the exception type name.
32956func (s *InvalidInputException) Code() string {
32957	return "InvalidInputException"
32958}
32959
32960// Message returns the exception's message.
32961func (s *InvalidInputException) Message() string {
32962	if s.Message_ != nil {
32963		return *s.Message_
32964	}
32965	return ""
32966}
32967
32968// OrigErr always returns nil, satisfies awserr.Error interface.
32969func (s *InvalidInputException) OrigErr() error {
32970	return nil
32971}
32972
32973func (s *InvalidInputException) Error() string {
32974	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
32975}
32976
32977// Status code returns the HTTP status code for the request's response error.
32978func (s *InvalidInputException) StatusCode() int {
32979	return s.RespMetadata.StatusCode
32980}
32981
32982// RequestID returns the service's response RequestID for request.
32983func (s *InvalidInputException) RequestID() string {
32984	return s.RespMetadata.RequestID
32985}
32986
32987type IsVpcPeeredInput struct {
32988	_ struct{} `type:"structure"`
32989}
32990
32991// String returns the string representation
32992func (s IsVpcPeeredInput) String() string {
32993	return awsutil.Prettify(s)
32994}
32995
32996// GoString returns the string representation
32997func (s IsVpcPeeredInput) GoString() string {
32998	return s.String()
32999}
33000
33001type IsVpcPeeredOutput struct {
33002	_ struct{} `type:"structure"`
33003
33004	// Returns true if the Lightsail VPC is peered; otherwise, false.
33005	IsPeered *bool `locationName:"isPeered" type:"boolean"`
33006}
33007
33008// String returns the string representation
33009func (s IsVpcPeeredOutput) String() string {
33010	return awsutil.Prettify(s)
33011}
33012
33013// GoString returns the string representation
33014func (s IsVpcPeeredOutput) GoString() string {
33015	return s.String()
33016}
33017
33018// SetIsPeered sets the IsPeered field's value.
33019func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
33020	s.IsPeered = &v
33021	return s
33022}
33023
33024// Describes an SSH key pair.
33025type KeyPair struct {
33026	_ struct{} `type:"structure"`
33027
33028	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
33029	Arn *string `locationName:"arn" type:"string"`
33030
33031	// The timestamp when the key pair was created (e.g., 1479816991.349).
33032	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33033
33034	// The RSA fingerprint of the key pair.
33035	Fingerprint *string `locationName:"fingerprint" type:"string"`
33036
33037	// The region name and Availability Zone where the key pair was created.
33038	Location *ResourceLocation `locationName:"location" type:"structure"`
33039
33040	// The friendly name of the SSH key pair.
33041	Name *string `locationName:"name" type:"string"`
33042
33043	// The resource type (usually KeyPair).
33044	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33045
33046	// The support code. Include this code in your email to support when you have
33047	// questions about an instance or another resource in Lightsail. This code enables
33048	// our support team to look up your Lightsail information more easily.
33049	SupportCode *string `locationName:"supportCode" type:"string"`
33050
33051	// The tag keys and optional values for the resource. For more information about
33052	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
33053	Tags []*Tag `locationName:"tags" type:"list"`
33054}
33055
33056// String returns the string representation
33057func (s KeyPair) String() string {
33058	return awsutil.Prettify(s)
33059}
33060
33061// GoString returns the string representation
33062func (s KeyPair) GoString() string {
33063	return s.String()
33064}
33065
33066// SetArn sets the Arn field's value.
33067func (s *KeyPair) SetArn(v string) *KeyPair {
33068	s.Arn = &v
33069	return s
33070}
33071
33072// SetCreatedAt sets the CreatedAt field's value.
33073func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
33074	s.CreatedAt = &v
33075	return s
33076}
33077
33078// SetFingerprint sets the Fingerprint field's value.
33079func (s *KeyPair) SetFingerprint(v string) *KeyPair {
33080	s.Fingerprint = &v
33081	return s
33082}
33083
33084// SetLocation sets the Location field's value.
33085func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
33086	s.Location = v
33087	return s
33088}
33089
33090// SetName sets the Name field's value.
33091func (s *KeyPair) SetName(v string) *KeyPair {
33092	s.Name = &v
33093	return s
33094}
33095
33096// SetResourceType sets the ResourceType field's value.
33097func (s *KeyPair) SetResourceType(v string) *KeyPair {
33098	s.ResourceType = &v
33099	return s
33100}
33101
33102// SetSupportCode sets the SupportCode field's value.
33103func (s *KeyPair) SetSupportCode(v string) *KeyPair {
33104	s.SupportCode = &v
33105	return s
33106}
33107
33108// SetTags sets the Tags field's value.
33109func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
33110	s.Tags = v
33111	return s
33112}
33113
33114// Describes an Amazon Lightsail content delivery network (CDN) distribution.
33115type LightsailDistribution struct {
33116	_ struct{} `type:"structure"`
33117
33118	// Indicates whether the bundle that is currently applied to your distribution,
33119	// specified using the distributionName parameter, can be changed to another
33120	// bundle.
33121	//
33122	// Use the UpdateDistributionBundle action to change your distribution's bundle.
33123	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
33124
33125	// The alternate domain names of the distribution.
33126	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
33127
33128	// The Amazon Resource Name (ARN) of the distribution.
33129	Arn *string `locationName:"arn" type:"string"`
33130
33131	// The ID of the bundle currently applied to the distribution.
33132	BundleId *string `locationName:"bundleId" type:"string"`
33133
33134	// An object that describes the cache behavior settings of the distribution.
33135	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
33136
33137	// An array of objects that describe the per-path cache behavior of the distribution.
33138	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
33139
33140	// The name of the SSL/TLS certificate attached to the distribution, if any.
33141	CertificateName *string `locationName:"certificateName" type:"string"`
33142
33143	// The timestamp when the distribution was created.
33144	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33145
33146	// An object that describes the default cache behavior of the distribution.
33147	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
33148
33149	// The domain name of the distribution.
33150	DomainName *string `locationName:"domainName" type:"string"`
33151
33152	// The IP address type of the distribution.
33153	//
33154	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
33155	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
33156
33157	// Indicates whether the distribution is enabled.
33158	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
33159
33160	// An object that describes the location of the distribution, such as the AWS
33161	// Region and Availability Zone.
33162	//
33163	// Lightsail distributions are global resources that can reference an origin
33164	// in any AWS Region, and distribute its content globally. However, all distributions
33165	// are located in the us-east-1 Region.
33166	Location *ResourceLocation `locationName:"location" type:"structure"`
33167
33168	// The name of the distribution.
33169	Name *string `locationName:"name" type:"string"`
33170
33171	// An object that describes the origin resource of the distribution, such as
33172	// a Lightsail instance or load balancer.
33173	//
33174	// The distribution pulls, caches, and serves content from the origin.
33175	Origin *Origin `locationName:"origin" type:"structure"`
33176
33177	// The public DNS of the origin.
33178	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
33179
33180	// The Lightsail resource type (e.g., Distribution).
33181	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33182
33183	// The status of the distribution.
33184	Status *string `locationName:"status" type:"string"`
33185
33186	// The support code. Include this code in your email to support when you have
33187	// questions about your Lightsail distribution. This code enables our support
33188	// team to look up your Lightsail information more easily.
33189	SupportCode *string `locationName:"supportCode" type:"string"`
33190
33191	// The tag keys and optional values for the resource. For more information about
33192	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
33193	Tags []*Tag `locationName:"tags" type:"list"`
33194}
33195
33196// String returns the string representation
33197func (s LightsailDistribution) String() string {
33198	return awsutil.Prettify(s)
33199}
33200
33201// GoString returns the string representation
33202func (s LightsailDistribution) GoString() string {
33203	return s.String()
33204}
33205
33206// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
33207func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
33208	s.AbleToUpdateBundle = &v
33209	return s
33210}
33211
33212// SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
33213func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
33214	s.AlternativeDomainNames = v
33215	return s
33216}
33217
33218// SetArn sets the Arn field's value.
33219func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
33220	s.Arn = &v
33221	return s
33222}
33223
33224// SetBundleId sets the BundleId field's value.
33225func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
33226	s.BundleId = &v
33227	return s
33228}
33229
33230// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
33231func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
33232	s.CacheBehaviorSettings = v
33233	return s
33234}
33235
33236// SetCacheBehaviors sets the CacheBehaviors field's value.
33237func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
33238	s.CacheBehaviors = v
33239	return s
33240}
33241
33242// SetCertificateName sets the CertificateName field's value.
33243func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
33244	s.CertificateName = &v
33245	return s
33246}
33247
33248// SetCreatedAt sets the CreatedAt field's value.
33249func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
33250	s.CreatedAt = &v
33251	return s
33252}
33253
33254// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
33255func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
33256	s.DefaultCacheBehavior = v
33257	return s
33258}
33259
33260// SetDomainName sets the DomainName field's value.
33261func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
33262	s.DomainName = &v
33263	return s
33264}
33265
33266// SetIpAddressType sets the IpAddressType field's value.
33267func (s *LightsailDistribution) SetIpAddressType(v string) *LightsailDistribution {
33268	s.IpAddressType = &v
33269	return s
33270}
33271
33272// SetIsEnabled sets the IsEnabled field's value.
33273func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
33274	s.IsEnabled = &v
33275	return s
33276}
33277
33278// SetLocation sets the Location field's value.
33279func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
33280	s.Location = v
33281	return s
33282}
33283
33284// SetName sets the Name field's value.
33285func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
33286	s.Name = &v
33287	return s
33288}
33289
33290// SetOrigin sets the Origin field's value.
33291func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
33292	s.Origin = v
33293	return s
33294}
33295
33296// SetOriginPublicDNS sets the OriginPublicDNS field's value.
33297func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
33298	s.OriginPublicDNS = &v
33299	return s
33300}
33301
33302// SetResourceType sets the ResourceType field's value.
33303func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
33304	s.ResourceType = &v
33305	return s
33306}
33307
33308// SetStatus sets the Status field's value.
33309func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
33310	s.Status = &v
33311	return s
33312}
33313
33314// SetSupportCode sets the SupportCode field's value.
33315func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
33316	s.SupportCode = &v
33317	return s
33318}
33319
33320// SetTags sets the Tags field's value.
33321func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
33322	s.Tags = v
33323	return s
33324}
33325
33326// Describes a load balancer.
33327type LoadBalancer struct {
33328	_ struct{} `type:"structure"`
33329
33330	// The Amazon Resource Name (ARN) of the load balancer.
33331	Arn *string `locationName:"arn" type:"string"`
33332
33333	// A string to string map of the configuration options for your load balancer.
33334	// Valid values are listed below.
33335	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
33336
33337	// The date when your load balancer was created.
33338	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33339
33340	// The DNS name of your Lightsail load balancer.
33341	DnsName *string `locationName:"dnsName" type:"string"`
33342
33343	// The path you specified to perform your health checks. If no path is specified,
33344	// the load balancer tries to make a request to the default (root) page.
33345	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
33346
33347	// An array of InstanceHealthSummary objects describing the health of the load
33348	// balancer.
33349	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
33350
33351	// The port where the load balancer will direct traffic to your Lightsail instances.
33352	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
33353	InstancePort *int64 `locationName:"instancePort" type:"integer"`
33354
33355	// The IP address type of the load balancer.
33356	//
33357	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
33358	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
33359
33360	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
33361	// automatically creates your load balancer across Availability Zones.
33362	Location *ResourceLocation `locationName:"location" type:"structure"`
33363
33364	// The name of the load balancer (e.g., my-load-balancer).
33365	Name *string `locationName:"name" type:"string"`
33366
33367	// The protocol you have enabled for your load balancer. Valid values are below.
33368	//
33369	// You can't just have HTTP_HTTPS, but you can have just HTTP.
33370	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
33371
33372	// An array of public port settings for your load balancer. For HTTP, use port
33373	// 80. For HTTPS, use port 443.
33374	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
33375
33376	// The resource type (e.g., LoadBalancer.
33377	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33378
33379	// The status of your load balancer. Valid values are below.
33380	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
33381
33382	// The support code. Include this code in your email to support when you have
33383	// questions about your Lightsail load balancer. This code enables our support
33384	// team to look up your Lightsail information more easily.
33385	SupportCode *string `locationName:"supportCode" type:"string"`
33386
33387	// The tag keys and optional values for the resource. For more information about
33388	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
33389	Tags []*Tag `locationName:"tags" type:"list"`
33390
33391	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
33392	// information about the SSL/TLS certificates. For example, if true, the certificate
33393	// is attached to the load balancer.
33394	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
33395}
33396
33397// String returns the string representation
33398func (s LoadBalancer) String() string {
33399	return awsutil.Prettify(s)
33400}
33401
33402// GoString returns the string representation
33403func (s LoadBalancer) GoString() string {
33404	return s.String()
33405}
33406
33407// SetArn sets the Arn field's value.
33408func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
33409	s.Arn = &v
33410	return s
33411}
33412
33413// SetConfigurationOptions sets the ConfigurationOptions field's value.
33414func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
33415	s.ConfigurationOptions = v
33416	return s
33417}
33418
33419// SetCreatedAt sets the CreatedAt field's value.
33420func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
33421	s.CreatedAt = &v
33422	return s
33423}
33424
33425// SetDnsName sets the DnsName field's value.
33426func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
33427	s.DnsName = &v
33428	return s
33429}
33430
33431// SetHealthCheckPath sets the HealthCheckPath field's value.
33432func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
33433	s.HealthCheckPath = &v
33434	return s
33435}
33436
33437// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
33438func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
33439	s.InstanceHealthSummary = v
33440	return s
33441}
33442
33443// SetInstancePort sets the InstancePort field's value.
33444func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
33445	s.InstancePort = &v
33446	return s
33447}
33448
33449// SetIpAddressType sets the IpAddressType field's value.
33450func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
33451	s.IpAddressType = &v
33452	return s
33453}
33454
33455// SetLocation sets the Location field's value.
33456func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
33457	s.Location = v
33458	return s
33459}
33460
33461// SetName sets the Name field's value.
33462func (s *LoadBalancer) SetName(v string) *LoadBalancer {
33463	s.Name = &v
33464	return s
33465}
33466
33467// SetProtocol sets the Protocol field's value.
33468func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
33469	s.Protocol = &v
33470	return s
33471}
33472
33473// SetPublicPorts sets the PublicPorts field's value.
33474func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
33475	s.PublicPorts = v
33476	return s
33477}
33478
33479// SetResourceType sets the ResourceType field's value.
33480func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
33481	s.ResourceType = &v
33482	return s
33483}
33484
33485// SetState sets the State field's value.
33486func (s *LoadBalancer) SetState(v string) *LoadBalancer {
33487	s.State = &v
33488	return s
33489}
33490
33491// SetSupportCode sets the SupportCode field's value.
33492func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
33493	s.SupportCode = &v
33494	return s
33495}
33496
33497// SetTags sets the Tags field's value.
33498func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
33499	s.Tags = v
33500	return s
33501}
33502
33503// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
33504func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
33505	s.TlsCertificateSummaries = v
33506	return s
33507}
33508
33509// Describes a load balancer SSL/TLS certificate.
33510//
33511// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
33512type LoadBalancerTlsCertificate struct {
33513	_ struct{} `type:"structure"`
33514
33515	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
33516	Arn *string `locationName:"arn" type:"string"`
33517
33518	// The time when you created your SSL/TLS certificate.
33519	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33520
33521	// The domain name for your SSL/TLS certificate.
33522	DomainName *string `locationName:"domainName" type:"string"`
33523
33524	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
33525	// the records.
33526	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
33527
33528	// The validation failure reason, if any, of the certificate.
33529	//
33530	// The following failure reasons are possible:
33531	//
33532	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
33533	//    is not available for Lightsail certificates.
33534	//
33535	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
33536	//    to process this certificate request. This can happen as a fraud-protection
33537	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
33538	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
33539	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
33540	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
33541	//    elasticbeanstalk.com.
33542	//
33543	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
33544	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
33545	//    To correct the problem, search for your domain name on the VirusTotal
33546	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
33547	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
33548	//    to learn what you can do. If you believe that the result is a false positive,
33549	//    notify the organization that is reporting the domain. VirusTotal is an
33550	//    aggregate of several antivirus and URL scanners and cannot remove your
33551	//    domain from a block list itself. After you correct the problem and the
33552	//    VirusTotal registry has been updated, request a new certificate. If you
33553	//    see this error and your domain is not included in the VirusTotal list,
33554	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
33555	//    and create a case.
33556	//
33557	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
33558	//    request is not valid. Typically, this is because a domain name in the
33559	//    request is not a valid top-level domain. Try to request a certificate
33560	//    again, correcting any spelling errors or typos that were in the failed
33561	//    request, and ensure that all domain names in the request are for valid
33562	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
33563	//    because invalidpublicdomain is not a valid top-level domain.
33564	//
33565	//    * OTHER - Typically, this failure occurs when there is a typographical
33566	//    error in one or more of the domain names in the certificate request. Try
33567	//    to request a certificate again, correcting any spelling errors or typos
33568	//    that were in the failed request.
33569	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
33570
33571	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
33572	IsAttached *bool `locationName:"isAttached" type:"boolean"`
33573
33574	// The time when the SSL/TLS certificate was issued.
33575	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
33576
33577	// The issuer of the certificate.
33578	Issuer *string `locationName:"issuer" type:"string"`
33579
33580	// The algorithm used to generate the key pair (the public and private key).
33581	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
33582
33583	// The load balancer name where your SSL/TLS certificate is attached.
33584	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
33585
33586	// The AWS Region and Availability Zone where you created your certificate.
33587	Location *ResourceLocation `locationName:"location" type:"structure"`
33588
33589	// The name of the SSL/TLS certificate (e.g., my-certificate).
33590	Name *string `locationName:"name" type:"string"`
33591
33592	// The timestamp when the SSL/TLS certificate expires.
33593	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
33594
33595	// The timestamp when the SSL/TLS certificate is first valid.
33596	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
33597
33598	// An object that describes the status of the certificate renewal managed by
33599	// Lightsail.
33600	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
33601
33602	// The resource type (e.g., LoadBalancerTlsCertificate).
33603	//
33604	//    * Instance - A Lightsail instance (a virtual private server)
33605	//
33606	//    * StaticIp - A static IP address
33607	//
33608	//    * KeyPair - The key pair used to connect to a Lightsail instance
33609	//
33610	//    * InstanceSnapshot - A Lightsail instance snapshot
33611	//
33612	//    * Domain - A DNS zone
33613	//
33614	//    * PeeredVpc - A peered VPC
33615	//
33616	//    * LoadBalancer - A Lightsail load balancer
33617	//
33618	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
33619	//    a Lightsail load balancer
33620	//
33621	//    * Disk - A Lightsail block storage disk
33622	//
33623	//    * DiskSnapshot - A block storage disk snapshot
33624	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33625
33626	// The reason the certificate was revoked. This value is present only when the
33627	// certificate status is REVOKED.
33628	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
33629
33630	// The timestamp when the certificate was revoked. This value is present only
33631	// when the certificate status is REVOKED.
33632	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
33633
33634	// The serial number of the certificate.
33635	Serial *string `locationName:"serial" type:"string"`
33636
33637	// The algorithm that was used to sign the certificate.
33638	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
33639
33640	// The validation status of the SSL/TLS certificate. Valid values are below.
33641	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
33642
33643	// The name of the entity that is associated with the public key contained in
33644	// the certificate.
33645	Subject *string `locationName:"subject" type:"string"`
33646
33647	// An array of strings that specify the alternate domains (e.g., example2.com)
33648	// and subdomains (e.g., blog.example.com) for the certificate.
33649	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
33650
33651	// The support code. Include this code in your email to support when you have
33652	// questions about your Lightsail load balancer or SSL/TLS certificate. This
33653	// code enables our support team to look up your Lightsail information more
33654	// easily.
33655	SupportCode *string `locationName:"supportCode" type:"string"`
33656
33657	// The tag keys and optional values for the resource. For more information about
33658	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
33659	Tags []*Tag `locationName:"tags" type:"list"`
33660}
33661
33662// String returns the string representation
33663func (s LoadBalancerTlsCertificate) String() string {
33664	return awsutil.Prettify(s)
33665}
33666
33667// GoString returns the string representation
33668func (s LoadBalancerTlsCertificate) GoString() string {
33669	return s.String()
33670}
33671
33672// SetArn sets the Arn field's value.
33673func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
33674	s.Arn = &v
33675	return s
33676}
33677
33678// SetCreatedAt sets the CreatedAt field's value.
33679func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
33680	s.CreatedAt = &v
33681	return s
33682}
33683
33684// SetDomainName sets the DomainName field's value.
33685func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
33686	s.DomainName = &v
33687	return s
33688}
33689
33690// SetDomainValidationRecords sets the DomainValidationRecords field's value.
33691func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
33692	s.DomainValidationRecords = v
33693	return s
33694}
33695
33696// SetFailureReason sets the FailureReason field's value.
33697func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
33698	s.FailureReason = &v
33699	return s
33700}
33701
33702// SetIsAttached sets the IsAttached field's value.
33703func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
33704	s.IsAttached = &v
33705	return s
33706}
33707
33708// SetIssuedAt sets the IssuedAt field's value.
33709func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
33710	s.IssuedAt = &v
33711	return s
33712}
33713
33714// SetIssuer sets the Issuer field's value.
33715func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
33716	s.Issuer = &v
33717	return s
33718}
33719
33720// SetKeyAlgorithm sets the KeyAlgorithm field's value.
33721func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
33722	s.KeyAlgorithm = &v
33723	return s
33724}
33725
33726// SetLoadBalancerName sets the LoadBalancerName field's value.
33727func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
33728	s.LoadBalancerName = &v
33729	return s
33730}
33731
33732// SetLocation sets the Location field's value.
33733func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
33734	s.Location = v
33735	return s
33736}
33737
33738// SetName sets the Name field's value.
33739func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
33740	s.Name = &v
33741	return s
33742}
33743
33744// SetNotAfter sets the NotAfter field's value.
33745func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
33746	s.NotAfter = &v
33747	return s
33748}
33749
33750// SetNotBefore sets the NotBefore field's value.
33751func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
33752	s.NotBefore = &v
33753	return s
33754}
33755
33756// SetRenewalSummary sets the RenewalSummary field's value.
33757func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
33758	s.RenewalSummary = v
33759	return s
33760}
33761
33762// SetResourceType sets the ResourceType field's value.
33763func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
33764	s.ResourceType = &v
33765	return s
33766}
33767
33768// SetRevocationReason sets the RevocationReason field's value.
33769func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
33770	s.RevocationReason = &v
33771	return s
33772}
33773
33774// SetRevokedAt sets the RevokedAt field's value.
33775func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
33776	s.RevokedAt = &v
33777	return s
33778}
33779
33780// SetSerial sets the Serial field's value.
33781func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
33782	s.Serial = &v
33783	return s
33784}
33785
33786// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
33787func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
33788	s.SignatureAlgorithm = &v
33789	return s
33790}
33791
33792// SetStatus sets the Status field's value.
33793func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
33794	s.Status = &v
33795	return s
33796}
33797
33798// SetSubject sets the Subject field's value.
33799func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
33800	s.Subject = &v
33801	return s
33802}
33803
33804// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
33805func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
33806	s.SubjectAlternativeNames = v
33807	return s
33808}
33809
33810// SetSupportCode sets the SupportCode field's value.
33811func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
33812	s.SupportCode = &v
33813	return s
33814}
33815
33816// SetTags sets the Tags field's value.
33817func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
33818	s.Tags = v
33819	return s
33820}
33821
33822// Contains information about the domain names on an SSL/TLS certificate that
33823// you will use to validate domain ownership.
33824type LoadBalancerTlsCertificateDomainValidationOption struct {
33825	_ struct{} `type:"structure"`
33826
33827	// The fully qualified domain name in the certificate request.
33828	DomainName *string `locationName:"domainName" type:"string"`
33829
33830	// The status of the domain validation. Valid values are listed below.
33831	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
33832}
33833
33834// String returns the string representation
33835func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
33836	return awsutil.Prettify(s)
33837}
33838
33839// GoString returns the string representation
33840func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
33841	return s.String()
33842}
33843
33844// SetDomainName sets the DomainName field's value.
33845func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
33846	s.DomainName = &v
33847	return s
33848}
33849
33850// SetValidationStatus sets the ValidationStatus field's value.
33851func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
33852	s.ValidationStatus = &v
33853	return s
33854}
33855
33856// Describes the validation record of each domain name in the SSL/TLS certificate.
33857type LoadBalancerTlsCertificateDomainValidationRecord struct {
33858	_ struct{} `type:"structure"`
33859
33860	// The domain name against which your SSL/TLS certificate was validated.
33861	DomainName *string `locationName:"domainName" type:"string"`
33862
33863	// A fully qualified domain name in the certificate. For example, example.com.
33864	Name *string `locationName:"name" type:"string"`
33865
33866	// The type of validation record. For example, CNAME for domain validation.
33867	Type *string `locationName:"type" type:"string"`
33868
33869	// The validation status. Valid values are listed below.
33870	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
33871
33872	// The value for that type.
33873	Value *string `locationName:"value" type:"string"`
33874}
33875
33876// String returns the string representation
33877func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
33878	return awsutil.Prettify(s)
33879}
33880
33881// GoString returns the string representation
33882func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
33883	return s.String()
33884}
33885
33886// SetDomainName sets the DomainName field's value.
33887func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
33888	s.DomainName = &v
33889	return s
33890}
33891
33892// SetName sets the Name field's value.
33893func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
33894	s.Name = &v
33895	return s
33896}
33897
33898// SetType sets the Type field's value.
33899func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
33900	s.Type = &v
33901	return s
33902}
33903
33904// SetValidationStatus sets the ValidationStatus field's value.
33905func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
33906	s.ValidationStatus = &v
33907	return s
33908}
33909
33910// SetValue sets the Value field's value.
33911func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
33912	s.Value = &v
33913	return s
33914}
33915
33916// Contains information about the status of Lightsail's managed renewal for
33917// the certificate.
33918//
33919// The renewal status of the certificate.
33920//
33921// The following renewal status are possible:
33922//
33923//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
33924//    the domain names in the certificate. No further action is required.
33925//
33926//    * PendingValidation - Lightsail couldn't automatically validate one or
33927//    more domain names in the certificate. You must take action to validate
33928//    these domain names or the certificate won't be renewed. If you used DNS
33929//    validation, check to make sure your certificate's domain validation records
33930//    exist in your domain's DNS, and that your certificate remains in use.
33931//
33932//    * Success - All domain names in the certificate are validated, and Lightsail
33933//    renewed the certificate. No further action is required.
33934//
33935//    * Failed - One or more domain names were not validated before the certificate
33936//    expired, and Lightsail did not renew the certificate. You can request
33937//    a new certificate using the CreateCertificate action.
33938type LoadBalancerTlsCertificateRenewalSummary struct {
33939	_ struct{} `type:"structure"`
33940
33941	// Contains information about the validation of each domain name in the certificate,
33942	// as it pertains to Lightsail's managed renewal. This is different from the
33943	// initial validation that occurs as a result of the RequestCertificate request.
33944	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
33945
33946	// The renewal status of the certificate.
33947	//
33948	// The following renewal status are possible:
33949	//
33950	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
33951	//    the domain names of the certificate. No further action is required.
33952	//
33953	//    * PendingValidation - Lightsail couldn't automatically validate one or
33954	//    more domain names of the certificate. You must take action to validate
33955	//    these domain names or the certificate won't be renewed. Check to make
33956	//    sure your certificate's domain validation records exist in your domain's
33957	//    DNS, and that your certificate remains in use.
33958	//
33959	//    * Success - All domain names in the certificate are validated, and Lightsail
33960	//    renewed the certificate. No further action is required.
33961	//
33962	//    * Failed - One or more domain names were not validated before the certificate
33963	//    expired, and Lightsail did not renew the certificate. You can request
33964	//    a new certificate using the CreateCertificate action.
33965	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
33966}
33967
33968// String returns the string representation
33969func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
33970	return awsutil.Prettify(s)
33971}
33972
33973// GoString returns the string representation
33974func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
33975	return s.String()
33976}
33977
33978// SetDomainValidationOptions sets the DomainValidationOptions field's value.
33979func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
33980	s.DomainValidationOptions = v
33981	return s
33982}
33983
33984// SetRenewalStatus sets the RenewalStatus field's value.
33985func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
33986	s.RenewalStatus = &v
33987	return s
33988}
33989
33990// Provides a summary of SSL/TLS certificate metadata.
33991type LoadBalancerTlsCertificateSummary struct {
33992	_ struct{} `type:"structure"`
33993
33994	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
33995	IsAttached *bool `locationName:"isAttached" type:"boolean"`
33996
33997	// The name of the SSL/TLS certificate.
33998	Name *string `locationName:"name" type:"string"`
33999}
34000
34001// String returns the string representation
34002func (s LoadBalancerTlsCertificateSummary) String() string {
34003	return awsutil.Prettify(s)
34004}
34005
34006// GoString returns the string representation
34007func (s LoadBalancerTlsCertificateSummary) GoString() string {
34008	return s.String()
34009}
34010
34011// SetIsAttached sets the IsAttached field's value.
34012func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
34013	s.IsAttached = &v
34014	return s
34015}
34016
34017// SetName sets the Name field's value.
34018func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
34019	s.Name = &v
34020	return s
34021}
34022
34023// Describes a database log event.
34024type LogEvent struct {
34025	_ struct{} `type:"structure"`
34026
34027	// The timestamp when the database log event was created.
34028	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
34029
34030	// The message of the database log event.
34031	Message *string `locationName:"message" type:"string"`
34032}
34033
34034// String returns the string representation
34035func (s LogEvent) String() string {
34036	return awsutil.Prettify(s)
34037}
34038
34039// GoString returns the string representation
34040func (s LogEvent) GoString() string {
34041	return s.String()
34042}
34043
34044// SetCreatedAt sets the CreatedAt field's value.
34045func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
34046	s.CreatedAt = &v
34047	return s
34048}
34049
34050// SetMessage sets the Message field's value.
34051func (s *LogEvent) SetMessage(v string) *LogEvent {
34052	s.Message = &v
34053	return s
34054}
34055
34056// Describes the metric data point.
34057type MetricDatapoint struct {
34058	_ struct{} `type:"structure"`
34059
34060	// The average.
34061	Average *float64 `locationName:"average" type:"double"`
34062
34063	// The maximum.
34064	Maximum *float64 `locationName:"maximum" type:"double"`
34065
34066	// The minimum.
34067	Minimum *float64 `locationName:"minimum" type:"double"`
34068
34069	// The sample count.
34070	SampleCount *float64 `locationName:"sampleCount" type:"double"`
34071
34072	// The sum.
34073	Sum *float64 `locationName:"sum" type:"double"`
34074
34075	// The timestamp (e.g., 1479816991.349).
34076	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
34077
34078	// The unit.
34079	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
34080}
34081
34082// String returns the string representation
34083func (s MetricDatapoint) String() string {
34084	return awsutil.Prettify(s)
34085}
34086
34087// GoString returns the string representation
34088func (s MetricDatapoint) GoString() string {
34089	return s.String()
34090}
34091
34092// SetAverage sets the Average field's value.
34093func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
34094	s.Average = &v
34095	return s
34096}
34097
34098// SetMaximum sets the Maximum field's value.
34099func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
34100	s.Maximum = &v
34101	return s
34102}
34103
34104// SetMinimum sets the Minimum field's value.
34105func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
34106	s.Minimum = &v
34107	return s
34108}
34109
34110// SetSampleCount sets the SampleCount field's value.
34111func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
34112	s.SampleCount = &v
34113	return s
34114}
34115
34116// SetSum sets the Sum field's value.
34117func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
34118	s.Sum = &v
34119	return s
34120}
34121
34122// SetTimestamp sets the Timestamp field's value.
34123func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
34124	s.Timestamp = &v
34125	return s
34126}
34127
34128// SetUnit sets the Unit field's value.
34129func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
34130	s.Unit = &v
34131	return s
34132}
34133
34134// Describes resource being monitored by an alarm.
34135//
34136// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
34137// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
34138type MonitoredResourceInfo struct {
34139	_ struct{} `type:"structure"`
34140
34141	// The Amazon Resource Name (ARN) of the resource being monitored.
34142	Arn *string `locationName:"arn" type:"string"`
34143
34144	// The name of the Lightsail resource being monitored.
34145	Name *string `locationName:"name" type:"string"`
34146
34147	// The Lightsail resource type of the resource being monitored.
34148	//
34149	// Instances, load balancers, and relational databases are the only Lightsail
34150	// resources that can currently be monitored by alarms.
34151	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34152}
34153
34154// String returns the string representation
34155func (s MonitoredResourceInfo) String() string {
34156	return awsutil.Prettify(s)
34157}
34158
34159// GoString returns the string representation
34160func (s MonitoredResourceInfo) GoString() string {
34161	return s.String()
34162}
34163
34164// SetArn sets the Arn field's value.
34165func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
34166	s.Arn = &v
34167	return s
34168}
34169
34170// SetName sets the Name field's value.
34171func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
34172	s.Name = &v
34173	return s
34174}
34175
34176// SetResourceType sets the ResourceType field's value.
34177func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
34178	s.ResourceType = &v
34179	return s
34180}
34181
34182// Describes the monthly data transfer in and out of your virtual private server
34183// (or instance).
34184type MonthlyTransfer struct {
34185	_ struct{} `type:"structure"`
34186
34187	// The amount allocated per month (in GB).
34188	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
34189}
34190
34191// String returns the string representation
34192func (s MonthlyTransfer) String() string {
34193	return awsutil.Prettify(s)
34194}
34195
34196// GoString returns the string representation
34197func (s MonthlyTransfer) GoString() string {
34198	return s.String()
34199}
34200
34201// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
34202func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
34203	s.GbPerMonthAllocated = &v
34204	return s
34205}
34206
34207// Lightsail throws this exception when it cannot find a resource.
34208type NotFoundException struct {
34209	_            struct{}                  `type:"structure"`
34210	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34211
34212	Code_ *string `locationName:"code" type:"string"`
34213
34214	Docs *string `locationName:"docs" type:"string"`
34215
34216	Message_ *string `locationName:"message" type:"string"`
34217
34218	Tip *string `locationName:"tip" type:"string"`
34219}
34220
34221// String returns the string representation
34222func (s NotFoundException) String() string {
34223	return awsutil.Prettify(s)
34224}
34225
34226// GoString returns the string representation
34227func (s NotFoundException) GoString() string {
34228	return s.String()
34229}
34230
34231func newErrorNotFoundException(v protocol.ResponseMetadata) error {
34232	return &NotFoundException{
34233		RespMetadata: v,
34234	}
34235}
34236
34237// Code returns the exception type name.
34238func (s *NotFoundException) Code() string {
34239	return "NotFoundException"
34240}
34241
34242// Message returns the exception's message.
34243func (s *NotFoundException) Message() string {
34244	if s.Message_ != nil {
34245		return *s.Message_
34246	}
34247	return ""
34248}
34249
34250// OrigErr always returns nil, satisfies awserr.Error interface.
34251func (s *NotFoundException) OrigErr() error {
34252	return nil
34253}
34254
34255func (s *NotFoundException) Error() string {
34256	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34257}
34258
34259// Status code returns the HTTP status code for the request's response error.
34260func (s *NotFoundException) StatusCode() int {
34261	return s.RespMetadata.StatusCode
34262}
34263
34264// RequestID returns the service's response RequestID for request.
34265func (s *NotFoundException) RequestID() string {
34266	return s.RespMetadata.RequestID
34267}
34268
34269type OpenInstancePublicPortsInput struct {
34270	_ struct{} `type:"structure"`
34271
34272	// The name of the instance for which to open ports.
34273	//
34274	// InstanceName is a required field
34275	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
34276
34277	// An object to describe the ports to open for the specified instance.
34278	//
34279	// PortInfo is a required field
34280	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
34281}
34282
34283// String returns the string representation
34284func (s OpenInstancePublicPortsInput) String() string {
34285	return awsutil.Prettify(s)
34286}
34287
34288// GoString returns the string representation
34289func (s OpenInstancePublicPortsInput) GoString() string {
34290	return s.String()
34291}
34292
34293// Validate inspects the fields of the type to determine if they are valid.
34294func (s *OpenInstancePublicPortsInput) Validate() error {
34295	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
34296	if s.InstanceName == nil {
34297		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
34298	}
34299	if s.PortInfo == nil {
34300		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
34301	}
34302	if s.PortInfo != nil {
34303		if err := s.PortInfo.Validate(); err != nil {
34304			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
34305		}
34306	}
34307
34308	if invalidParams.Len() > 0 {
34309		return invalidParams
34310	}
34311	return nil
34312}
34313
34314// SetInstanceName sets the InstanceName field's value.
34315func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
34316	s.InstanceName = &v
34317	return s
34318}
34319
34320// SetPortInfo sets the PortInfo field's value.
34321func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
34322	s.PortInfo = v
34323	return s
34324}
34325
34326type OpenInstancePublicPortsOutput struct {
34327	_ struct{} `type:"structure"`
34328
34329	// An array of objects that describe the result of the action, such as the status
34330	// of the request, the timestamp of the request, and the resources affected
34331	// by the request.
34332	Operation *Operation `locationName:"operation" type:"structure"`
34333}
34334
34335// String returns the string representation
34336func (s OpenInstancePublicPortsOutput) String() string {
34337	return awsutil.Prettify(s)
34338}
34339
34340// GoString returns the string representation
34341func (s OpenInstancePublicPortsOutput) GoString() string {
34342	return s.String()
34343}
34344
34345// SetOperation sets the Operation field's value.
34346func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
34347	s.Operation = v
34348	return s
34349}
34350
34351// Describes the API operation.
34352type Operation struct {
34353	_ struct{} `type:"structure"`
34354
34355	// The timestamp when the operation was initialized (e.g., 1479816991.349).
34356	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
34357
34358	// The error code.
34359	ErrorCode *string `locationName:"errorCode" type:"string"`
34360
34361	// The error details.
34362	ErrorDetails *string `locationName:"errorDetails" type:"string"`
34363
34364	// The ID of the operation.
34365	Id *string `locationName:"id" type:"string"`
34366
34367	// A Boolean value indicating whether the operation is terminal.
34368	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
34369
34370	// The AWS Region and Availability Zone.
34371	Location *ResourceLocation `locationName:"location" type:"structure"`
34372
34373	// Details about the operation (e.g., Debian-1GB-Ohio-1).
34374	OperationDetails *string `locationName:"operationDetails" type:"string"`
34375
34376	// The type of operation.
34377	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
34378
34379	// The resource name.
34380	ResourceName *string `locationName:"resourceName" type:"string"`
34381
34382	// The resource type.
34383	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34384
34385	// The status of the operation.
34386	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
34387
34388	// The timestamp when the status was changed (e.g., 1479816991.349).
34389	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
34390}
34391
34392// String returns the string representation
34393func (s Operation) String() string {
34394	return awsutil.Prettify(s)
34395}
34396
34397// GoString returns the string representation
34398func (s Operation) GoString() string {
34399	return s.String()
34400}
34401
34402// SetCreatedAt sets the CreatedAt field's value.
34403func (s *Operation) SetCreatedAt(v time.Time) *Operation {
34404	s.CreatedAt = &v
34405	return s
34406}
34407
34408// SetErrorCode sets the ErrorCode field's value.
34409func (s *Operation) SetErrorCode(v string) *Operation {
34410	s.ErrorCode = &v
34411	return s
34412}
34413
34414// SetErrorDetails sets the ErrorDetails field's value.
34415func (s *Operation) SetErrorDetails(v string) *Operation {
34416	s.ErrorDetails = &v
34417	return s
34418}
34419
34420// SetId sets the Id field's value.
34421func (s *Operation) SetId(v string) *Operation {
34422	s.Id = &v
34423	return s
34424}
34425
34426// SetIsTerminal sets the IsTerminal field's value.
34427func (s *Operation) SetIsTerminal(v bool) *Operation {
34428	s.IsTerminal = &v
34429	return s
34430}
34431
34432// SetLocation sets the Location field's value.
34433func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
34434	s.Location = v
34435	return s
34436}
34437
34438// SetOperationDetails sets the OperationDetails field's value.
34439func (s *Operation) SetOperationDetails(v string) *Operation {
34440	s.OperationDetails = &v
34441	return s
34442}
34443
34444// SetOperationType sets the OperationType field's value.
34445func (s *Operation) SetOperationType(v string) *Operation {
34446	s.OperationType = &v
34447	return s
34448}
34449
34450// SetResourceName sets the ResourceName field's value.
34451func (s *Operation) SetResourceName(v string) *Operation {
34452	s.ResourceName = &v
34453	return s
34454}
34455
34456// SetResourceType sets the ResourceType field's value.
34457func (s *Operation) SetResourceType(v string) *Operation {
34458	s.ResourceType = &v
34459	return s
34460}
34461
34462// SetStatus sets the Status field's value.
34463func (s *Operation) SetStatus(v string) *Operation {
34464	s.Status = &v
34465	return s
34466}
34467
34468// SetStatusChangedAt sets the StatusChangedAt field's value.
34469func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
34470	s.StatusChangedAt = &v
34471	return s
34472}
34473
34474// Lightsail throws this exception when an operation fails to execute.
34475type OperationFailureException struct {
34476	_            struct{}                  `type:"structure"`
34477	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34478
34479	Code_ *string `locationName:"code" type:"string"`
34480
34481	Docs *string `locationName:"docs" type:"string"`
34482
34483	Message_ *string `locationName:"message" type:"string"`
34484
34485	Tip *string `locationName:"tip" type:"string"`
34486}
34487
34488// String returns the string representation
34489func (s OperationFailureException) String() string {
34490	return awsutil.Prettify(s)
34491}
34492
34493// GoString returns the string representation
34494func (s OperationFailureException) GoString() string {
34495	return s.String()
34496}
34497
34498func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
34499	return &OperationFailureException{
34500		RespMetadata: v,
34501	}
34502}
34503
34504// Code returns the exception type name.
34505func (s *OperationFailureException) Code() string {
34506	return "OperationFailureException"
34507}
34508
34509// Message returns the exception's message.
34510func (s *OperationFailureException) Message() string {
34511	if s.Message_ != nil {
34512		return *s.Message_
34513	}
34514	return ""
34515}
34516
34517// OrigErr always returns nil, satisfies awserr.Error interface.
34518func (s *OperationFailureException) OrigErr() error {
34519	return nil
34520}
34521
34522func (s *OperationFailureException) Error() string {
34523	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34524}
34525
34526// Status code returns the HTTP status code for the request's response error.
34527func (s *OperationFailureException) StatusCode() int {
34528	return s.RespMetadata.StatusCode
34529}
34530
34531// RequestID returns the service's response RequestID for request.
34532func (s *OperationFailureException) RequestID() string {
34533	return s.RespMetadata.RequestID
34534}
34535
34536// Describes the origin resource of an Amazon Lightsail content delivery network
34537// (CDN) distribution.
34538//
34539// An origin can be a Lightsail instance or load balancer. A distribution pulls
34540// content from an origin, caches it, and serves it to viewers via a worldwide
34541// network of edge servers.
34542type Origin struct {
34543	_ struct{} `type:"structure"`
34544
34545	// The name of the origin resource.
34546	Name *string `locationName:"name" type:"string"`
34547
34548	// The protocol that your Amazon Lightsail distribution uses when establishing
34549	// a connection with your origin to pull content.
34550	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
34551
34552	// The AWS Region name of the origin resource.
34553	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
34554
34555	// The resource type of the origin resource (e.g., Instance).
34556	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34557}
34558
34559// String returns the string representation
34560func (s Origin) String() string {
34561	return awsutil.Prettify(s)
34562}
34563
34564// GoString returns the string representation
34565func (s Origin) GoString() string {
34566	return s.String()
34567}
34568
34569// SetName sets the Name field's value.
34570func (s *Origin) SetName(v string) *Origin {
34571	s.Name = &v
34572	return s
34573}
34574
34575// SetProtocolPolicy sets the ProtocolPolicy field's value.
34576func (s *Origin) SetProtocolPolicy(v string) *Origin {
34577	s.ProtocolPolicy = &v
34578	return s
34579}
34580
34581// SetRegionName sets the RegionName field's value.
34582func (s *Origin) SetRegionName(v string) *Origin {
34583	s.RegionName = &v
34584	return s
34585}
34586
34587// SetResourceType sets the ResourceType field's value.
34588func (s *Origin) SetResourceType(v string) *Origin {
34589	s.ResourceType = &v
34590	return s
34591}
34592
34593// The password data for the Windows Server-based instance, including the ciphertext
34594// and the key pair name.
34595type PasswordData struct {
34596	_ struct{} `type:"structure"`
34597
34598	// The encrypted password. Ciphertext will be an empty string if access to your
34599	// new instance is not ready yet. When you create an instance, it can take up
34600	// to 15 minutes for the instance to be ready.
34601	//
34602	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
34603	// password will be available in the password field.
34604	//
34605	// If you are using a custom key pair, you need to use your own means of decryption.
34606	//
34607	// If you change the Administrator password on the instance, Lightsail will
34608	// continue to return the original ciphertext value. When accessing the instance
34609	// using RDP, you need to manually enter the Administrator password after changing
34610	// it from the default.
34611	Ciphertext *string `locationName:"ciphertext" type:"string"`
34612
34613	// The name of the key pair that you used when creating your instance. If no
34614	// key pair name was specified when creating the instance, Lightsail uses the
34615	// default key pair (LightsailDefaultKeyPair).
34616	//
34617	// If you are using a custom key pair, you need to use your own means of decrypting
34618	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
34619	// your password with the public key part of this key pair.
34620	KeyPairName *string `locationName:"keyPairName" type:"string"`
34621}
34622
34623// String returns the string representation
34624func (s PasswordData) String() string {
34625	return awsutil.Prettify(s)
34626}
34627
34628// GoString returns the string representation
34629func (s PasswordData) GoString() string {
34630	return s.String()
34631}
34632
34633// SetCiphertext sets the Ciphertext field's value.
34634func (s *PasswordData) SetCiphertext(v string) *PasswordData {
34635	s.Ciphertext = &v
34636	return s
34637}
34638
34639// SetKeyPairName sets the KeyPairName field's value.
34640func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
34641	s.KeyPairName = &v
34642	return s
34643}
34644
34645type PeerVpcInput struct {
34646	_ struct{} `type:"structure"`
34647}
34648
34649// String returns the string representation
34650func (s PeerVpcInput) String() string {
34651	return awsutil.Prettify(s)
34652}
34653
34654// GoString returns the string representation
34655func (s PeerVpcInput) GoString() string {
34656	return s.String()
34657}
34658
34659type PeerVpcOutput struct {
34660	_ struct{} `type:"structure"`
34661
34662	// An array of objects that describe the result of the action, such as the status
34663	// of the request, the timestamp of the request, and the resources affected
34664	// by the request.
34665	Operation *Operation `locationName:"operation" type:"structure"`
34666}
34667
34668// String returns the string representation
34669func (s PeerVpcOutput) String() string {
34670	return awsutil.Prettify(s)
34671}
34672
34673// GoString returns the string representation
34674func (s PeerVpcOutput) GoString() string {
34675	return s.String()
34676}
34677
34678// SetOperation sets the Operation field's value.
34679func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
34680	s.Operation = v
34681	return s
34682}
34683
34684// Describes a pending database maintenance action.
34685type PendingMaintenanceAction struct {
34686	_ struct{} `type:"structure"`
34687
34688	// The type of pending database maintenance action.
34689	Action *string `locationName:"action" type:"string"`
34690
34691	// The effective date of the pending database maintenance action.
34692	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
34693
34694	// Additional detail about the pending database maintenance action.
34695	Description *string `locationName:"description" type:"string"`
34696}
34697
34698// String returns the string representation
34699func (s PendingMaintenanceAction) String() string {
34700	return awsutil.Prettify(s)
34701}
34702
34703// GoString returns the string representation
34704func (s PendingMaintenanceAction) GoString() string {
34705	return s.String()
34706}
34707
34708// SetAction sets the Action field's value.
34709func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
34710	s.Action = &v
34711	return s
34712}
34713
34714// SetCurrentApplyDate sets the CurrentApplyDate field's value.
34715func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
34716	s.CurrentApplyDate = &v
34717	return s
34718}
34719
34720// SetDescription sets the Description field's value.
34721func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
34722	s.Description = &v
34723	return s
34724}
34725
34726// Describes a pending database value modification.
34727type PendingModifiedRelationalDatabaseValues struct {
34728	_ struct{} `type:"structure"`
34729
34730	// A Boolean value indicating whether automated backup retention is enabled.
34731	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
34732
34733	// The database engine version.
34734	EngineVersion *string `locationName:"engineVersion" type:"string"`
34735
34736	// The password for the master user of the database.
34737	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
34738}
34739
34740// String returns the string representation
34741func (s PendingModifiedRelationalDatabaseValues) String() string {
34742	return awsutil.Prettify(s)
34743}
34744
34745// GoString returns the string representation
34746func (s PendingModifiedRelationalDatabaseValues) GoString() string {
34747	return s.String()
34748}
34749
34750// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
34751func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
34752	s.BackupRetentionEnabled = &v
34753	return s
34754}
34755
34756// SetEngineVersion sets the EngineVersion field's value.
34757func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
34758	s.EngineVersion = &v
34759	return s
34760}
34761
34762// SetMasterUserPassword sets the MasterUserPassword field's value.
34763func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
34764	s.MasterUserPassword = &v
34765	return s
34766}
34767
34768// Describes ports to open on an instance, the IP addresses allowed to connect
34769// to the instance through the ports, and the protocol.
34770type PortInfo struct {
34771	_ struct{} `type:"structure"`
34772
34773	// An alias that defines access for a preconfigured range of IP addresses.
34774	//
34775	// The only alias currently supported is lightsail-connect, which allows IP
34776	// addresses of the browser-based RDP/SSH client in the Lightsail console to
34777	// connect to your instance.
34778	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
34779
34780	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
34781	// allowed to connect to an instance through the ports, and the protocol.
34782	//
34783	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
34784	// to an instance.
34785	//
34786	// Examples:
34787	//
34788	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
34789	//
34790	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
34791	//
34792	// For more information about CIDR block notation, see Classless Inter-Domain
34793	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
34794	// on Wikipedia.
34795	Cidrs []*string `locationName:"cidrs" type:"list"`
34796
34797	// The first port in a range of open ports on an instance.
34798	//
34799	// Allowed ports:
34800	//
34801	//    * TCP and UDP - 0 to 65535
34802	//
34803	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
34804	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
34805	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
34806	//    on Wikipedia.
34807	//
34808	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
34809	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
34810	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
34811	FromPort *int64 `locationName:"fromPort" type:"integer"`
34812
34813	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
34814	// allowed to connect to an instance through the ports, and the protocol. Only
34815	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
34816	// IPv4 should be used.
34817	//
34818	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
34819	// to an instance.
34820	//
34821	// For more information about CIDR block notation, see Classless Inter-Domain
34822	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
34823	// on Wikipedia.
34824	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
34825
34826	// The IP protocol name.
34827	//
34828	// The name can be one of the following:
34829	//
34830	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
34831	//    and error-checked delivery of streamed data between applications running
34832	//    on hosts communicating by an IP network. If you have an application that
34833	//    doesn't require reliable data stream service, use UDP instead.
34834	//
34835	//    * all - All transport layer protocol types. For more general information,
34836	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
34837	//    Wikipedia.
34838	//
34839	//    * udp - With User Datagram Protocol (UDP), computer applications can send
34840	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
34841	//    Prior communications are not required to set up transmission channels
34842	//    or data paths. Applications that don't require reliable data stream service
34843	//    can use UDP, which provides a connectionless datagram service that emphasizes
34844	//    reduced latency over reliability. If you do require reliable data stream
34845	//    service, use TCP instead.
34846	//
34847	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
34848	//    messages and operational information indicating success or failure when
34849	//    communicating with an instance. For example, an error is indicated when
34850	//    an instance could not be reached. When you specify icmp as the protocol,
34851	//    you must specify the ICMP type using the fromPort parameter, and ICMP
34852	//    code using the toPort parameter.
34853	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
34854
34855	// The last port in a range of open ports on an instance.
34856	//
34857	// Allowed ports:
34858	//
34859	//    * TCP and UDP - 0 to 65535
34860	//
34861	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
34862	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
34863	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
34864	//    on Wikipedia.
34865	//
34866	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
34867	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
34868	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
34869	ToPort *int64 `locationName:"toPort" type:"integer"`
34870}
34871
34872// String returns the string representation
34873func (s PortInfo) String() string {
34874	return awsutil.Prettify(s)
34875}
34876
34877// GoString returns the string representation
34878func (s PortInfo) GoString() string {
34879	return s.String()
34880}
34881
34882// Validate inspects the fields of the type to determine if they are valid.
34883func (s *PortInfo) Validate() error {
34884	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
34885	if s.FromPort != nil && *s.FromPort < -1 {
34886		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
34887	}
34888	if s.ToPort != nil && *s.ToPort < -1 {
34889		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
34890	}
34891
34892	if invalidParams.Len() > 0 {
34893		return invalidParams
34894	}
34895	return nil
34896}
34897
34898// SetCidrListAliases sets the CidrListAliases field's value.
34899func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
34900	s.CidrListAliases = v
34901	return s
34902}
34903
34904// SetCidrs sets the Cidrs field's value.
34905func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
34906	s.Cidrs = v
34907	return s
34908}
34909
34910// SetFromPort sets the FromPort field's value.
34911func (s *PortInfo) SetFromPort(v int64) *PortInfo {
34912	s.FromPort = &v
34913	return s
34914}
34915
34916// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
34917func (s *PortInfo) SetIpv6Cidrs(v []*string) *PortInfo {
34918	s.Ipv6Cidrs = v
34919	return s
34920}
34921
34922// SetProtocol sets the Protocol field's value.
34923func (s *PortInfo) SetProtocol(v string) *PortInfo {
34924	s.Protocol = &v
34925	return s
34926}
34927
34928// SetToPort sets the ToPort field's value.
34929func (s *PortInfo) SetToPort(v int64) *PortInfo {
34930	s.ToPort = &v
34931	return s
34932}
34933
34934type PutAlarmInput struct {
34935	_ struct{} `type:"structure"`
34936
34937	// The name for the alarm. Specify the name of an existing alarm to update,
34938	// and overwrite the previous configuration of the alarm.
34939	//
34940	// AlarmName is a required field
34941	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
34942
34943	// The arithmetic operation to use when comparing the specified statistic to
34944	// the threshold. The specified statistic value is used as the first operand.
34945	//
34946	// ComparisonOperator is a required field
34947	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
34948
34949	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
34950	// or both.
34951	//
34952	// A notification is sent via the specified contact protocol if notifications
34953	// are enabled for the alarm, and when the alarm is triggered.
34954	//
34955	// A notification is not sent if a contact protocol is not specified, if the
34956	// specified contact protocol is not configured in the AWS Region, or if notifications
34957	// are not enabled for the alarm using the notificationEnabled paramater.
34958	//
34959	// Use the CreateContactMethod action to configure a contact protocol in an
34960	// AWS Region.
34961	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
34962
34963	// The number of data points that must be not within the specified threshold
34964	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
34965	// (datapointsToAlarm) is the M.
34966	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
34967
34968	// The number of most recent periods over which data is compared to the specified
34969	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
34970	// is the N.
34971	//
34972	// If you are setting an alarm that requires that a number of consecutive data
34973	// points be breaching to trigger the alarm, this value specifies the rolling
34974	// period of time in which data points are evaluated.
34975	//
34976	// Each evaluation period is five minutes long. For example, specify an evaluation
34977	// period of 24 to evaluate a metric over a rolling period of two hours.
34978	//
34979	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
34980	// evaluation period of 288 (24 hours).
34981	//
34982	// EvaluationPeriods is a required field
34983	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
34984
34985	// The name of the metric to associate with the alarm.
34986	//
34987	// You can configure up to two alarms per metric.
34988	//
34989	// The following metrics are available for each resource type:
34990	//
34991	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
34992	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
34993	//    and StatusCheckFailed_System.
34994	//
34995	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
34996	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
34997	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
34998	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
34999	//
35000	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
35001	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
35002	//
35003	// For more information about these metrics, see Metrics available in Lightsail
35004	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
35005	//
35006	// MetricName is a required field
35007	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
35008
35009	// The name of the Lightsail resource that will be monitored.
35010	//
35011	// Instances, load balancers, and relational databases are the only Lightsail
35012	// resources that can currently be monitored by alarms.
35013	//
35014	// MonitoredResourceName is a required field
35015	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
35016
35017	// Indicates whether the alarm is enabled.
35018	//
35019	// Notifications are enabled by default if you don't specify this parameter.
35020	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
35021
35022	// The alarm states that trigger a notification.
35023	//
35024	// An alarm has the following possible states:
35025	//
35026	//    * ALARM - The metric is outside of the defined threshold.
35027	//
35028	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
35029	//    or not enough data is available for the metric to determine the alarm
35030	//    state.
35031	//
35032	//    * OK - The metric is within the defined threshold.
35033	//
35034	// When you specify a notification trigger, the ALARM state must be specified.
35035	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
35036	// state.
35037	//
35038	//    * If you specify OK as an alarm trigger, a notification is sent when the
35039	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
35040	//    state. This can be thought of as an all clear alarm notification.
35041	//
35042	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
35043	//    is sent when the alarm switches from an OK or ALARM alarm state to an
35044	//    INSUFFICIENT_DATA state.
35045	//
35046	// The notification trigger defaults to ALARM if you don't specify this parameter.
35047	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
35048
35049	// The value against which the specified statistic is compared.
35050	//
35051	// Threshold is a required field
35052	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
35053
35054	// Sets how this alarm will handle missing data points.
35055	//
35056	// An alarm can treat missing data in the following ways:
35057	//
35058	//    * breaching - Assume the missing data is not within the threshold. Missing
35059	//    data counts towards the number of times the metric is not within the threshold.
35060	//
35061	//    * notBreaching - Assume the missing data is within the threshold. Missing
35062	//    data does not count towards the number of times the metric is not within
35063	//    the threshold.
35064	//
35065	//    * ignore - Ignore the missing data. Maintains the current alarm state.
35066	//
35067	//    * missing - Missing data is treated as missing.
35068	//
35069	// If treatMissingData is not specified, the default behavior of missing is
35070	// used.
35071	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
35072}
35073
35074// String returns the string representation
35075func (s PutAlarmInput) String() string {
35076	return awsutil.Prettify(s)
35077}
35078
35079// GoString returns the string representation
35080func (s PutAlarmInput) GoString() string {
35081	return s.String()
35082}
35083
35084// Validate inspects the fields of the type to determine if they are valid.
35085func (s *PutAlarmInput) Validate() error {
35086	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
35087	if s.AlarmName == nil {
35088		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
35089	}
35090	if s.ComparisonOperator == nil {
35091		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
35092	}
35093	if s.EvaluationPeriods == nil {
35094		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
35095	}
35096	if s.MetricName == nil {
35097		invalidParams.Add(request.NewErrParamRequired("MetricName"))
35098	}
35099	if s.MonitoredResourceName == nil {
35100		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
35101	}
35102	if s.Threshold == nil {
35103		invalidParams.Add(request.NewErrParamRequired("Threshold"))
35104	}
35105
35106	if invalidParams.Len() > 0 {
35107		return invalidParams
35108	}
35109	return nil
35110}
35111
35112// SetAlarmName sets the AlarmName field's value.
35113func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
35114	s.AlarmName = &v
35115	return s
35116}
35117
35118// SetComparisonOperator sets the ComparisonOperator field's value.
35119func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
35120	s.ComparisonOperator = &v
35121	return s
35122}
35123
35124// SetContactProtocols sets the ContactProtocols field's value.
35125func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
35126	s.ContactProtocols = v
35127	return s
35128}
35129
35130// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
35131func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
35132	s.DatapointsToAlarm = &v
35133	return s
35134}
35135
35136// SetEvaluationPeriods sets the EvaluationPeriods field's value.
35137func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
35138	s.EvaluationPeriods = &v
35139	return s
35140}
35141
35142// SetMetricName sets the MetricName field's value.
35143func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
35144	s.MetricName = &v
35145	return s
35146}
35147
35148// SetMonitoredResourceName sets the MonitoredResourceName field's value.
35149func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
35150	s.MonitoredResourceName = &v
35151	return s
35152}
35153
35154// SetNotificationEnabled sets the NotificationEnabled field's value.
35155func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
35156	s.NotificationEnabled = &v
35157	return s
35158}
35159
35160// SetNotificationTriggers sets the NotificationTriggers field's value.
35161func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
35162	s.NotificationTriggers = v
35163	return s
35164}
35165
35166// SetThreshold sets the Threshold field's value.
35167func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
35168	s.Threshold = &v
35169	return s
35170}
35171
35172// SetTreatMissingData sets the TreatMissingData field's value.
35173func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
35174	s.TreatMissingData = &v
35175	return s
35176}
35177
35178type PutAlarmOutput struct {
35179	_ struct{} `type:"structure"`
35180
35181	// An array of objects that describe the result of the action, such as the status
35182	// of the request, the timestamp of the request, and the resources affected
35183	// by the request.
35184	Operations []*Operation `locationName:"operations" type:"list"`
35185}
35186
35187// String returns the string representation
35188func (s PutAlarmOutput) String() string {
35189	return awsutil.Prettify(s)
35190}
35191
35192// GoString returns the string representation
35193func (s PutAlarmOutput) GoString() string {
35194	return s.String()
35195}
35196
35197// SetOperations sets the Operations field's value.
35198func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
35199	s.Operations = v
35200	return s
35201}
35202
35203type PutInstancePublicPortsInput struct {
35204	_ struct{} `type:"structure"`
35205
35206	// The name of the instance for which to open ports.
35207	//
35208	// InstanceName is a required field
35209	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
35210
35211	// An array of objects to describe the ports to open for the specified instance.
35212	//
35213	// PortInfos is a required field
35214	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
35215}
35216
35217// String returns the string representation
35218func (s PutInstancePublicPortsInput) String() string {
35219	return awsutil.Prettify(s)
35220}
35221
35222// GoString returns the string representation
35223func (s PutInstancePublicPortsInput) GoString() string {
35224	return s.String()
35225}
35226
35227// Validate inspects the fields of the type to determine if they are valid.
35228func (s *PutInstancePublicPortsInput) Validate() error {
35229	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
35230	if s.InstanceName == nil {
35231		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
35232	}
35233	if s.PortInfos == nil {
35234		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
35235	}
35236	if s.PortInfos != nil {
35237		for i, v := range s.PortInfos {
35238			if v == nil {
35239				continue
35240			}
35241			if err := v.Validate(); err != nil {
35242				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
35243			}
35244		}
35245	}
35246
35247	if invalidParams.Len() > 0 {
35248		return invalidParams
35249	}
35250	return nil
35251}
35252
35253// SetInstanceName sets the InstanceName field's value.
35254func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
35255	s.InstanceName = &v
35256	return s
35257}
35258
35259// SetPortInfos sets the PortInfos field's value.
35260func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
35261	s.PortInfos = v
35262	return s
35263}
35264
35265type PutInstancePublicPortsOutput struct {
35266	_ struct{} `type:"structure"`
35267
35268	// An array of objects that describe the result of the action, such as the status
35269	// of the request, the timestamp of the request, and the resources affected
35270	// by the request.
35271	Operation *Operation `locationName:"operation" type:"structure"`
35272}
35273
35274// String returns the string representation
35275func (s PutInstancePublicPortsOutput) String() string {
35276	return awsutil.Prettify(s)
35277}
35278
35279// GoString returns the string representation
35280func (s PutInstancePublicPortsOutput) GoString() string {
35281	return s.String()
35282}
35283
35284// SetOperation sets the Operation field's value.
35285func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
35286	s.Operation = v
35287	return s
35288}
35289
35290// Describes the query string parameters that an Amazon Lightsail content delivery
35291// network (CDN) distribution to bases caching on.
35292//
35293// For the query strings that you specify, your distribution caches separate
35294// versions of the specified content based on the query string values in viewer
35295// requests.
35296type QueryStringObject struct {
35297	_ struct{} `type:"structure"`
35298
35299	// Indicates whether the distribution forwards and caches based on query strings.
35300	Option *bool `locationName:"option" type:"boolean"`
35301
35302	// The specific query strings that the distribution forwards to the origin.
35303	//
35304	// Your distribution will cache content based on the specified query strings.
35305	//
35306	// If the option parameter is true, then your distribution forwards all query
35307	// strings, regardless of what you specify using the queryStringsAllowList parameter.
35308	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
35309}
35310
35311// String returns the string representation
35312func (s QueryStringObject) String() string {
35313	return awsutil.Prettify(s)
35314}
35315
35316// GoString returns the string representation
35317func (s QueryStringObject) GoString() string {
35318	return s.String()
35319}
35320
35321// SetOption sets the Option field's value.
35322func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
35323	s.Option = &v
35324	return s
35325}
35326
35327// SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
35328func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
35329	s.QueryStringsAllowList = v
35330	return s
35331}
35332
35333type RebootInstanceInput struct {
35334	_ struct{} `type:"structure"`
35335
35336	// The name of the instance to reboot.
35337	//
35338	// InstanceName is a required field
35339	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
35340}
35341
35342// String returns the string representation
35343func (s RebootInstanceInput) String() string {
35344	return awsutil.Prettify(s)
35345}
35346
35347// GoString returns the string representation
35348func (s RebootInstanceInput) GoString() string {
35349	return s.String()
35350}
35351
35352// Validate inspects the fields of the type to determine if they are valid.
35353func (s *RebootInstanceInput) Validate() error {
35354	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
35355	if s.InstanceName == nil {
35356		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
35357	}
35358
35359	if invalidParams.Len() > 0 {
35360		return invalidParams
35361	}
35362	return nil
35363}
35364
35365// SetInstanceName sets the InstanceName field's value.
35366func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
35367	s.InstanceName = &v
35368	return s
35369}
35370
35371type RebootInstanceOutput struct {
35372	_ struct{} `type:"structure"`
35373
35374	// An array of objects that describe the result of the action, such as the status
35375	// of the request, the timestamp of the request, and the resources affected
35376	// by the request.
35377	Operations []*Operation `locationName:"operations" type:"list"`
35378}
35379
35380// String returns the string representation
35381func (s RebootInstanceOutput) String() string {
35382	return awsutil.Prettify(s)
35383}
35384
35385// GoString returns the string representation
35386func (s RebootInstanceOutput) GoString() string {
35387	return s.String()
35388}
35389
35390// SetOperations sets the Operations field's value.
35391func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
35392	s.Operations = v
35393	return s
35394}
35395
35396type RebootRelationalDatabaseInput struct {
35397	_ struct{} `type:"structure"`
35398
35399	// The name of your database to reboot.
35400	//
35401	// RelationalDatabaseName is a required field
35402	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
35403}
35404
35405// String returns the string representation
35406func (s RebootRelationalDatabaseInput) String() string {
35407	return awsutil.Prettify(s)
35408}
35409
35410// GoString returns the string representation
35411func (s RebootRelationalDatabaseInput) GoString() string {
35412	return s.String()
35413}
35414
35415// Validate inspects the fields of the type to determine if they are valid.
35416func (s *RebootRelationalDatabaseInput) Validate() error {
35417	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
35418	if s.RelationalDatabaseName == nil {
35419		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
35420	}
35421
35422	if invalidParams.Len() > 0 {
35423		return invalidParams
35424	}
35425	return nil
35426}
35427
35428// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
35429func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
35430	s.RelationalDatabaseName = &v
35431	return s
35432}
35433
35434type RebootRelationalDatabaseOutput struct {
35435	_ struct{} `type:"structure"`
35436
35437	// An array of objects that describe the result of the action, such as the status
35438	// of the request, the timestamp of the request, and the resources affected
35439	// by the request.
35440	Operations []*Operation `locationName:"operations" type:"list"`
35441}
35442
35443// String returns the string representation
35444func (s RebootRelationalDatabaseOutput) String() string {
35445	return awsutil.Prettify(s)
35446}
35447
35448// GoString returns the string representation
35449func (s RebootRelationalDatabaseOutput) GoString() string {
35450	return s.String()
35451}
35452
35453// SetOperations sets the Operations field's value.
35454func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
35455	s.Operations = v
35456	return s
35457}
35458
35459// Describes the AWS Region.
35460type Region struct {
35461	_ struct{} `type:"structure"`
35462
35463	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
35464	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
35465
35466	// The continent code (e.g., NA, meaning North America).
35467	ContinentCode *string `locationName:"continentCode" type:"string"`
35468
35469	// The description of the AWS Region (e.g., This region is recommended to serve
35470	// users in the eastern United States and eastern Canada).
35471	Description *string `locationName:"description" type:"string"`
35472
35473	// The display name (e.g., Ohio).
35474	DisplayName *string `locationName:"displayName" type:"string"`
35475
35476	// The region name (e.g., us-east-2).
35477	Name *string `locationName:"name" type:"string" enum:"RegionName"`
35478
35479	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
35480	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
35481}
35482
35483// String returns the string representation
35484func (s Region) String() string {
35485	return awsutil.Prettify(s)
35486}
35487
35488// GoString returns the string representation
35489func (s Region) GoString() string {
35490	return s.String()
35491}
35492
35493// SetAvailabilityZones sets the AvailabilityZones field's value.
35494func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
35495	s.AvailabilityZones = v
35496	return s
35497}
35498
35499// SetContinentCode sets the ContinentCode field's value.
35500func (s *Region) SetContinentCode(v string) *Region {
35501	s.ContinentCode = &v
35502	return s
35503}
35504
35505// SetDescription sets the Description field's value.
35506func (s *Region) SetDescription(v string) *Region {
35507	s.Description = &v
35508	return s
35509}
35510
35511// SetDisplayName sets the DisplayName field's value.
35512func (s *Region) SetDisplayName(v string) *Region {
35513	s.DisplayName = &v
35514	return s
35515}
35516
35517// SetName sets the Name field's value.
35518func (s *Region) SetName(v string) *Region {
35519	s.Name = &v
35520	return s
35521}
35522
35523// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
35524func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
35525	s.RelationalDatabaseAvailabilityZones = v
35526	return s
35527}
35528
35529type RegisterContainerImageInput struct {
35530	_ struct{} `type:"structure"`
35531
35532	// The digest of the container image to be registered.
35533	//
35534	// Digest is a required field
35535	Digest *string `locationName:"digest" type:"string" required:"true"`
35536
35537	// The label for the container image when it's registered to the container service.
35538	//
35539	// Use a descriptive label that you can use to track the different versions
35540	// of your registered container images.
35541	//
35542	// Use the GetContainerImages action to return the container images registered
35543	// to a Lightsail container service. The label is the <imagelabel> portion of
35544	// the following image name example:
35545	//
35546	//    * :container-service-1.<imagelabel>.1
35547	//
35548	// If the name of your container service is mycontainerservice, and the label
35549	// that you specify is mystaticwebsite, then the name of the registered container
35550	// image will be :mycontainerservice.mystaticwebsite.1.
35551	//
35552	// The number at the end of these image name examples represents the version
35553	// of the registered container image. If you push and register another container
35554	// image to the same Lightsail container service, with the same label, then
35555	// the version number for the new registered container image will be 2. If you
35556	// push and register another container image, the version number will be 3,
35557	// and so on.
35558	//
35559	// Label is a required field
35560	Label *string `locationName:"label" min:"1" type:"string" required:"true"`
35561
35562	// The name of the container service for which to register a container image.
35563	//
35564	// ServiceName is a required field
35565	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
35566}
35567
35568// String returns the string representation
35569func (s RegisterContainerImageInput) String() string {
35570	return awsutil.Prettify(s)
35571}
35572
35573// GoString returns the string representation
35574func (s RegisterContainerImageInput) GoString() string {
35575	return s.String()
35576}
35577
35578// Validate inspects the fields of the type to determine if they are valid.
35579func (s *RegisterContainerImageInput) Validate() error {
35580	invalidParams := request.ErrInvalidParams{Context: "RegisterContainerImageInput"}
35581	if s.Digest == nil {
35582		invalidParams.Add(request.NewErrParamRequired("Digest"))
35583	}
35584	if s.Label == nil {
35585		invalidParams.Add(request.NewErrParamRequired("Label"))
35586	}
35587	if s.Label != nil && len(*s.Label) < 1 {
35588		invalidParams.Add(request.NewErrParamMinLen("Label", 1))
35589	}
35590	if s.ServiceName == nil {
35591		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
35592	}
35593	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
35594		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
35595	}
35596
35597	if invalidParams.Len() > 0 {
35598		return invalidParams
35599	}
35600	return nil
35601}
35602
35603// SetDigest sets the Digest field's value.
35604func (s *RegisterContainerImageInput) SetDigest(v string) *RegisterContainerImageInput {
35605	s.Digest = &v
35606	return s
35607}
35608
35609// SetLabel sets the Label field's value.
35610func (s *RegisterContainerImageInput) SetLabel(v string) *RegisterContainerImageInput {
35611	s.Label = &v
35612	return s
35613}
35614
35615// SetServiceName sets the ServiceName field's value.
35616func (s *RegisterContainerImageInput) SetServiceName(v string) *RegisterContainerImageInput {
35617	s.ServiceName = &v
35618	return s
35619}
35620
35621type RegisterContainerImageOutput struct {
35622	_ struct{} `type:"structure"`
35623
35624	// Describes a container image that is registered to an Amazon Lightsail container
35625	// service.
35626	ContainerImage *ContainerImage `locationName:"containerImage" type:"structure"`
35627}
35628
35629// String returns the string representation
35630func (s RegisterContainerImageOutput) String() string {
35631	return awsutil.Prettify(s)
35632}
35633
35634// GoString returns the string representation
35635func (s RegisterContainerImageOutput) GoString() string {
35636	return s.String()
35637}
35638
35639// SetContainerImage sets the ContainerImage field's value.
35640func (s *RegisterContainerImageOutput) SetContainerImage(v *ContainerImage) *RegisterContainerImageOutput {
35641	s.ContainerImage = v
35642	return s
35643}
35644
35645// Describes a database.
35646type RelationalDatabase struct {
35647	_ struct{} `type:"structure"`
35648
35649	// The Amazon Resource Name (ARN) of the database.
35650	Arn *string `locationName:"arn" type:"string"`
35651
35652	// A Boolean value indicating whether automated backup retention is enabled
35653	// for the database.
35654	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
35655
35656	// The certificate associated with the database.
35657	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
35658
35659	// The timestamp when the database was created. Formatted in Unix time.
35660	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
35661
35662	// The database software (for example, MySQL).
35663	Engine *string `locationName:"engine" type:"string"`
35664
35665	// The database engine version (for example, 5.7.23).
35666	EngineVersion *string `locationName:"engineVersion" type:"string"`
35667
35668	// Describes the hardware of the database.
35669	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
35670
35671	// The latest point in time to which the database can be restored. Formatted
35672	// in Unix time.
35673	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
35674
35675	// The Region name and Availability Zone where the database is located.
35676	Location *ResourceLocation `locationName:"location" type:"structure"`
35677
35678	// The name of the master database created when the Lightsail database resource
35679	// is created.
35680	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
35681
35682	// The master endpoint for the database.
35683	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
35684
35685	// The master user name of the database.
35686	MasterUsername *string `locationName:"masterUsername" type:"string"`
35687
35688	// The unique name of the database resource in Lightsail.
35689	Name *string `locationName:"name" type:"string"`
35690
35691	// The status of parameter updates for the database.
35692	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
35693
35694	// Describes the pending maintenance actions for the database.
35695	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
35696
35697	// Describes pending database value modifications.
35698	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
35699
35700	// The daily time range during which automated backups are created for the database
35701	// (for example, 16:00-16:30).
35702	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
35703
35704	// The weekly time range during which system maintenance can occur on the database.
35705	//
35706	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
35707	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
35708
35709	// A Boolean value indicating whether the database is publicly accessible.
35710	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
35711
35712	// The blueprint ID for the database. A blueprint describes the major engine
35713	// version of a database.
35714	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
35715
35716	// The bundle ID for the database. A bundle describes the performance specifications
35717	// for your database.
35718	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
35719
35720	// The Lightsail resource type for the database (for example, RelationalDatabase).
35721	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
35722
35723	// Describes the secondary Availability Zone of a high availability database.
35724	//
35725	// The secondary database is used for failover support of a high availability
35726	// database.
35727	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
35728
35729	// Describes the current state of the database.
35730	State *string `locationName:"state" type:"string"`
35731
35732	// The support code for the database. Include this code in your email to support
35733	// when you have questions about a database in Lightsail. This code enables
35734	// our support team to look up your Lightsail information more easily.
35735	SupportCode *string `locationName:"supportCode" type:"string"`
35736
35737	// The tag keys and optional values for the resource. For more information about
35738	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
35739	Tags []*Tag `locationName:"tags" type:"list"`
35740}
35741
35742// String returns the string representation
35743func (s RelationalDatabase) String() string {
35744	return awsutil.Prettify(s)
35745}
35746
35747// GoString returns the string representation
35748func (s RelationalDatabase) GoString() string {
35749	return s.String()
35750}
35751
35752// SetArn sets the Arn field's value.
35753func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
35754	s.Arn = &v
35755	return s
35756}
35757
35758// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
35759func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
35760	s.BackupRetentionEnabled = &v
35761	return s
35762}
35763
35764// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
35765func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
35766	s.CaCertificateIdentifier = &v
35767	return s
35768}
35769
35770// SetCreatedAt sets the CreatedAt field's value.
35771func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
35772	s.CreatedAt = &v
35773	return s
35774}
35775
35776// SetEngine sets the Engine field's value.
35777func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
35778	s.Engine = &v
35779	return s
35780}
35781
35782// SetEngineVersion sets the EngineVersion field's value.
35783func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
35784	s.EngineVersion = &v
35785	return s
35786}
35787
35788// SetHardware sets the Hardware field's value.
35789func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
35790	s.Hardware = v
35791	return s
35792}
35793
35794// SetLatestRestorableTime sets the LatestRestorableTime field's value.
35795func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
35796	s.LatestRestorableTime = &v
35797	return s
35798}
35799
35800// SetLocation sets the Location field's value.
35801func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
35802	s.Location = v
35803	return s
35804}
35805
35806// SetMasterDatabaseName sets the MasterDatabaseName field's value.
35807func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
35808	s.MasterDatabaseName = &v
35809	return s
35810}
35811
35812// SetMasterEndpoint sets the MasterEndpoint field's value.
35813func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
35814	s.MasterEndpoint = v
35815	return s
35816}
35817
35818// SetMasterUsername sets the MasterUsername field's value.
35819func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
35820	s.MasterUsername = &v
35821	return s
35822}
35823
35824// SetName sets the Name field's value.
35825func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
35826	s.Name = &v
35827	return s
35828}
35829
35830// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
35831func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
35832	s.ParameterApplyStatus = &v
35833	return s
35834}
35835
35836// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
35837func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
35838	s.PendingMaintenanceActions = v
35839	return s
35840}
35841
35842// SetPendingModifiedValues sets the PendingModifiedValues field's value.
35843func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
35844	s.PendingModifiedValues = v
35845	return s
35846}
35847
35848// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
35849func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
35850	s.PreferredBackupWindow = &v
35851	return s
35852}
35853
35854// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
35855func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
35856	s.PreferredMaintenanceWindow = &v
35857	return s
35858}
35859
35860// SetPubliclyAccessible sets the PubliclyAccessible field's value.
35861func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
35862	s.PubliclyAccessible = &v
35863	return s
35864}
35865
35866// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
35867func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
35868	s.RelationalDatabaseBlueprintId = &v
35869	return s
35870}
35871
35872// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
35873func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
35874	s.RelationalDatabaseBundleId = &v
35875	return s
35876}
35877
35878// SetResourceType sets the ResourceType field's value.
35879func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
35880	s.ResourceType = &v
35881	return s
35882}
35883
35884// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
35885func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
35886	s.SecondaryAvailabilityZone = &v
35887	return s
35888}
35889
35890// SetState sets the State field's value.
35891func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
35892	s.State = &v
35893	return s
35894}
35895
35896// SetSupportCode sets the SupportCode field's value.
35897func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
35898	s.SupportCode = &v
35899	return s
35900}
35901
35902// SetTags sets the Tags field's value.
35903func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
35904	s.Tags = v
35905	return s
35906}
35907
35908// Describes a database image, or blueprint. A blueprint describes the major
35909// engine version of a database.
35910type RelationalDatabaseBlueprint struct {
35911	_ struct{} `type:"structure"`
35912
35913	// The ID for the database blueprint.
35914	BlueprintId *string `locationName:"blueprintId" type:"string"`
35915
35916	// The database software of the database blueprint (for example, MySQL).
35917	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
35918
35919	// The description of the database engine for the database blueprint.
35920	EngineDescription *string `locationName:"engineDescription" type:"string"`
35921
35922	// The database engine version for the database blueprint (for example, 5.7.23).
35923	EngineVersion *string `locationName:"engineVersion" type:"string"`
35924
35925	// The description of the database engine version for the database blueprint.
35926	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
35927
35928	// A Boolean value indicating whether the engine version is the default for
35929	// the database blueprint.
35930	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
35931}
35932
35933// String returns the string representation
35934func (s RelationalDatabaseBlueprint) String() string {
35935	return awsutil.Prettify(s)
35936}
35937
35938// GoString returns the string representation
35939func (s RelationalDatabaseBlueprint) GoString() string {
35940	return s.String()
35941}
35942
35943// SetBlueprintId sets the BlueprintId field's value.
35944func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
35945	s.BlueprintId = &v
35946	return s
35947}
35948
35949// SetEngine sets the Engine field's value.
35950func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
35951	s.Engine = &v
35952	return s
35953}
35954
35955// SetEngineDescription sets the EngineDescription field's value.
35956func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
35957	s.EngineDescription = &v
35958	return s
35959}
35960
35961// SetEngineVersion sets the EngineVersion field's value.
35962func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
35963	s.EngineVersion = &v
35964	return s
35965}
35966
35967// SetEngineVersionDescription sets the EngineVersionDescription field's value.
35968func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
35969	s.EngineVersionDescription = &v
35970	return s
35971}
35972
35973// SetIsEngineDefault sets the IsEngineDefault field's value.
35974func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
35975	s.IsEngineDefault = &v
35976	return s
35977}
35978
35979// Describes a database bundle. A bundle describes the performance specifications
35980// of the database.
35981type RelationalDatabaseBundle struct {
35982	_ struct{} `type:"structure"`
35983
35984	// The ID for the database bundle.
35985	BundleId *string `locationName:"bundleId" type:"string"`
35986
35987	// The number of virtual CPUs (vCPUs) for the database bundle.
35988	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
35989
35990	// The size of the disk for the database bundle.
35991	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
35992
35993	// A Boolean value indicating whether the database bundle is active.
35994	IsActive *bool `locationName:"isActive" type:"boolean"`
35995
35996	// A Boolean value indicating whether the database bundle is encrypted.
35997	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
35998
35999	// The name for the database bundle.
36000	Name *string `locationName:"name" type:"string"`
36001
36002	// The cost of the database bundle in US currency.
36003	Price *float64 `locationName:"price" type:"float"`
36004
36005	// The amount of RAM in GB (for example, 2.0) for the database bundle.
36006	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
36007
36008	// The data transfer rate per month in GB for the database bundle.
36009	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
36010}
36011
36012// String returns the string representation
36013func (s RelationalDatabaseBundle) String() string {
36014	return awsutil.Prettify(s)
36015}
36016
36017// GoString returns the string representation
36018func (s RelationalDatabaseBundle) GoString() string {
36019	return s.String()
36020}
36021
36022// SetBundleId sets the BundleId field's value.
36023func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
36024	s.BundleId = &v
36025	return s
36026}
36027
36028// SetCpuCount sets the CpuCount field's value.
36029func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
36030	s.CpuCount = &v
36031	return s
36032}
36033
36034// SetDiskSizeInGb sets the DiskSizeInGb field's value.
36035func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
36036	s.DiskSizeInGb = &v
36037	return s
36038}
36039
36040// SetIsActive sets the IsActive field's value.
36041func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
36042	s.IsActive = &v
36043	return s
36044}
36045
36046// SetIsEncrypted sets the IsEncrypted field's value.
36047func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
36048	s.IsEncrypted = &v
36049	return s
36050}
36051
36052// SetName sets the Name field's value.
36053func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
36054	s.Name = &v
36055	return s
36056}
36057
36058// SetPrice sets the Price field's value.
36059func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
36060	s.Price = &v
36061	return s
36062}
36063
36064// SetRamSizeInGb sets the RamSizeInGb field's value.
36065func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
36066	s.RamSizeInGb = &v
36067	return s
36068}
36069
36070// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
36071func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
36072	s.TransferPerMonthInGb = &v
36073	return s
36074}
36075
36076// Describes an endpoint for a database.
36077type RelationalDatabaseEndpoint struct {
36078	_ struct{} `type:"structure"`
36079
36080	// Specifies the DNS address of the database.
36081	Address *string `locationName:"address" type:"string"`
36082
36083	// Specifies the port that the database is listening on.
36084	Port *int64 `locationName:"port" type:"integer"`
36085}
36086
36087// String returns the string representation
36088func (s RelationalDatabaseEndpoint) String() string {
36089	return awsutil.Prettify(s)
36090}
36091
36092// GoString returns the string representation
36093func (s RelationalDatabaseEndpoint) GoString() string {
36094	return s.String()
36095}
36096
36097// SetAddress sets the Address field's value.
36098func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
36099	s.Address = &v
36100	return s
36101}
36102
36103// SetPort sets the Port field's value.
36104func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
36105	s.Port = &v
36106	return s
36107}
36108
36109// Describes an event for a database.
36110type RelationalDatabaseEvent struct {
36111	_ struct{} `type:"structure"`
36112
36113	// The timestamp when the database event was created.
36114	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
36115
36116	// The category that the database event belongs to.
36117	EventCategories []*string `locationName:"eventCategories" type:"list"`
36118
36119	// The message of the database event.
36120	Message *string `locationName:"message" type:"string"`
36121
36122	// The database that the database event relates to.
36123	Resource *string `locationName:"resource" type:"string"`
36124}
36125
36126// String returns the string representation
36127func (s RelationalDatabaseEvent) String() string {
36128	return awsutil.Prettify(s)
36129}
36130
36131// GoString returns the string representation
36132func (s RelationalDatabaseEvent) GoString() string {
36133	return s.String()
36134}
36135
36136// SetCreatedAt sets the CreatedAt field's value.
36137func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
36138	s.CreatedAt = &v
36139	return s
36140}
36141
36142// SetEventCategories sets the EventCategories field's value.
36143func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
36144	s.EventCategories = v
36145	return s
36146}
36147
36148// SetMessage sets the Message field's value.
36149func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
36150	s.Message = &v
36151	return s
36152}
36153
36154// SetResource sets the Resource field's value.
36155func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
36156	s.Resource = &v
36157	return s
36158}
36159
36160// Describes the hardware of a database.
36161type RelationalDatabaseHardware struct {
36162	_ struct{} `type:"structure"`
36163
36164	// The number of vCPUs for the database.
36165	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
36166
36167	// The size of the disk for the database.
36168	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
36169
36170	// The amount of RAM in GB for the database.
36171	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
36172}
36173
36174// String returns the string representation
36175func (s RelationalDatabaseHardware) String() string {
36176	return awsutil.Prettify(s)
36177}
36178
36179// GoString returns the string representation
36180func (s RelationalDatabaseHardware) GoString() string {
36181	return s.String()
36182}
36183
36184// SetCpuCount sets the CpuCount field's value.
36185func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
36186	s.CpuCount = &v
36187	return s
36188}
36189
36190// SetDiskSizeInGb sets the DiskSizeInGb field's value.
36191func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
36192	s.DiskSizeInGb = &v
36193	return s
36194}
36195
36196// SetRamSizeInGb sets the RamSizeInGb field's value.
36197func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
36198	s.RamSizeInGb = &v
36199	return s
36200}
36201
36202// Describes the parameters of a database.
36203type RelationalDatabaseParameter struct {
36204	_ struct{} `type:"structure"`
36205
36206	// Specifies the valid range of values for the parameter.
36207	AllowedValues *string `locationName:"allowedValues" type:"string"`
36208
36209	// Indicates when parameter updates are applied.
36210	//
36211	// Can be immediate or pending-reboot.
36212	ApplyMethod *string `locationName:"applyMethod" type:"string"`
36213
36214	// Specifies the engine-specific parameter type.
36215	ApplyType *string `locationName:"applyType" type:"string"`
36216
36217	// Specifies the valid data type for the parameter.
36218	DataType *string `locationName:"dataType" type:"string"`
36219
36220	// Provides a description of the parameter.
36221	Description *string `locationName:"description" type:"string"`
36222
36223	// A Boolean value indicating whether the parameter can be modified.
36224	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
36225
36226	// Specifies the name of the parameter.
36227	ParameterName *string `locationName:"parameterName" type:"string"`
36228
36229	// Specifies the value of the parameter.
36230	ParameterValue *string `locationName:"parameterValue" type:"string"`
36231}
36232
36233// String returns the string representation
36234func (s RelationalDatabaseParameter) String() string {
36235	return awsutil.Prettify(s)
36236}
36237
36238// GoString returns the string representation
36239func (s RelationalDatabaseParameter) GoString() string {
36240	return s.String()
36241}
36242
36243// SetAllowedValues sets the AllowedValues field's value.
36244func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
36245	s.AllowedValues = &v
36246	return s
36247}
36248
36249// SetApplyMethod sets the ApplyMethod field's value.
36250func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
36251	s.ApplyMethod = &v
36252	return s
36253}
36254
36255// SetApplyType sets the ApplyType field's value.
36256func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
36257	s.ApplyType = &v
36258	return s
36259}
36260
36261// SetDataType sets the DataType field's value.
36262func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
36263	s.DataType = &v
36264	return s
36265}
36266
36267// SetDescription sets the Description field's value.
36268func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
36269	s.Description = &v
36270	return s
36271}
36272
36273// SetIsModifiable sets the IsModifiable field's value.
36274func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
36275	s.IsModifiable = &v
36276	return s
36277}
36278
36279// SetParameterName sets the ParameterName field's value.
36280func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
36281	s.ParameterName = &v
36282	return s
36283}
36284
36285// SetParameterValue sets the ParameterValue field's value.
36286func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
36287	s.ParameterValue = &v
36288	return s
36289}
36290
36291// Describes a database snapshot.
36292type RelationalDatabaseSnapshot struct {
36293	_ struct{} `type:"structure"`
36294
36295	// The Amazon Resource Name (ARN) of the database snapshot.
36296	Arn *string `locationName:"arn" type:"string"`
36297
36298	// The timestamp when the database snapshot was created.
36299	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
36300
36301	// The software of the database snapshot (for example, MySQL)
36302	Engine *string `locationName:"engine" type:"string"`
36303
36304	// The database engine version for the database snapshot (for example, 5.7.23).
36305	EngineVersion *string `locationName:"engineVersion" type:"string"`
36306
36307	// The Amazon Resource Name (ARN) of the database from which the database snapshot
36308	// was created.
36309	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
36310
36311	// The blueprint ID of the database from which the database snapshot was created.
36312	// A blueprint describes the major engine version of a database.
36313	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
36314
36315	// The bundle ID of the database from which the database snapshot was created.
36316	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
36317
36318	// The name of the source database from which the database snapshot was created.
36319	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
36320
36321	// The Region name and Availability Zone where the database snapshot is located.
36322	Location *ResourceLocation `locationName:"location" type:"structure"`
36323
36324	// The name of the database snapshot.
36325	Name *string `locationName:"name" type:"string"`
36326
36327	// The Lightsail resource type.
36328	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
36329
36330	// The size of the disk in GB (for example, 32) for the database snapshot.
36331	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
36332
36333	// The state of the database snapshot.
36334	State *string `locationName:"state" type:"string"`
36335
36336	// The support code for the database snapshot. Include this code in your email
36337	// to support when you have questions about a database snapshot in Lightsail.
36338	// This code enables our support team to look up your Lightsail information
36339	// more easily.
36340	SupportCode *string `locationName:"supportCode" type:"string"`
36341
36342	// The tag keys and optional values for the resource. For more information about
36343	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
36344	Tags []*Tag `locationName:"tags" type:"list"`
36345}
36346
36347// String returns the string representation
36348func (s RelationalDatabaseSnapshot) String() string {
36349	return awsutil.Prettify(s)
36350}
36351
36352// GoString returns the string representation
36353func (s RelationalDatabaseSnapshot) GoString() string {
36354	return s.String()
36355}
36356
36357// SetArn sets the Arn field's value.
36358func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
36359	s.Arn = &v
36360	return s
36361}
36362
36363// SetCreatedAt sets the CreatedAt field's value.
36364func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
36365	s.CreatedAt = &v
36366	return s
36367}
36368
36369// SetEngine sets the Engine field's value.
36370func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
36371	s.Engine = &v
36372	return s
36373}
36374
36375// SetEngineVersion sets the EngineVersion field's value.
36376func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
36377	s.EngineVersion = &v
36378	return s
36379}
36380
36381// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
36382func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
36383	s.FromRelationalDatabaseArn = &v
36384	return s
36385}
36386
36387// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
36388func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
36389	s.FromRelationalDatabaseBlueprintId = &v
36390	return s
36391}
36392
36393// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
36394func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
36395	s.FromRelationalDatabaseBundleId = &v
36396	return s
36397}
36398
36399// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
36400func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
36401	s.FromRelationalDatabaseName = &v
36402	return s
36403}
36404
36405// SetLocation sets the Location field's value.
36406func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
36407	s.Location = v
36408	return s
36409}
36410
36411// SetName sets the Name field's value.
36412func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
36413	s.Name = &v
36414	return s
36415}
36416
36417// SetResourceType sets the ResourceType field's value.
36418func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
36419	s.ResourceType = &v
36420	return s
36421}
36422
36423// SetSizeInGb sets the SizeInGb field's value.
36424func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
36425	s.SizeInGb = &v
36426	return s
36427}
36428
36429// SetState sets the State field's value.
36430func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
36431	s.State = &v
36432	return s
36433}
36434
36435// SetSupportCode sets the SupportCode field's value.
36436func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
36437	s.SupportCode = &v
36438	return s
36439}
36440
36441// SetTags sets the Tags field's value.
36442func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
36443	s.Tags = v
36444	return s
36445}
36446
36447type ReleaseStaticIpInput struct {
36448	_ struct{} `type:"structure"`
36449
36450	// The name of the static IP to delete.
36451	//
36452	// StaticIpName is a required field
36453	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
36454}
36455
36456// String returns the string representation
36457func (s ReleaseStaticIpInput) String() string {
36458	return awsutil.Prettify(s)
36459}
36460
36461// GoString returns the string representation
36462func (s ReleaseStaticIpInput) GoString() string {
36463	return s.String()
36464}
36465
36466// Validate inspects the fields of the type to determine if they are valid.
36467func (s *ReleaseStaticIpInput) Validate() error {
36468	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
36469	if s.StaticIpName == nil {
36470		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
36471	}
36472
36473	if invalidParams.Len() > 0 {
36474		return invalidParams
36475	}
36476	return nil
36477}
36478
36479// SetStaticIpName sets the StaticIpName field's value.
36480func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
36481	s.StaticIpName = &v
36482	return s
36483}
36484
36485type ReleaseStaticIpOutput struct {
36486	_ struct{} `type:"structure"`
36487
36488	// An array of objects that describe the result of the action, such as the status
36489	// of the request, the timestamp of the request, and the resources affected
36490	// by the request.
36491	Operations []*Operation `locationName:"operations" type:"list"`
36492}
36493
36494// String returns the string representation
36495func (s ReleaseStaticIpOutput) String() string {
36496	return awsutil.Prettify(s)
36497}
36498
36499// GoString returns the string representation
36500func (s ReleaseStaticIpOutput) GoString() string {
36501	return s.String()
36502}
36503
36504// SetOperations sets the Operations field's value.
36505func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
36506	s.Operations = v
36507	return s
36508}
36509
36510// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
36511type RenewalSummary struct {
36512	_ struct{} `type:"structure"`
36513
36514	// An array of objects that describe the domain validation records of the certificate.
36515	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
36516
36517	// The renewal status of the certificate.
36518	//
36519	// The following renewal status are possible:
36520	//
36521	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
36522	//    the domain names of the certificate. No further action is required.
36523	//
36524	//    * PendingValidation - Lightsail couldn't automatically validate one or
36525	//    more domain names of the certificate. You must take action to validate
36526	//    these domain names or the certificate won't be renewed. Check to make
36527	//    sure your certificate's domain validation records exist in your domain's
36528	//    DNS, and that your certificate remains in use.
36529	//
36530	//    * Success - All domain names in the certificate are validated, and Lightsail
36531	//    renewed the certificate. No further action is required.
36532	//
36533	//    * Failed - One or more domain names were not validated before the certificate
36534	//    expired, and Lightsail did not renew the certificate. You can request
36535	//    a new certificate using the CreateCertificate action.
36536	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
36537
36538	// The reason for the renewal status of the certificate.
36539	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
36540
36541	// The timestamp when the certificate was last updated.
36542	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
36543}
36544
36545// String returns the string representation
36546func (s RenewalSummary) String() string {
36547	return awsutil.Prettify(s)
36548}
36549
36550// GoString returns the string representation
36551func (s RenewalSummary) GoString() string {
36552	return s.String()
36553}
36554
36555// SetDomainValidationRecords sets the DomainValidationRecords field's value.
36556func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
36557	s.DomainValidationRecords = v
36558	return s
36559}
36560
36561// SetRenewalStatus sets the RenewalStatus field's value.
36562func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
36563	s.RenewalStatus = &v
36564	return s
36565}
36566
36567// SetRenewalStatusReason sets the RenewalStatusReason field's value.
36568func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
36569	s.RenewalStatusReason = &v
36570	return s
36571}
36572
36573// SetUpdatedAt sets the UpdatedAt field's value.
36574func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
36575	s.UpdatedAt = &v
36576	return s
36577}
36578
36579type ResetDistributionCacheInput struct {
36580	_ struct{} `type:"structure"`
36581
36582	// The name of the distribution for which to reset cache.
36583	//
36584	// Use the GetDistributions action to get a list of distribution names that
36585	// you can specify.
36586	DistributionName *string `locationName:"distributionName" type:"string"`
36587}
36588
36589// String returns the string representation
36590func (s ResetDistributionCacheInput) String() string {
36591	return awsutil.Prettify(s)
36592}
36593
36594// GoString returns the string representation
36595func (s ResetDistributionCacheInput) GoString() string {
36596	return s.String()
36597}
36598
36599// SetDistributionName sets the DistributionName field's value.
36600func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
36601	s.DistributionName = &v
36602	return s
36603}
36604
36605type ResetDistributionCacheOutput struct {
36606	_ struct{} `type:"structure"`
36607
36608	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
36609	// format.
36610	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
36611
36612	// An array of objects that describe the result of the action, such as the status
36613	// of the request, the timestamp of the request, and the resources affected
36614	// by the request.
36615	Operation *Operation `locationName:"operation" type:"structure"`
36616
36617	// The status of the reset cache request.
36618	Status *string `locationName:"status" type:"string"`
36619}
36620
36621// String returns the string representation
36622func (s ResetDistributionCacheOutput) String() string {
36623	return awsutil.Prettify(s)
36624}
36625
36626// GoString returns the string representation
36627func (s ResetDistributionCacheOutput) GoString() string {
36628	return s.String()
36629}
36630
36631// SetCreateTime sets the CreateTime field's value.
36632func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
36633	s.CreateTime = &v
36634	return s
36635}
36636
36637// SetOperation sets the Operation field's value.
36638func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
36639	s.Operation = v
36640	return s
36641}
36642
36643// SetStatus sets the Status field's value.
36644func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
36645	s.Status = &v
36646	return s
36647}
36648
36649// Describes the resource location.
36650type ResourceLocation struct {
36651	_ struct{} `type:"structure"`
36652
36653	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
36654	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
36655
36656	// The AWS Region name.
36657	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
36658}
36659
36660// String returns the string representation
36661func (s ResourceLocation) String() string {
36662	return awsutil.Prettify(s)
36663}
36664
36665// GoString returns the string representation
36666func (s ResourceLocation) GoString() string {
36667	return s.String()
36668}
36669
36670// SetAvailabilityZone sets the AvailabilityZone field's value.
36671func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
36672	s.AvailabilityZone = &v
36673	return s
36674}
36675
36676// SetRegionName sets the RegionName field's value.
36677func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
36678	s.RegionName = &v
36679	return s
36680}
36681
36682// Describes an Amazon Lightsail instance that has access to a Lightsail bucket.
36683type ResourceReceivingAccess struct {
36684	_ struct{} `type:"structure"`
36685
36686	// The name of the Lightsail instance.
36687	Name *string `locationName:"name" type:"string"`
36688
36689	// The Lightsail resource type (for example, Instance).
36690	ResourceType *string `locationName:"resourceType" type:"string"`
36691}
36692
36693// String returns the string representation
36694func (s ResourceReceivingAccess) String() string {
36695	return awsutil.Prettify(s)
36696}
36697
36698// GoString returns the string representation
36699func (s ResourceReceivingAccess) GoString() string {
36700	return s.String()
36701}
36702
36703// SetName sets the Name field's value.
36704func (s *ResourceReceivingAccess) SetName(v string) *ResourceReceivingAccess {
36705	s.Name = &v
36706	return s
36707}
36708
36709// SetResourceType sets the ResourceType field's value.
36710func (s *ResourceReceivingAccess) SetResourceType(v string) *ResourceReceivingAccess {
36711	s.ResourceType = &v
36712	return s
36713}
36714
36715// Describes the domain name system (DNS) records to add to your domain's DNS
36716// to validate it for an Amazon Lightsail certificate.
36717type ResourceRecord struct {
36718	_ struct{} `type:"structure"`
36719
36720	// The name of the record.
36721	Name *string `locationName:"name" type:"string"`
36722
36723	// The DNS record type.
36724	Type *string `locationName:"type" type:"string"`
36725
36726	// The value for the DNS record.
36727	Value *string `locationName:"value" type:"string"`
36728}
36729
36730// String returns the string representation
36731func (s ResourceRecord) String() string {
36732	return awsutil.Prettify(s)
36733}
36734
36735// GoString returns the string representation
36736func (s ResourceRecord) GoString() string {
36737	return s.String()
36738}
36739
36740// SetName sets the Name field's value.
36741func (s *ResourceRecord) SetName(v string) *ResourceRecord {
36742	s.Name = &v
36743	return s
36744}
36745
36746// SetType sets the Type field's value.
36747func (s *ResourceRecord) SetType(v string) *ResourceRecord {
36748	s.Type = &v
36749	return s
36750}
36751
36752// SetValue sets the Value field's value.
36753func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
36754	s.Value = &v
36755	return s
36756}
36757
36758type SendContactMethodVerificationInput struct {
36759	_ struct{} `type:"structure"`
36760
36761	// The protocol to verify, such as Email or SMS (text messaging).
36762	//
36763	// Protocol is a required field
36764	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
36765}
36766
36767// String returns the string representation
36768func (s SendContactMethodVerificationInput) String() string {
36769	return awsutil.Prettify(s)
36770}
36771
36772// GoString returns the string representation
36773func (s SendContactMethodVerificationInput) GoString() string {
36774	return s.String()
36775}
36776
36777// Validate inspects the fields of the type to determine if they are valid.
36778func (s *SendContactMethodVerificationInput) Validate() error {
36779	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
36780	if s.Protocol == nil {
36781		invalidParams.Add(request.NewErrParamRequired("Protocol"))
36782	}
36783
36784	if invalidParams.Len() > 0 {
36785		return invalidParams
36786	}
36787	return nil
36788}
36789
36790// SetProtocol sets the Protocol field's value.
36791func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
36792	s.Protocol = &v
36793	return s
36794}
36795
36796type SendContactMethodVerificationOutput struct {
36797	_ struct{} `type:"structure"`
36798
36799	// An array of objects that describe the result of the action, such as the status
36800	// of the request, the timestamp of the request, and the resources affected
36801	// by the request.
36802	Operations []*Operation `locationName:"operations" type:"list"`
36803}
36804
36805// String returns the string representation
36806func (s SendContactMethodVerificationOutput) String() string {
36807	return awsutil.Prettify(s)
36808}
36809
36810// GoString returns the string representation
36811func (s SendContactMethodVerificationOutput) GoString() string {
36812	return s.String()
36813}
36814
36815// SetOperations sets the Operations field's value.
36816func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
36817	s.Operations = v
36818	return s
36819}
36820
36821// A general service exception.
36822type ServiceException struct {
36823	_            struct{}                  `type:"structure"`
36824	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36825
36826	Code_ *string `locationName:"code" type:"string"`
36827
36828	Docs *string `locationName:"docs" type:"string"`
36829
36830	Message_ *string `locationName:"message" type:"string"`
36831
36832	Tip *string `locationName:"tip" type:"string"`
36833}
36834
36835// String returns the string representation
36836func (s ServiceException) String() string {
36837	return awsutil.Prettify(s)
36838}
36839
36840// GoString returns the string representation
36841func (s ServiceException) GoString() string {
36842	return s.String()
36843}
36844
36845func newErrorServiceException(v protocol.ResponseMetadata) error {
36846	return &ServiceException{
36847		RespMetadata: v,
36848	}
36849}
36850
36851// Code returns the exception type name.
36852func (s *ServiceException) Code() string {
36853	return "ServiceException"
36854}
36855
36856// Message returns the exception's message.
36857func (s *ServiceException) Message() string {
36858	if s.Message_ != nil {
36859		return *s.Message_
36860	}
36861	return ""
36862}
36863
36864// OrigErr always returns nil, satisfies awserr.Error interface.
36865func (s *ServiceException) OrigErr() error {
36866	return nil
36867}
36868
36869func (s *ServiceException) Error() string {
36870	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
36871}
36872
36873// Status code returns the HTTP status code for the request's response error.
36874func (s *ServiceException) StatusCode() int {
36875	return s.RespMetadata.StatusCode
36876}
36877
36878// RequestID returns the service's response RequestID for request.
36879func (s *ServiceException) RequestID() string {
36880	return s.RespMetadata.RequestID
36881}
36882
36883type SetIpAddressTypeInput struct {
36884	_ struct{} `type:"structure"`
36885
36886	// The IP address type to set for the specified resource.
36887	//
36888	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
36889	//
36890	// IpAddressType is a required field
36891	IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"`
36892
36893	// The name of the resource for which to set the IP address type.
36894	//
36895	// ResourceName is a required field
36896	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
36897
36898	// The resource type.
36899	//
36900	// The possible values are Distribution, Instance, and LoadBalancer.
36901	//
36902	// Distribution-related APIs are available only in the N. Virginia (us-east-1)
36903	// AWS Region. Set your AWS Region configuration to us-east-1 to create, view,
36904	// or edit distributions.
36905	//
36906	// ResourceType is a required field
36907	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
36908}
36909
36910// String returns the string representation
36911func (s SetIpAddressTypeInput) String() string {
36912	return awsutil.Prettify(s)
36913}
36914
36915// GoString returns the string representation
36916func (s SetIpAddressTypeInput) GoString() string {
36917	return s.String()
36918}
36919
36920// Validate inspects the fields of the type to determine if they are valid.
36921func (s *SetIpAddressTypeInput) Validate() error {
36922	invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
36923	if s.IpAddressType == nil {
36924		invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
36925	}
36926	if s.ResourceName == nil {
36927		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
36928	}
36929	if s.ResourceType == nil {
36930		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
36931	}
36932
36933	if invalidParams.Len() > 0 {
36934		return invalidParams
36935	}
36936	return nil
36937}
36938
36939// SetIpAddressType sets the IpAddressType field's value.
36940func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
36941	s.IpAddressType = &v
36942	return s
36943}
36944
36945// SetResourceName sets the ResourceName field's value.
36946func (s *SetIpAddressTypeInput) SetResourceName(v string) *SetIpAddressTypeInput {
36947	s.ResourceName = &v
36948	return s
36949}
36950
36951// SetResourceType sets the ResourceType field's value.
36952func (s *SetIpAddressTypeInput) SetResourceType(v string) *SetIpAddressTypeInput {
36953	s.ResourceType = &v
36954	return s
36955}
36956
36957type SetIpAddressTypeOutput struct {
36958	_ struct{} `type:"structure"`
36959
36960	// An array of objects that describe the result of the action, such as the status
36961	// of the request, the timestamp of the request, and the resources affected
36962	// by the request.
36963	Operations []*Operation `locationName:"operations" type:"list"`
36964}
36965
36966// String returns the string representation
36967func (s SetIpAddressTypeOutput) String() string {
36968	return awsutil.Prettify(s)
36969}
36970
36971// GoString returns the string representation
36972func (s SetIpAddressTypeOutput) GoString() string {
36973	return s.String()
36974}
36975
36976// SetOperations sets the Operations field's value.
36977func (s *SetIpAddressTypeOutput) SetOperations(v []*Operation) *SetIpAddressTypeOutput {
36978	s.Operations = v
36979	return s
36980}
36981
36982type SetResourceAccessForBucketInput struct {
36983	_ struct{} `type:"structure"`
36984
36985	// The access setting.
36986	//
36987	// The following access settings are available:
36988	//
36989	//    * allow - Allows access to the bucket and its objects.
36990	//
36991	//    * deny - Denies access to the bucket and its objects. Use this setting
36992	//    to remove access for a resource previously set to allow.
36993	//
36994	// Access is a required field
36995	Access *string `locationName:"access" type:"string" required:"true" enum:"ResourceBucketAccess"`
36996
36997	// The name of the bucket for which to set access to another Lightsail resource.
36998	//
36999	// BucketName is a required field
37000	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
37001
37002	// The name of the Lightsail instance for which to set bucket access. The instance
37003	// must be in a running or stopped state.
37004	//
37005	// ResourceName is a required field
37006	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
37007}
37008
37009// String returns the string representation
37010func (s SetResourceAccessForBucketInput) String() string {
37011	return awsutil.Prettify(s)
37012}
37013
37014// GoString returns the string representation
37015func (s SetResourceAccessForBucketInput) GoString() string {
37016	return s.String()
37017}
37018
37019// Validate inspects the fields of the type to determine if they are valid.
37020func (s *SetResourceAccessForBucketInput) Validate() error {
37021	invalidParams := request.ErrInvalidParams{Context: "SetResourceAccessForBucketInput"}
37022	if s.Access == nil {
37023		invalidParams.Add(request.NewErrParamRequired("Access"))
37024	}
37025	if s.BucketName == nil {
37026		invalidParams.Add(request.NewErrParamRequired("BucketName"))
37027	}
37028	if s.BucketName != nil && len(*s.BucketName) < 3 {
37029		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
37030	}
37031	if s.ResourceName == nil {
37032		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
37033	}
37034
37035	if invalidParams.Len() > 0 {
37036		return invalidParams
37037	}
37038	return nil
37039}
37040
37041// SetAccess sets the Access field's value.
37042func (s *SetResourceAccessForBucketInput) SetAccess(v string) *SetResourceAccessForBucketInput {
37043	s.Access = &v
37044	return s
37045}
37046
37047// SetBucketName sets the BucketName field's value.
37048func (s *SetResourceAccessForBucketInput) SetBucketName(v string) *SetResourceAccessForBucketInput {
37049	s.BucketName = &v
37050	return s
37051}
37052
37053// SetResourceName sets the ResourceName field's value.
37054func (s *SetResourceAccessForBucketInput) SetResourceName(v string) *SetResourceAccessForBucketInput {
37055	s.ResourceName = &v
37056	return s
37057}
37058
37059type SetResourceAccessForBucketOutput struct {
37060	_ struct{} `type:"structure"`
37061
37062	// An array of objects that describe the result of the action, such as the status
37063	// of the request, the timestamp of the request, and the resources affected
37064	// by the request.
37065	Operations []*Operation `locationName:"operations" type:"list"`
37066}
37067
37068// String returns the string representation
37069func (s SetResourceAccessForBucketOutput) String() string {
37070	return awsutil.Prettify(s)
37071}
37072
37073// GoString returns the string representation
37074func (s SetResourceAccessForBucketOutput) GoString() string {
37075	return s.String()
37076}
37077
37078// SetOperations sets the Operations field's value.
37079func (s *SetResourceAccessForBucketOutput) SetOperations(v []*Operation) *SetResourceAccessForBucketOutput {
37080	s.Operations = v
37081	return s
37082}
37083
37084type StartInstanceInput struct {
37085	_ struct{} `type:"structure"`
37086
37087	// The name of the instance (a virtual private server) to start.
37088	//
37089	// InstanceName is a required field
37090	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
37091}
37092
37093// String returns the string representation
37094func (s StartInstanceInput) String() string {
37095	return awsutil.Prettify(s)
37096}
37097
37098// GoString returns the string representation
37099func (s StartInstanceInput) GoString() string {
37100	return s.String()
37101}
37102
37103// Validate inspects the fields of the type to determine if they are valid.
37104func (s *StartInstanceInput) Validate() error {
37105	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
37106	if s.InstanceName == nil {
37107		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
37108	}
37109
37110	if invalidParams.Len() > 0 {
37111		return invalidParams
37112	}
37113	return nil
37114}
37115
37116// SetInstanceName sets the InstanceName field's value.
37117func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
37118	s.InstanceName = &v
37119	return s
37120}
37121
37122type StartInstanceOutput struct {
37123	_ struct{} `type:"structure"`
37124
37125	// An array of objects that describe the result of the action, such as the status
37126	// of the request, the timestamp of the request, and the resources affected
37127	// by the request.
37128	Operations []*Operation `locationName:"operations" type:"list"`
37129}
37130
37131// String returns the string representation
37132func (s StartInstanceOutput) String() string {
37133	return awsutil.Prettify(s)
37134}
37135
37136// GoString returns the string representation
37137func (s StartInstanceOutput) GoString() string {
37138	return s.String()
37139}
37140
37141// SetOperations sets the Operations field's value.
37142func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
37143	s.Operations = v
37144	return s
37145}
37146
37147type StartRelationalDatabaseInput struct {
37148	_ struct{} `type:"structure"`
37149
37150	// The name of your database to start.
37151	//
37152	// RelationalDatabaseName is a required field
37153	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
37154}
37155
37156// String returns the string representation
37157func (s StartRelationalDatabaseInput) String() string {
37158	return awsutil.Prettify(s)
37159}
37160
37161// GoString returns the string representation
37162func (s StartRelationalDatabaseInput) GoString() string {
37163	return s.String()
37164}
37165
37166// Validate inspects the fields of the type to determine if they are valid.
37167func (s *StartRelationalDatabaseInput) Validate() error {
37168	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
37169	if s.RelationalDatabaseName == nil {
37170		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
37171	}
37172
37173	if invalidParams.Len() > 0 {
37174		return invalidParams
37175	}
37176	return nil
37177}
37178
37179// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
37180func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
37181	s.RelationalDatabaseName = &v
37182	return s
37183}
37184
37185type StartRelationalDatabaseOutput struct {
37186	_ struct{} `type:"structure"`
37187
37188	// An array of objects that describe the result of the action, such as the status
37189	// of the request, the timestamp of the request, and the resources affected
37190	// by the request.
37191	Operations []*Operation `locationName:"operations" type:"list"`
37192}
37193
37194// String returns the string representation
37195func (s StartRelationalDatabaseOutput) String() string {
37196	return awsutil.Prettify(s)
37197}
37198
37199// GoString returns the string representation
37200func (s StartRelationalDatabaseOutput) GoString() string {
37201	return s.String()
37202}
37203
37204// SetOperations sets the Operations field's value.
37205func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
37206	s.Operations = v
37207	return s
37208}
37209
37210// Describes a static IP.
37211type StaticIp struct {
37212	_ struct{} `type:"structure"`
37213
37214	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
37215	Arn *string `locationName:"arn" type:"string"`
37216
37217	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
37218	AttachedTo *string `locationName:"attachedTo" type:"string"`
37219
37220	// The timestamp when the static IP was created (e.g., 1479735304.222).
37221	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
37222
37223	// The static IP address.
37224	IpAddress *string `locationName:"ipAddress" type:"string"`
37225
37226	// A Boolean value indicating whether the static IP is attached.
37227	IsAttached *bool `locationName:"isAttached" type:"boolean"`
37228
37229	// The region and Availability Zone where the static IP was created.
37230	Location *ResourceLocation `locationName:"location" type:"structure"`
37231
37232	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
37233	Name *string `locationName:"name" type:"string"`
37234
37235	// The resource type (usually StaticIp).
37236	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
37237
37238	// The support code. Include this code in your email to support when you have
37239	// questions about an instance or another resource in Lightsail. This code enables
37240	// our support team to look up your Lightsail information more easily.
37241	SupportCode *string `locationName:"supportCode" type:"string"`
37242}
37243
37244// String returns the string representation
37245func (s StaticIp) String() string {
37246	return awsutil.Prettify(s)
37247}
37248
37249// GoString returns the string representation
37250func (s StaticIp) GoString() string {
37251	return s.String()
37252}
37253
37254// SetArn sets the Arn field's value.
37255func (s *StaticIp) SetArn(v string) *StaticIp {
37256	s.Arn = &v
37257	return s
37258}
37259
37260// SetAttachedTo sets the AttachedTo field's value.
37261func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
37262	s.AttachedTo = &v
37263	return s
37264}
37265
37266// SetCreatedAt sets the CreatedAt field's value.
37267func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
37268	s.CreatedAt = &v
37269	return s
37270}
37271
37272// SetIpAddress sets the IpAddress field's value.
37273func (s *StaticIp) SetIpAddress(v string) *StaticIp {
37274	s.IpAddress = &v
37275	return s
37276}
37277
37278// SetIsAttached sets the IsAttached field's value.
37279func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
37280	s.IsAttached = &v
37281	return s
37282}
37283
37284// SetLocation sets the Location field's value.
37285func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
37286	s.Location = v
37287	return s
37288}
37289
37290// SetName sets the Name field's value.
37291func (s *StaticIp) SetName(v string) *StaticIp {
37292	s.Name = &v
37293	return s
37294}
37295
37296// SetResourceType sets the ResourceType field's value.
37297func (s *StaticIp) SetResourceType(v string) *StaticIp {
37298	s.ResourceType = &v
37299	return s
37300}
37301
37302// SetSupportCode sets the SupportCode field's value.
37303func (s *StaticIp) SetSupportCode(v string) *StaticIp {
37304	s.SupportCode = &v
37305	return s
37306}
37307
37308type StopInstanceInput struct {
37309	_ struct{} `type:"structure"`
37310
37311	// When set to True, forces a Lightsail instance that is stuck in a stopping
37312	// state to stop.
37313	//
37314	// Only use the force parameter if your instance is stuck in the stopping state.
37315	// In any other state, your instance should stop normally without adding this
37316	// parameter to your API request.
37317	Force *bool `locationName:"force" type:"boolean"`
37318
37319	// The name of the instance (a virtual private server) to stop.
37320	//
37321	// InstanceName is a required field
37322	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
37323}
37324
37325// String returns the string representation
37326func (s StopInstanceInput) String() string {
37327	return awsutil.Prettify(s)
37328}
37329
37330// GoString returns the string representation
37331func (s StopInstanceInput) GoString() string {
37332	return s.String()
37333}
37334
37335// Validate inspects the fields of the type to determine if they are valid.
37336func (s *StopInstanceInput) Validate() error {
37337	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
37338	if s.InstanceName == nil {
37339		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
37340	}
37341
37342	if invalidParams.Len() > 0 {
37343		return invalidParams
37344	}
37345	return nil
37346}
37347
37348// SetForce sets the Force field's value.
37349func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
37350	s.Force = &v
37351	return s
37352}
37353
37354// SetInstanceName sets the InstanceName field's value.
37355func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
37356	s.InstanceName = &v
37357	return s
37358}
37359
37360type StopInstanceOutput struct {
37361	_ struct{} `type:"structure"`
37362
37363	// An array of objects that describe the result of the action, such as the status
37364	// of the request, the timestamp of the request, and the resources affected
37365	// by the request.
37366	Operations []*Operation `locationName:"operations" type:"list"`
37367}
37368
37369// String returns the string representation
37370func (s StopInstanceOutput) String() string {
37371	return awsutil.Prettify(s)
37372}
37373
37374// GoString returns the string representation
37375func (s StopInstanceOutput) GoString() string {
37376	return s.String()
37377}
37378
37379// SetOperations sets the Operations field's value.
37380func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
37381	s.Operations = v
37382	return s
37383}
37384
37385type StopRelationalDatabaseInput struct {
37386	_ struct{} `type:"structure"`
37387
37388	// The name of your database to stop.
37389	//
37390	// RelationalDatabaseName is a required field
37391	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
37392
37393	// The name of your new database snapshot to be created before stopping your
37394	// database.
37395	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
37396}
37397
37398// String returns the string representation
37399func (s StopRelationalDatabaseInput) String() string {
37400	return awsutil.Prettify(s)
37401}
37402
37403// GoString returns the string representation
37404func (s StopRelationalDatabaseInput) GoString() string {
37405	return s.String()
37406}
37407
37408// Validate inspects the fields of the type to determine if they are valid.
37409func (s *StopRelationalDatabaseInput) Validate() error {
37410	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
37411	if s.RelationalDatabaseName == nil {
37412		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
37413	}
37414
37415	if invalidParams.Len() > 0 {
37416		return invalidParams
37417	}
37418	return nil
37419}
37420
37421// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
37422func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
37423	s.RelationalDatabaseName = &v
37424	return s
37425}
37426
37427// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
37428func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
37429	s.RelationalDatabaseSnapshotName = &v
37430	return s
37431}
37432
37433type StopRelationalDatabaseOutput struct {
37434	_ struct{} `type:"structure"`
37435
37436	// An array of objects that describe the result of the action, such as the status
37437	// of the request, the timestamp of the request, and the resources affected
37438	// by the request.
37439	Operations []*Operation `locationName:"operations" type:"list"`
37440}
37441
37442// String returns the string representation
37443func (s StopRelationalDatabaseOutput) String() string {
37444	return awsutil.Prettify(s)
37445}
37446
37447// GoString returns the string representation
37448func (s StopRelationalDatabaseOutput) GoString() string {
37449	return s.String()
37450}
37451
37452// SetOperations sets the Operations field's value.
37453func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
37454	s.Operations = v
37455	return s
37456}
37457
37458// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
37459//
37460// For more information about tags in Lightsail, see the Amazon Lightsail Developer
37461// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
37462type Tag struct {
37463	_ struct{} `type:"structure"`
37464
37465	// The key of the tag.
37466	//
37467	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
37468	// UTF-8, or the following characters: + - = . _ : / @
37469	Key *string `locationName:"key" type:"string"`
37470
37471	// The value of the tag.
37472	//
37473	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
37474	// in UTF-8, or the following characters: + - = . _ : / @
37475	Value *string `locationName:"value" type:"string"`
37476}
37477
37478// String returns the string representation
37479func (s Tag) String() string {
37480	return awsutil.Prettify(s)
37481}
37482
37483// GoString returns the string representation
37484func (s Tag) GoString() string {
37485	return s.String()
37486}
37487
37488// SetKey sets the Key field's value.
37489func (s *Tag) SetKey(v string) *Tag {
37490	s.Key = &v
37491	return s
37492}
37493
37494// SetValue sets the Value field's value.
37495func (s *Tag) SetValue(v string) *Tag {
37496	s.Value = &v
37497	return s
37498}
37499
37500type TagResourceInput struct {
37501	_ struct{} `type:"structure"`
37502
37503	// The Amazon Resource Name (ARN) of the resource to which you want to add a
37504	// tag.
37505	ResourceArn *string `locationName:"resourceArn" type:"string"`
37506
37507	// The name of the resource to which you are adding tags.
37508	//
37509	// ResourceName is a required field
37510	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
37511
37512	// The tag key and optional value.
37513	//
37514	// Tags is a required field
37515	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
37516}
37517
37518// String returns the string representation
37519func (s TagResourceInput) String() string {
37520	return awsutil.Prettify(s)
37521}
37522
37523// GoString returns the string representation
37524func (s TagResourceInput) GoString() string {
37525	return s.String()
37526}
37527
37528// Validate inspects the fields of the type to determine if they are valid.
37529func (s *TagResourceInput) Validate() error {
37530	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
37531	if s.ResourceName == nil {
37532		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
37533	}
37534	if s.Tags == nil {
37535		invalidParams.Add(request.NewErrParamRequired("Tags"))
37536	}
37537
37538	if invalidParams.Len() > 0 {
37539		return invalidParams
37540	}
37541	return nil
37542}
37543
37544// SetResourceArn sets the ResourceArn field's value.
37545func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
37546	s.ResourceArn = &v
37547	return s
37548}
37549
37550// SetResourceName sets the ResourceName field's value.
37551func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
37552	s.ResourceName = &v
37553	return s
37554}
37555
37556// SetTags sets the Tags field's value.
37557func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
37558	s.Tags = v
37559	return s
37560}
37561
37562type TagResourceOutput struct {
37563	_ struct{} `type:"structure"`
37564
37565	// An array of objects that describe the result of the action, such as the status
37566	// of the request, the timestamp of the request, and the resources affected
37567	// by the request.
37568	Operations []*Operation `locationName:"operations" type:"list"`
37569}
37570
37571// String returns the string representation
37572func (s TagResourceOutput) String() string {
37573	return awsutil.Prettify(s)
37574}
37575
37576// GoString returns the string representation
37577func (s TagResourceOutput) GoString() string {
37578	return s.String()
37579}
37580
37581// SetOperations sets the Operations field's value.
37582func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
37583	s.Operations = v
37584	return s
37585}
37586
37587type TestAlarmInput struct {
37588	_ struct{} `type:"structure"`
37589
37590	// The name of the alarm to test.
37591	//
37592	// AlarmName is a required field
37593	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
37594
37595	// The alarm state to test.
37596	//
37597	// An alarm has the following possible states that can be tested:
37598	//
37599	//    * ALARM - The metric is outside of the defined threshold.
37600	//
37601	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
37602	//    or not enough data is available for the metric to determine the alarm
37603	//    state.
37604	//
37605	//    * OK - The metric is within the defined threshold.
37606	//
37607	// State is a required field
37608	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
37609}
37610
37611// String returns the string representation
37612func (s TestAlarmInput) String() string {
37613	return awsutil.Prettify(s)
37614}
37615
37616// GoString returns the string representation
37617func (s TestAlarmInput) GoString() string {
37618	return s.String()
37619}
37620
37621// Validate inspects the fields of the type to determine if they are valid.
37622func (s *TestAlarmInput) Validate() error {
37623	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
37624	if s.AlarmName == nil {
37625		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
37626	}
37627	if s.State == nil {
37628		invalidParams.Add(request.NewErrParamRequired("State"))
37629	}
37630
37631	if invalidParams.Len() > 0 {
37632		return invalidParams
37633	}
37634	return nil
37635}
37636
37637// SetAlarmName sets the AlarmName field's value.
37638func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
37639	s.AlarmName = &v
37640	return s
37641}
37642
37643// SetState sets the State field's value.
37644func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
37645	s.State = &v
37646	return s
37647}
37648
37649type TestAlarmOutput struct {
37650	_ struct{} `type:"structure"`
37651
37652	// An array of objects that describe the result of the action, such as the status
37653	// of the request, the timestamp of the request, and the resources affected
37654	// by the request.
37655	Operations []*Operation `locationName:"operations" type:"list"`
37656}
37657
37658// String returns the string representation
37659func (s TestAlarmOutput) String() string {
37660	return awsutil.Prettify(s)
37661}
37662
37663// GoString returns the string representation
37664func (s TestAlarmOutput) GoString() string {
37665	return s.String()
37666}
37667
37668// SetOperations sets the Operations field's value.
37669func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
37670	s.Operations = v
37671	return s
37672}
37673
37674// Lightsail throws this exception when the user has not been authenticated.
37675type UnauthenticatedException struct {
37676	_            struct{}                  `type:"structure"`
37677	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37678
37679	Code_ *string `locationName:"code" type:"string"`
37680
37681	Docs *string `locationName:"docs" type:"string"`
37682
37683	Message_ *string `locationName:"message" type:"string"`
37684
37685	Tip *string `locationName:"tip" type:"string"`
37686}
37687
37688// String returns the string representation
37689func (s UnauthenticatedException) String() string {
37690	return awsutil.Prettify(s)
37691}
37692
37693// GoString returns the string representation
37694func (s UnauthenticatedException) GoString() string {
37695	return s.String()
37696}
37697
37698func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
37699	return &UnauthenticatedException{
37700		RespMetadata: v,
37701	}
37702}
37703
37704// Code returns the exception type name.
37705func (s *UnauthenticatedException) Code() string {
37706	return "UnauthenticatedException"
37707}
37708
37709// Message returns the exception's message.
37710func (s *UnauthenticatedException) Message() string {
37711	if s.Message_ != nil {
37712		return *s.Message_
37713	}
37714	return ""
37715}
37716
37717// OrigErr always returns nil, satisfies awserr.Error interface.
37718func (s *UnauthenticatedException) OrigErr() error {
37719	return nil
37720}
37721
37722func (s *UnauthenticatedException) Error() string {
37723	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
37724}
37725
37726// Status code returns the HTTP status code for the request's response error.
37727func (s *UnauthenticatedException) StatusCode() int {
37728	return s.RespMetadata.StatusCode
37729}
37730
37731// RequestID returns the service's response RequestID for request.
37732func (s *UnauthenticatedException) RequestID() string {
37733	return s.RespMetadata.RequestID
37734}
37735
37736type UnpeerVpcInput struct {
37737	_ struct{} `type:"structure"`
37738}
37739
37740// String returns the string representation
37741func (s UnpeerVpcInput) String() string {
37742	return awsutil.Prettify(s)
37743}
37744
37745// GoString returns the string representation
37746func (s UnpeerVpcInput) GoString() string {
37747	return s.String()
37748}
37749
37750type UnpeerVpcOutput struct {
37751	_ struct{} `type:"structure"`
37752
37753	// An array of objects that describe the result of the action, such as the status
37754	// of the request, the timestamp of the request, and the resources affected
37755	// by the request.
37756	Operation *Operation `locationName:"operation" type:"structure"`
37757}
37758
37759// String returns the string representation
37760func (s UnpeerVpcOutput) String() string {
37761	return awsutil.Prettify(s)
37762}
37763
37764// GoString returns the string representation
37765func (s UnpeerVpcOutput) GoString() string {
37766	return s.String()
37767}
37768
37769// SetOperation sets the Operation field's value.
37770func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
37771	s.Operation = v
37772	return s
37773}
37774
37775type UntagResourceInput struct {
37776	_ struct{} `type:"structure"`
37777
37778	// The Amazon Resource Name (ARN) of the resource from which you want to remove
37779	// a tag.
37780	ResourceArn *string `locationName:"resourceArn" type:"string"`
37781
37782	// The name of the resource from which you are removing a tag.
37783	//
37784	// ResourceName is a required field
37785	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
37786
37787	// The tag keys to delete from the specified resource.
37788	//
37789	// TagKeys is a required field
37790	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
37791}
37792
37793// String returns the string representation
37794func (s UntagResourceInput) String() string {
37795	return awsutil.Prettify(s)
37796}
37797
37798// GoString returns the string representation
37799func (s UntagResourceInput) GoString() string {
37800	return s.String()
37801}
37802
37803// Validate inspects the fields of the type to determine if they are valid.
37804func (s *UntagResourceInput) Validate() error {
37805	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
37806	if s.ResourceName == nil {
37807		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
37808	}
37809	if s.TagKeys == nil {
37810		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
37811	}
37812
37813	if invalidParams.Len() > 0 {
37814		return invalidParams
37815	}
37816	return nil
37817}
37818
37819// SetResourceArn sets the ResourceArn field's value.
37820func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
37821	s.ResourceArn = &v
37822	return s
37823}
37824
37825// SetResourceName sets the ResourceName field's value.
37826func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
37827	s.ResourceName = &v
37828	return s
37829}
37830
37831// SetTagKeys sets the TagKeys field's value.
37832func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
37833	s.TagKeys = v
37834	return s
37835}
37836
37837type UntagResourceOutput struct {
37838	_ struct{} `type:"structure"`
37839
37840	// An array of objects that describe the result of the action, such as the status
37841	// of the request, the timestamp of the request, and the resources affected
37842	// by the request.
37843	Operations []*Operation `locationName:"operations" type:"list"`
37844}
37845
37846// String returns the string representation
37847func (s UntagResourceOutput) String() string {
37848	return awsutil.Prettify(s)
37849}
37850
37851// GoString returns the string representation
37852func (s UntagResourceOutput) GoString() string {
37853	return s.String()
37854}
37855
37856// SetOperations sets the Operations field's value.
37857func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
37858	s.Operations = v
37859	return s
37860}
37861
37862type UpdateBucketBundleInput struct {
37863	_ struct{} `type:"structure"`
37864
37865	// The name of the bucket for which to update the bundle.
37866	//
37867	// BucketName is a required field
37868	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
37869
37870	// The ID of the new bundle to apply to the bucket.
37871	//
37872	// Use the GetBucketBundles action to get a list of bundle IDs that you can
37873	// specify.
37874	//
37875	// BundleId is a required field
37876	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
37877}
37878
37879// String returns the string representation
37880func (s UpdateBucketBundleInput) String() string {
37881	return awsutil.Prettify(s)
37882}
37883
37884// GoString returns the string representation
37885func (s UpdateBucketBundleInput) GoString() string {
37886	return s.String()
37887}
37888
37889// Validate inspects the fields of the type to determine if they are valid.
37890func (s *UpdateBucketBundleInput) Validate() error {
37891	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketBundleInput"}
37892	if s.BucketName == nil {
37893		invalidParams.Add(request.NewErrParamRequired("BucketName"))
37894	}
37895	if s.BucketName != nil && len(*s.BucketName) < 3 {
37896		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
37897	}
37898	if s.BundleId == nil {
37899		invalidParams.Add(request.NewErrParamRequired("BundleId"))
37900	}
37901
37902	if invalidParams.Len() > 0 {
37903		return invalidParams
37904	}
37905	return nil
37906}
37907
37908// SetBucketName sets the BucketName field's value.
37909func (s *UpdateBucketBundleInput) SetBucketName(v string) *UpdateBucketBundleInput {
37910	s.BucketName = &v
37911	return s
37912}
37913
37914// SetBundleId sets the BundleId field's value.
37915func (s *UpdateBucketBundleInput) SetBundleId(v string) *UpdateBucketBundleInput {
37916	s.BundleId = &v
37917	return s
37918}
37919
37920type UpdateBucketBundleOutput struct {
37921	_ struct{} `type:"structure"`
37922
37923	// An array of objects that describe the result of the action, such as the status
37924	// of the request, the timestamp of the request, and the resources affected
37925	// by the request.
37926	Operations []*Operation `locationName:"operations" type:"list"`
37927}
37928
37929// String returns the string representation
37930func (s UpdateBucketBundleOutput) String() string {
37931	return awsutil.Prettify(s)
37932}
37933
37934// GoString returns the string representation
37935func (s UpdateBucketBundleOutput) GoString() string {
37936	return s.String()
37937}
37938
37939// SetOperations sets the Operations field's value.
37940func (s *UpdateBucketBundleOutput) SetOperations(v []*Operation) *UpdateBucketBundleOutput {
37941	s.Operations = v
37942	return s
37943}
37944
37945type UpdateBucketInput struct {
37946	_ struct{} `type:"structure"`
37947
37948	// An object that sets the public accessibility of objects in the specified
37949	// bucket.
37950	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
37951
37952	// The name of the bucket to update.
37953	//
37954	// BucketName is a required field
37955	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
37956
37957	// An array of strings to specify the AWS account IDs that can access the bucket.
37958	//
37959	// You can give a maximum of 10 AWS accounts access to a bucket.
37960	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
37961
37962	// Specifies whether to enable or suspend versioning of objects in the bucket.
37963	//
37964	// The following options can be specified:
37965	//
37966	//    * Enabled - Enables versioning of objects in the specified bucket.
37967	//
37968	//    * Suspended - Suspends versioning of objects in the specified bucket.
37969	//    Existing object versions are retained.
37970	Versioning *string `locationName:"versioning" type:"string"`
37971}
37972
37973// String returns the string representation
37974func (s UpdateBucketInput) String() string {
37975	return awsutil.Prettify(s)
37976}
37977
37978// GoString returns the string representation
37979func (s UpdateBucketInput) GoString() string {
37980	return s.String()
37981}
37982
37983// Validate inspects the fields of the type to determine if they are valid.
37984func (s *UpdateBucketInput) Validate() error {
37985	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketInput"}
37986	if s.BucketName == nil {
37987		invalidParams.Add(request.NewErrParamRequired("BucketName"))
37988	}
37989	if s.BucketName != nil && len(*s.BucketName) < 3 {
37990		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
37991	}
37992
37993	if invalidParams.Len() > 0 {
37994		return invalidParams
37995	}
37996	return nil
37997}
37998
37999// SetAccessRules sets the AccessRules field's value.
38000func (s *UpdateBucketInput) SetAccessRules(v *AccessRules) *UpdateBucketInput {
38001	s.AccessRules = v
38002	return s
38003}
38004
38005// SetBucketName sets the BucketName field's value.
38006func (s *UpdateBucketInput) SetBucketName(v string) *UpdateBucketInput {
38007	s.BucketName = &v
38008	return s
38009}
38010
38011// SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
38012func (s *UpdateBucketInput) SetReadonlyAccessAccounts(v []*string) *UpdateBucketInput {
38013	s.ReadonlyAccessAccounts = v
38014	return s
38015}
38016
38017// SetVersioning sets the Versioning field's value.
38018func (s *UpdateBucketInput) SetVersioning(v string) *UpdateBucketInput {
38019	s.Versioning = &v
38020	return s
38021}
38022
38023type UpdateBucketOutput struct {
38024	_ struct{} `type:"structure"`
38025
38026	// An object that describes the bucket that is updated.
38027	Bucket *Bucket `locationName:"bucket" type:"structure"`
38028
38029	// An array of objects that describe the result of the action, such as the status
38030	// of the request, the timestamp of the request, and the resources affected
38031	// by the request.
38032	Operations []*Operation `locationName:"operations" type:"list"`
38033}
38034
38035// String returns the string representation
38036func (s UpdateBucketOutput) String() string {
38037	return awsutil.Prettify(s)
38038}
38039
38040// GoString returns the string representation
38041func (s UpdateBucketOutput) GoString() string {
38042	return s.String()
38043}
38044
38045// SetBucket sets the Bucket field's value.
38046func (s *UpdateBucketOutput) SetBucket(v *Bucket) *UpdateBucketOutput {
38047	s.Bucket = v
38048	return s
38049}
38050
38051// SetOperations sets the Operations field's value.
38052func (s *UpdateBucketOutput) SetOperations(v []*Operation) *UpdateBucketOutput {
38053	s.Operations = v
38054	return s
38055}
38056
38057type UpdateContainerServiceInput struct {
38058	_ struct{} `type:"structure"`
38059
38060	// A Boolean value to indicate whether the container service is disabled.
38061	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
38062
38063	// The power for the container service.
38064	//
38065	// The power specifies the amount of memory, vCPUs, and base monthly cost of
38066	// each node of the container service. The power and scale of a container service
38067	// makes up its configured capacity. To determine the monthly price of your
38068	// container service, multiply the base price of the power with the scale (the
38069	// number of nodes) of the service.
38070	//
38071	// Use the GetContainerServicePowers action to view the specifications of each
38072	// power option.
38073	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
38074
38075	// The public domain names to use with the container service, such as example.com
38076	// and www.example.com.
38077	//
38078	// You can specify up to four public domain names for a container service. The
38079	// domain names that you specify are used when you create a deployment with
38080	// a container configured as the public endpoint of your container service.
38081	//
38082	// If you don't specify public domain names, then you can use the default domain
38083	// of the container service.
38084	//
38085	// You must create and validate an SSL/TLS certificate before you can use public
38086	// domain names with your container service. Use the CreateCertificate action
38087	// to create a certificate for the public domain names you want to use with
38088	// your container service.
38089	//
38090	// You can specify public domain names using a string to array map as shown
38091	// in the example later on this page.
38092	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
38093
38094	// The scale for the container service.
38095	//
38096	// The scale specifies the allocated compute nodes of the container service.
38097	// The power and scale of a container service makes up its configured capacity.
38098	// To determine the monthly price of your container service, multiply the base
38099	// price of the power with the scale (the number of nodes) of the service.
38100	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
38101
38102	// The name of the container service to update.
38103	//
38104	// ServiceName is a required field
38105	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
38106}
38107
38108// String returns the string representation
38109func (s UpdateContainerServiceInput) String() string {
38110	return awsutil.Prettify(s)
38111}
38112
38113// GoString returns the string representation
38114func (s UpdateContainerServiceInput) GoString() string {
38115	return s.String()
38116}
38117
38118// Validate inspects the fields of the type to determine if they are valid.
38119func (s *UpdateContainerServiceInput) Validate() error {
38120	invalidParams := request.ErrInvalidParams{Context: "UpdateContainerServiceInput"}
38121	if s.Scale != nil && *s.Scale < 1 {
38122		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
38123	}
38124	if s.ServiceName == nil {
38125		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
38126	}
38127	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
38128		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
38129	}
38130
38131	if invalidParams.Len() > 0 {
38132		return invalidParams
38133	}
38134	return nil
38135}
38136
38137// SetIsDisabled sets the IsDisabled field's value.
38138func (s *UpdateContainerServiceInput) SetIsDisabled(v bool) *UpdateContainerServiceInput {
38139	s.IsDisabled = &v
38140	return s
38141}
38142
38143// SetPower sets the Power field's value.
38144func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerServiceInput {
38145	s.Power = &v
38146	return s
38147}
38148
38149// SetPublicDomainNames sets the PublicDomainNames field's value.
38150func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput {
38151	s.PublicDomainNames = v
38152	return s
38153}
38154
38155// SetScale sets the Scale field's value.
38156func (s *UpdateContainerServiceInput) SetScale(v int64) *UpdateContainerServiceInput {
38157	s.Scale = &v
38158	return s
38159}
38160
38161// SetServiceName sets the ServiceName field's value.
38162func (s *UpdateContainerServiceInput) SetServiceName(v string) *UpdateContainerServiceInput {
38163	s.ServiceName = &v
38164	return s
38165}
38166
38167type UpdateContainerServiceOutput struct {
38168	_ struct{} `type:"structure"`
38169
38170	// An object that describes a container service.
38171	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
38172}
38173
38174// String returns the string representation
38175func (s UpdateContainerServiceOutput) String() string {
38176	return awsutil.Prettify(s)
38177}
38178
38179// GoString returns the string representation
38180func (s UpdateContainerServiceOutput) GoString() string {
38181	return s.String()
38182}
38183
38184// SetContainerService sets the ContainerService field's value.
38185func (s *UpdateContainerServiceOutput) SetContainerService(v *ContainerService) *UpdateContainerServiceOutput {
38186	s.ContainerService = v
38187	return s
38188}
38189
38190type UpdateDistributionBundleInput struct {
38191	_ struct{} `type:"structure"`
38192
38193	// The bundle ID of the new bundle to apply to your distribution.
38194	//
38195	// Use the GetDistributionBundles action to get a list of distribution bundle
38196	// IDs that you can specify.
38197	BundleId *string `locationName:"bundleId" type:"string"`
38198
38199	// The name of the distribution for which to update the bundle.
38200	//
38201	// Use the GetDistributions action to get a list of distribution names that
38202	// you can specify.
38203	DistributionName *string `locationName:"distributionName" type:"string"`
38204}
38205
38206// String returns the string representation
38207func (s UpdateDistributionBundleInput) String() string {
38208	return awsutil.Prettify(s)
38209}
38210
38211// GoString returns the string representation
38212func (s UpdateDistributionBundleInput) GoString() string {
38213	return s.String()
38214}
38215
38216// SetBundleId sets the BundleId field's value.
38217func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
38218	s.BundleId = &v
38219	return s
38220}
38221
38222// SetDistributionName sets the DistributionName field's value.
38223func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
38224	s.DistributionName = &v
38225	return s
38226}
38227
38228type UpdateDistributionBundleOutput struct {
38229	_ struct{} `type:"structure"`
38230
38231	// Describes the API operation.
38232	Operation *Operation `locationName:"operation" type:"structure"`
38233}
38234
38235// String returns the string representation
38236func (s UpdateDistributionBundleOutput) String() string {
38237	return awsutil.Prettify(s)
38238}
38239
38240// GoString returns the string representation
38241func (s UpdateDistributionBundleOutput) GoString() string {
38242	return s.String()
38243}
38244
38245// SetOperation sets the Operation field's value.
38246func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
38247	s.Operation = v
38248	return s
38249}
38250
38251type UpdateDistributionInput struct {
38252	_ struct{} `type:"structure"`
38253
38254	// An object that describes the cache behavior settings for the distribution.
38255	//
38256	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
38257	// replace your distribution's existing settings.
38258	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
38259
38260	// An array of objects that describe the per-path cache behavior for the distribution.
38261	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
38262
38263	// An object that describes the default cache behavior for the distribution.
38264	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
38265
38266	// The name of the distribution to update.
38267	//
38268	// Use the GetDistributions action to get a list of distribution names that
38269	// you can specify.
38270	//
38271	// DistributionName is a required field
38272	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
38273
38274	// Indicates whether to enable the distribution.
38275	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
38276
38277	// An object that describes the origin resource for the distribution, such as
38278	// a Lightsail instance or load balancer.
38279	//
38280	// The distribution pulls, caches, and serves content from the origin.
38281	Origin *InputOrigin `locationName:"origin" type:"structure"`
38282}
38283
38284// String returns the string representation
38285func (s UpdateDistributionInput) String() string {
38286	return awsutil.Prettify(s)
38287}
38288
38289// GoString returns the string representation
38290func (s UpdateDistributionInput) GoString() string {
38291	return s.String()
38292}
38293
38294// Validate inspects the fields of the type to determine if they are valid.
38295func (s *UpdateDistributionInput) Validate() error {
38296	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
38297	if s.DistributionName == nil {
38298		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
38299	}
38300
38301	if invalidParams.Len() > 0 {
38302		return invalidParams
38303	}
38304	return nil
38305}
38306
38307// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
38308func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
38309	s.CacheBehaviorSettings = v
38310	return s
38311}
38312
38313// SetCacheBehaviors sets the CacheBehaviors field's value.
38314func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
38315	s.CacheBehaviors = v
38316	return s
38317}
38318
38319// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
38320func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
38321	s.DefaultCacheBehavior = v
38322	return s
38323}
38324
38325// SetDistributionName sets the DistributionName field's value.
38326func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
38327	s.DistributionName = &v
38328	return s
38329}
38330
38331// SetIsEnabled sets the IsEnabled field's value.
38332func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
38333	s.IsEnabled = &v
38334	return s
38335}
38336
38337// SetOrigin sets the Origin field's value.
38338func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
38339	s.Origin = v
38340	return s
38341}
38342
38343type UpdateDistributionOutput struct {
38344	_ struct{} `type:"structure"`
38345
38346	// An array of objects that describe the result of the action, such as the status
38347	// of the request, the timestamp of the request, and the resources affected
38348	// by the request.
38349	Operation *Operation `locationName:"operation" type:"structure"`
38350}
38351
38352// String returns the string representation
38353func (s UpdateDistributionOutput) String() string {
38354	return awsutil.Prettify(s)
38355}
38356
38357// GoString returns the string representation
38358func (s UpdateDistributionOutput) GoString() string {
38359	return s.String()
38360}
38361
38362// SetOperation sets the Operation field's value.
38363func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
38364	s.Operation = v
38365	return s
38366}
38367
38368type UpdateDomainEntryInput struct {
38369	_ struct{} `type:"structure"`
38370
38371	// An array of key-value pairs containing information about the domain entry.
38372	//
38373	// DomainEntry is a required field
38374	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
38375
38376	// The name of the domain recordset to update.
38377	//
38378	// DomainName is a required field
38379	DomainName *string `locationName:"domainName" type:"string" required:"true"`
38380}
38381
38382// String returns the string representation
38383func (s UpdateDomainEntryInput) String() string {
38384	return awsutil.Prettify(s)
38385}
38386
38387// GoString returns the string representation
38388func (s UpdateDomainEntryInput) GoString() string {
38389	return s.String()
38390}
38391
38392// Validate inspects the fields of the type to determine if they are valid.
38393func (s *UpdateDomainEntryInput) Validate() error {
38394	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
38395	if s.DomainEntry == nil {
38396		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
38397	}
38398	if s.DomainName == nil {
38399		invalidParams.Add(request.NewErrParamRequired("DomainName"))
38400	}
38401
38402	if invalidParams.Len() > 0 {
38403		return invalidParams
38404	}
38405	return nil
38406}
38407
38408// SetDomainEntry sets the DomainEntry field's value.
38409func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
38410	s.DomainEntry = v
38411	return s
38412}
38413
38414// SetDomainName sets the DomainName field's value.
38415func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
38416	s.DomainName = &v
38417	return s
38418}
38419
38420type UpdateDomainEntryOutput struct {
38421	_ struct{} `type:"structure"`
38422
38423	// An array of objects that describe the result of the action, such as the status
38424	// of the request, the timestamp of the request, and the resources affected
38425	// by the request.
38426	Operations []*Operation `locationName:"operations" type:"list"`
38427}
38428
38429// String returns the string representation
38430func (s UpdateDomainEntryOutput) String() string {
38431	return awsutil.Prettify(s)
38432}
38433
38434// GoString returns the string representation
38435func (s UpdateDomainEntryOutput) GoString() string {
38436	return s.String()
38437}
38438
38439// SetOperations sets the Operations field's value.
38440func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
38441	s.Operations = v
38442	return s
38443}
38444
38445type UpdateLoadBalancerAttributeInput struct {
38446	_ struct{} `type:"structure"`
38447
38448	// The name of the attribute you want to update. Valid values are below.
38449	//
38450	// AttributeName is a required field
38451	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
38452
38453	// The value that you want to specify for the attribute name.
38454	//
38455	// AttributeValue is a required field
38456	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
38457
38458	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
38459	//
38460	// LoadBalancerName is a required field
38461	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
38462}
38463
38464// String returns the string representation
38465func (s UpdateLoadBalancerAttributeInput) String() string {
38466	return awsutil.Prettify(s)
38467}
38468
38469// GoString returns the string representation
38470func (s UpdateLoadBalancerAttributeInput) GoString() string {
38471	return s.String()
38472}
38473
38474// Validate inspects the fields of the type to determine if they are valid.
38475func (s *UpdateLoadBalancerAttributeInput) Validate() error {
38476	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
38477	if s.AttributeName == nil {
38478		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
38479	}
38480	if s.AttributeValue == nil {
38481		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
38482	}
38483	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
38484		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
38485	}
38486	if s.LoadBalancerName == nil {
38487		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
38488	}
38489
38490	if invalidParams.Len() > 0 {
38491		return invalidParams
38492	}
38493	return nil
38494}
38495
38496// SetAttributeName sets the AttributeName field's value.
38497func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
38498	s.AttributeName = &v
38499	return s
38500}
38501
38502// SetAttributeValue sets the AttributeValue field's value.
38503func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
38504	s.AttributeValue = &v
38505	return s
38506}
38507
38508// SetLoadBalancerName sets the LoadBalancerName field's value.
38509func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
38510	s.LoadBalancerName = &v
38511	return s
38512}
38513
38514type UpdateLoadBalancerAttributeOutput struct {
38515	_ struct{} `type:"structure"`
38516
38517	// An array of objects that describe the result of the action, such as the status
38518	// of the request, the timestamp of the request, and the resources affected
38519	// by the request.
38520	Operations []*Operation `locationName:"operations" type:"list"`
38521}
38522
38523// String returns the string representation
38524func (s UpdateLoadBalancerAttributeOutput) String() string {
38525	return awsutil.Prettify(s)
38526}
38527
38528// GoString returns the string representation
38529func (s UpdateLoadBalancerAttributeOutput) GoString() string {
38530	return s.String()
38531}
38532
38533// SetOperations sets the Operations field's value.
38534func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
38535	s.Operations = v
38536	return s
38537}
38538
38539type UpdateRelationalDatabaseInput struct {
38540	_ struct{} `type:"structure"`
38541
38542	// When true, applies changes immediately. When false, applies changes during
38543	// the preferred maintenance window. Some changes may cause an outage.
38544	//
38545	// Default: false
38546	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
38547
38548	// Indicates the certificate that needs to be associated with the database.
38549	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
38550
38551	// When true, disables automated backup retention for your database.
38552	//
38553	// Disabling backup retention deletes all automated database backups. Before
38554	// disabling this, you may want to create a snapshot of your database using
38555	// the create relational database snapshot operation.
38556	//
38557	// Updates are applied during the next maintenance window because this can result
38558	// in an outage.
38559	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
38560
38561	// When true, enables automated backup retention for your database.
38562	//
38563	// Updates are applied during the next maintenance window because this can result
38564	// in an outage.
38565	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
38566
38567	// The password for the master user. The password can include any printable
38568	// ASCII character except "/", """, or "@".
38569	//
38570	// MySQL
38571	//
38572	// Constraints: Must contain from 8 to 41 characters.
38573	//
38574	// PostgreSQL
38575	//
38576	// Constraints: Must contain from 8 to 128 characters.
38577	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
38578
38579	// The daily time range during which automated backups are created for your
38580	// database if automated backups are enabled.
38581	//
38582	// Constraints:
38583	//
38584	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
38585	//
38586	//    * Specified in Coordinated Universal Time (UTC).
38587	//
38588	//    * Must not conflict with the preferred maintenance window.
38589	//
38590	//    * Must be at least 30 minutes.
38591	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
38592
38593	// The weekly time range during which system maintenance can occur on your database.
38594	//
38595	// The default is a 30-minute window selected at random from an 8-hour block
38596	// of time for each AWS Region, occurring on a random day of the week.
38597	//
38598	// Constraints:
38599	//
38600	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
38601	//
38602	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
38603	//
38604	//    * Must be at least 30 minutes.
38605	//
38606	//    * Specified in Coordinated Universal Time (UTC).
38607	//
38608	//    * Example: Tue:17:00-Tue:17:30
38609	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
38610
38611	// Specifies the accessibility options for your database. A value of true specifies
38612	// a database that is available to resources outside of your Lightsail account.
38613	// A value of false specifies a database that is available only to your Lightsail
38614	// resources in the same region as your database.
38615	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
38616
38617	// The name of your Lightsail database resource to update.
38618	//
38619	// RelationalDatabaseName is a required field
38620	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
38621
38622	// When true, the master user password is changed to a new strong password generated
38623	// by Lightsail.
38624	//
38625	// Use the get relational database master user password operation to get the
38626	// new password.
38627	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
38628}
38629
38630// String returns the string representation
38631func (s UpdateRelationalDatabaseInput) String() string {
38632	return awsutil.Prettify(s)
38633}
38634
38635// GoString returns the string representation
38636func (s UpdateRelationalDatabaseInput) GoString() string {
38637	return s.String()
38638}
38639
38640// Validate inspects the fields of the type to determine if they are valid.
38641func (s *UpdateRelationalDatabaseInput) Validate() error {
38642	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
38643	if s.RelationalDatabaseName == nil {
38644		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
38645	}
38646
38647	if invalidParams.Len() > 0 {
38648		return invalidParams
38649	}
38650	return nil
38651}
38652
38653// SetApplyImmediately sets the ApplyImmediately field's value.
38654func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
38655	s.ApplyImmediately = &v
38656	return s
38657}
38658
38659// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
38660func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
38661	s.CaCertificateIdentifier = &v
38662	return s
38663}
38664
38665// SetDisableBackupRetention sets the DisableBackupRetention field's value.
38666func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
38667	s.DisableBackupRetention = &v
38668	return s
38669}
38670
38671// SetEnableBackupRetention sets the EnableBackupRetention field's value.
38672func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
38673	s.EnableBackupRetention = &v
38674	return s
38675}
38676
38677// SetMasterUserPassword sets the MasterUserPassword field's value.
38678func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
38679	s.MasterUserPassword = &v
38680	return s
38681}
38682
38683// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
38684func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
38685	s.PreferredBackupWindow = &v
38686	return s
38687}
38688
38689// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
38690func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
38691	s.PreferredMaintenanceWindow = &v
38692	return s
38693}
38694
38695// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38696func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
38697	s.PubliclyAccessible = &v
38698	return s
38699}
38700
38701// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
38702func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
38703	s.RelationalDatabaseName = &v
38704	return s
38705}
38706
38707// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
38708func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
38709	s.RotateMasterUserPassword = &v
38710	return s
38711}
38712
38713type UpdateRelationalDatabaseOutput struct {
38714	_ struct{} `type:"structure"`
38715
38716	// An array of objects that describe the result of the action, such as the status
38717	// of the request, the timestamp of the request, and the resources affected
38718	// by the request.
38719	Operations []*Operation `locationName:"operations" type:"list"`
38720}
38721
38722// String returns the string representation
38723func (s UpdateRelationalDatabaseOutput) String() string {
38724	return awsutil.Prettify(s)
38725}
38726
38727// GoString returns the string representation
38728func (s UpdateRelationalDatabaseOutput) GoString() string {
38729	return s.String()
38730}
38731
38732// SetOperations sets the Operations field's value.
38733func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
38734	s.Operations = v
38735	return s
38736}
38737
38738type UpdateRelationalDatabaseParametersInput struct {
38739	_ struct{} `type:"structure"`
38740
38741	// The database parameters to update.
38742	//
38743	// Parameters is a required field
38744	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
38745
38746	// The name of your database for which to update parameters.
38747	//
38748	// RelationalDatabaseName is a required field
38749	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
38750}
38751
38752// String returns the string representation
38753func (s UpdateRelationalDatabaseParametersInput) String() string {
38754	return awsutil.Prettify(s)
38755}
38756
38757// GoString returns the string representation
38758func (s UpdateRelationalDatabaseParametersInput) GoString() string {
38759	return s.String()
38760}
38761
38762// Validate inspects the fields of the type to determine if they are valid.
38763func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
38764	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
38765	if s.Parameters == nil {
38766		invalidParams.Add(request.NewErrParamRequired("Parameters"))
38767	}
38768	if s.RelationalDatabaseName == nil {
38769		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
38770	}
38771
38772	if invalidParams.Len() > 0 {
38773		return invalidParams
38774	}
38775	return nil
38776}
38777
38778// SetParameters sets the Parameters field's value.
38779func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
38780	s.Parameters = v
38781	return s
38782}
38783
38784// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
38785func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
38786	s.RelationalDatabaseName = &v
38787	return s
38788}
38789
38790type UpdateRelationalDatabaseParametersOutput struct {
38791	_ struct{} `type:"structure"`
38792
38793	// An array of objects that describe the result of the action, such as the status
38794	// of the request, the timestamp of the request, and the resources affected
38795	// by the request.
38796	Operations []*Operation `locationName:"operations" type:"list"`
38797}
38798
38799// String returns the string representation
38800func (s UpdateRelationalDatabaseParametersOutput) String() string {
38801	return awsutil.Prettify(s)
38802}
38803
38804// GoString returns the string representation
38805func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
38806	return s.String()
38807}
38808
38809// SetOperations sets the Operations field's value.
38810func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
38811	s.Operations = v
38812	return s
38813}
38814
38815const (
38816	// AccessDirectionInbound is a AccessDirection enum value
38817	AccessDirectionInbound = "inbound"
38818
38819	// AccessDirectionOutbound is a AccessDirection enum value
38820	AccessDirectionOutbound = "outbound"
38821)
38822
38823// AccessDirection_Values returns all elements of the AccessDirection enum
38824func AccessDirection_Values() []string {
38825	return []string{
38826		AccessDirectionInbound,
38827		AccessDirectionOutbound,
38828	}
38829}
38830
38831const (
38832	// AccessTypePublic is a AccessType enum value
38833	AccessTypePublic = "public"
38834
38835	// AccessTypePrivate is a AccessType enum value
38836	AccessTypePrivate = "private"
38837)
38838
38839// AccessType_Values returns all elements of the AccessType enum
38840func AccessType_Values() []string {
38841	return []string{
38842		AccessTypePublic,
38843		AccessTypePrivate,
38844	}
38845}
38846
38847const (
38848	// AddOnTypeAutoSnapshot is a AddOnType enum value
38849	AddOnTypeAutoSnapshot = "AutoSnapshot"
38850)
38851
38852// AddOnType_Values returns all elements of the AddOnType enum
38853func AddOnType_Values() []string {
38854	return []string{
38855		AddOnTypeAutoSnapshot,
38856	}
38857}
38858
38859const (
38860	// AlarmStateOk is a AlarmState enum value
38861	AlarmStateOk = "OK"
38862
38863	// AlarmStateAlarm is a AlarmState enum value
38864	AlarmStateAlarm = "ALARM"
38865
38866	// AlarmStateInsufficientData is a AlarmState enum value
38867	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
38868)
38869
38870// AlarmState_Values returns all elements of the AlarmState enum
38871func AlarmState_Values() []string {
38872	return []string{
38873		AlarmStateOk,
38874		AlarmStateAlarm,
38875		AlarmStateInsufficientData,
38876	}
38877}
38878
38879const (
38880	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
38881	AutoSnapshotStatusSuccess = "Success"
38882
38883	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
38884	AutoSnapshotStatusFailed = "Failed"
38885
38886	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
38887	AutoSnapshotStatusInProgress = "InProgress"
38888
38889	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
38890	AutoSnapshotStatusNotFound = "NotFound"
38891)
38892
38893// AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
38894func AutoSnapshotStatus_Values() []string {
38895	return []string{
38896		AutoSnapshotStatusSuccess,
38897		AutoSnapshotStatusFailed,
38898		AutoSnapshotStatusInProgress,
38899		AutoSnapshotStatusNotFound,
38900	}
38901}
38902
38903const (
38904	// BehaviorEnumDontCache is a BehaviorEnum enum value
38905	BehaviorEnumDontCache = "dont-cache"
38906
38907	// BehaviorEnumCache is a BehaviorEnum enum value
38908	BehaviorEnumCache = "cache"
38909)
38910
38911// BehaviorEnum_Values returns all elements of the BehaviorEnum enum
38912func BehaviorEnum_Values() []string {
38913	return []string{
38914		BehaviorEnumDontCache,
38915		BehaviorEnumCache,
38916	}
38917}
38918
38919const (
38920	// BlueprintTypeOs is a BlueprintType enum value
38921	BlueprintTypeOs = "os"
38922
38923	// BlueprintTypeApp is a BlueprintType enum value
38924	BlueprintTypeApp = "app"
38925)
38926
38927// BlueprintType_Values returns all elements of the BlueprintType enum
38928func BlueprintType_Values() []string {
38929	return []string{
38930		BlueprintTypeOs,
38931		BlueprintTypeApp,
38932	}
38933}
38934
38935const (
38936	// BucketMetricNameBucketSizeBytes is a BucketMetricName enum value
38937	BucketMetricNameBucketSizeBytes = "BucketSizeBytes"
38938
38939	// BucketMetricNameNumberOfObjects is a BucketMetricName enum value
38940	BucketMetricNameNumberOfObjects = "NumberOfObjects"
38941)
38942
38943// BucketMetricName_Values returns all elements of the BucketMetricName enum
38944func BucketMetricName_Values() []string {
38945	return []string{
38946		BucketMetricNameBucketSizeBytes,
38947		BucketMetricNameNumberOfObjects,
38948	}
38949}
38950
38951const (
38952	// CertificateStatusPendingValidation is a CertificateStatus enum value
38953	CertificateStatusPendingValidation = "PENDING_VALIDATION"
38954
38955	// CertificateStatusIssued is a CertificateStatus enum value
38956	CertificateStatusIssued = "ISSUED"
38957
38958	// CertificateStatusInactive is a CertificateStatus enum value
38959	CertificateStatusInactive = "INACTIVE"
38960
38961	// CertificateStatusExpired is a CertificateStatus enum value
38962	CertificateStatusExpired = "EXPIRED"
38963
38964	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
38965	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
38966
38967	// CertificateStatusRevoked is a CertificateStatus enum value
38968	CertificateStatusRevoked = "REVOKED"
38969
38970	// CertificateStatusFailed is a CertificateStatus enum value
38971	CertificateStatusFailed = "FAILED"
38972)
38973
38974// CertificateStatus_Values returns all elements of the CertificateStatus enum
38975func CertificateStatus_Values() []string {
38976	return []string{
38977		CertificateStatusPendingValidation,
38978		CertificateStatusIssued,
38979		CertificateStatusInactive,
38980		CertificateStatusExpired,
38981		CertificateStatusValidationTimedOut,
38982		CertificateStatusRevoked,
38983		CertificateStatusFailed,
38984	}
38985}
38986
38987const (
38988	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
38989	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
38990)
38991
38992// CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
38993func CloudFormationStackRecordSourceType_Values() []string {
38994	return []string{
38995		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
38996	}
38997}
38998
38999const (
39000	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
39001	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
39002
39003	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
39004	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
39005
39006	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
39007	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
39008
39009	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
39010	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
39011)
39012
39013// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
39014func ComparisonOperator_Values() []string {
39015	return []string{
39016		ComparisonOperatorGreaterThanOrEqualToThreshold,
39017		ComparisonOperatorGreaterThanThreshold,
39018		ComparisonOperatorLessThanThreshold,
39019		ComparisonOperatorLessThanOrEqualToThreshold,
39020	}
39021}
39022
39023const (
39024	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
39025	ContactMethodStatusPendingVerification = "PendingVerification"
39026
39027	// ContactMethodStatusValid is a ContactMethodStatus enum value
39028	ContactMethodStatusValid = "Valid"
39029
39030	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
39031	ContactMethodStatusInvalid = "Invalid"
39032)
39033
39034// ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
39035func ContactMethodStatus_Values() []string {
39036	return []string{
39037		ContactMethodStatusPendingVerification,
39038		ContactMethodStatusValid,
39039		ContactMethodStatusInvalid,
39040	}
39041}
39042
39043const (
39044	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
39045	ContactMethodVerificationProtocolEmail = "Email"
39046)
39047
39048// ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
39049func ContactMethodVerificationProtocol_Values() []string {
39050	return []string{
39051		ContactMethodVerificationProtocolEmail,
39052	}
39053}
39054
39055const (
39056	// ContactProtocolEmail is a ContactProtocol enum value
39057	ContactProtocolEmail = "Email"
39058
39059	// ContactProtocolSms is a ContactProtocol enum value
39060	ContactProtocolSms = "SMS"
39061)
39062
39063// ContactProtocol_Values returns all elements of the ContactProtocol enum
39064func ContactProtocol_Values() []string {
39065	return []string{
39066		ContactProtocolEmail,
39067		ContactProtocolSms,
39068	}
39069}
39070
39071const (
39072	// ContainerServiceDeploymentStateActivating is a ContainerServiceDeploymentState enum value
39073	ContainerServiceDeploymentStateActivating = "ACTIVATING"
39074
39075	// ContainerServiceDeploymentStateActive is a ContainerServiceDeploymentState enum value
39076	ContainerServiceDeploymentStateActive = "ACTIVE"
39077
39078	// ContainerServiceDeploymentStateInactive is a ContainerServiceDeploymentState enum value
39079	ContainerServiceDeploymentStateInactive = "INACTIVE"
39080
39081	// ContainerServiceDeploymentStateFailed is a ContainerServiceDeploymentState enum value
39082	ContainerServiceDeploymentStateFailed = "FAILED"
39083)
39084
39085// ContainerServiceDeploymentState_Values returns all elements of the ContainerServiceDeploymentState enum
39086func ContainerServiceDeploymentState_Values() []string {
39087	return []string{
39088		ContainerServiceDeploymentStateActivating,
39089		ContainerServiceDeploymentStateActive,
39090		ContainerServiceDeploymentStateInactive,
39091		ContainerServiceDeploymentStateFailed,
39092	}
39093}
39094
39095const (
39096	// ContainerServiceMetricNameCpuutilization is a ContainerServiceMetricName enum value
39097	ContainerServiceMetricNameCpuutilization = "CPUUtilization"
39098
39099	// ContainerServiceMetricNameMemoryUtilization is a ContainerServiceMetricName enum value
39100	ContainerServiceMetricNameMemoryUtilization = "MemoryUtilization"
39101)
39102
39103// ContainerServiceMetricName_Values returns all elements of the ContainerServiceMetricName enum
39104func ContainerServiceMetricName_Values() []string {
39105	return []string{
39106		ContainerServiceMetricNameCpuutilization,
39107		ContainerServiceMetricNameMemoryUtilization,
39108	}
39109}
39110
39111const (
39112	// ContainerServicePowerNameNano is a ContainerServicePowerName enum value
39113	ContainerServicePowerNameNano = "nano"
39114
39115	// ContainerServicePowerNameMicro is a ContainerServicePowerName enum value
39116	ContainerServicePowerNameMicro = "micro"
39117
39118	// ContainerServicePowerNameSmall is a ContainerServicePowerName enum value
39119	ContainerServicePowerNameSmall = "small"
39120
39121	// ContainerServicePowerNameMedium is a ContainerServicePowerName enum value
39122	ContainerServicePowerNameMedium = "medium"
39123
39124	// ContainerServicePowerNameLarge is a ContainerServicePowerName enum value
39125	ContainerServicePowerNameLarge = "large"
39126
39127	// ContainerServicePowerNameXlarge is a ContainerServicePowerName enum value
39128	ContainerServicePowerNameXlarge = "xlarge"
39129)
39130
39131// ContainerServicePowerName_Values returns all elements of the ContainerServicePowerName enum
39132func ContainerServicePowerName_Values() []string {
39133	return []string{
39134		ContainerServicePowerNameNano,
39135		ContainerServicePowerNameMicro,
39136		ContainerServicePowerNameSmall,
39137		ContainerServicePowerNameMedium,
39138		ContainerServicePowerNameLarge,
39139		ContainerServicePowerNameXlarge,
39140	}
39141}
39142
39143const (
39144	// ContainerServiceProtocolHttp is a ContainerServiceProtocol enum value
39145	ContainerServiceProtocolHttp = "HTTP"
39146
39147	// ContainerServiceProtocolHttps is a ContainerServiceProtocol enum value
39148	ContainerServiceProtocolHttps = "HTTPS"
39149
39150	// ContainerServiceProtocolTcp is a ContainerServiceProtocol enum value
39151	ContainerServiceProtocolTcp = "TCP"
39152
39153	// ContainerServiceProtocolUdp is a ContainerServiceProtocol enum value
39154	ContainerServiceProtocolUdp = "UDP"
39155)
39156
39157// ContainerServiceProtocol_Values returns all elements of the ContainerServiceProtocol enum
39158func ContainerServiceProtocol_Values() []string {
39159	return []string{
39160		ContainerServiceProtocolHttp,
39161		ContainerServiceProtocolHttps,
39162		ContainerServiceProtocolTcp,
39163		ContainerServiceProtocolUdp,
39164	}
39165}
39166
39167const (
39168	// ContainerServiceStatePending is a ContainerServiceState enum value
39169	ContainerServiceStatePending = "PENDING"
39170
39171	// ContainerServiceStateReady is a ContainerServiceState enum value
39172	ContainerServiceStateReady = "READY"
39173
39174	// ContainerServiceStateRunning is a ContainerServiceState enum value
39175	ContainerServiceStateRunning = "RUNNING"
39176
39177	// ContainerServiceStateUpdating is a ContainerServiceState enum value
39178	ContainerServiceStateUpdating = "UPDATING"
39179
39180	// ContainerServiceStateDeleting is a ContainerServiceState enum value
39181	ContainerServiceStateDeleting = "DELETING"
39182
39183	// ContainerServiceStateDisabled is a ContainerServiceState enum value
39184	ContainerServiceStateDisabled = "DISABLED"
39185
39186	// ContainerServiceStateDeploying is a ContainerServiceState enum value
39187	ContainerServiceStateDeploying = "DEPLOYING"
39188)
39189
39190// ContainerServiceState_Values returns all elements of the ContainerServiceState enum
39191func ContainerServiceState_Values() []string {
39192	return []string{
39193		ContainerServiceStatePending,
39194		ContainerServiceStateReady,
39195		ContainerServiceStateRunning,
39196		ContainerServiceStateUpdating,
39197		ContainerServiceStateDeleting,
39198		ContainerServiceStateDisabled,
39199		ContainerServiceStateDeploying,
39200	}
39201}
39202
39203const (
39204	// ContainerServiceStateDetailCodeCreatingSystemResources is a ContainerServiceStateDetailCode enum value
39205	ContainerServiceStateDetailCodeCreatingSystemResources = "CREATING_SYSTEM_RESOURCES"
39206
39207	// ContainerServiceStateDetailCodeCreatingNetworkInfrastructure is a ContainerServiceStateDetailCode enum value
39208	ContainerServiceStateDetailCodeCreatingNetworkInfrastructure = "CREATING_NETWORK_INFRASTRUCTURE"
39209
39210	// ContainerServiceStateDetailCodeProvisioningCertificate is a ContainerServiceStateDetailCode enum value
39211	ContainerServiceStateDetailCodeProvisioningCertificate = "PROVISIONING_CERTIFICATE"
39212
39213	// ContainerServiceStateDetailCodeProvisioningService is a ContainerServiceStateDetailCode enum value
39214	ContainerServiceStateDetailCodeProvisioningService = "PROVISIONING_SERVICE"
39215
39216	// ContainerServiceStateDetailCodeCreatingDeployment is a ContainerServiceStateDetailCode enum value
39217	ContainerServiceStateDetailCodeCreatingDeployment = "CREATING_DEPLOYMENT"
39218
39219	// ContainerServiceStateDetailCodeEvaluatingHealthCheck is a ContainerServiceStateDetailCode enum value
39220	ContainerServiceStateDetailCodeEvaluatingHealthCheck = "EVALUATING_HEALTH_CHECK"
39221
39222	// ContainerServiceStateDetailCodeActivatingDeployment is a ContainerServiceStateDetailCode enum value
39223	ContainerServiceStateDetailCodeActivatingDeployment = "ACTIVATING_DEPLOYMENT"
39224
39225	// ContainerServiceStateDetailCodeCertificateLimitExceeded is a ContainerServiceStateDetailCode enum value
39226	ContainerServiceStateDetailCodeCertificateLimitExceeded = "CERTIFICATE_LIMIT_EXCEEDED"
39227
39228	// ContainerServiceStateDetailCodeUnknownError is a ContainerServiceStateDetailCode enum value
39229	ContainerServiceStateDetailCodeUnknownError = "UNKNOWN_ERROR"
39230)
39231
39232// ContainerServiceStateDetailCode_Values returns all elements of the ContainerServiceStateDetailCode enum
39233func ContainerServiceStateDetailCode_Values() []string {
39234	return []string{
39235		ContainerServiceStateDetailCodeCreatingSystemResources,
39236		ContainerServiceStateDetailCodeCreatingNetworkInfrastructure,
39237		ContainerServiceStateDetailCodeProvisioningCertificate,
39238		ContainerServiceStateDetailCodeProvisioningService,
39239		ContainerServiceStateDetailCodeCreatingDeployment,
39240		ContainerServiceStateDetailCodeEvaluatingHealthCheck,
39241		ContainerServiceStateDetailCodeActivatingDeployment,
39242		ContainerServiceStateDetailCodeCertificateLimitExceeded,
39243		ContainerServiceStateDetailCodeUnknownError,
39244	}
39245}
39246
39247const (
39248	// DiskSnapshotStatePending is a DiskSnapshotState enum value
39249	DiskSnapshotStatePending = "pending"
39250
39251	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
39252	DiskSnapshotStateCompleted = "completed"
39253
39254	// DiskSnapshotStateError is a DiskSnapshotState enum value
39255	DiskSnapshotStateError = "error"
39256
39257	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
39258	DiskSnapshotStateUnknown = "unknown"
39259)
39260
39261// DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
39262func DiskSnapshotState_Values() []string {
39263	return []string{
39264		DiskSnapshotStatePending,
39265		DiskSnapshotStateCompleted,
39266		DiskSnapshotStateError,
39267		DiskSnapshotStateUnknown,
39268	}
39269}
39270
39271const (
39272	// DiskStatePending is a DiskState enum value
39273	DiskStatePending = "pending"
39274
39275	// DiskStateError is a DiskState enum value
39276	DiskStateError = "error"
39277
39278	// DiskStateAvailable is a DiskState enum value
39279	DiskStateAvailable = "available"
39280
39281	// DiskStateInUse is a DiskState enum value
39282	DiskStateInUse = "in-use"
39283
39284	// DiskStateUnknown is a DiskState enum value
39285	DiskStateUnknown = "unknown"
39286)
39287
39288// DiskState_Values returns all elements of the DiskState enum
39289func DiskState_Values() []string {
39290	return []string{
39291		DiskStatePending,
39292		DiskStateError,
39293		DiskStateAvailable,
39294		DiskStateInUse,
39295		DiskStateUnknown,
39296	}
39297}
39298
39299const (
39300	// DistributionMetricNameRequests is a DistributionMetricName enum value
39301	DistributionMetricNameRequests = "Requests"
39302
39303	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
39304	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
39305
39306	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
39307	DistributionMetricNameBytesUploaded = "BytesUploaded"
39308
39309	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
39310	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
39311
39312	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
39313	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
39314
39315	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
39316	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
39317)
39318
39319// DistributionMetricName_Values returns all elements of the DistributionMetricName enum
39320func DistributionMetricName_Values() []string {
39321	return []string{
39322		DistributionMetricNameRequests,
39323		DistributionMetricNameBytesDownloaded,
39324		DistributionMetricNameBytesUploaded,
39325		DistributionMetricNameTotalErrorRate,
39326		DistributionMetricNameHttp4xxErrorRate,
39327		DistributionMetricNameHttp5xxErrorRate,
39328	}
39329}
39330
39331const (
39332	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
39333	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
39334
39335	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
39336	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
39337)
39338
39339// ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
39340func ExportSnapshotRecordSourceType_Values() []string {
39341	return []string{
39342		ExportSnapshotRecordSourceTypeInstanceSnapshot,
39343		ExportSnapshotRecordSourceTypeDiskSnapshot,
39344	}
39345}
39346
39347const (
39348	// ForwardValuesNone is a ForwardValues enum value
39349	ForwardValuesNone = "none"
39350
39351	// ForwardValuesAllowList is a ForwardValues enum value
39352	ForwardValuesAllowList = "allow-list"
39353
39354	// ForwardValuesAll is a ForwardValues enum value
39355	ForwardValuesAll = "all"
39356)
39357
39358// ForwardValues_Values returns all elements of the ForwardValues enum
39359func ForwardValues_Values() []string {
39360	return []string{
39361		ForwardValuesNone,
39362		ForwardValuesAllowList,
39363		ForwardValuesAll,
39364	}
39365}
39366
39367const (
39368	// HeaderEnumAccept is a HeaderEnum enum value
39369	HeaderEnumAccept = "Accept"
39370
39371	// HeaderEnumAcceptCharset is a HeaderEnum enum value
39372	HeaderEnumAcceptCharset = "Accept-Charset"
39373
39374	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
39375	HeaderEnumAcceptDatetime = "Accept-Datetime"
39376
39377	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
39378	HeaderEnumAcceptEncoding = "Accept-Encoding"
39379
39380	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
39381	HeaderEnumAcceptLanguage = "Accept-Language"
39382
39383	// HeaderEnumAuthorization is a HeaderEnum enum value
39384	HeaderEnumAuthorization = "Authorization"
39385
39386	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
39387	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
39388
39389	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
39390	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
39391
39392	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
39393	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
39394
39395	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
39396	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
39397
39398	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
39399	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
39400
39401	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
39402	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
39403
39404	// HeaderEnumHost is a HeaderEnum enum value
39405	HeaderEnumHost = "Host"
39406
39407	// HeaderEnumOrigin is a HeaderEnum enum value
39408	HeaderEnumOrigin = "Origin"
39409
39410	// HeaderEnumReferer is a HeaderEnum enum value
39411	HeaderEnumReferer = "Referer"
39412)
39413
39414// HeaderEnum_Values returns all elements of the HeaderEnum enum
39415func HeaderEnum_Values() []string {
39416	return []string{
39417		HeaderEnumAccept,
39418		HeaderEnumAcceptCharset,
39419		HeaderEnumAcceptDatetime,
39420		HeaderEnumAcceptEncoding,
39421		HeaderEnumAcceptLanguage,
39422		HeaderEnumAuthorization,
39423		HeaderEnumCloudFrontForwardedProto,
39424		HeaderEnumCloudFrontIsDesktopViewer,
39425		HeaderEnumCloudFrontIsMobileViewer,
39426		HeaderEnumCloudFrontIsSmartTvViewer,
39427		HeaderEnumCloudFrontIsTabletViewer,
39428		HeaderEnumCloudFrontViewerCountry,
39429		HeaderEnumHost,
39430		HeaderEnumOrigin,
39431		HeaderEnumReferer,
39432	}
39433}
39434
39435const (
39436	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
39437	InstanceAccessProtocolSsh = "ssh"
39438
39439	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
39440	InstanceAccessProtocolRdp = "rdp"
39441)
39442
39443// InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
39444func InstanceAccessProtocol_Values() []string {
39445	return []string{
39446		InstanceAccessProtocolSsh,
39447		InstanceAccessProtocolRdp,
39448	}
39449}
39450
39451const (
39452	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
39453	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
39454
39455	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
39456	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
39457
39458	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
39459	InstanceHealthReasonLbInternalError = "Lb.InternalError"
39460
39461	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
39462	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
39463
39464	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
39465	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
39466
39467	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
39468	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
39469
39470	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
39471	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
39472
39473	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
39474	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
39475
39476	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
39477	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
39478
39479	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
39480	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
39481
39482	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
39483	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
39484)
39485
39486// InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
39487func InstanceHealthReason_Values() []string {
39488	return []string{
39489		InstanceHealthReasonLbRegistrationInProgress,
39490		InstanceHealthReasonLbInitialHealthChecking,
39491		InstanceHealthReasonLbInternalError,
39492		InstanceHealthReasonInstanceResponseCodeMismatch,
39493		InstanceHealthReasonInstanceTimeout,
39494		InstanceHealthReasonInstanceFailedHealthChecks,
39495		InstanceHealthReasonInstanceNotRegistered,
39496		InstanceHealthReasonInstanceNotInUse,
39497		InstanceHealthReasonInstanceDeregistrationInProgress,
39498		InstanceHealthReasonInstanceInvalidState,
39499		InstanceHealthReasonInstanceIpUnusable,
39500	}
39501}
39502
39503const (
39504	// InstanceHealthStateInitial is a InstanceHealthState enum value
39505	InstanceHealthStateInitial = "initial"
39506
39507	// InstanceHealthStateHealthy is a InstanceHealthState enum value
39508	InstanceHealthStateHealthy = "healthy"
39509
39510	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
39511	InstanceHealthStateUnhealthy = "unhealthy"
39512
39513	// InstanceHealthStateUnused is a InstanceHealthState enum value
39514	InstanceHealthStateUnused = "unused"
39515
39516	// InstanceHealthStateDraining is a InstanceHealthState enum value
39517	InstanceHealthStateDraining = "draining"
39518
39519	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
39520	InstanceHealthStateUnavailable = "unavailable"
39521)
39522
39523// InstanceHealthState_Values returns all elements of the InstanceHealthState enum
39524func InstanceHealthState_Values() []string {
39525	return []string{
39526		InstanceHealthStateInitial,
39527		InstanceHealthStateHealthy,
39528		InstanceHealthStateUnhealthy,
39529		InstanceHealthStateUnused,
39530		InstanceHealthStateDraining,
39531		InstanceHealthStateUnavailable,
39532	}
39533}
39534
39535const (
39536	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
39537	InstanceMetricNameCpuutilization = "CPUUtilization"
39538
39539	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
39540	InstanceMetricNameNetworkIn = "NetworkIn"
39541
39542	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
39543	InstanceMetricNameNetworkOut = "NetworkOut"
39544
39545	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
39546	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
39547
39548	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
39549	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
39550
39551	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
39552	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
39553
39554	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
39555	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
39556
39557	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
39558	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
39559)
39560
39561// InstanceMetricName_Values returns all elements of the InstanceMetricName enum
39562func InstanceMetricName_Values() []string {
39563	return []string{
39564		InstanceMetricNameCpuutilization,
39565		InstanceMetricNameNetworkIn,
39566		InstanceMetricNameNetworkOut,
39567		InstanceMetricNameStatusCheckFailed,
39568		InstanceMetricNameStatusCheckFailedInstance,
39569		InstanceMetricNameStatusCheckFailedSystem,
39570		InstanceMetricNameBurstCapacityTime,
39571		InstanceMetricNameBurstCapacityPercentage,
39572	}
39573}
39574
39575const (
39576	// InstancePlatformLinuxUnix is a InstancePlatform enum value
39577	InstancePlatformLinuxUnix = "LINUX_UNIX"
39578
39579	// InstancePlatformWindows is a InstancePlatform enum value
39580	InstancePlatformWindows = "WINDOWS"
39581)
39582
39583// InstancePlatform_Values returns all elements of the InstancePlatform enum
39584func InstancePlatform_Values() []string {
39585	return []string{
39586		InstancePlatformLinuxUnix,
39587		InstancePlatformWindows,
39588	}
39589}
39590
39591const (
39592	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
39593	InstanceSnapshotStatePending = "pending"
39594
39595	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
39596	InstanceSnapshotStateError = "error"
39597
39598	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
39599	InstanceSnapshotStateAvailable = "available"
39600)
39601
39602// InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
39603func InstanceSnapshotState_Values() []string {
39604	return []string{
39605		InstanceSnapshotStatePending,
39606		InstanceSnapshotStateError,
39607		InstanceSnapshotStateAvailable,
39608	}
39609}
39610
39611const (
39612	// IpAddressTypeDualstack is a IpAddressType enum value
39613	IpAddressTypeDualstack = "dualstack"
39614
39615	// IpAddressTypeIpv4 is a IpAddressType enum value
39616	IpAddressTypeIpv4 = "ipv4"
39617)
39618
39619// IpAddressType_Values returns all elements of the IpAddressType enum
39620func IpAddressType_Values() []string {
39621	return []string{
39622		IpAddressTypeDualstack,
39623		IpAddressTypeIpv4,
39624	}
39625}
39626
39627const (
39628	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
39629	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
39630
39631	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
39632	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
39633
39634	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
39635	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
39636)
39637
39638// LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
39639func LoadBalancerAttributeName_Values() []string {
39640	return []string{
39641		LoadBalancerAttributeNameHealthCheckPath,
39642		LoadBalancerAttributeNameSessionStickinessEnabled,
39643		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
39644	}
39645}
39646
39647const (
39648	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
39649	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
39650
39651	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
39652	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
39653
39654	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
39655	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
39656
39657	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
39658	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
39659
39660	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
39661	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
39662
39663	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
39664	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
39665
39666	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
39667	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
39668
39669	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
39670	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
39671
39672	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
39673	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
39674
39675	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
39676	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
39677
39678	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
39679	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
39680
39681	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
39682	LoadBalancerMetricNameRequestCount = "RequestCount"
39683)
39684
39685// LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
39686func LoadBalancerMetricName_Values() []string {
39687	return []string{
39688		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
39689		LoadBalancerMetricNameHealthyHostCount,
39690		LoadBalancerMetricNameUnhealthyHostCount,
39691		LoadBalancerMetricNameHttpcodeLb4xxCount,
39692		LoadBalancerMetricNameHttpcodeLb5xxCount,
39693		LoadBalancerMetricNameHttpcodeInstance2xxCount,
39694		LoadBalancerMetricNameHttpcodeInstance3xxCount,
39695		LoadBalancerMetricNameHttpcodeInstance4xxCount,
39696		LoadBalancerMetricNameHttpcodeInstance5xxCount,
39697		LoadBalancerMetricNameInstanceResponseTime,
39698		LoadBalancerMetricNameRejectedConnectionCount,
39699		LoadBalancerMetricNameRequestCount,
39700	}
39701}
39702
39703const (
39704	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
39705	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
39706
39707	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
39708	LoadBalancerProtocolHttp = "HTTP"
39709)
39710
39711// LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
39712func LoadBalancerProtocol_Values() []string {
39713	return []string{
39714		LoadBalancerProtocolHttpHttps,
39715		LoadBalancerProtocolHttp,
39716	}
39717}
39718
39719const (
39720	// LoadBalancerStateActive is a LoadBalancerState enum value
39721	LoadBalancerStateActive = "active"
39722
39723	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
39724	LoadBalancerStateProvisioning = "provisioning"
39725
39726	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
39727	LoadBalancerStateActiveImpaired = "active_impaired"
39728
39729	// LoadBalancerStateFailed is a LoadBalancerState enum value
39730	LoadBalancerStateFailed = "failed"
39731
39732	// LoadBalancerStateUnknown is a LoadBalancerState enum value
39733	LoadBalancerStateUnknown = "unknown"
39734)
39735
39736// LoadBalancerState_Values returns all elements of the LoadBalancerState enum
39737func LoadBalancerState_Values() []string {
39738	return []string{
39739		LoadBalancerStateActive,
39740		LoadBalancerStateProvisioning,
39741		LoadBalancerStateActiveImpaired,
39742		LoadBalancerStateFailed,
39743		LoadBalancerStateUnknown,
39744	}
39745}
39746
39747const (
39748	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
39749	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
39750
39751	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
39752	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
39753
39754	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
39755	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
39756)
39757
39758// LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
39759func LoadBalancerTlsCertificateDomainStatus_Values() []string {
39760	return []string{
39761		LoadBalancerTlsCertificateDomainStatusPendingValidation,
39762		LoadBalancerTlsCertificateDomainStatusFailed,
39763		LoadBalancerTlsCertificateDomainStatusSuccess,
39764	}
39765}
39766
39767const (
39768	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
39769	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
39770
39771	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
39772	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
39773
39774	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
39775	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
39776
39777	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
39778	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
39779
39780	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
39781	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
39782)
39783
39784// LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
39785func LoadBalancerTlsCertificateFailureReason_Values() []string {
39786	return []string{
39787		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
39788		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
39789		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
39790		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
39791		LoadBalancerTlsCertificateFailureReasonOther,
39792	}
39793}
39794
39795const (
39796	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
39797	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
39798
39799	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
39800	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
39801
39802	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
39803	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
39804
39805	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
39806	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
39807)
39808
39809// LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
39810func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
39811	return []string{
39812		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
39813		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
39814		LoadBalancerTlsCertificateRenewalStatusSuccess,
39815		LoadBalancerTlsCertificateRenewalStatusFailed,
39816	}
39817}
39818
39819const (
39820	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
39821	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
39822
39823	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
39824	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
39825
39826	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
39827	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
39828
39829	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
39830	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
39831
39832	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
39833	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
39834
39835	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
39836	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
39837
39838	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
39839	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
39840
39841	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
39842	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
39843
39844	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
39845	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
39846
39847	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
39848	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
39849)
39850
39851// LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
39852func LoadBalancerTlsCertificateRevocationReason_Values() []string {
39853	return []string{
39854		LoadBalancerTlsCertificateRevocationReasonUnspecified,
39855		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
39856		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
39857		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
39858		LoadBalancerTlsCertificateRevocationReasonSuperceded,
39859		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
39860		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
39861		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
39862		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
39863		LoadBalancerTlsCertificateRevocationReasonAACompromise,
39864	}
39865}
39866
39867const (
39868	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
39869	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
39870
39871	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
39872	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
39873
39874	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
39875	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
39876
39877	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
39878	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
39879
39880	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
39881	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
39882
39883	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
39884	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
39885
39886	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
39887	LoadBalancerTlsCertificateStatusFailed = "FAILED"
39888
39889	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
39890	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
39891)
39892
39893// LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
39894func LoadBalancerTlsCertificateStatus_Values() []string {
39895	return []string{
39896		LoadBalancerTlsCertificateStatusPendingValidation,
39897		LoadBalancerTlsCertificateStatusIssued,
39898		LoadBalancerTlsCertificateStatusInactive,
39899		LoadBalancerTlsCertificateStatusExpired,
39900		LoadBalancerTlsCertificateStatusValidationTimedOut,
39901		LoadBalancerTlsCertificateStatusRevoked,
39902		LoadBalancerTlsCertificateStatusFailed,
39903		LoadBalancerTlsCertificateStatusUnknown,
39904	}
39905}
39906
39907const (
39908	// MetricNameCpuutilization is a MetricName enum value
39909	MetricNameCpuutilization = "CPUUtilization"
39910
39911	// MetricNameNetworkIn is a MetricName enum value
39912	MetricNameNetworkIn = "NetworkIn"
39913
39914	// MetricNameNetworkOut is a MetricName enum value
39915	MetricNameNetworkOut = "NetworkOut"
39916
39917	// MetricNameStatusCheckFailed is a MetricName enum value
39918	MetricNameStatusCheckFailed = "StatusCheckFailed"
39919
39920	// MetricNameStatusCheckFailedInstance is a MetricName enum value
39921	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
39922
39923	// MetricNameStatusCheckFailedSystem is a MetricName enum value
39924	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
39925
39926	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
39927	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
39928
39929	// MetricNameHealthyHostCount is a MetricName enum value
39930	MetricNameHealthyHostCount = "HealthyHostCount"
39931
39932	// MetricNameUnhealthyHostCount is a MetricName enum value
39933	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
39934
39935	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
39936	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
39937
39938	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
39939	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
39940
39941	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
39942	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
39943
39944	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
39945	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
39946
39947	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
39948	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
39949
39950	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
39951	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
39952
39953	// MetricNameInstanceResponseTime is a MetricName enum value
39954	MetricNameInstanceResponseTime = "InstanceResponseTime"
39955
39956	// MetricNameRejectedConnectionCount is a MetricName enum value
39957	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
39958
39959	// MetricNameRequestCount is a MetricName enum value
39960	MetricNameRequestCount = "RequestCount"
39961
39962	// MetricNameDatabaseConnections is a MetricName enum value
39963	MetricNameDatabaseConnections = "DatabaseConnections"
39964
39965	// MetricNameDiskQueueDepth is a MetricName enum value
39966	MetricNameDiskQueueDepth = "DiskQueueDepth"
39967
39968	// MetricNameFreeStorageSpace is a MetricName enum value
39969	MetricNameFreeStorageSpace = "FreeStorageSpace"
39970
39971	// MetricNameNetworkReceiveThroughput is a MetricName enum value
39972	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
39973
39974	// MetricNameNetworkTransmitThroughput is a MetricName enum value
39975	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
39976
39977	// MetricNameBurstCapacityTime is a MetricName enum value
39978	MetricNameBurstCapacityTime = "BurstCapacityTime"
39979
39980	// MetricNameBurstCapacityPercentage is a MetricName enum value
39981	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
39982)
39983
39984// MetricName_Values returns all elements of the MetricName enum
39985func MetricName_Values() []string {
39986	return []string{
39987		MetricNameCpuutilization,
39988		MetricNameNetworkIn,
39989		MetricNameNetworkOut,
39990		MetricNameStatusCheckFailed,
39991		MetricNameStatusCheckFailedInstance,
39992		MetricNameStatusCheckFailedSystem,
39993		MetricNameClientTlsnegotiationErrorCount,
39994		MetricNameHealthyHostCount,
39995		MetricNameUnhealthyHostCount,
39996		MetricNameHttpcodeLb4xxCount,
39997		MetricNameHttpcodeLb5xxCount,
39998		MetricNameHttpcodeInstance2xxCount,
39999		MetricNameHttpcodeInstance3xxCount,
40000		MetricNameHttpcodeInstance4xxCount,
40001		MetricNameHttpcodeInstance5xxCount,
40002		MetricNameInstanceResponseTime,
40003		MetricNameRejectedConnectionCount,
40004		MetricNameRequestCount,
40005		MetricNameDatabaseConnections,
40006		MetricNameDiskQueueDepth,
40007		MetricNameFreeStorageSpace,
40008		MetricNameNetworkReceiveThroughput,
40009		MetricNameNetworkTransmitThroughput,
40010		MetricNameBurstCapacityTime,
40011		MetricNameBurstCapacityPercentage,
40012	}
40013}
40014
40015const (
40016	// MetricStatisticMinimum is a MetricStatistic enum value
40017	MetricStatisticMinimum = "Minimum"
40018
40019	// MetricStatisticMaximum is a MetricStatistic enum value
40020	MetricStatisticMaximum = "Maximum"
40021
40022	// MetricStatisticSum is a MetricStatistic enum value
40023	MetricStatisticSum = "Sum"
40024
40025	// MetricStatisticAverage is a MetricStatistic enum value
40026	MetricStatisticAverage = "Average"
40027
40028	// MetricStatisticSampleCount is a MetricStatistic enum value
40029	MetricStatisticSampleCount = "SampleCount"
40030)
40031
40032// MetricStatistic_Values returns all elements of the MetricStatistic enum
40033func MetricStatistic_Values() []string {
40034	return []string{
40035		MetricStatisticMinimum,
40036		MetricStatisticMaximum,
40037		MetricStatisticSum,
40038		MetricStatisticAverage,
40039		MetricStatisticSampleCount,
40040	}
40041}
40042
40043const (
40044	// MetricUnitSeconds is a MetricUnit enum value
40045	MetricUnitSeconds = "Seconds"
40046
40047	// MetricUnitMicroseconds is a MetricUnit enum value
40048	MetricUnitMicroseconds = "Microseconds"
40049
40050	// MetricUnitMilliseconds is a MetricUnit enum value
40051	MetricUnitMilliseconds = "Milliseconds"
40052
40053	// MetricUnitBytes is a MetricUnit enum value
40054	MetricUnitBytes = "Bytes"
40055
40056	// MetricUnitKilobytes is a MetricUnit enum value
40057	MetricUnitKilobytes = "Kilobytes"
40058
40059	// MetricUnitMegabytes is a MetricUnit enum value
40060	MetricUnitMegabytes = "Megabytes"
40061
40062	// MetricUnitGigabytes is a MetricUnit enum value
40063	MetricUnitGigabytes = "Gigabytes"
40064
40065	// MetricUnitTerabytes is a MetricUnit enum value
40066	MetricUnitTerabytes = "Terabytes"
40067
40068	// MetricUnitBits is a MetricUnit enum value
40069	MetricUnitBits = "Bits"
40070
40071	// MetricUnitKilobits is a MetricUnit enum value
40072	MetricUnitKilobits = "Kilobits"
40073
40074	// MetricUnitMegabits is a MetricUnit enum value
40075	MetricUnitMegabits = "Megabits"
40076
40077	// MetricUnitGigabits is a MetricUnit enum value
40078	MetricUnitGigabits = "Gigabits"
40079
40080	// MetricUnitTerabits is a MetricUnit enum value
40081	MetricUnitTerabits = "Terabits"
40082
40083	// MetricUnitPercent is a MetricUnit enum value
40084	MetricUnitPercent = "Percent"
40085
40086	// MetricUnitCount is a MetricUnit enum value
40087	MetricUnitCount = "Count"
40088
40089	// MetricUnitBytesSecond is a MetricUnit enum value
40090	MetricUnitBytesSecond = "Bytes/Second"
40091
40092	// MetricUnitKilobytesSecond is a MetricUnit enum value
40093	MetricUnitKilobytesSecond = "Kilobytes/Second"
40094
40095	// MetricUnitMegabytesSecond is a MetricUnit enum value
40096	MetricUnitMegabytesSecond = "Megabytes/Second"
40097
40098	// MetricUnitGigabytesSecond is a MetricUnit enum value
40099	MetricUnitGigabytesSecond = "Gigabytes/Second"
40100
40101	// MetricUnitTerabytesSecond is a MetricUnit enum value
40102	MetricUnitTerabytesSecond = "Terabytes/Second"
40103
40104	// MetricUnitBitsSecond is a MetricUnit enum value
40105	MetricUnitBitsSecond = "Bits/Second"
40106
40107	// MetricUnitKilobitsSecond is a MetricUnit enum value
40108	MetricUnitKilobitsSecond = "Kilobits/Second"
40109
40110	// MetricUnitMegabitsSecond is a MetricUnit enum value
40111	MetricUnitMegabitsSecond = "Megabits/Second"
40112
40113	// MetricUnitGigabitsSecond is a MetricUnit enum value
40114	MetricUnitGigabitsSecond = "Gigabits/Second"
40115
40116	// MetricUnitTerabitsSecond is a MetricUnit enum value
40117	MetricUnitTerabitsSecond = "Terabits/Second"
40118
40119	// MetricUnitCountSecond is a MetricUnit enum value
40120	MetricUnitCountSecond = "Count/Second"
40121
40122	// MetricUnitNone is a MetricUnit enum value
40123	MetricUnitNone = "None"
40124)
40125
40126// MetricUnit_Values returns all elements of the MetricUnit enum
40127func MetricUnit_Values() []string {
40128	return []string{
40129		MetricUnitSeconds,
40130		MetricUnitMicroseconds,
40131		MetricUnitMilliseconds,
40132		MetricUnitBytes,
40133		MetricUnitKilobytes,
40134		MetricUnitMegabytes,
40135		MetricUnitGigabytes,
40136		MetricUnitTerabytes,
40137		MetricUnitBits,
40138		MetricUnitKilobits,
40139		MetricUnitMegabits,
40140		MetricUnitGigabits,
40141		MetricUnitTerabits,
40142		MetricUnitPercent,
40143		MetricUnitCount,
40144		MetricUnitBytesSecond,
40145		MetricUnitKilobytesSecond,
40146		MetricUnitMegabytesSecond,
40147		MetricUnitGigabytesSecond,
40148		MetricUnitTerabytesSecond,
40149		MetricUnitBitsSecond,
40150		MetricUnitKilobitsSecond,
40151		MetricUnitMegabitsSecond,
40152		MetricUnitGigabitsSecond,
40153		MetricUnitTerabitsSecond,
40154		MetricUnitCountSecond,
40155		MetricUnitNone,
40156	}
40157}
40158
40159const (
40160	// NetworkProtocolTcp is a NetworkProtocol enum value
40161	NetworkProtocolTcp = "tcp"
40162
40163	// NetworkProtocolAll is a NetworkProtocol enum value
40164	NetworkProtocolAll = "all"
40165
40166	// NetworkProtocolUdp is a NetworkProtocol enum value
40167	NetworkProtocolUdp = "udp"
40168
40169	// NetworkProtocolIcmp is a NetworkProtocol enum value
40170	NetworkProtocolIcmp = "icmp"
40171)
40172
40173// NetworkProtocol_Values returns all elements of the NetworkProtocol enum
40174func NetworkProtocol_Values() []string {
40175	return []string{
40176		NetworkProtocolTcp,
40177		NetworkProtocolAll,
40178		NetworkProtocolUdp,
40179		NetworkProtocolIcmp,
40180	}
40181}
40182
40183const (
40184	// OperationStatusNotStarted is a OperationStatus enum value
40185	OperationStatusNotStarted = "NotStarted"
40186
40187	// OperationStatusStarted is a OperationStatus enum value
40188	OperationStatusStarted = "Started"
40189
40190	// OperationStatusFailed is a OperationStatus enum value
40191	OperationStatusFailed = "Failed"
40192
40193	// OperationStatusCompleted is a OperationStatus enum value
40194	OperationStatusCompleted = "Completed"
40195
40196	// OperationStatusSucceeded is a OperationStatus enum value
40197	OperationStatusSucceeded = "Succeeded"
40198)
40199
40200// OperationStatus_Values returns all elements of the OperationStatus enum
40201func OperationStatus_Values() []string {
40202	return []string{
40203		OperationStatusNotStarted,
40204		OperationStatusStarted,
40205		OperationStatusFailed,
40206		OperationStatusCompleted,
40207		OperationStatusSucceeded,
40208	}
40209}
40210
40211const (
40212	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
40213	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
40214
40215	// OperationTypeDeleteInstance is a OperationType enum value
40216	OperationTypeDeleteInstance = "DeleteInstance"
40217
40218	// OperationTypeCreateInstance is a OperationType enum value
40219	OperationTypeCreateInstance = "CreateInstance"
40220
40221	// OperationTypeStopInstance is a OperationType enum value
40222	OperationTypeStopInstance = "StopInstance"
40223
40224	// OperationTypeStartInstance is a OperationType enum value
40225	OperationTypeStartInstance = "StartInstance"
40226
40227	// OperationTypeRebootInstance is a OperationType enum value
40228	OperationTypeRebootInstance = "RebootInstance"
40229
40230	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
40231	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
40232
40233	// OperationTypePutInstancePublicPorts is a OperationType enum value
40234	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
40235
40236	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
40237	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
40238
40239	// OperationTypeAllocateStaticIp is a OperationType enum value
40240	OperationTypeAllocateStaticIp = "AllocateStaticIp"
40241
40242	// OperationTypeReleaseStaticIp is a OperationType enum value
40243	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
40244
40245	// OperationTypeAttachStaticIp is a OperationType enum value
40246	OperationTypeAttachStaticIp = "AttachStaticIp"
40247
40248	// OperationTypeDetachStaticIp is a OperationType enum value
40249	OperationTypeDetachStaticIp = "DetachStaticIp"
40250
40251	// OperationTypeUpdateDomainEntry is a OperationType enum value
40252	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
40253
40254	// OperationTypeDeleteDomainEntry is a OperationType enum value
40255	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
40256
40257	// OperationTypeCreateDomain is a OperationType enum value
40258	OperationTypeCreateDomain = "CreateDomain"
40259
40260	// OperationTypeDeleteDomain is a OperationType enum value
40261	OperationTypeDeleteDomain = "DeleteDomain"
40262
40263	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
40264	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
40265
40266	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
40267	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
40268
40269	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
40270	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
40271
40272	// OperationTypeCreateLoadBalancer is a OperationType enum value
40273	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
40274
40275	// OperationTypeDeleteLoadBalancer is a OperationType enum value
40276	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
40277
40278	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
40279	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
40280
40281	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
40282	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
40283
40284	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
40285	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
40286
40287	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
40288	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
40289
40290	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
40291	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
40292
40293	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
40294	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
40295
40296	// OperationTypeCreateDisk is a OperationType enum value
40297	OperationTypeCreateDisk = "CreateDisk"
40298
40299	// OperationTypeDeleteDisk is a OperationType enum value
40300	OperationTypeDeleteDisk = "DeleteDisk"
40301
40302	// OperationTypeAttachDisk is a OperationType enum value
40303	OperationTypeAttachDisk = "AttachDisk"
40304
40305	// OperationTypeDetachDisk is a OperationType enum value
40306	OperationTypeDetachDisk = "DetachDisk"
40307
40308	// OperationTypeCreateDiskSnapshot is a OperationType enum value
40309	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
40310
40311	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
40312	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
40313
40314	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
40315	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
40316
40317	// OperationTypeCreateRelationalDatabase is a OperationType enum value
40318	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
40319
40320	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
40321	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
40322
40323	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
40324	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
40325
40326	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
40327	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
40328
40329	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
40330	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
40331
40332	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
40333	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
40334
40335	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
40336	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
40337
40338	// OperationTypeStartRelationalDatabase is a OperationType enum value
40339	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
40340
40341	// OperationTypeRebootRelationalDatabase is a OperationType enum value
40342	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
40343
40344	// OperationTypeStopRelationalDatabase is a OperationType enum value
40345	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
40346
40347	// OperationTypeEnableAddOn is a OperationType enum value
40348	OperationTypeEnableAddOn = "EnableAddOn"
40349
40350	// OperationTypeDisableAddOn is a OperationType enum value
40351	OperationTypeDisableAddOn = "DisableAddOn"
40352
40353	// OperationTypePutAlarm is a OperationType enum value
40354	OperationTypePutAlarm = "PutAlarm"
40355
40356	// OperationTypeGetAlarms is a OperationType enum value
40357	OperationTypeGetAlarms = "GetAlarms"
40358
40359	// OperationTypeDeleteAlarm is a OperationType enum value
40360	OperationTypeDeleteAlarm = "DeleteAlarm"
40361
40362	// OperationTypeTestAlarm is a OperationType enum value
40363	OperationTypeTestAlarm = "TestAlarm"
40364
40365	// OperationTypeCreateContactMethod is a OperationType enum value
40366	OperationTypeCreateContactMethod = "CreateContactMethod"
40367
40368	// OperationTypeGetContactMethods is a OperationType enum value
40369	OperationTypeGetContactMethods = "GetContactMethods"
40370
40371	// OperationTypeSendContactMethodVerification is a OperationType enum value
40372	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
40373
40374	// OperationTypeDeleteContactMethod is a OperationType enum value
40375	OperationTypeDeleteContactMethod = "DeleteContactMethod"
40376
40377	// OperationTypeCreateDistribution is a OperationType enum value
40378	OperationTypeCreateDistribution = "CreateDistribution"
40379
40380	// OperationTypeUpdateDistribution is a OperationType enum value
40381	OperationTypeUpdateDistribution = "UpdateDistribution"
40382
40383	// OperationTypeDeleteDistribution is a OperationType enum value
40384	OperationTypeDeleteDistribution = "DeleteDistribution"
40385
40386	// OperationTypeResetDistributionCache is a OperationType enum value
40387	OperationTypeResetDistributionCache = "ResetDistributionCache"
40388
40389	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
40390	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
40391
40392	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
40393	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
40394
40395	// OperationTypeUpdateDistributionBundle is a OperationType enum value
40396	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
40397
40398	// OperationTypeSetIpAddressType is a OperationType enum value
40399	OperationTypeSetIpAddressType = "SetIpAddressType"
40400
40401	// OperationTypeCreateCertificate is a OperationType enum value
40402	OperationTypeCreateCertificate = "CreateCertificate"
40403
40404	// OperationTypeDeleteCertificate is a OperationType enum value
40405	OperationTypeDeleteCertificate = "DeleteCertificate"
40406
40407	// OperationTypeCreateContainerService is a OperationType enum value
40408	OperationTypeCreateContainerService = "CreateContainerService"
40409
40410	// OperationTypeUpdateContainerService is a OperationType enum value
40411	OperationTypeUpdateContainerService = "UpdateContainerService"
40412
40413	// OperationTypeDeleteContainerService is a OperationType enum value
40414	OperationTypeDeleteContainerService = "DeleteContainerService"
40415
40416	// OperationTypeCreateContainerServiceDeployment is a OperationType enum value
40417	OperationTypeCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
40418
40419	// OperationTypeCreateContainerServiceRegistryLogin is a OperationType enum value
40420	OperationTypeCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
40421
40422	// OperationTypeRegisterContainerImage is a OperationType enum value
40423	OperationTypeRegisterContainerImage = "RegisterContainerImage"
40424
40425	// OperationTypeDeleteContainerImage is a OperationType enum value
40426	OperationTypeDeleteContainerImage = "DeleteContainerImage"
40427
40428	// OperationTypeCreateBucket is a OperationType enum value
40429	OperationTypeCreateBucket = "CreateBucket"
40430
40431	// OperationTypeDeleteBucket is a OperationType enum value
40432	OperationTypeDeleteBucket = "DeleteBucket"
40433
40434	// OperationTypeCreateBucketAccessKey is a OperationType enum value
40435	OperationTypeCreateBucketAccessKey = "CreateBucketAccessKey"
40436
40437	// OperationTypeDeleteBucketAccessKey is a OperationType enum value
40438	OperationTypeDeleteBucketAccessKey = "DeleteBucketAccessKey"
40439
40440	// OperationTypeUpdateBucketBundle is a OperationType enum value
40441	OperationTypeUpdateBucketBundle = "UpdateBucketBundle"
40442
40443	// OperationTypeUpdateBucket is a OperationType enum value
40444	OperationTypeUpdateBucket = "UpdateBucket"
40445
40446	// OperationTypeSetResourceAccessForBucket is a OperationType enum value
40447	OperationTypeSetResourceAccessForBucket = "SetResourceAccessForBucket"
40448)
40449
40450// OperationType_Values returns all elements of the OperationType enum
40451func OperationType_Values() []string {
40452	return []string{
40453		OperationTypeDeleteKnownHostKeys,
40454		OperationTypeDeleteInstance,
40455		OperationTypeCreateInstance,
40456		OperationTypeStopInstance,
40457		OperationTypeStartInstance,
40458		OperationTypeRebootInstance,
40459		OperationTypeOpenInstancePublicPorts,
40460		OperationTypePutInstancePublicPorts,
40461		OperationTypeCloseInstancePublicPorts,
40462		OperationTypeAllocateStaticIp,
40463		OperationTypeReleaseStaticIp,
40464		OperationTypeAttachStaticIp,
40465		OperationTypeDetachStaticIp,
40466		OperationTypeUpdateDomainEntry,
40467		OperationTypeDeleteDomainEntry,
40468		OperationTypeCreateDomain,
40469		OperationTypeDeleteDomain,
40470		OperationTypeCreateInstanceSnapshot,
40471		OperationTypeDeleteInstanceSnapshot,
40472		OperationTypeCreateInstancesFromSnapshot,
40473		OperationTypeCreateLoadBalancer,
40474		OperationTypeDeleteLoadBalancer,
40475		OperationTypeAttachInstancesToLoadBalancer,
40476		OperationTypeDetachInstancesFromLoadBalancer,
40477		OperationTypeUpdateLoadBalancerAttribute,
40478		OperationTypeCreateLoadBalancerTlsCertificate,
40479		OperationTypeDeleteLoadBalancerTlsCertificate,
40480		OperationTypeAttachLoadBalancerTlsCertificate,
40481		OperationTypeCreateDisk,
40482		OperationTypeDeleteDisk,
40483		OperationTypeAttachDisk,
40484		OperationTypeDetachDisk,
40485		OperationTypeCreateDiskSnapshot,
40486		OperationTypeDeleteDiskSnapshot,
40487		OperationTypeCreateDiskFromSnapshot,
40488		OperationTypeCreateRelationalDatabase,
40489		OperationTypeUpdateRelationalDatabase,
40490		OperationTypeDeleteRelationalDatabase,
40491		OperationTypeCreateRelationalDatabaseFromSnapshot,
40492		OperationTypeCreateRelationalDatabaseSnapshot,
40493		OperationTypeDeleteRelationalDatabaseSnapshot,
40494		OperationTypeUpdateRelationalDatabaseParameters,
40495		OperationTypeStartRelationalDatabase,
40496		OperationTypeRebootRelationalDatabase,
40497		OperationTypeStopRelationalDatabase,
40498		OperationTypeEnableAddOn,
40499		OperationTypeDisableAddOn,
40500		OperationTypePutAlarm,
40501		OperationTypeGetAlarms,
40502		OperationTypeDeleteAlarm,
40503		OperationTypeTestAlarm,
40504		OperationTypeCreateContactMethod,
40505		OperationTypeGetContactMethods,
40506		OperationTypeSendContactMethodVerification,
40507		OperationTypeDeleteContactMethod,
40508		OperationTypeCreateDistribution,
40509		OperationTypeUpdateDistribution,
40510		OperationTypeDeleteDistribution,
40511		OperationTypeResetDistributionCache,
40512		OperationTypeAttachCertificateToDistribution,
40513		OperationTypeDetachCertificateFromDistribution,
40514		OperationTypeUpdateDistributionBundle,
40515		OperationTypeSetIpAddressType,
40516		OperationTypeCreateCertificate,
40517		OperationTypeDeleteCertificate,
40518		OperationTypeCreateContainerService,
40519		OperationTypeUpdateContainerService,
40520		OperationTypeDeleteContainerService,
40521		OperationTypeCreateContainerServiceDeployment,
40522		OperationTypeCreateContainerServiceRegistryLogin,
40523		OperationTypeRegisterContainerImage,
40524		OperationTypeDeleteContainerImage,
40525		OperationTypeCreateBucket,
40526		OperationTypeDeleteBucket,
40527		OperationTypeCreateBucketAccessKey,
40528		OperationTypeDeleteBucketAccessKey,
40529		OperationTypeUpdateBucketBundle,
40530		OperationTypeUpdateBucket,
40531		OperationTypeSetResourceAccessForBucket,
40532	}
40533}
40534
40535const (
40536	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
40537	OriginProtocolPolicyEnumHttpOnly = "http-only"
40538
40539	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
40540	OriginProtocolPolicyEnumHttpsOnly = "https-only"
40541)
40542
40543// OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
40544func OriginProtocolPolicyEnum_Values() []string {
40545	return []string{
40546		OriginProtocolPolicyEnumHttpOnly,
40547		OriginProtocolPolicyEnumHttpsOnly,
40548	}
40549}
40550
40551const (
40552	// PortAccessTypePublic is a PortAccessType enum value
40553	PortAccessTypePublic = "Public"
40554
40555	// PortAccessTypePrivate is a PortAccessType enum value
40556	PortAccessTypePrivate = "Private"
40557)
40558
40559// PortAccessType_Values returns all elements of the PortAccessType enum
40560func PortAccessType_Values() []string {
40561	return []string{
40562		PortAccessTypePublic,
40563		PortAccessTypePrivate,
40564	}
40565}
40566
40567const (
40568	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
40569	PortInfoSourceTypeDefault = "DEFAULT"
40570
40571	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
40572	PortInfoSourceTypeInstance = "INSTANCE"
40573
40574	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
40575	PortInfoSourceTypeNone = "NONE"
40576
40577	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
40578	PortInfoSourceTypeClosed = "CLOSED"
40579)
40580
40581// PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
40582func PortInfoSourceType_Values() []string {
40583	return []string{
40584		PortInfoSourceTypeDefault,
40585		PortInfoSourceTypeInstance,
40586		PortInfoSourceTypeNone,
40587		PortInfoSourceTypeClosed,
40588	}
40589}
40590
40591const (
40592	// PortStateOpen is a PortState enum value
40593	PortStateOpen = "open"
40594
40595	// PortStateClosed is a PortState enum value
40596	PortStateClosed = "closed"
40597)
40598
40599// PortState_Values returns all elements of the PortState enum
40600func PortState_Values() []string {
40601	return []string{
40602		PortStateOpen,
40603		PortStateClosed,
40604	}
40605}
40606
40607const (
40608	// RecordStateStarted is a RecordState enum value
40609	RecordStateStarted = "Started"
40610
40611	// RecordStateSucceeded is a RecordState enum value
40612	RecordStateSucceeded = "Succeeded"
40613
40614	// RecordStateFailed is a RecordState enum value
40615	RecordStateFailed = "Failed"
40616)
40617
40618// RecordState_Values returns all elements of the RecordState enum
40619func RecordState_Values() []string {
40620	return []string{
40621		RecordStateStarted,
40622		RecordStateSucceeded,
40623		RecordStateFailed,
40624	}
40625}
40626
40627const (
40628	// RegionNameUsEast1 is a RegionName enum value
40629	RegionNameUsEast1 = "us-east-1"
40630
40631	// RegionNameUsEast2 is a RegionName enum value
40632	RegionNameUsEast2 = "us-east-2"
40633
40634	// RegionNameUsWest1 is a RegionName enum value
40635	RegionNameUsWest1 = "us-west-1"
40636
40637	// RegionNameUsWest2 is a RegionName enum value
40638	RegionNameUsWest2 = "us-west-2"
40639
40640	// RegionNameEuWest1 is a RegionName enum value
40641	RegionNameEuWest1 = "eu-west-1"
40642
40643	// RegionNameEuWest2 is a RegionName enum value
40644	RegionNameEuWest2 = "eu-west-2"
40645
40646	// RegionNameEuWest3 is a RegionName enum value
40647	RegionNameEuWest3 = "eu-west-3"
40648
40649	// RegionNameEuCentral1 is a RegionName enum value
40650	RegionNameEuCentral1 = "eu-central-1"
40651
40652	// RegionNameCaCentral1 is a RegionName enum value
40653	RegionNameCaCentral1 = "ca-central-1"
40654
40655	// RegionNameApSouth1 is a RegionName enum value
40656	RegionNameApSouth1 = "ap-south-1"
40657
40658	// RegionNameApSoutheast1 is a RegionName enum value
40659	RegionNameApSoutheast1 = "ap-southeast-1"
40660
40661	// RegionNameApSoutheast2 is a RegionName enum value
40662	RegionNameApSoutheast2 = "ap-southeast-2"
40663
40664	// RegionNameApNortheast1 is a RegionName enum value
40665	RegionNameApNortheast1 = "ap-northeast-1"
40666
40667	// RegionNameApNortheast2 is a RegionName enum value
40668	RegionNameApNortheast2 = "ap-northeast-2"
40669
40670	// RegionNameEuNorth1 is a RegionName enum value
40671	RegionNameEuNorth1 = "eu-north-1"
40672)
40673
40674// RegionName_Values returns all elements of the RegionName enum
40675func RegionName_Values() []string {
40676	return []string{
40677		RegionNameUsEast1,
40678		RegionNameUsEast2,
40679		RegionNameUsWest1,
40680		RegionNameUsWest2,
40681		RegionNameEuWest1,
40682		RegionNameEuWest2,
40683		RegionNameEuWest3,
40684		RegionNameEuCentral1,
40685		RegionNameCaCentral1,
40686		RegionNameApSouth1,
40687		RegionNameApSoutheast1,
40688		RegionNameApSoutheast2,
40689		RegionNameApNortheast1,
40690		RegionNameApNortheast2,
40691		RegionNameEuNorth1,
40692	}
40693}
40694
40695const (
40696	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
40697	RelationalDatabaseEngineMysql = "mysql"
40698)
40699
40700// RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
40701func RelationalDatabaseEngine_Values() []string {
40702	return []string{
40703		RelationalDatabaseEngineMysql,
40704	}
40705}
40706
40707const (
40708	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
40709	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
40710
40711	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
40712	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
40713
40714	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
40715	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
40716
40717	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
40718	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
40719
40720	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
40721	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
40722
40723	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
40724	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
40725)
40726
40727// RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
40728func RelationalDatabaseMetricName_Values() []string {
40729	return []string{
40730		RelationalDatabaseMetricNameCpuutilization,
40731		RelationalDatabaseMetricNameDatabaseConnections,
40732		RelationalDatabaseMetricNameDiskQueueDepth,
40733		RelationalDatabaseMetricNameFreeStorageSpace,
40734		RelationalDatabaseMetricNameNetworkReceiveThroughput,
40735		RelationalDatabaseMetricNameNetworkTransmitThroughput,
40736	}
40737}
40738
40739const (
40740	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
40741	RelationalDatabasePasswordVersionCurrent = "CURRENT"
40742
40743	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
40744	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
40745
40746	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
40747	RelationalDatabasePasswordVersionPending = "PENDING"
40748)
40749
40750// RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
40751func RelationalDatabasePasswordVersion_Values() []string {
40752	return []string{
40753		RelationalDatabasePasswordVersionCurrent,
40754		RelationalDatabasePasswordVersionPrevious,
40755		RelationalDatabasePasswordVersionPending,
40756	}
40757}
40758
40759const (
40760	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
40761	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
40762
40763	// RenewalStatusPendingValidation is a RenewalStatus enum value
40764	RenewalStatusPendingValidation = "PendingValidation"
40765
40766	// RenewalStatusSuccess is a RenewalStatus enum value
40767	RenewalStatusSuccess = "Success"
40768
40769	// RenewalStatusFailed is a RenewalStatus enum value
40770	RenewalStatusFailed = "Failed"
40771)
40772
40773// RenewalStatus_Values returns all elements of the RenewalStatus enum
40774func RenewalStatus_Values() []string {
40775	return []string{
40776		RenewalStatusPendingAutoRenewal,
40777		RenewalStatusPendingValidation,
40778		RenewalStatusSuccess,
40779		RenewalStatusFailed,
40780	}
40781}
40782
40783const (
40784	// ResourceBucketAccessAllow is a ResourceBucketAccess enum value
40785	ResourceBucketAccessAllow = "allow"
40786
40787	// ResourceBucketAccessDeny is a ResourceBucketAccess enum value
40788	ResourceBucketAccessDeny = "deny"
40789)
40790
40791// ResourceBucketAccess_Values returns all elements of the ResourceBucketAccess enum
40792func ResourceBucketAccess_Values() []string {
40793	return []string{
40794		ResourceBucketAccessAllow,
40795		ResourceBucketAccessDeny,
40796	}
40797}
40798
40799const (
40800	// ResourceTypeContainerService is a ResourceType enum value
40801	ResourceTypeContainerService = "ContainerService"
40802
40803	// ResourceTypeInstance is a ResourceType enum value
40804	ResourceTypeInstance = "Instance"
40805
40806	// ResourceTypeStaticIp is a ResourceType enum value
40807	ResourceTypeStaticIp = "StaticIp"
40808
40809	// ResourceTypeKeyPair is a ResourceType enum value
40810	ResourceTypeKeyPair = "KeyPair"
40811
40812	// ResourceTypeInstanceSnapshot is a ResourceType enum value
40813	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
40814
40815	// ResourceTypeDomain is a ResourceType enum value
40816	ResourceTypeDomain = "Domain"
40817
40818	// ResourceTypePeeredVpc is a ResourceType enum value
40819	ResourceTypePeeredVpc = "PeeredVpc"
40820
40821	// ResourceTypeLoadBalancer is a ResourceType enum value
40822	ResourceTypeLoadBalancer = "LoadBalancer"
40823
40824	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
40825	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
40826
40827	// ResourceTypeDisk is a ResourceType enum value
40828	ResourceTypeDisk = "Disk"
40829
40830	// ResourceTypeDiskSnapshot is a ResourceType enum value
40831	ResourceTypeDiskSnapshot = "DiskSnapshot"
40832
40833	// ResourceTypeRelationalDatabase is a ResourceType enum value
40834	ResourceTypeRelationalDatabase = "RelationalDatabase"
40835
40836	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
40837	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
40838
40839	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
40840	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
40841
40842	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
40843	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
40844
40845	// ResourceTypeAlarm is a ResourceType enum value
40846	ResourceTypeAlarm = "Alarm"
40847
40848	// ResourceTypeContactMethod is a ResourceType enum value
40849	ResourceTypeContactMethod = "ContactMethod"
40850
40851	// ResourceTypeDistribution is a ResourceType enum value
40852	ResourceTypeDistribution = "Distribution"
40853
40854	// ResourceTypeCertificate is a ResourceType enum value
40855	ResourceTypeCertificate = "Certificate"
40856
40857	// ResourceTypeBucket is a ResourceType enum value
40858	ResourceTypeBucket = "Bucket"
40859)
40860
40861// ResourceType_Values returns all elements of the ResourceType enum
40862func ResourceType_Values() []string {
40863	return []string{
40864		ResourceTypeContainerService,
40865		ResourceTypeInstance,
40866		ResourceTypeStaticIp,
40867		ResourceTypeKeyPair,
40868		ResourceTypeInstanceSnapshot,
40869		ResourceTypeDomain,
40870		ResourceTypePeeredVpc,
40871		ResourceTypeLoadBalancer,
40872		ResourceTypeLoadBalancerTlsCertificate,
40873		ResourceTypeDisk,
40874		ResourceTypeDiskSnapshot,
40875		ResourceTypeRelationalDatabase,
40876		ResourceTypeRelationalDatabaseSnapshot,
40877		ResourceTypeExportSnapshotRecord,
40878		ResourceTypeCloudFormationStackRecord,
40879		ResourceTypeAlarm,
40880		ResourceTypeContactMethod,
40881		ResourceTypeDistribution,
40882		ResourceTypeCertificate,
40883		ResourceTypeBucket,
40884	}
40885}
40886
40887const (
40888	// StatusTypeActive is a StatusType enum value
40889	StatusTypeActive = "Active"
40890
40891	// StatusTypeInactive is a StatusType enum value
40892	StatusTypeInactive = "Inactive"
40893)
40894
40895// StatusType_Values returns all elements of the StatusType enum
40896func StatusType_Values() []string {
40897	return []string{
40898		StatusTypeActive,
40899		StatusTypeInactive,
40900	}
40901}
40902
40903const (
40904	// TreatMissingDataBreaching is a TreatMissingData enum value
40905	TreatMissingDataBreaching = "breaching"
40906
40907	// TreatMissingDataNotBreaching is a TreatMissingData enum value
40908	TreatMissingDataNotBreaching = "notBreaching"
40909
40910	// TreatMissingDataIgnore is a TreatMissingData enum value
40911	TreatMissingDataIgnore = "ignore"
40912
40913	// TreatMissingDataMissing is a TreatMissingData enum value
40914	TreatMissingDataMissing = "missing"
40915)
40916
40917// TreatMissingData_Values returns all elements of the TreatMissingData enum
40918func TreatMissingData_Values() []string {
40919	return []string{
40920		TreatMissingDataBreaching,
40921		TreatMissingDataNotBreaching,
40922		TreatMissingDataIgnore,
40923		TreatMissingDataMissing,
40924	}
40925}
40926