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.
16336//
16337// API parameter values that are decorated as "sensitive" in the API will not
16338// be included in the string output. The member name will be present, but the
16339// value will be replaced with "sensitive".
16340func (s AccessDeniedException) String() string {
16341	return awsutil.Prettify(s)
16342}
16343
16344// GoString returns the string representation.
16345//
16346// API parameter values that are decorated as "sensitive" in the API will not
16347// be included in the string output. The member name will be present, but the
16348// value will be replaced with "sensitive".
16349func (s AccessDeniedException) GoString() string {
16350	return s.String()
16351}
16352
16353func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
16354	return &AccessDeniedException{
16355		RespMetadata: v,
16356	}
16357}
16358
16359// Code returns the exception type name.
16360func (s *AccessDeniedException) Code() string {
16361	return "AccessDeniedException"
16362}
16363
16364// Message returns the exception's message.
16365func (s *AccessDeniedException) Message() string {
16366	if s.Message_ != nil {
16367		return *s.Message_
16368	}
16369	return ""
16370}
16371
16372// OrigErr always returns nil, satisfies awserr.Error interface.
16373func (s *AccessDeniedException) OrigErr() error {
16374	return nil
16375}
16376
16377func (s *AccessDeniedException) Error() string {
16378	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16379}
16380
16381// Status code returns the HTTP status code for the request's response error.
16382func (s *AccessDeniedException) StatusCode() int {
16383	return s.RespMetadata.StatusCode
16384}
16385
16386// RequestID returns the service's response RequestID for request.
16387func (s *AccessDeniedException) RequestID() string {
16388	return s.RespMetadata.RequestID
16389}
16390
16391// Describes an access key for an Amazon Lightsail bucket.
16392//
16393// Access keys grant full programmatic access to the specified bucket and its
16394// objects. You can have a maximum of two access keys per bucket. Use the CreateBucketAccessKey
16395// action to create an access key for a specific bucket. For more information
16396// about access keys, see Creating access keys for a bucket in Amazon Lightsail
16397// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-bucket-access-keys)
16398// in the Amazon Lightsail Developer Guide.
16399//
16400// The secretAccessKey value is returned only in response to the CreateBucketAccessKey
16401// action. You can get a secret access key only when you first create an access
16402// key; you cannot get the secret access key later. If you lose the secret access
16403// key, you must create a new access key.
16404type AccessKey struct {
16405	_ struct{} `type:"structure"`
16406
16407	// The ID of the access key.
16408	//
16409	// AccessKeyId is a sensitive parameter and its value will be
16410	// replaced with "sensitive" in string returned by AccessKey's
16411	// String and GoString methods.
16412	AccessKeyId *string `locationName:"accessKeyId" min:"20" type:"string" sensitive:"true"`
16413
16414	// The timestamp when the access key was created.
16415	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16416
16417	// An object that describes the last time the access key was used.
16418	//
16419	// This object does not include data in the response of a CreateBucketAccessKey
16420	// action. If the access key has not been used, the region and serviceName values
16421	// are N/A, and the lastUsedDate value is null.
16422	LastUsed *AccessKeyLastUsed `locationName:"lastUsed" type:"structure"`
16423
16424	// The secret access key used to sign requests.
16425	//
16426	// You should store the secret access key in a safe location. We recommend that
16427	// you delete the access key if the secret access key is compromised.
16428	SecretAccessKey *string `locationName:"secretAccessKey" type:"string"`
16429
16430	// The status of the access key.
16431	//
16432	// A status of Active means that the key is valid, while Inactive means it is
16433	// not.
16434	Status *string `locationName:"status" type:"string" enum:"StatusType"`
16435}
16436
16437// String returns the string representation.
16438//
16439// API parameter values that are decorated as "sensitive" in the API will not
16440// be included in the string output. The member name will be present, but the
16441// value will be replaced with "sensitive".
16442func (s AccessKey) String() string {
16443	return awsutil.Prettify(s)
16444}
16445
16446// GoString returns the string representation.
16447//
16448// API parameter values that are decorated as "sensitive" in the API will not
16449// be included in the string output. The member name will be present, but the
16450// value will be replaced with "sensitive".
16451func (s AccessKey) GoString() string {
16452	return s.String()
16453}
16454
16455// SetAccessKeyId sets the AccessKeyId field's value.
16456func (s *AccessKey) SetAccessKeyId(v string) *AccessKey {
16457	s.AccessKeyId = &v
16458	return s
16459}
16460
16461// SetCreatedAt sets the CreatedAt field's value.
16462func (s *AccessKey) SetCreatedAt(v time.Time) *AccessKey {
16463	s.CreatedAt = &v
16464	return s
16465}
16466
16467// SetLastUsed sets the LastUsed field's value.
16468func (s *AccessKey) SetLastUsed(v *AccessKeyLastUsed) *AccessKey {
16469	s.LastUsed = v
16470	return s
16471}
16472
16473// SetSecretAccessKey sets the SecretAccessKey field's value.
16474func (s *AccessKey) SetSecretAccessKey(v string) *AccessKey {
16475	s.SecretAccessKey = &v
16476	return s
16477}
16478
16479// SetStatus sets the Status field's value.
16480func (s *AccessKey) SetStatus(v string) *AccessKey {
16481	s.Status = &v
16482	return s
16483}
16484
16485// Describes the last time an access key was used.
16486//
16487// This object does not include data in the response of a CreateBucketAccessKey
16488// action.
16489type AccessKeyLastUsed struct {
16490	_ struct{} `type:"structure"`
16491
16492	// The date and time when the access key was most recently used.
16493	//
16494	// This value is null if the access key has not been used.
16495	LastUsedDate *time.Time `locationName:"lastUsedDate" type:"timestamp"`
16496
16497	// The AWS Region where this access key was most recently used.
16498	//
16499	// This value is N/A if the access key has not been used.
16500	Region *string `locationName:"region" type:"string"`
16501
16502	// The name of the AWS service with which this access key was most recently
16503	// used.
16504	//
16505	// This value is N/A if the access key has not been used.
16506	ServiceName *string `locationName:"serviceName" type:"string"`
16507}
16508
16509// String returns the string representation.
16510//
16511// API parameter values that are decorated as "sensitive" in the API will not
16512// be included in the string output. The member name will be present, but the
16513// value will be replaced with "sensitive".
16514func (s AccessKeyLastUsed) String() string {
16515	return awsutil.Prettify(s)
16516}
16517
16518// GoString returns the string representation.
16519//
16520// API parameter values that are decorated as "sensitive" in the API will not
16521// be included in the string output. The member name will be present, but the
16522// value will be replaced with "sensitive".
16523func (s AccessKeyLastUsed) GoString() string {
16524	return s.String()
16525}
16526
16527// SetLastUsedDate sets the LastUsedDate field's value.
16528func (s *AccessKeyLastUsed) SetLastUsedDate(v time.Time) *AccessKeyLastUsed {
16529	s.LastUsedDate = &v
16530	return s
16531}
16532
16533// SetRegion sets the Region field's value.
16534func (s *AccessKeyLastUsed) SetRegion(v string) *AccessKeyLastUsed {
16535	s.Region = &v
16536	return s
16537}
16538
16539// SetServiceName sets the ServiceName field's value.
16540func (s *AccessKeyLastUsed) SetServiceName(v string) *AccessKeyLastUsed {
16541	s.ServiceName = &v
16542	return s
16543}
16544
16545// Describes the anonymous access permissions for an Amazon Lightsail bucket
16546// and its objects.
16547//
16548// For more information about bucket access permissions, see Understanding bucket
16549// permissions in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-understanding-bucket-permissions)
16550// in the
16551//
16552// Amazon Lightsail Developer Guide.
16553type AccessRules struct {
16554	_ struct{} `type:"structure"`
16555
16556	// A Boolean value that indicates whether the access control list (ACL) permissions
16557	// that are applied to individual objects override the getObject option that
16558	// is currently specified.
16559	//
16560	// When this is true, you can use the PutObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)
16561	// Amazon S3 API action to set individual objects to public (read-only) using
16562	// the public-read ACL, or to private using the private ACL.
16563	AllowPublicOverrides *bool `locationName:"allowPublicOverrides" type:"boolean"`
16564
16565	// Specifies the anonymous access to all objects in a bucket.
16566	//
16567	// The following options can be specified:
16568	//
16569	//    * public - Sets all objects in the bucket to public (read-only), making
16570	//    them readable by anyone in the world. If the getObject value is set to
16571	//    public, then all objects in the bucket default to public regardless of
16572	//    the allowPublicOverrides value.
16573	//
16574	//    * private - Sets all objects in the bucket to private, making them readable
16575	//    only by you or anyone you give access to. If the getObject value is set
16576	//    to private, and the allowPublicOverrides value is set to true, then all
16577	//    objects in the bucket default to private unless they are configured with
16578	//    a public-read ACL. Individual objects with a public-read ACL are readable
16579	//    by anyone in the world.
16580	GetObject *string `locationName:"getObject" type:"string" enum:"AccessType"`
16581}
16582
16583// String returns the string representation.
16584//
16585// API parameter values that are decorated as "sensitive" in the API will not
16586// be included in the string output. The member name will be present, but the
16587// value will be replaced with "sensitive".
16588func (s AccessRules) String() string {
16589	return awsutil.Prettify(s)
16590}
16591
16592// GoString returns the string representation.
16593//
16594// API parameter values that are decorated as "sensitive" in the API will not
16595// be included in the string output. The member name will be present, but the
16596// value will be replaced with "sensitive".
16597func (s AccessRules) GoString() string {
16598	return s.String()
16599}
16600
16601// SetAllowPublicOverrides sets the AllowPublicOverrides field's value.
16602func (s *AccessRules) SetAllowPublicOverrides(v bool) *AccessRules {
16603	s.AllowPublicOverrides = &v
16604	return s
16605}
16606
16607// SetGetObject sets the GetObject field's value.
16608func (s *AccessRules) SetGetObject(v string) *AccessRules {
16609	s.GetObject = &v
16610	return s
16611}
16612
16613// Lightsail throws this exception when an account is still in the setup in
16614// progress state.
16615type AccountSetupInProgressException struct {
16616	_            struct{}                  `type:"structure"`
16617	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16618
16619	Code_ *string `locationName:"code" type:"string"`
16620
16621	Docs *string `locationName:"docs" type:"string"`
16622
16623	Message_ *string `locationName:"message" type:"string"`
16624
16625	Tip *string `locationName:"tip" type:"string"`
16626}
16627
16628// String returns the string representation.
16629//
16630// API parameter values that are decorated as "sensitive" in the API will not
16631// be included in the string output. The member name will be present, but the
16632// value will be replaced with "sensitive".
16633func (s AccountSetupInProgressException) String() string {
16634	return awsutil.Prettify(s)
16635}
16636
16637// GoString returns the string representation.
16638//
16639// API parameter values that are decorated as "sensitive" in the API will not
16640// be included in the string output. The member name will be present, but the
16641// value will be replaced with "sensitive".
16642func (s AccountSetupInProgressException) GoString() string {
16643	return s.String()
16644}
16645
16646func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
16647	return &AccountSetupInProgressException{
16648		RespMetadata: v,
16649	}
16650}
16651
16652// Code returns the exception type name.
16653func (s *AccountSetupInProgressException) Code() string {
16654	return "AccountSetupInProgressException"
16655}
16656
16657// Message returns the exception's message.
16658func (s *AccountSetupInProgressException) Message() string {
16659	if s.Message_ != nil {
16660		return *s.Message_
16661	}
16662	return ""
16663}
16664
16665// OrigErr always returns nil, satisfies awserr.Error interface.
16666func (s *AccountSetupInProgressException) OrigErr() error {
16667	return nil
16668}
16669
16670func (s *AccountSetupInProgressException) Error() string {
16671	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16672}
16673
16674// Status code returns the HTTP status code for the request's response error.
16675func (s *AccountSetupInProgressException) StatusCode() int {
16676	return s.RespMetadata.StatusCode
16677}
16678
16679// RequestID returns the service's response RequestID for request.
16680func (s *AccountSetupInProgressException) RequestID() string {
16681	return s.RespMetadata.RequestID
16682}
16683
16684// Describes an add-on that is enabled for an Amazon Lightsail resource.
16685type AddOn struct {
16686	_ struct{} `type:"structure"`
16687
16688	// The name of the add-on.
16689	Name *string `locationName:"name" type:"string"`
16690
16691	// The next daily time an automatic snapshot will be created.
16692	//
16693	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
16694	//
16695	// The snapshot is automatically created between the time shown and up to 45
16696	// minutes after.
16697	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
16698
16699	// The daily time when an automatic snapshot is created.
16700	//
16701	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
16702	//
16703	// The snapshot is automatically created between the time shown and up to 45
16704	// minutes after.
16705	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
16706
16707	// The status of the add-on.
16708	Status *string `locationName:"status" type:"string"`
16709}
16710
16711// String returns the string representation.
16712//
16713// API parameter values that are decorated as "sensitive" in the API will not
16714// be included in the string output. The member name will be present, but the
16715// value will be replaced with "sensitive".
16716func (s AddOn) String() string {
16717	return awsutil.Prettify(s)
16718}
16719
16720// GoString returns the string representation.
16721//
16722// API parameter values that are decorated as "sensitive" in the API will not
16723// be included in the string output. The member name will be present, but the
16724// value will be replaced with "sensitive".
16725func (s AddOn) GoString() string {
16726	return s.String()
16727}
16728
16729// SetName sets the Name field's value.
16730func (s *AddOn) SetName(v string) *AddOn {
16731	s.Name = &v
16732	return s
16733}
16734
16735// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
16736func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
16737	s.NextSnapshotTimeOfDay = &v
16738	return s
16739}
16740
16741// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
16742func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
16743	s.SnapshotTimeOfDay = &v
16744	return s
16745}
16746
16747// SetStatus sets the Status field's value.
16748func (s *AddOn) SetStatus(v string) *AddOn {
16749	s.Status = &v
16750	return s
16751}
16752
16753// Describes a request to enable, modify, or disable an add-on for an Amazon
16754// Lightsail resource.
16755//
16756// An additional cost may be associated with enabling add-ons. For more information,
16757// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
16758type AddOnRequest struct {
16759	_ struct{} `type:"structure"`
16760
16761	// The add-on type.
16762	//
16763	// AddOnType is a required field
16764	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
16765
16766	// An object that represents additional parameters when enabling or modifying
16767	// the automatic snapshot add-on.
16768	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
16769}
16770
16771// String returns the string representation.
16772//
16773// API parameter values that are decorated as "sensitive" in the API will not
16774// be included in the string output. The member name will be present, but the
16775// value will be replaced with "sensitive".
16776func (s AddOnRequest) String() string {
16777	return awsutil.Prettify(s)
16778}
16779
16780// GoString returns the string representation.
16781//
16782// API parameter values that are decorated as "sensitive" in the API will not
16783// be included in the string output. The member name will be present, but the
16784// value will be replaced with "sensitive".
16785func (s AddOnRequest) GoString() string {
16786	return s.String()
16787}
16788
16789// Validate inspects the fields of the type to determine if they are valid.
16790func (s *AddOnRequest) Validate() error {
16791	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
16792	if s.AddOnType == nil {
16793		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
16794	}
16795
16796	if invalidParams.Len() > 0 {
16797		return invalidParams
16798	}
16799	return nil
16800}
16801
16802// SetAddOnType sets the AddOnType field's value.
16803func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
16804	s.AddOnType = &v
16805	return s
16806}
16807
16808// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
16809func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
16810	s.AutoSnapshotAddOnRequest = v
16811	return s
16812}
16813
16814// Describes an alarm.
16815//
16816// An alarm is a way to monitor your Lightsail resource metrics. For more information,
16817// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
16818type Alarm struct {
16819	_ struct{} `type:"structure"`
16820
16821	// The Amazon Resource Name (ARN) of the alarm.
16822	Arn *string `locationName:"arn" type:"string"`
16823
16824	// The arithmetic operation used when comparing the specified statistic and
16825	// threshold.
16826	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
16827
16828	// The contact protocols for the alarm, such as Email, SMS (text messaging),
16829	// or both.
16830	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
16831
16832	// The timestamp when the alarm was created.
16833	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16834
16835	// The number of data points that must not within the specified threshold to
16836	// trigger the alarm.
16837	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
16838
16839	// The number of periods over which data is compared to the specified threshold.
16840	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
16841
16842	// An object that lists information about the location of the alarm.
16843	Location *ResourceLocation `locationName:"location" type:"structure"`
16844
16845	// The name of the metric associated with the alarm.
16846	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
16847
16848	// An object that lists information about the resource monitored by the alarm.
16849	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
16850
16851	// The name of the alarm.
16852	Name *string `locationName:"name" type:"string"`
16853
16854	// Indicates whether the alarm is enabled.
16855	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
16856
16857	// The alarm states that trigger a notification.
16858	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
16859
16860	// The period, in seconds, over which the statistic is applied.
16861	Period *int64 `locationName:"period" min:"60" type:"integer"`
16862
16863	// The Lightsail resource type (e.g., Alarm).
16864	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16865
16866	// The current state of the alarm.
16867	//
16868	// An alarm has the following possible states:
16869	//
16870	//    * ALARM - The metric is outside of the defined threshold.
16871	//
16872	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
16873	//    or not enough data is available for the metric to determine the alarm
16874	//    state.
16875	//
16876	//    * OK - The metric is within the defined threshold.
16877	State *string `locationName:"state" type:"string" enum:"AlarmState"`
16878
16879	// The statistic for the metric associated with the alarm.
16880	//
16881	// The following statistics are available:
16882	//
16883	//    * Minimum - The lowest value observed during the specified period. Use
16884	//    this value to determine low volumes of activity for your application.
16885	//
16886	//    * Maximum - The highest value observed during the specified period. Use
16887	//    this value to determine high volumes of activity for your application.
16888	//
16889	//    * Sum - All values submitted for the matching metric added together. You
16890	//    can use this statistic to determine the total volume of a metric.
16891	//
16892	//    * Average - The value of Sum / SampleCount during the specified period.
16893	//    By comparing this statistic with the Minimum and Maximum values, you can
16894	//    determine the full scope of a metric and how close the average use is
16895	//    to the Minimum and Maximum values. This comparison helps you to know when
16896	//    to increase or decrease your resources.
16897	//
16898	//    * SampleCount - The count, or number, of data points used for the statistical
16899	//    calculation.
16900	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
16901
16902	// The support code. Include this code in your email to support when you have
16903	// questions about your Lightsail alarm. This code enables our support team
16904	// to look up your Lightsail information more easily.
16905	SupportCode *string `locationName:"supportCode" type:"string"`
16906
16907	// The value against which the specified statistic is compared.
16908	Threshold *float64 `locationName:"threshold" type:"double"`
16909
16910	// Specifies how the alarm handles missing data points.
16911	//
16912	// An alarm can treat missing data in the following ways:
16913	//
16914	//    * breaching - Assume the missing data is not within the threshold. Missing
16915	//    data counts towards the number of times the metric is not within the threshold.
16916	//
16917	//    * notBreaching - Assume the missing data is within the threshold. Missing
16918	//    data does not count towards the number of times the metric is not within
16919	//    the threshold.
16920	//
16921	//    * ignore - Ignore the missing data. Maintains the current alarm state.
16922	//
16923	//    * missing - Missing data is treated as missing.
16924	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
16925
16926	// The unit of the metric associated with the alarm.
16927	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
16928}
16929
16930// String returns the string representation.
16931//
16932// API parameter values that are decorated as "sensitive" in the API will not
16933// be included in the string output. The member name will be present, but the
16934// value will be replaced with "sensitive".
16935func (s Alarm) String() string {
16936	return awsutil.Prettify(s)
16937}
16938
16939// GoString returns the string representation.
16940//
16941// API parameter values that are decorated as "sensitive" in the API will not
16942// be included in the string output. The member name will be present, but the
16943// value will be replaced with "sensitive".
16944func (s Alarm) GoString() string {
16945	return s.String()
16946}
16947
16948// SetArn sets the Arn field's value.
16949func (s *Alarm) SetArn(v string) *Alarm {
16950	s.Arn = &v
16951	return s
16952}
16953
16954// SetComparisonOperator sets the ComparisonOperator field's value.
16955func (s *Alarm) SetComparisonOperator(v string) *Alarm {
16956	s.ComparisonOperator = &v
16957	return s
16958}
16959
16960// SetContactProtocols sets the ContactProtocols field's value.
16961func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
16962	s.ContactProtocols = v
16963	return s
16964}
16965
16966// SetCreatedAt sets the CreatedAt field's value.
16967func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
16968	s.CreatedAt = &v
16969	return s
16970}
16971
16972// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
16973func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
16974	s.DatapointsToAlarm = &v
16975	return s
16976}
16977
16978// SetEvaluationPeriods sets the EvaluationPeriods field's value.
16979func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
16980	s.EvaluationPeriods = &v
16981	return s
16982}
16983
16984// SetLocation sets the Location field's value.
16985func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
16986	s.Location = v
16987	return s
16988}
16989
16990// SetMetricName sets the MetricName field's value.
16991func (s *Alarm) SetMetricName(v string) *Alarm {
16992	s.MetricName = &v
16993	return s
16994}
16995
16996// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
16997func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
16998	s.MonitoredResourceInfo = v
16999	return s
17000}
17001
17002// SetName sets the Name field's value.
17003func (s *Alarm) SetName(v string) *Alarm {
17004	s.Name = &v
17005	return s
17006}
17007
17008// SetNotificationEnabled sets the NotificationEnabled field's value.
17009func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
17010	s.NotificationEnabled = &v
17011	return s
17012}
17013
17014// SetNotificationTriggers sets the NotificationTriggers field's value.
17015func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
17016	s.NotificationTriggers = v
17017	return s
17018}
17019
17020// SetPeriod sets the Period field's value.
17021func (s *Alarm) SetPeriod(v int64) *Alarm {
17022	s.Period = &v
17023	return s
17024}
17025
17026// SetResourceType sets the ResourceType field's value.
17027func (s *Alarm) SetResourceType(v string) *Alarm {
17028	s.ResourceType = &v
17029	return s
17030}
17031
17032// SetState sets the State field's value.
17033func (s *Alarm) SetState(v string) *Alarm {
17034	s.State = &v
17035	return s
17036}
17037
17038// SetStatistic sets the Statistic field's value.
17039func (s *Alarm) SetStatistic(v string) *Alarm {
17040	s.Statistic = &v
17041	return s
17042}
17043
17044// SetSupportCode sets the SupportCode field's value.
17045func (s *Alarm) SetSupportCode(v string) *Alarm {
17046	s.SupportCode = &v
17047	return s
17048}
17049
17050// SetThreshold sets the Threshold field's value.
17051func (s *Alarm) SetThreshold(v float64) *Alarm {
17052	s.Threshold = &v
17053	return s
17054}
17055
17056// SetTreatMissingData sets the TreatMissingData field's value.
17057func (s *Alarm) SetTreatMissingData(v string) *Alarm {
17058	s.TreatMissingData = &v
17059	return s
17060}
17061
17062// SetUnit sets the Unit field's value.
17063func (s *Alarm) SetUnit(v string) *Alarm {
17064	s.Unit = &v
17065	return s
17066}
17067
17068type AllocateStaticIpInput struct {
17069	_ struct{} `type:"structure"`
17070
17071	// The name of the static IP address.
17072	//
17073	// StaticIpName is a required field
17074	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
17075}
17076
17077// String returns the string representation.
17078//
17079// API parameter values that are decorated as "sensitive" in the API will not
17080// be included in the string output. The member name will be present, but the
17081// value will be replaced with "sensitive".
17082func (s AllocateStaticIpInput) String() string {
17083	return awsutil.Prettify(s)
17084}
17085
17086// GoString returns the string representation.
17087//
17088// API parameter values that are decorated as "sensitive" in the API will not
17089// be included in the string output. The member name will be present, but the
17090// value will be replaced with "sensitive".
17091func (s AllocateStaticIpInput) GoString() string {
17092	return s.String()
17093}
17094
17095// Validate inspects the fields of the type to determine if they are valid.
17096func (s *AllocateStaticIpInput) Validate() error {
17097	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
17098	if s.StaticIpName == nil {
17099		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
17100	}
17101
17102	if invalidParams.Len() > 0 {
17103		return invalidParams
17104	}
17105	return nil
17106}
17107
17108// SetStaticIpName sets the StaticIpName field's value.
17109func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
17110	s.StaticIpName = &v
17111	return s
17112}
17113
17114type AllocateStaticIpOutput struct {
17115	_ struct{} `type:"structure"`
17116
17117	// An array of objects that describe the result of the action, such as the status
17118	// of the request, the timestamp of the request, and the resources affected
17119	// by the request.
17120	Operations []*Operation `locationName:"operations" type:"list"`
17121}
17122
17123// String returns the string representation.
17124//
17125// API parameter values that are decorated as "sensitive" in the API will not
17126// be included in the string output. The member name will be present, but the
17127// value will be replaced with "sensitive".
17128func (s AllocateStaticIpOutput) String() string {
17129	return awsutil.Prettify(s)
17130}
17131
17132// GoString returns the string representation.
17133//
17134// API parameter values that are decorated as "sensitive" in the API will not
17135// be included in the string output. The member name will be present, but the
17136// value will be replaced with "sensitive".
17137func (s AllocateStaticIpOutput) GoString() string {
17138	return s.String()
17139}
17140
17141// SetOperations sets the Operations field's value.
17142func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
17143	s.Operations = v
17144	return s
17145}
17146
17147type AttachCertificateToDistributionInput struct {
17148	_ struct{} `type:"structure"`
17149
17150	// The name of the certificate to attach to a distribution.
17151	//
17152	// Only certificates with a status of ISSUED can be attached to a distribution.
17153	//
17154	// Use the GetCertificates action to get a list of certificate names that you
17155	// can specify.
17156	//
17157	// This is the name of the certificate resource type and is used only to reference
17158	// the certificate in other API actions. It can be different than the domain
17159	// name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate
17160	// and the domain name of the certificate might be example.com.
17161	//
17162	// CertificateName is a required field
17163	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
17164
17165	// The name of the distribution that the certificate will be attached to.
17166	//
17167	// Use the GetDistributions action to get a list of distribution names that
17168	// you can specify.
17169	//
17170	// DistributionName is a required field
17171	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
17172}
17173
17174// String returns the string representation.
17175//
17176// API parameter values that are decorated as "sensitive" in the API will not
17177// be included in the string output. The member name will be present, but the
17178// value will be replaced with "sensitive".
17179func (s AttachCertificateToDistributionInput) String() string {
17180	return awsutil.Prettify(s)
17181}
17182
17183// GoString returns the string representation.
17184//
17185// API parameter values that are decorated as "sensitive" in the API will not
17186// be included in the string output. The member name will be present, but the
17187// value will be replaced with "sensitive".
17188func (s AttachCertificateToDistributionInput) GoString() string {
17189	return s.String()
17190}
17191
17192// Validate inspects the fields of the type to determine if they are valid.
17193func (s *AttachCertificateToDistributionInput) Validate() error {
17194	invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"}
17195	if s.CertificateName == nil {
17196		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
17197	}
17198	if s.DistributionName == nil {
17199		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
17200	}
17201
17202	if invalidParams.Len() > 0 {
17203		return invalidParams
17204	}
17205	return nil
17206}
17207
17208// SetCertificateName sets the CertificateName field's value.
17209func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput {
17210	s.CertificateName = &v
17211	return s
17212}
17213
17214// SetDistributionName sets the DistributionName field's value.
17215func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput {
17216	s.DistributionName = &v
17217	return s
17218}
17219
17220type AttachCertificateToDistributionOutput struct {
17221	_ struct{} `type:"structure"`
17222
17223	// An object that describes the result of the action, such as the status of
17224	// the request, the timestamp of the request, and the resources affected by
17225	// the request.
17226	Operation *Operation `locationName:"operation" type:"structure"`
17227}
17228
17229// String returns the string representation.
17230//
17231// API parameter values that are decorated as "sensitive" in the API will not
17232// be included in the string output. The member name will be present, but the
17233// value will be replaced with "sensitive".
17234func (s AttachCertificateToDistributionOutput) String() string {
17235	return awsutil.Prettify(s)
17236}
17237
17238// GoString returns the string representation.
17239//
17240// API parameter values that are decorated as "sensitive" in the API will not
17241// be included in the string output. The member name will be present, but the
17242// value will be replaced with "sensitive".
17243func (s AttachCertificateToDistributionOutput) GoString() string {
17244	return s.String()
17245}
17246
17247// SetOperation sets the Operation field's value.
17248func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput {
17249	s.Operation = v
17250	return s
17251}
17252
17253type AttachDiskInput struct {
17254	_ struct{} `type:"structure"`
17255
17256	// The unique Lightsail disk name (e.g., my-disk).
17257	//
17258	// DiskName is a required field
17259	DiskName *string `locationName:"diskName" type:"string" required:"true"`
17260
17261	// The disk path to expose to the instance (e.g., /dev/xvdf).
17262	//
17263	// DiskPath is a required field
17264	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
17265
17266	// The name of the Lightsail instance where you want to utilize the storage
17267	// disk.
17268	//
17269	// InstanceName is a required field
17270	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17271}
17272
17273// String returns the string representation.
17274//
17275// API parameter values that are decorated as "sensitive" in the API will not
17276// be included in the string output. The member name will be present, but the
17277// value will be replaced with "sensitive".
17278func (s AttachDiskInput) String() string {
17279	return awsutil.Prettify(s)
17280}
17281
17282// GoString returns the string representation.
17283//
17284// API parameter values that are decorated as "sensitive" in the API will not
17285// be included in the string output. The member name will be present, but the
17286// value will be replaced with "sensitive".
17287func (s AttachDiskInput) GoString() string {
17288	return s.String()
17289}
17290
17291// Validate inspects the fields of the type to determine if they are valid.
17292func (s *AttachDiskInput) Validate() error {
17293	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
17294	if s.DiskName == nil {
17295		invalidParams.Add(request.NewErrParamRequired("DiskName"))
17296	}
17297	if s.DiskPath == nil {
17298		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
17299	}
17300	if s.InstanceName == nil {
17301		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17302	}
17303
17304	if invalidParams.Len() > 0 {
17305		return invalidParams
17306	}
17307	return nil
17308}
17309
17310// SetDiskName sets the DiskName field's value.
17311func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
17312	s.DiskName = &v
17313	return s
17314}
17315
17316// SetDiskPath sets the DiskPath field's value.
17317func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
17318	s.DiskPath = &v
17319	return s
17320}
17321
17322// SetInstanceName sets the InstanceName field's value.
17323func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
17324	s.InstanceName = &v
17325	return s
17326}
17327
17328type AttachDiskOutput struct {
17329	_ struct{} `type:"structure"`
17330
17331	// An array of objects that describe the result of the action, such as the status
17332	// of the request, the timestamp of the request, and the resources affected
17333	// by the request.
17334	Operations []*Operation `locationName:"operations" type:"list"`
17335}
17336
17337// String returns the string representation.
17338//
17339// API parameter values that are decorated as "sensitive" in the API will not
17340// be included in the string output. The member name will be present, but the
17341// value will be replaced with "sensitive".
17342func (s AttachDiskOutput) String() string {
17343	return awsutil.Prettify(s)
17344}
17345
17346// GoString returns the string representation.
17347//
17348// API parameter values that are decorated as "sensitive" in the API will not
17349// be included in the string output. The member name will be present, but the
17350// value will be replaced with "sensitive".
17351func (s AttachDiskOutput) GoString() string {
17352	return s.String()
17353}
17354
17355// SetOperations sets the Operations field's value.
17356func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
17357	s.Operations = v
17358	return s
17359}
17360
17361type AttachInstancesToLoadBalancerInput struct {
17362	_ struct{} `type:"structure"`
17363
17364	// An array of strings representing the instance name(s) you want to attach
17365	// to your load balancer.
17366	//
17367	// An instance must be running before you can attach it to your load balancer.
17368	//
17369	// There are no additional limits on the number of instances you can attach
17370	// to your load balancer, aside from the limit of Lightsail instances you can
17371	// create in your account (20).
17372	//
17373	// InstanceNames is a required field
17374	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
17375
17376	// The name of the load balancer.
17377	//
17378	// LoadBalancerName is a required field
17379	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17380}
17381
17382// String returns the string representation.
17383//
17384// API parameter values that are decorated as "sensitive" in the API will not
17385// be included in the string output. The member name will be present, but the
17386// value will be replaced with "sensitive".
17387func (s AttachInstancesToLoadBalancerInput) String() string {
17388	return awsutil.Prettify(s)
17389}
17390
17391// GoString returns the string representation.
17392//
17393// API parameter values that are decorated as "sensitive" in the API will not
17394// be included in the string output. The member name will be present, but the
17395// value will be replaced with "sensitive".
17396func (s AttachInstancesToLoadBalancerInput) GoString() string {
17397	return s.String()
17398}
17399
17400// Validate inspects the fields of the type to determine if they are valid.
17401func (s *AttachInstancesToLoadBalancerInput) Validate() error {
17402	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
17403	if s.InstanceNames == nil {
17404		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
17405	}
17406	if s.LoadBalancerName == nil {
17407		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17408	}
17409
17410	if invalidParams.Len() > 0 {
17411		return invalidParams
17412	}
17413	return nil
17414}
17415
17416// SetInstanceNames sets the InstanceNames field's value.
17417func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
17418	s.InstanceNames = v
17419	return s
17420}
17421
17422// SetLoadBalancerName sets the LoadBalancerName field's value.
17423func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
17424	s.LoadBalancerName = &v
17425	return s
17426}
17427
17428type AttachInstancesToLoadBalancerOutput struct {
17429	_ struct{} `type:"structure"`
17430
17431	// An array of objects that describe the result of the action, such as the status
17432	// of the request, the timestamp of the request, and the resources affected
17433	// by the request.
17434	Operations []*Operation `locationName:"operations" type:"list"`
17435}
17436
17437// String returns the string representation.
17438//
17439// API parameter values that are decorated as "sensitive" in the API will not
17440// be included in the string output. The member name will be present, but the
17441// value will be replaced with "sensitive".
17442func (s AttachInstancesToLoadBalancerOutput) String() string {
17443	return awsutil.Prettify(s)
17444}
17445
17446// GoString returns the string representation.
17447//
17448// API parameter values that are decorated as "sensitive" in the API will not
17449// be included in the string output. The member name will be present, but the
17450// value will be replaced with "sensitive".
17451func (s AttachInstancesToLoadBalancerOutput) GoString() string {
17452	return s.String()
17453}
17454
17455// SetOperations sets the Operations field's value.
17456func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
17457	s.Operations = v
17458	return s
17459}
17460
17461type AttachLoadBalancerTlsCertificateInput struct {
17462	_ struct{} `type:"structure"`
17463
17464	// The name of your SSL/TLS certificate.
17465	//
17466	// CertificateName is a required field
17467	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
17468
17469	// The name of the load balancer to which you want to associate the SSL/TLS
17470	// certificate.
17471	//
17472	// LoadBalancerName is a required field
17473	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17474}
17475
17476// String returns the string representation.
17477//
17478// API parameter values that are decorated as "sensitive" in the API will not
17479// be included in the string output. The member name will be present, but the
17480// value will be replaced with "sensitive".
17481func (s AttachLoadBalancerTlsCertificateInput) String() string {
17482	return awsutil.Prettify(s)
17483}
17484
17485// GoString returns the string representation.
17486//
17487// API parameter values that are decorated as "sensitive" in the API will not
17488// be included in the string output. The member name will be present, but the
17489// value will be replaced with "sensitive".
17490func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
17491	return s.String()
17492}
17493
17494// Validate inspects the fields of the type to determine if they are valid.
17495func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
17496	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
17497	if s.CertificateName == nil {
17498		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
17499	}
17500	if s.LoadBalancerName == nil {
17501		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17502	}
17503
17504	if invalidParams.Len() > 0 {
17505		return invalidParams
17506	}
17507	return nil
17508}
17509
17510// SetCertificateName sets the CertificateName field's value.
17511func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
17512	s.CertificateName = &v
17513	return s
17514}
17515
17516// SetLoadBalancerName sets the LoadBalancerName field's value.
17517func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
17518	s.LoadBalancerName = &v
17519	return s
17520}
17521
17522type AttachLoadBalancerTlsCertificateOutput struct {
17523	_ struct{} `type:"structure"`
17524
17525	// An array of objects that describe the result of the action, such as the status
17526	// of the request, the timestamp of the request, and the resources affected
17527	// by the request.
17528	//
17529	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
17530	// can't get the certificate and use it for another purpose.
17531	Operations []*Operation `locationName:"operations" type:"list"`
17532}
17533
17534// String returns the string representation.
17535//
17536// API parameter values that are decorated as "sensitive" in the API will not
17537// be included in the string output. The member name will be present, but the
17538// value will be replaced with "sensitive".
17539func (s AttachLoadBalancerTlsCertificateOutput) String() string {
17540	return awsutil.Prettify(s)
17541}
17542
17543// GoString returns the string representation.
17544//
17545// API parameter values that are decorated as "sensitive" in the API will not
17546// be included in the string output. The member name will be present, but the
17547// value will be replaced with "sensitive".
17548func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
17549	return s.String()
17550}
17551
17552// SetOperations sets the Operations field's value.
17553func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
17554	s.Operations = v
17555	return s
17556}
17557
17558type AttachStaticIpInput struct {
17559	_ struct{} `type:"structure"`
17560
17561	// The instance name to which you want to attach the static IP address.
17562	//
17563	// InstanceName is a required field
17564	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17565
17566	// The name of the static IP.
17567	//
17568	// StaticIpName is a required field
17569	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
17570}
17571
17572// String returns the string representation.
17573//
17574// API parameter values that are decorated as "sensitive" in the API will not
17575// be included in the string output. The member name will be present, but the
17576// value will be replaced with "sensitive".
17577func (s AttachStaticIpInput) String() string {
17578	return awsutil.Prettify(s)
17579}
17580
17581// GoString returns the string representation.
17582//
17583// API parameter values that are decorated as "sensitive" in the API will not
17584// be included in the string output. The member name will be present, but the
17585// value will be replaced with "sensitive".
17586func (s AttachStaticIpInput) GoString() string {
17587	return s.String()
17588}
17589
17590// Validate inspects the fields of the type to determine if they are valid.
17591func (s *AttachStaticIpInput) Validate() error {
17592	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
17593	if s.InstanceName == nil {
17594		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17595	}
17596	if s.StaticIpName == nil {
17597		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
17598	}
17599
17600	if invalidParams.Len() > 0 {
17601		return invalidParams
17602	}
17603	return nil
17604}
17605
17606// SetInstanceName sets the InstanceName field's value.
17607func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
17608	s.InstanceName = &v
17609	return s
17610}
17611
17612// SetStaticIpName sets the StaticIpName field's value.
17613func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
17614	s.StaticIpName = &v
17615	return s
17616}
17617
17618type AttachStaticIpOutput struct {
17619	_ struct{} `type:"structure"`
17620
17621	// An array of objects that describe the result of the action, such as the status
17622	// of the request, the timestamp of the request, and the resources affected
17623	// by the request.
17624	Operations []*Operation `locationName:"operations" type:"list"`
17625}
17626
17627// String returns the string representation.
17628//
17629// API parameter values that are decorated as "sensitive" in the API will not
17630// be included in the string output. The member name will be present, but the
17631// value will be replaced with "sensitive".
17632func (s AttachStaticIpOutput) String() string {
17633	return awsutil.Prettify(s)
17634}
17635
17636// GoString returns the string representation.
17637//
17638// API parameter values that are decorated as "sensitive" in the API will not
17639// be included in the string output. The member name will be present, but the
17640// value will be replaced with "sensitive".
17641func (s AttachStaticIpOutput) GoString() string {
17642	return s.String()
17643}
17644
17645// SetOperations sets the Operations field's value.
17646func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
17647	s.Operations = v
17648	return s
17649}
17650
17651// Describes a block storage disk that is attached to an instance, and is included
17652// in an automatic snapshot.
17653type AttachedDisk struct {
17654	_ struct{} `type:"structure"`
17655
17656	// The path of the disk (e.g., /dev/xvdf).
17657	Path *string `locationName:"path" type:"string"`
17658
17659	// The size of the disk in GB.
17660	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
17661}
17662
17663// String returns the string representation.
17664//
17665// API parameter values that are decorated as "sensitive" in the API will not
17666// be included in the string output. The member name will be present, but the
17667// value will be replaced with "sensitive".
17668func (s AttachedDisk) String() string {
17669	return awsutil.Prettify(s)
17670}
17671
17672// GoString returns the string representation.
17673//
17674// API parameter values that are decorated as "sensitive" in the API will not
17675// be included in the string output. The member name will be present, but the
17676// value will be replaced with "sensitive".
17677func (s AttachedDisk) GoString() string {
17678	return s.String()
17679}
17680
17681// SetPath sets the Path field's value.
17682func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
17683	s.Path = &v
17684	return s
17685}
17686
17687// SetSizeInGb sets the SizeInGb field's value.
17688func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
17689	s.SizeInGb = &v
17690	return s
17691}
17692
17693// Describes a request to enable or modify the automatic snapshot add-on for
17694// an Amazon Lightsail instance or disk.
17695//
17696// When you modify the automatic snapshot time for a resource, it is typically
17697// effective immediately except under the following conditions:
17698//
17699//    * If an automatic snapshot has been created for the current day, and you
17700//    change the snapshot time to a later time of day, then the new snapshot
17701//    time will be effective the following day. This ensures that two snapshots
17702//    are not created for the current day.
17703//
17704//    * If an automatic snapshot has not yet been created for the current day,
17705//    and you change the snapshot time to an earlier time of day, then the new
17706//    snapshot time will be effective the following day and a snapshot is automatically
17707//    created at the previously set time for the current day. This ensures that
17708//    a snapshot is created for the current day.
17709//
17710//    * If an automatic snapshot has not yet been created for the current day,
17711//    and you change the snapshot time to a time that is within 30 minutes from
17712//    your current time, then the new snapshot time will be effective the following
17713//    day and a snapshot is automatically created at the previously set time
17714//    for the current day. This ensures that a snapshot is created for the current
17715//    day, because 30 minutes is required between your current time and the
17716//    new snapshot time that you specify.
17717//
17718//    * If an automatic snapshot is scheduled to be created within 30 minutes
17719//    from your current time and you change the snapshot time, then the new
17720//    snapshot time will be effective the following day and a snapshot is automatically
17721//    created at the previously set time for the current day. This ensures that
17722//    a snapshot is created for the current day, because 30 minutes is required
17723//    between your current time and the new snapshot time that you specify.
17724type AutoSnapshotAddOnRequest struct {
17725	_ struct{} `type:"structure"`
17726
17727	// The daily time when an automatic snapshot will be created.
17728	//
17729	// Constraints:
17730	//
17731	//    * Must be in HH:00 format, and in an hourly increment.
17732	//
17733	//    * Specified in Coordinated Universal Time (UTC).
17734	//
17735	//    * The snapshot will be automatically created between the time specified
17736	//    and up to 45 minutes after.
17737	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
17738}
17739
17740// String returns the string representation.
17741//
17742// API parameter values that are decorated as "sensitive" in the API will not
17743// be included in the string output. The member name will be present, but the
17744// value will be replaced with "sensitive".
17745func (s AutoSnapshotAddOnRequest) String() string {
17746	return awsutil.Prettify(s)
17747}
17748
17749// GoString returns the string representation.
17750//
17751// API parameter values that are decorated as "sensitive" in the API will not
17752// be included in the string output. The member name will be present, but the
17753// value will be replaced with "sensitive".
17754func (s AutoSnapshotAddOnRequest) GoString() string {
17755	return s.String()
17756}
17757
17758// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
17759func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
17760	s.SnapshotTimeOfDay = &v
17761	return s
17762}
17763
17764// Describes an automatic snapshot.
17765type AutoSnapshotDetails struct {
17766	_ struct{} `type:"structure"`
17767
17768	// The timestamp when the automatic snapshot was created.
17769	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17770
17771	// The date of the automatic snapshot in YYYY-MM-DD format.
17772	Date *string `locationName:"date" type:"string"`
17773
17774	// An array of objects that describe the block storage disks attached to the
17775	// instance when the automatic snapshot was created.
17776	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
17777
17778	// The status of the automatic snapshot.
17779	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
17780}
17781
17782// String returns the string representation.
17783//
17784// API parameter values that are decorated as "sensitive" in the API will not
17785// be included in the string output. The member name will be present, but the
17786// value will be replaced with "sensitive".
17787func (s AutoSnapshotDetails) String() string {
17788	return awsutil.Prettify(s)
17789}
17790
17791// GoString returns the string representation.
17792//
17793// API parameter values that are decorated as "sensitive" in the API will not
17794// be included in the string output. The member name will be present, but the
17795// value will be replaced with "sensitive".
17796func (s AutoSnapshotDetails) GoString() string {
17797	return s.String()
17798}
17799
17800// SetCreatedAt sets the CreatedAt field's value.
17801func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
17802	s.CreatedAt = &v
17803	return s
17804}
17805
17806// SetDate sets the Date field's value.
17807func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
17808	s.Date = &v
17809	return s
17810}
17811
17812// SetFromAttachedDisks sets the FromAttachedDisks field's value.
17813func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
17814	s.FromAttachedDisks = v
17815	return s
17816}
17817
17818// SetStatus sets the Status field's value.
17819func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
17820	s.Status = &v
17821	return s
17822}
17823
17824// Describes an Availability Zone.
17825type AvailabilityZone struct {
17826	_ struct{} `type:"structure"`
17827
17828	// The state of the Availability Zone.
17829	State *string `locationName:"state" type:"string"`
17830
17831	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
17832	ZoneName *string `locationName:"zoneName" type:"string"`
17833}
17834
17835// String returns the string representation.
17836//
17837// API parameter values that are decorated as "sensitive" in the API will not
17838// be included in the string output. The member name will be present, but the
17839// value will be replaced with "sensitive".
17840func (s AvailabilityZone) String() string {
17841	return awsutil.Prettify(s)
17842}
17843
17844// GoString returns the string representation.
17845//
17846// API parameter values that are decorated as "sensitive" in the API will not
17847// be included in the string output. The member name will be present, but the
17848// value will be replaced with "sensitive".
17849func (s AvailabilityZone) GoString() string {
17850	return s.String()
17851}
17852
17853// SetState sets the State field's value.
17854func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
17855	s.State = &v
17856	return s
17857}
17858
17859// SetZoneName sets the ZoneName field's value.
17860func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
17861	s.ZoneName = &v
17862	return s
17863}
17864
17865// Describes a blueprint (a virtual private server image).
17866type Blueprint struct {
17867	_ struct{} `type:"structure"`
17868
17869	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
17870	BlueprintId *string `locationName:"blueprintId" type:"string"`
17871
17872	// The description of the blueprint.
17873	Description *string `locationName:"description" type:"string"`
17874
17875	// The group name of the blueprint (e.g., amazon-linux).
17876	Group *string `locationName:"group" type:"string"`
17877
17878	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
17879	// are listed to support customers with existing instances but are not necessarily
17880	// available for launch of new instances. Blueprints are marked inactive when
17881	// they become outdated due to operating system updates or new application releases.
17882	IsActive *bool `locationName:"isActive" type:"boolean"`
17883
17884	// The end-user license agreement URL for the image or blueprint.
17885	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
17886
17887	// The minimum bundle power required to run this blueprint. For example, you
17888	// need a bundle with a power value of 500 or more to create an instance that
17889	// uses a blueprint with a minimum power value of 500. 0 indicates that the
17890	// blueprint runs on all instance sizes.
17891	MinPower *int64 `locationName:"minPower" type:"integer"`
17892
17893	// The friendly name of the blueprint (e.g., Amazon Linux).
17894	Name *string `locationName:"name" type:"string"`
17895
17896	// The operating system platform (either Linux/Unix-based or Windows Server-based)
17897	// of the blueprint.
17898	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
17899
17900	// The product URL to learn more about the image or blueprint.
17901	ProductUrl *string `locationName:"productUrl" type:"string"`
17902
17903	// The type of the blueprint (e.g., os or app).
17904	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
17905
17906	// The version number of the operating system, application, or stack (e.g.,
17907	// 2016.03.0).
17908	Version *string `locationName:"version" type:"string"`
17909
17910	// The version code.
17911	VersionCode *string `locationName:"versionCode" type:"string"`
17912}
17913
17914// String returns the string representation.
17915//
17916// API parameter values that are decorated as "sensitive" in the API will not
17917// be included in the string output. The member name will be present, but the
17918// value will be replaced with "sensitive".
17919func (s Blueprint) String() string {
17920	return awsutil.Prettify(s)
17921}
17922
17923// GoString returns the string representation.
17924//
17925// API parameter values that are decorated as "sensitive" in the API will not
17926// be included in the string output. The member name will be present, but the
17927// value will be replaced with "sensitive".
17928func (s Blueprint) GoString() string {
17929	return s.String()
17930}
17931
17932// SetBlueprintId sets the BlueprintId field's value.
17933func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
17934	s.BlueprintId = &v
17935	return s
17936}
17937
17938// SetDescription sets the Description field's value.
17939func (s *Blueprint) SetDescription(v string) *Blueprint {
17940	s.Description = &v
17941	return s
17942}
17943
17944// SetGroup sets the Group field's value.
17945func (s *Blueprint) SetGroup(v string) *Blueprint {
17946	s.Group = &v
17947	return s
17948}
17949
17950// SetIsActive sets the IsActive field's value.
17951func (s *Blueprint) SetIsActive(v bool) *Blueprint {
17952	s.IsActive = &v
17953	return s
17954}
17955
17956// SetLicenseUrl sets the LicenseUrl field's value.
17957func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
17958	s.LicenseUrl = &v
17959	return s
17960}
17961
17962// SetMinPower sets the MinPower field's value.
17963func (s *Blueprint) SetMinPower(v int64) *Blueprint {
17964	s.MinPower = &v
17965	return s
17966}
17967
17968// SetName sets the Name field's value.
17969func (s *Blueprint) SetName(v string) *Blueprint {
17970	s.Name = &v
17971	return s
17972}
17973
17974// SetPlatform sets the Platform field's value.
17975func (s *Blueprint) SetPlatform(v string) *Blueprint {
17976	s.Platform = &v
17977	return s
17978}
17979
17980// SetProductUrl sets the ProductUrl field's value.
17981func (s *Blueprint) SetProductUrl(v string) *Blueprint {
17982	s.ProductUrl = &v
17983	return s
17984}
17985
17986// SetType sets the Type field's value.
17987func (s *Blueprint) SetType(v string) *Blueprint {
17988	s.Type = &v
17989	return s
17990}
17991
17992// SetVersion sets the Version field's value.
17993func (s *Blueprint) SetVersion(v string) *Blueprint {
17994	s.Version = &v
17995	return s
17996}
17997
17998// SetVersionCode sets the VersionCode field's value.
17999func (s *Blueprint) SetVersionCode(v string) *Blueprint {
18000	s.VersionCode = &v
18001	return s
18002}
18003
18004// Describes an Amazon Lightsail bucket.
18005type Bucket struct {
18006	_ struct{} `type:"structure"`
18007
18008	// Indicates whether the bundle that is currently applied to a bucket can be
18009	// changed to another bundle.
18010	//
18011	// You can update a bucket's bundle only one time within a monthly AWS billing
18012	// cycle.
18013	//
18014	// Use the UpdateBucketBundle action to change a bucket's bundle.
18015	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
18016
18017	// An object that describes the access rules of the bucket.
18018	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
18019
18020	// The Amazon Resource Name (ARN) of the bucket.
18021	Arn *string `locationName:"arn" type:"string"`
18022
18023	// The ID of the bundle currently applied to the bucket.
18024	//
18025	// A bucket bundle specifies the monthly cost, storage space, and data transfer
18026	// quota for a bucket.
18027	//
18028	// Use the UpdateBucketBundle action to change the bundle of a bucket.
18029	BundleId *string `locationName:"bundleId" type:"string"`
18030
18031	// The timestamp when the distribution was created.
18032	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18033
18034	// Describes the resource location.
18035	Location *ResourceLocation `locationName:"location" type:"structure"`
18036
18037	// The name of the bucket.
18038	Name *string `locationName:"name" min:"3" type:"string"`
18039
18040	// Indicates whether object versioning is enabled for the bucket.
18041	//
18042	// The following options can be configured:
18043	//
18044	//    * Enabled - Object versioning is enabled.
18045	//
18046	//    * Suspended - Object versioning was previously enabled but is currently
18047	//    suspended. Existing object versions are retained.
18048	//
18049	//    * NeverEnabled - Object versioning has never been enabled.
18050	ObjectVersioning *string `locationName:"objectVersioning" type:"string"`
18051
18052	// An array of strings that specify the AWS account IDs that have read-only
18053	// access to the bucket.
18054	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
18055
18056	// The Lightsail resource type of the bucket (for example, Bucket).
18057	ResourceType *string `locationName:"resourceType" type:"string"`
18058
18059	// An array of objects that describe Lightsail instances that have access to
18060	// the bucket.
18061	//
18062	// Use the SetResourceAccessForBucket action to update the instances that have
18063	// access to a bucket.
18064	ResourcesReceivingAccess []*ResourceReceivingAccess `locationName:"resourcesReceivingAccess" type:"list"`
18065
18066	// An object that describes the state of the bucket.
18067	State *BucketState `locationName:"state" type:"structure"`
18068
18069	// The support code for a bucket. Include this code in your email to support
18070	// when you have questions about a Lightsail bucket. This code enables our support
18071	// team to look up your Lightsail information more easily.
18072	SupportCode *string `locationName:"supportCode" type:"string"`
18073
18074	// The tag keys and optional values for the bucket. For more information, see
18075	// Tags in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags)
18076	// in the Amazon Lightsail Developer Guide.
18077	Tags []*Tag `locationName:"tags" type:"list"`
18078
18079	// The URL of the bucket.
18080	Url *string `locationName:"url" type:"string"`
18081}
18082
18083// String returns the string representation.
18084//
18085// API parameter values that are decorated as "sensitive" in the API will not
18086// be included in the string output. The member name will be present, but the
18087// value will be replaced with "sensitive".
18088func (s Bucket) String() string {
18089	return awsutil.Prettify(s)
18090}
18091
18092// GoString returns the string representation.
18093//
18094// API parameter values that are decorated as "sensitive" in the API will not
18095// be included in the string output. The member name will be present, but the
18096// value will be replaced with "sensitive".
18097func (s Bucket) GoString() string {
18098	return s.String()
18099}
18100
18101// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
18102func (s *Bucket) SetAbleToUpdateBundle(v bool) *Bucket {
18103	s.AbleToUpdateBundle = &v
18104	return s
18105}
18106
18107// SetAccessRules sets the AccessRules field's value.
18108func (s *Bucket) SetAccessRules(v *AccessRules) *Bucket {
18109	s.AccessRules = v
18110	return s
18111}
18112
18113// SetArn sets the Arn field's value.
18114func (s *Bucket) SetArn(v string) *Bucket {
18115	s.Arn = &v
18116	return s
18117}
18118
18119// SetBundleId sets the BundleId field's value.
18120func (s *Bucket) SetBundleId(v string) *Bucket {
18121	s.BundleId = &v
18122	return s
18123}
18124
18125// SetCreatedAt sets the CreatedAt field's value.
18126func (s *Bucket) SetCreatedAt(v time.Time) *Bucket {
18127	s.CreatedAt = &v
18128	return s
18129}
18130
18131// SetLocation sets the Location field's value.
18132func (s *Bucket) SetLocation(v *ResourceLocation) *Bucket {
18133	s.Location = v
18134	return s
18135}
18136
18137// SetName sets the Name field's value.
18138func (s *Bucket) SetName(v string) *Bucket {
18139	s.Name = &v
18140	return s
18141}
18142
18143// SetObjectVersioning sets the ObjectVersioning field's value.
18144func (s *Bucket) SetObjectVersioning(v string) *Bucket {
18145	s.ObjectVersioning = &v
18146	return s
18147}
18148
18149// SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
18150func (s *Bucket) SetReadonlyAccessAccounts(v []*string) *Bucket {
18151	s.ReadonlyAccessAccounts = v
18152	return s
18153}
18154
18155// SetResourceType sets the ResourceType field's value.
18156func (s *Bucket) SetResourceType(v string) *Bucket {
18157	s.ResourceType = &v
18158	return s
18159}
18160
18161// SetResourcesReceivingAccess sets the ResourcesReceivingAccess field's value.
18162func (s *Bucket) SetResourcesReceivingAccess(v []*ResourceReceivingAccess) *Bucket {
18163	s.ResourcesReceivingAccess = v
18164	return s
18165}
18166
18167// SetState sets the State field's value.
18168func (s *Bucket) SetState(v *BucketState) *Bucket {
18169	s.State = v
18170	return s
18171}
18172
18173// SetSupportCode sets the SupportCode field's value.
18174func (s *Bucket) SetSupportCode(v string) *Bucket {
18175	s.SupportCode = &v
18176	return s
18177}
18178
18179// SetTags sets the Tags field's value.
18180func (s *Bucket) SetTags(v []*Tag) *Bucket {
18181	s.Tags = v
18182	return s
18183}
18184
18185// SetUrl sets the Url field's value.
18186func (s *Bucket) SetUrl(v string) *Bucket {
18187	s.Url = &v
18188	return s
18189}
18190
18191// Describes the specifications of a bundle that can be applied to an Amazon
18192// Lightsail bucket.
18193//
18194// A bucket bundle specifies the monthly cost, storage space, and data transfer
18195// quota for a bucket.
18196type BucketBundle struct {
18197	_ struct{} `type:"structure"`
18198
18199	// The ID of the bundle.
18200	BundleId *string `locationName:"bundleId" type:"string"`
18201
18202	// Indicates whether the bundle is active. Use for a new or existing bucket.
18203	IsActive *bool `locationName:"isActive" type:"boolean"`
18204
18205	// The name of the bundle.
18206	Name *string `locationName:"name" type:"string"`
18207
18208	// The monthly price of the bundle, in US dollars.
18209	Price *float64 `locationName:"price" type:"float"`
18210
18211	// The storage size of the bundle, in GB.
18212	StoragePerMonthInGb *int64 `locationName:"storagePerMonthInGb" type:"integer"`
18213
18214	// The monthly network transfer quota of the bundle.
18215	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
18216}
18217
18218// String returns the string representation.
18219//
18220// API parameter values that are decorated as "sensitive" in the API will not
18221// be included in the string output. The member name will be present, but the
18222// value will be replaced with "sensitive".
18223func (s BucketBundle) String() string {
18224	return awsutil.Prettify(s)
18225}
18226
18227// GoString returns the string representation.
18228//
18229// API parameter values that are decorated as "sensitive" in the API will not
18230// be included in the string output. The member name will be present, but the
18231// value will be replaced with "sensitive".
18232func (s BucketBundle) GoString() string {
18233	return s.String()
18234}
18235
18236// SetBundleId sets the BundleId field's value.
18237func (s *BucketBundle) SetBundleId(v string) *BucketBundle {
18238	s.BundleId = &v
18239	return s
18240}
18241
18242// SetIsActive sets the IsActive field's value.
18243func (s *BucketBundle) SetIsActive(v bool) *BucketBundle {
18244	s.IsActive = &v
18245	return s
18246}
18247
18248// SetName sets the Name field's value.
18249func (s *BucketBundle) SetName(v string) *BucketBundle {
18250	s.Name = &v
18251	return s
18252}
18253
18254// SetPrice sets the Price field's value.
18255func (s *BucketBundle) SetPrice(v float64) *BucketBundle {
18256	s.Price = &v
18257	return s
18258}
18259
18260// SetStoragePerMonthInGb sets the StoragePerMonthInGb field's value.
18261func (s *BucketBundle) SetStoragePerMonthInGb(v int64) *BucketBundle {
18262	s.StoragePerMonthInGb = &v
18263	return s
18264}
18265
18266// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
18267func (s *BucketBundle) SetTransferPerMonthInGb(v int64) *BucketBundle {
18268	s.TransferPerMonthInGb = &v
18269	return s
18270}
18271
18272// Describes the state of an Amazon Lightsail bucket.
18273type BucketState struct {
18274	_ struct{} `type:"structure"`
18275
18276	// The state code of the bucket.
18277	//
18278	// The following codes are possible:
18279	//
18280	//    * OK - The bucket is in a running state.
18281	//
18282	//    * Unknown - Creation of the bucket might have timed-out. You might want
18283	//    to delete the bucket and create a new one.
18284	Code *string `locationName:"code" type:"string"`
18285
18286	// A message that describes the state of the bucket.
18287	Message *string `locationName:"message" type:"string"`
18288}
18289
18290// String returns the string representation.
18291//
18292// API parameter values that are decorated as "sensitive" in the API will not
18293// be included in the string output. The member name will be present, but the
18294// value will be replaced with "sensitive".
18295func (s BucketState) String() string {
18296	return awsutil.Prettify(s)
18297}
18298
18299// GoString returns the string representation.
18300//
18301// API parameter values that are decorated as "sensitive" in the API will not
18302// be included in the string output. The member name will be present, but the
18303// value will be replaced with "sensitive".
18304func (s BucketState) GoString() string {
18305	return s.String()
18306}
18307
18308// SetCode sets the Code field's value.
18309func (s *BucketState) SetCode(v string) *BucketState {
18310	s.Code = &v
18311	return s
18312}
18313
18314// SetMessage sets the Message field's value.
18315func (s *BucketState) SetMessage(v string) *BucketState {
18316	s.Message = &v
18317	return s
18318}
18319
18320// Describes a bundle, which is a set of specs describing your virtual private
18321// server (or instance).
18322type Bundle struct {
18323	_ struct{} `type:"structure"`
18324
18325	// The bundle ID (e.g., micro_1_0).
18326	BundleId *string `locationName:"bundleId" type:"string"`
18327
18328	// The number of vCPUs included in the bundle (e.g., 2).
18329	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
18330
18331	// The size of the SSD (e.g., 30).
18332	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
18333
18334	// The Amazon EC2 instance type (e.g., t2.micro).
18335	InstanceType *string `locationName:"instanceType" type:"string"`
18336
18337	// A Boolean value indicating whether the bundle is active.
18338	IsActive *bool `locationName:"isActive" type:"boolean"`
18339
18340	// A friendly name for the bundle (e.g., Micro).
18341	Name *string `locationName:"name" type:"string"`
18342
18343	// A numeric value that represents the power of the bundle (e.g., 500). You
18344	// can use the bundle's power value in conjunction with a blueprint's minimum
18345	// power value to determine whether the blueprint will run on the bundle. For
18346	// example, you need a bundle with a power value of 500 or more to create an
18347	// instance that uses a blueprint with a minimum power value of 500.
18348	Power *int64 `locationName:"power" type:"integer"`
18349
18350	// The price in US dollars (e.g., 5.0) of the bundle.
18351	Price *float64 `locationName:"price" type:"float"`
18352
18353	// The amount of RAM in GB (e.g., 2.0).
18354	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
18355
18356	// The operating system platform (Linux/Unix-based or Windows Server-based)
18357	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
18358	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
18359	// bundle.
18360	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
18361
18362	// The data transfer rate per month in GB (e.g., 2000).
18363	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
18364}
18365
18366// String returns the string representation.
18367//
18368// API parameter values that are decorated as "sensitive" in the API will not
18369// be included in the string output. The member name will be present, but the
18370// value will be replaced with "sensitive".
18371func (s Bundle) String() string {
18372	return awsutil.Prettify(s)
18373}
18374
18375// GoString returns the string representation.
18376//
18377// API parameter values that are decorated as "sensitive" in the API will not
18378// be included in the string output. The member name will be present, but the
18379// value will be replaced with "sensitive".
18380func (s Bundle) GoString() string {
18381	return s.String()
18382}
18383
18384// SetBundleId sets the BundleId field's value.
18385func (s *Bundle) SetBundleId(v string) *Bundle {
18386	s.BundleId = &v
18387	return s
18388}
18389
18390// SetCpuCount sets the CpuCount field's value.
18391func (s *Bundle) SetCpuCount(v int64) *Bundle {
18392	s.CpuCount = &v
18393	return s
18394}
18395
18396// SetDiskSizeInGb sets the DiskSizeInGb field's value.
18397func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
18398	s.DiskSizeInGb = &v
18399	return s
18400}
18401
18402// SetInstanceType sets the InstanceType field's value.
18403func (s *Bundle) SetInstanceType(v string) *Bundle {
18404	s.InstanceType = &v
18405	return s
18406}
18407
18408// SetIsActive sets the IsActive field's value.
18409func (s *Bundle) SetIsActive(v bool) *Bundle {
18410	s.IsActive = &v
18411	return s
18412}
18413
18414// SetName sets the Name field's value.
18415func (s *Bundle) SetName(v string) *Bundle {
18416	s.Name = &v
18417	return s
18418}
18419
18420// SetPower sets the Power field's value.
18421func (s *Bundle) SetPower(v int64) *Bundle {
18422	s.Power = &v
18423	return s
18424}
18425
18426// SetPrice sets the Price field's value.
18427func (s *Bundle) SetPrice(v float64) *Bundle {
18428	s.Price = &v
18429	return s
18430}
18431
18432// SetRamSizeInGb sets the RamSizeInGb field's value.
18433func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
18434	s.RamSizeInGb = &v
18435	return s
18436}
18437
18438// SetSupportedPlatforms sets the SupportedPlatforms field's value.
18439func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
18440	s.SupportedPlatforms = v
18441	return s
18442}
18443
18444// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
18445func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
18446	s.TransferPerMonthInGb = &v
18447	return s
18448}
18449
18450// Describes the default cache behavior of an Amazon Lightsail content delivery
18451// network (CDN) distribution.
18452type CacheBehavior struct {
18453	_ struct{} `type:"structure"`
18454
18455	// The cache behavior of the distribution.
18456	//
18457	// The following cache behaviors can be specified:
18458	//
18459	//    * cache - This option is best for static sites. When specified, your distribution
18460	//    caches and serves your entire website as static content. This behavior
18461	//    is ideal for websites with static content that doesn't change depending
18462	//    on who views it, or for websites that don't use cookies, headers, or query
18463	//    strings to personalize content.
18464	//
18465	//    * dont-cache - This option is best for sites that serve a mix of static
18466	//    and dynamic content. When specified, your distribution caches and serve
18467	//    only the content that is specified in the distribution's CacheBehaviorPerPath
18468	//    parameter. This behavior is ideal for websites or web applications that
18469	//    use cookies, headers, and query strings to personalize content for individual
18470	//    users.
18471	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
18472}
18473
18474// String returns the string representation.
18475//
18476// API parameter values that are decorated as "sensitive" in the API will not
18477// be included in the string output. The member name will be present, but the
18478// value will be replaced with "sensitive".
18479func (s CacheBehavior) String() string {
18480	return awsutil.Prettify(s)
18481}
18482
18483// GoString returns the string representation.
18484//
18485// API parameter values that are decorated as "sensitive" in the API will not
18486// be included in the string output. The member name will be present, but the
18487// value will be replaced with "sensitive".
18488func (s CacheBehavior) GoString() string {
18489	return s.String()
18490}
18491
18492// SetBehavior sets the Behavior field's value.
18493func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior {
18494	s.Behavior = &v
18495	return s
18496}
18497
18498// Describes the per-path cache behavior of an Amazon Lightsail content delivery
18499// network (CDN) distribution.
18500//
18501// A per-path cache behavior is used to override, or add an exception to, the
18502// default cache behavior of a distribution. For example, if the cacheBehavior
18503// is set to cache, then a per-path cache behavior can be used to specify a
18504// directory, file, or file type that your distribution will cache. Alternately,
18505// if the distribution's cacheBehavior is dont-cache, then a per-path cache
18506// behavior can be used to specify a directory, file, or file type that your
18507// distribution will not cache.
18508//
18509// if the cacheBehavior's behavior is set to 'cache', then
18510type CacheBehaviorPerPath struct {
18511	_ struct{} `type:"structure"`
18512
18513	// The cache behavior for the specified path.
18514	//
18515	// You can specify one of the following per-path cache behaviors:
18516	//
18517	//    * cache - This behavior caches the specified path.
18518	//
18519	//    * dont-cache - This behavior doesn't cache the specified path.
18520	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
18521
18522	// The path to a directory or file to cached, or not cache. Use an asterisk
18523	// symbol to specify wildcard directories (path/to/assets/*), and file types
18524	// (*.html, *jpg, *js). Directories and file paths are case-sensitive.
18525	//
18526	// Examples:
18527	//
18528	//    * Specify the following to cache all files in the document root of an
18529	//    Apache web server running on a Lightsail instance. var/www/html/
18530	//
18531	//    * Specify the following file to cache only the index page in the document
18532	//    root of an Apache web server. var/www/html/index.html
18533	//
18534	//    * Specify the following to cache only the .html files in the document
18535	//    root of an Apache web server. var/www/html/*.html
18536	//
18537	//    * Specify the following to cache only the .jpg, .png, and .gif files in
18538	//    the images sub-directory of the document root of an Apache web server.
18539	//    var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif
18540	//    Specify the following to cache all files in the images sub-directory of
18541	//    the document root of an Apache web server. var/www/html/images/
18542	Path *string `locationName:"path" type:"string"`
18543}
18544
18545// String returns the string representation.
18546//
18547// API parameter values that are decorated as "sensitive" in the API will not
18548// be included in the string output. The member name will be present, but the
18549// value will be replaced with "sensitive".
18550func (s CacheBehaviorPerPath) String() string {
18551	return awsutil.Prettify(s)
18552}
18553
18554// GoString returns the string representation.
18555//
18556// API parameter values that are decorated as "sensitive" in the API will not
18557// be included in the string output. The member name will be present, but the
18558// value will be replaced with "sensitive".
18559func (s CacheBehaviorPerPath) GoString() string {
18560	return s.String()
18561}
18562
18563// SetBehavior sets the Behavior field's value.
18564func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath {
18565	s.Behavior = &v
18566	return s
18567}
18568
18569// SetPath sets the Path field's value.
18570func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath {
18571	s.Path = &v
18572	return s
18573}
18574
18575// Describes the cache settings of an Amazon Lightsail content delivery network
18576// (CDN) distribution.
18577//
18578// These settings apply only to your distribution's cacheBehaviors (including
18579// the defaultCacheBehavior) that have a behavior of cache.
18580type CacheSettings struct {
18581	_ struct{} `type:"structure"`
18582
18583	// The HTTP methods that are processed and forwarded to the distribution's origin.
18584	//
18585	// You can specify the following options:
18586	//
18587	//    * GET,HEAD - The distribution forwards the GET and HEAD methods.
18588	//
18589	//    * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS
18590	//    methods.
18591	//
18592	//    * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the
18593	//    GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods.
18594	//
18595	// If you specify the third option, you might need to restrict access to your
18596	// distribution's origin so users can't perform operations that you don't want
18597	// them to. For example, you might not want users to have permission to delete
18598	// objects from your origin.
18599	AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"`
18600
18601	// The HTTP method responses that are cached by your distribution.
18602	//
18603	// You can specify the following options:
18604	//
18605	//    * GET,HEAD - The distribution caches responses to the GET and HEAD methods.
18606	//
18607	//    * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD,
18608	//    and OPTIONS methods.
18609	CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"`
18610
18611	// The default amount of time that objects stay in the distribution's cache
18612	// before the distribution forwards another request to the origin to determine
18613	// whether the content has been updated.
18614	//
18615	// The value specified applies only when the origin does not add HTTP headers
18616	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
18617	DefaultTTL *int64 `locationName:"defaultTTL" type:"long"`
18618
18619	// An object that describes the cookies that are forwarded to the origin. Your
18620	// content is cached based on the cookies that are forwarded.
18621	ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"`
18622
18623	// An object that describes the headers that are forwarded to the origin. Your
18624	// content is cached based on the headers that are forwarded.
18625	ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"`
18626
18627	// An object that describes the query strings that are forwarded to the origin.
18628	// Your content is cached based on the query strings that are forwarded.
18629	ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"`
18630
18631	// The maximum amount of time that objects stay in the distribution's cache
18632	// before the distribution forwards another request to the origin to determine
18633	// whether the object has been updated.
18634	//
18635	// The value specified applies only when the origin adds HTTP headers such as
18636	// Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
18637	MaximumTTL *int64 `locationName:"maximumTTL" type:"long"`
18638
18639	// The minimum amount of time that objects stay in the distribution's cache
18640	// before the distribution forwards another request to the origin to determine
18641	// whether the object has been updated.
18642	//
18643	// A value of 0 must be specified for minimumTTL if the distribution is configured
18644	// to forward all headers to the origin.
18645	MinimumTTL *int64 `locationName:"minimumTTL" type:"long"`
18646}
18647
18648// String returns the string representation.
18649//
18650// API parameter values that are decorated as "sensitive" in the API will not
18651// be included in the string output. The member name will be present, but the
18652// value will be replaced with "sensitive".
18653func (s CacheSettings) String() string {
18654	return awsutil.Prettify(s)
18655}
18656
18657// GoString returns the string representation.
18658//
18659// API parameter values that are decorated as "sensitive" in the API will not
18660// be included in the string output. The member name will be present, but the
18661// value will be replaced with "sensitive".
18662func (s CacheSettings) GoString() string {
18663	return s.String()
18664}
18665
18666// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value.
18667func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings {
18668	s.AllowedHTTPMethods = &v
18669	return s
18670}
18671
18672// SetCachedHTTPMethods sets the CachedHTTPMethods field's value.
18673func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings {
18674	s.CachedHTTPMethods = &v
18675	return s
18676}
18677
18678// SetDefaultTTL sets the DefaultTTL field's value.
18679func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings {
18680	s.DefaultTTL = &v
18681	return s
18682}
18683
18684// SetForwardedCookies sets the ForwardedCookies field's value.
18685func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings {
18686	s.ForwardedCookies = v
18687	return s
18688}
18689
18690// SetForwardedHeaders sets the ForwardedHeaders field's value.
18691func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings {
18692	s.ForwardedHeaders = v
18693	return s
18694}
18695
18696// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value.
18697func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings {
18698	s.ForwardedQueryStrings = v
18699	return s
18700}
18701
18702// SetMaximumTTL sets the MaximumTTL field's value.
18703func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings {
18704	s.MaximumTTL = &v
18705	return s
18706}
18707
18708// SetMinimumTTL sets the MinimumTTL field's value.
18709func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings {
18710	s.MinimumTTL = &v
18711	return s
18712}
18713
18714// Describes the full details of an Amazon Lightsail SSL/TLS certificate.
18715//
18716// To get a summary of a certificate, use the GetCertificates action and ommit
18717// includeCertificateDetails from your request. The response will include only
18718// the certificate Amazon Resource Name (ARN), certificate name, domain name,
18719// and tags.
18720type Certificate struct {
18721	_ struct{} `type:"structure"`
18722
18723	// The Amazon Resource Name (ARN) of the certificate.
18724	Arn *string `locationName:"arn" type:"string"`
18725
18726	// The timestamp when the certificate was created.
18727	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18728
18729	// The domain name of the certificate.
18730	DomainName *string `locationName:"domainName" type:"string"`
18731
18732	// An array of objects that describe the domain validation records of the certificate.
18733	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
18734
18735	// The renewal eligibility of the certificate.
18736	EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"`
18737
18738	// The number of Lightsail resources that the certificate is attached to.
18739	InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"`
18740
18741	// The timestamp when the certificate was issued.
18742	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
18743
18744	// The certificate authority that issued the certificate.
18745	IssuerCA *string `locationName:"issuerCA" type:"string"`
18746
18747	// The algorithm used to generate the key pair (the public and private key)
18748	// of the certificate.
18749	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
18750
18751	// The name of the certificate (e.g., my-certificate).
18752	Name *string `locationName:"name" type:"string"`
18753
18754	// The timestamp when the certificate expires.
18755	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
18756
18757	// The timestamp when the certificate is first valid.
18758	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
18759
18760	// An object that describes the status of the certificate renewal managed by
18761	// Lightsail.
18762	RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"`
18763
18764	// The validation failure reason, if any, of the certificate.
18765	//
18766	// The following failure reasons are possible:
18767	//
18768	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
18769	//    is not available for Lightsail certificates.
18770	//
18771	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
18772	//    to process this certificate request. This can happen as a fraud-protection
18773	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
18774	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
18775	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
18776	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
18777	//    elasticbeanstalk.com.
18778	//
18779	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
18780	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
18781	//    To correct the problem, search for your domain name on the VirusTotal
18782	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
18783	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
18784	//    to learn what you can do. If you believe that the result is a false positive,
18785	//    notify the organization that is reporting the domain. VirusTotal is an
18786	//    aggregate of several antivirus and URL scanners and cannot remove your
18787	//    domain from a block list itself. After you correct the problem and the
18788	//    VirusTotal registry has been updated, request a new certificate. If you
18789	//    see this error and your domain is not included in the VirusTotal list,
18790	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
18791	//    and create a case.
18792	//
18793	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
18794	//    request is not valid. Typically, this is because a domain name in the
18795	//    request is not a valid top-level domain. Try to request a certificate
18796	//    again, correcting any spelling errors or typos that were in the failed
18797	//    request, and ensure that all domain names in the request are for valid
18798	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
18799	//    because invalidpublicdomain is not a valid top-level domain.
18800	//
18801	//    * OTHER - Typically, this failure occurs when there is a typographical
18802	//    error in one or more of the domain names in the certificate request. Try
18803	//    to request a certificate again, correcting any spelling errors or typos
18804	//    that were in the failed request.
18805	RequestFailureReason *string `locationName:"requestFailureReason" type:"string"`
18806
18807	// The reason the certificate was revoked. This value is present only when the
18808	// certificate status is REVOKED.
18809	RevocationReason *string `locationName:"revocationReason" type:"string"`
18810
18811	// The timestamp when the certificate was revoked. This value is present only
18812	// when the certificate status is REVOKED.
18813	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
18814
18815	// The serial number of the certificate.
18816	SerialNumber *string `locationName:"serialNumber" type:"string"`
18817
18818	// The validation status of the certificate.
18819	Status *string `locationName:"status" type:"string" enum:"CertificateStatus"`
18820
18821	// An array of strings that specify the alternate domains (e.g., example2.com)
18822	// and subdomains (e.g., blog.example.com) of the certificate.
18823	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
18824
18825	// The support code. Include this code in your email to support when you have
18826	// questions about your Lightsail certificate. This code enables our support
18827	// team to look up your Lightsail information more easily.
18828	SupportCode *string `locationName:"supportCode" type:"string"`
18829
18830	// The tag keys and optional values for the resource. For more information about
18831	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
18832	Tags []*Tag `locationName:"tags" type:"list"`
18833}
18834
18835// String returns the string representation.
18836//
18837// API parameter values that are decorated as "sensitive" in the API will not
18838// be included in the string output. The member name will be present, but the
18839// value will be replaced with "sensitive".
18840func (s Certificate) String() string {
18841	return awsutil.Prettify(s)
18842}
18843
18844// GoString returns the string representation.
18845//
18846// API parameter values that are decorated as "sensitive" in the API will not
18847// be included in the string output. The member name will be present, but the
18848// value will be replaced with "sensitive".
18849func (s Certificate) GoString() string {
18850	return s.String()
18851}
18852
18853// SetArn sets the Arn field's value.
18854func (s *Certificate) SetArn(v string) *Certificate {
18855	s.Arn = &v
18856	return s
18857}
18858
18859// SetCreatedAt sets the CreatedAt field's value.
18860func (s *Certificate) SetCreatedAt(v time.Time) *Certificate {
18861	s.CreatedAt = &v
18862	return s
18863}
18864
18865// SetDomainName sets the DomainName field's value.
18866func (s *Certificate) SetDomainName(v string) *Certificate {
18867	s.DomainName = &v
18868	return s
18869}
18870
18871// SetDomainValidationRecords sets the DomainValidationRecords field's value.
18872func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate {
18873	s.DomainValidationRecords = v
18874	return s
18875}
18876
18877// SetEligibleToRenew sets the EligibleToRenew field's value.
18878func (s *Certificate) SetEligibleToRenew(v string) *Certificate {
18879	s.EligibleToRenew = &v
18880	return s
18881}
18882
18883// SetInUseResourceCount sets the InUseResourceCount field's value.
18884func (s *Certificate) SetInUseResourceCount(v int64) *Certificate {
18885	s.InUseResourceCount = &v
18886	return s
18887}
18888
18889// SetIssuedAt sets the IssuedAt field's value.
18890func (s *Certificate) SetIssuedAt(v time.Time) *Certificate {
18891	s.IssuedAt = &v
18892	return s
18893}
18894
18895// SetIssuerCA sets the IssuerCA field's value.
18896func (s *Certificate) SetIssuerCA(v string) *Certificate {
18897	s.IssuerCA = &v
18898	return s
18899}
18900
18901// SetKeyAlgorithm sets the KeyAlgorithm field's value.
18902func (s *Certificate) SetKeyAlgorithm(v string) *Certificate {
18903	s.KeyAlgorithm = &v
18904	return s
18905}
18906
18907// SetName sets the Name field's value.
18908func (s *Certificate) SetName(v string) *Certificate {
18909	s.Name = &v
18910	return s
18911}
18912
18913// SetNotAfter sets the NotAfter field's value.
18914func (s *Certificate) SetNotAfter(v time.Time) *Certificate {
18915	s.NotAfter = &v
18916	return s
18917}
18918
18919// SetNotBefore sets the NotBefore field's value.
18920func (s *Certificate) SetNotBefore(v time.Time) *Certificate {
18921	s.NotBefore = &v
18922	return s
18923}
18924
18925// SetRenewalSummary sets the RenewalSummary field's value.
18926func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate {
18927	s.RenewalSummary = v
18928	return s
18929}
18930
18931// SetRequestFailureReason sets the RequestFailureReason field's value.
18932func (s *Certificate) SetRequestFailureReason(v string) *Certificate {
18933	s.RequestFailureReason = &v
18934	return s
18935}
18936
18937// SetRevocationReason sets the RevocationReason field's value.
18938func (s *Certificate) SetRevocationReason(v string) *Certificate {
18939	s.RevocationReason = &v
18940	return s
18941}
18942
18943// SetRevokedAt sets the RevokedAt field's value.
18944func (s *Certificate) SetRevokedAt(v time.Time) *Certificate {
18945	s.RevokedAt = &v
18946	return s
18947}
18948
18949// SetSerialNumber sets the SerialNumber field's value.
18950func (s *Certificate) SetSerialNumber(v string) *Certificate {
18951	s.SerialNumber = &v
18952	return s
18953}
18954
18955// SetStatus sets the Status field's value.
18956func (s *Certificate) SetStatus(v string) *Certificate {
18957	s.Status = &v
18958	return s
18959}
18960
18961// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
18962func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate {
18963	s.SubjectAlternativeNames = v
18964	return s
18965}
18966
18967// SetSupportCode sets the SupportCode field's value.
18968func (s *Certificate) SetSupportCode(v string) *Certificate {
18969	s.SupportCode = &v
18970	return s
18971}
18972
18973// SetTags sets the Tags field's value.
18974func (s *Certificate) SetTags(v []*Tag) *Certificate {
18975	s.Tags = v
18976	return s
18977}
18978
18979// Describes an Amazon Lightsail SSL/TLS certificate.
18980type CertificateSummary struct {
18981	_ struct{} `type:"structure"`
18982
18983	// The Amazon Resource Name (ARN) of the certificate.
18984	CertificateArn *string `locationName:"certificateArn" type:"string"`
18985
18986	// An object that describes a certificate in detail.
18987	CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"`
18988
18989	// The name of the certificate.
18990	CertificateName *string `locationName:"certificateName" type:"string"`
18991
18992	// The domain name of the certificate.
18993	DomainName *string `locationName:"domainName" type:"string"`
18994
18995	// The tag keys and optional values for the resource. For more information about
18996	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
18997	Tags []*Tag `locationName:"tags" type:"list"`
18998}
18999
19000// String returns the string representation.
19001//
19002// API parameter values that are decorated as "sensitive" in the API will not
19003// be included in the string output. The member name will be present, but the
19004// value will be replaced with "sensitive".
19005func (s CertificateSummary) String() string {
19006	return awsutil.Prettify(s)
19007}
19008
19009// GoString returns the string representation.
19010//
19011// API parameter values that are decorated as "sensitive" in the API will not
19012// be included in the string output. The member name will be present, but the
19013// value will be replaced with "sensitive".
19014func (s CertificateSummary) GoString() string {
19015	return s.String()
19016}
19017
19018// SetCertificateArn sets the CertificateArn field's value.
19019func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary {
19020	s.CertificateArn = &v
19021	return s
19022}
19023
19024// SetCertificateDetail sets the CertificateDetail field's value.
19025func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary {
19026	s.CertificateDetail = v
19027	return s
19028}
19029
19030// SetCertificateName sets the CertificateName field's value.
19031func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary {
19032	s.CertificateName = &v
19033	return s
19034}
19035
19036// SetDomainName sets the DomainName field's value.
19037func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary {
19038	s.DomainName = &v
19039	return s
19040}
19041
19042// SetTags sets the Tags field's value.
19043func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary {
19044	s.Tags = v
19045	return s
19046}
19047
19048type CloseInstancePublicPortsInput struct {
19049	_ struct{} `type:"structure"`
19050
19051	// The name of the instance for which to close ports.
19052	//
19053	// InstanceName is a required field
19054	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19055
19056	// An object to describe the ports to close for the specified instance.
19057	//
19058	// PortInfo is a required field
19059	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
19060}
19061
19062// String returns the string representation.
19063//
19064// API parameter values that are decorated as "sensitive" in the API will not
19065// be included in the string output. The member name will be present, but the
19066// value will be replaced with "sensitive".
19067func (s CloseInstancePublicPortsInput) String() string {
19068	return awsutil.Prettify(s)
19069}
19070
19071// GoString returns the string representation.
19072//
19073// API parameter values that are decorated as "sensitive" in the API will not
19074// be included in the string output. The member name will be present, but the
19075// value will be replaced with "sensitive".
19076func (s CloseInstancePublicPortsInput) GoString() string {
19077	return s.String()
19078}
19079
19080// Validate inspects the fields of the type to determine if they are valid.
19081func (s *CloseInstancePublicPortsInput) Validate() error {
19082	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
19083	if s.InstanceName == nil {
19084		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19085	}
19086	if s.PortInfo == nil {
19087		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
19088	}
19089	if s.PortInfo != nil {
19090		if err := s.PortInfo.Validate(); err != nil {
19091			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
19092		}
19093	}
19094
19095	if invalidParams.Len() > 0 {
19096		return invalidParams
19097	}
19098	return nil
19099}
19100
19101// SetInstanceName sets the InstanceName field's value.
19102func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
19103	s.InstanceName = &v
19104	return s
19105}
19106
19107// SetPortInfo sets the PortInfo field's value.
19108func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
19109	s.PortInfo = v
19110	return s
19111}
19112
19113type CloseInstancePublicPortsOutput struct {
19114	_ struct{} `type:"structure"`
19115
19116	// An object that describes the result of the action, such as the status of
19117	// the request, the timestamp of the request, and the resources affected by
19118	// the request.
19119	Operation *Operation `locationName:"operation" type:"structure"`
19120}
19121
19122// String returns the string representation.
19123//
19124// API parameter values that are decorated as "sensitive" in the API will not
19125// be included in the string output. The member name will be present, but the
19126// value will be replaced with "sensitive".
19127func (s CloseInstancePublicPortsOutput) String() string {
19128	return awsutil.Prettify(s)
19129}
19130
19131// GoString returns the string representation.
19132//
19133// API parameter values that are decorated as "sensitive" in the API will not
19134// be included in the string output. The member name will be present, but the
19135// value will be replaced with "sensitive".
19136func (s CloseInstancePublicPortsOutput) GoString() string {
19137	return s.String()
19138}
19139
19140// SetOperation sets the Operation field's value.
19141func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
19142	s.Operation = v
19143	return s
19144}
19145
19146// Describes a CloudFormation stack record created as a result of the create
19147// cloud formation stack action.
19148//
19149// A CloudFormation stack record provides information about the AWS CloudFormation
19150// stack used to create a new Amazon Elastic Compute Cloud instance from an
19151// exported Lightsail instance snapshot.
19152type CloudFormationStackRecord struct {
19153	_ struct{} `type:"structure"`
19154
19155	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
19156	Arn *string `locationName:"arn" type:"string"`
19157
19158	// The date when the CloudFormation stack record was created.
19159	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19160
19161	// A list of objects describing the destination service, which is AWS CloudFormation,
19162	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
19163	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
19164
19165	// A list of objects describing the Availability Zone and AWS Region of the
19166	// CloudFormation stack record.
19167	Location *ResourceLocation `locationName:"location" type:"structure"`
19168
19169	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
19170	// followed by a GUID.
19171	Name *string `locationName:"name" type:"string"`
19172
19173	// The Lightsail resource type (e.g., CloudFormationStackRecord).
19174	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19175
19176	// A list of objects describing the source of the CloudFormation stack record.
19177	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
19178
19179	// The current state of the CloudFormation stack record.
19180	State *string `locationName:"state" type:"string" enum:"RecordState"`
19181}
19182
19183// String returns the string representation.
19184//
19185// API parameter values that are decorated as "sensitive" in the API will not
19186// be included in the string output. The member name will be present, but the
19187// value will be replaced with "sensitive".
19188func (s CloudFormationStackRecord) String() string {
19189	return awsutil.Prettify(s)
19190}
19191
19192// GoString returns the string representation.
19193//
19194// API parameter values that are decorated as "sensitive" in the API will not
19195// be included in the string output. The member name will be present, but the
19196// value will be replaced with "sensitive".
19197func (s CloudFormationStackRecord) GoString() string {
19198	return s.String()
19199}
19200
19201// SetArn sets the Arn field's value.
19202func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
19203	s.Arn = &v
19204	return s
19205}
19206
19207// SetCreatedAt sets the CreatedAt field's value.
19208func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
19209	s.CreatedAt = &v
19210	return s
19211}
19212
19213// SetDestinationInfo sets the DestinationInfo field's value.
19214func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
19215	s.DestinationInfo = v
19216	return s
19217}
19218
19219// SetLocation sets the Location field's value.
19220func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
19221	s.Location = v
19222	return s
19223}
19224
19225// SetName sets the Name field's value.
19226func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
19227	s.Name = &v
19228	return s
19229}
19230
19231// SetResourceType sets the ResourceType field's value.
19232func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
19233	s.ResourceType = &v
19234	return s
19235}
19236
19237// SetSourceInfo sets the SourceInfo field's value.
19238func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
19239	s.SourceInfo = v
19240	return s
19241}
19242
19243// SetState sets the State field's value.
19244func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
19245	s.State = &v
19246	return s
19247}
19248
19249// Describes the source of a CloudFormation stack record (i.e., the export snapshot
19250// record).
19251type CloudFormationStackRecordSourceInfo struct {
19252	_ struct{} `type:"structure"`
19253
19254	// The Amazon Resource Name (ARN) of the export snapshot record.
19255	Arn *string `locationName:"arn" type:"string"`
19256
19257	// The name of the record.
19258	Name *string `locationName:"name" type:"string"`
19259
19260	// The Lightsail resource type (e.g., ExportSnapshotRecord).
19261	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
19262}
19263
19264// String returns the string representation.
19265//
19266// API parameter values that are decorated as "sensitive" in the API will not
19267// be included in the string output. The member name will be present, but the
19268// value will be replaced with "sensitive".
19269func (s CloudFormationStackRecordSourceInfo) String() string {
19270	return awsutil.Prettify(s)
19271}
19272
19273// GoString returns the string representation.
19274//
19275// API parameter values that are decorated as "sensitive" in the API will not
19276// be included in the string output. The member name will be present, but the
19277// value will be replaced with "sensitive".
19278func (s CloudFormationStackRecordSourceInfo) GoString() string {
19279	return s.String()
19280}
19281
19282// SetArn sets the Arn field's value.
19283func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
19284	s.Arn = &v
19285	return s
19286}
19287
19288// SetName sets the Name field's value.
19289func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
19290	s.Name = &v
19291	return s
19292}
19293
19294// SetResourceType sets the ResourceType field's value.
19295func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
19296	s.ResourceType = &v
19297	return s
19298}
19299
19300// Describes a contact method.
19301//
19302// A contact method is a way to send you notifications. For more information,
19303// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
19304type ContactMethod struct {
19305	_ struct{} `type:"structure"`
19306
19307	// The Amazon Resource Name (ARN) of the contact method.
19308	Arn *string `locationName:"arn" type:"string"`
19309
19310	// The destination of the contact method, such as an email address or a mobile
19311	// phone number.
19312	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
19313
19314	// The timestamp when the contact method was created.
19315	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19316
19317	// Describes the resource location.
19318	Location *ResourceLocation `locationName:"location" type:"structure"`
19319
19320	// The name of the contact method.
19321	Name *string `locationName:"name" type:"string"`
19322
19323	// The protocol of the contact method, such as email or SMS (text messaging).
19324	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
19325
19326	// The Lightsail resource type (e.g., ContactMethod).
19327	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19328
19329	// The current status of the contact method.
19330	//
19331	// A contact method has the following possible status:
19332	//
19333	//    * PendingVerification - The contact method has not yet been verified,
19334	//    and the verification has not yet expired.
19335	//
19336	//    * Valid - The contact method has been verified.
19337	//
19338	//    * InValid - An attempt was made to verify the contact method, but the
19339	//    verification has expired.
19340	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
19341
19342	// The support code. Include this code in your email to support when you have
19343	// questions about your Lightsail contact method. This code enables our support
19344	// team to look up your Lightsail information more easily.
19345	SupportCode *string `locationName:"supportCode" type:"string"`
19346}
19347
19348// String returns the string representation.
19349//
19350// API parameter values that are decorated as "sensitive" in the API will not
19351// be included in the string output. The member name will be present, but the
19352// value will be replaced with "sensitive".
19353func (s ContactMethod) String() string {
19354	return awsutil.Prettify(s)
19355}
19356
19357// GoString returns the string representation.
19358//
19359// API parameter values that are decorated as "sensitive" in the API will not
19360// be included in the string output. The member name will be present, but the
19361// value will be replaced with "sensitive".
19362func (s ContactMethod) GoString() string {
19363	return s.String()
19364}
19365
19366// SetArn sets the Arn field's value.
19367func (s *ContactMethod) SetArn(v string) *ContactMethod {
19368	s.Arn = &v
19369	return s
19370}
19371
19372// SetContactEndpoint sets the ContactEndpoint field's value.
19373func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
19374	s.ContactEndpoint = &v
19375	return s
19376}
19377
19378// SetCreatedAt sets the CreatedAt field's value.
19379func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
19380	s.CreatedAt = &v
19381	return s
19382}
19383
19384// SetLocation sets the Location field's value.
19385func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
19386	s.Location = v
19387	return s
19388}
19389
19390// SetName sets the Name field's value.
19391func (s *ContactMethod) SetName(v string) *ContactMethod {
19392	s.Name = &v
19393	return s
19394}
19395
19396// SetProtocol sets the Protocol field's value.
19397func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
19398	s.Protocol = &v
19399	return s
19400}
19401
19402// SetResourceType sets the ResourceType field's value.
19403func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
19404	s.ResourceType = &v
19405	return s
19406}
19407
19408// SetStatus sets the Status field's value.
19409func (s *ContactMethod) SetStatus(v string) *ContactMethod {
19410	s.Status = &v
19411	return s
19412}
19413
19414// SetSupportCode sets the SupportCode field's value.
19415func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
19416	s.SupportCode = &v
19417	return s
19418}
19419
19420// Describes the settings of a container that will be launched, or that is launched,
19421// to an Amazon Lightsail container service.
19422type Container struct {
19423	_ struct{} `type:"structure"`
19424
19425	// The launch command for the container.
19426	Command []*string `locationName:"command" type:"list"`
19427
19428	// The environment variables of the container.
19429	Environment map[string]*string `locationName:"environment" type:"map"`
19430
19431	// The name of the image used for the container.
19432	//
19433	// Container images sourced from your Lightsail container service, that are
19434	// registered and stored on your service, start with a colon (:). For example,
19435	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
19436	// registry like Docker Hub don't start with a colon. For example, nginx:latest
19437	// or nginx.
19438	Image *string `locationName:"image" type:"string"`
19439
19440	// The open firewall ports of the container.
19441	Ports map[string]*string `locationName:"ports" type:"map"`
19442}
19443
19444// String returns the string representation.
19445//
19446// API parameter values that are decorated as "sensitive" in the API will not
19447// be included in the string output. The member name will be present, but the
19448// value will be replaced with "sensitive".
19449func (s Container) String() string {
19450	return awsutil.Prettify(s)
19451}
19452
19453// GoString returns the string representation.
19454//
19455// API parameter values that are decorated as "sensitive" in the API will not
19456// be included in the string output. The member name will be present, but the
19457// value will be replaced with "sensitive".
19458func (s Container) GoString() string {
19459	return s.String()
19460}
19461
19462// SetCommand sets the Command field's value.
19463func (s *Container) SetCommand(v []*string) *Container {
19464	s.Command = v
19465	return s
19466}
19467
19468// SetEnvironment sets the Environment field's value.
19469func (s *Container) SetEnvironment(v map[string]*string) *Container {
19470	s.Environment = v
19471	return s
19472}
19473
19474// SetImage sets the Image field's value.
19475func (s *Container) SetImage(v string) *Container {
19476	s.Image = &v
19477	return s
19478}
19479
19480// SetPorts sets the Ports field's value.
19481func (s *Container) SetPorts(v map[string]*string) *Container {
19482	s.Ports = v
19483	return s
19484}
19485
19486// Describes a container image that is registered to an Amazon Lightsail container
19487// service.
19488type ContainerImage struct {
19489	_ struct{} `type:"structure"`
19490
19491	// The timestamp when the container image was created.
19492	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19493
19494	// The digest of the container image.
19495	Digest *string `locationName:"digest" type:"string"`
19496
19497	// The name of the container image.
19498	Image *string `locationName:"image" type:"string"`
19499}
19500
19501// String returns the string representation.
19502//
19503// API parameter values that are decorated as "sensitive" in the API will not
19504// be included in the string output. The member name will be present, but the
19505// value will be replaced with "sensitive".
19506func (s ContainerImage) String() string {
19507	return awsutil.Prettify(s)
19508}
19509
19510// GoString returns the string representation.
19511//
19512// API parameter values that are decorated as "sensitive" in the API will not
19513// be included in the string output. The member name will be present, but the
19514// value will be replaced with "sensitive".
19515func (s ContainerImage) GoString() string {
19516	return s.String()
19517}
19518
19519// SetCreatedAt sets the CreatedAt field's value.
19520func (s *ContainerImage) SetCreatedAt(v time.Time) *ContainerImage {
19521	s.CreatedAt = &v
19522	return s
19523}
19524
19525// SetDigest sets the Digest field's value.
19526func (s *ContainerImage) SetDigest(v string) *ContainerImage {
19527	s.Digest = &v
19528	return s
19529}
19530
19531// SetImage sets the Image field's value.
19532func (s *ContainerImage) SetImage(v string) *ContainerImage {
19533	s.Image = &v
19534	return s
19535}
19536
19537// Describes an Amazon Lightsail container service.
19538type ContainerService struct {
19539	_ struct{} `type:"structure"`
19540
19541	// The Amazon Resource Name (ARN) of the container service.
19542	Arn *string `locationName:"arn" type:"string"`
19543
19544	// The name of the container service.
19545	ContainerServiceName *string `locationName:"containerServiceName" min:"1" type:"string"`
19546
19547	// The timestamp when the container service was created.
19548	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19549
19550	// An object that describes the current container deployment of the container
19551	// service.
19552	CurrentDeployment *ContainerServiceDeployment `locationName:"currentDeployment" type:"structure"`
19553
19554	// A Boolean value indicating whether the container service is disabled.
19555	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
19556
19557	// An object that describes the location of the container service, such as the
19558	// AWS Region and Availability Zone.
19559	Location *ResourceLocation `locationName:"location" type:"structure"`
19560
19561	// An object that describes the next deployment of the container service.
19562	//
19563	// This value is null when there is no deployment in a pending state.
19564	NextDeployment *ContainerServiceDeployment `locationName:"nextDeployment" type:"structure"`
19565
19566	// The power specification of the container service.
19567	//
19568	// The power specifies the amount of RAM, the number of vCPUs, and the base
19569	// price of the container service.
19570	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
19571
19572	// The ID of the power of the container service.
19573	PowerId *string `locationName:"powerId" type:"string"`
19574
19575	// The principal ARN of the container service.
19576	//
19577	// The principal ARN can be used to create a trust relationship between your
19578	// standard AWS account and your Lightsail container service. This allows you
19579	// to give your service permission to access resources in your standard AWS
19580	// account.
19581	PrincipalArn *string `locationName:"principalArn" type:"string"`
19582
19583	// The private domain name of the container service.
19584	//
19585	// The private domain name is accessible only by other resources within the
19586	// default virtual private cloud (VPC) of your Lightsail account.
19587	PrivateDomainName *string `locationName:"privateDomainName" type:"string"`
19588
19589	// The public domain name of the container service, such as example.com and
19590	// www.example.com.
19591	//
19592	// You can specify up to four public domain names for a container service. The
19593	// domain names that you specify are used when you create a deployment with
19594	// a container configured as the public endpoint of your container service.
19595	//
19596	// If you don't specify public domain names, then you can use the default domain
19597	// of the container service.
19598	//
19599	// You must create and validate an SSL/TLS certificate before you can use public
19600	// domain names with your container service. Use the CreateCertificate action
19601	// to create a certificate for the public domain names you want to use with
19602	// your container service.
19603	//
19604	// See CreateContainerService or UpdateContainerService for information about
19605	// how to specify public domain names for your Lightsail container service.
19606	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
19607
19608	// The Lightsail resource type of the container service (i.e., ContainerService).
19609	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
19610
19611	// The scale specification of the container service.
19612	//
19613	// The scale specifies the allocated compute nodes of the container service.
19614	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
19615
19616	// The current state of the container service.
19617	//
19618	// The following container service states are possible:
19619	//
19620	//    * PENDING - The container service is being created.
19621	//
19622	//    * READY - The container service is running but it does not have an active
19623	//    container deployment.
19624	//
19625	//    * DEPLOYING - The container service is launching a container deployment.
19626	//
19627	//    * RUNNING - The container service is running and it has an active container
19628	//    deployment.
19629	//
19630	//    * UPDATING - The container service capacity or its custom domains are
19631	//    being updated.
19632	//
19633	//    * DELETING - The container service is being deleted.
19634	//
19635	//    * DISABLED - The container service is disabled, and its active deployment
19636	//    and containers, if any, are shut down.
19637	State *string `locationName:"state" type:"string" enum:"ContainerServiceState"`
19638
19639	// An object that describes the current state of the container service.
19640	//
19641	// The state detail is populated only when a container service is in a PENDING,
19642	// DEPLOYING, or UPDATING state.
19643	StateDetail *ContainerServiceStateDetail `locationName:"stateDetail" type:"structure"`
19644
19645	// The tag keys and optional values for the resource. For more information about
19646	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
19647	Tags []*Tag `locationName:"tags" type:"list"`
19648
19649	// The publicly accessible URL of the container service.
19650	//
19651	// If no public endpoint is specified in the currentDeployment, this URL returns
19652	// a 404 response.
19653	Url *string `locationName:"url" type:"string"`
19654}
19655
19656// String returns the string representation.
19657//
19658// API parameter values that are decorated as "sensitive" in the API will not
19659// be included in the string output. The member name will be present, but the
19660// value will be replaced with "sensitive".
19661func (s ContainerService) String() string {
19662	return awsutil.Prettify(s)
19663}
19664
19665// GoString returns the string representation.
19666//
19667// API parameter values that are decorated as "sensitive" in the API will not
19668// be included in the string output. The member name will be present, but the
19669// value will be replaced with "sensitive".
19670func (s ContainerService) GoString() string {
19671	return s.String()
19672}
19673
19674// SetArn sets the Arn field's value.
19675func (s *ContainerService) SetArn(v string) *ContainerService {
19676	s.Arn = &v
19677	return s
19678}
19679
19680// SetContainerServiceName sets the ContainerServiceName field's value.
19681func (s *ContainerService) SetContainerServiceName(v string) *ContainerService {
19682	s.ContainerServiceName = &v
19683	return s
19684}
19685
19686// SetCreatedAt sets the CreatedAt field's value.
19687func (s *ContainerService) SetCreatedAt(v time.Time) *ContainerService {
19688	s.CreatedAt = &v
19689	return s
19690}
19691
19692// SetCurrentDeployment sets the CurrentDeployment field's value.
19693func (s *ContainerService) SetCurrentDeployment(v *ContainerServiceDeployment) *ContainerService {
19694	s.CurrentDeployment = v
19695	return s
19696}
19697
19698// SetIsDisabled sets the IsDisabled field's value.
19699func (s *ContainerService) SetIsDisabled(v bool) *ContainerService {
19700	s.IsDisabled = &v
19701	return s
19702}
19703
19704// SetLocation sets the Location field's value.
19705func (s *ContainerService) SetLocation(v *ResourceLocation) *ContainerService {
19706	s.Location = v
19707	return s
19708}
19709
19710// SetNextDeployment sets the NextDeployment field's value.
19711func (s *ContainerService) SetNextDeployment(v *ContainerServiceDeployment) *ContainerService {
19712	s.NextDeployment = v
19713	return s
19714}
19715
19716// SetPower sets the Power field's value.
19717func (s *ContainerService) SetPower(v string) *ContainerService {
19718	s.Power = &v
19719	return s
19720}
19721
19722// SetPowerId sets the PowerId field's value.
19723func (s *ContainerService) SetPowerId(v string) *ContainerService {
19724	s.PowerId = &v
19725	return s
19726}
19727
19728// SetPrincipalArn sets the PrincipalArn field's value.
19729func (s *ContainerService) SetPrincipalArn(v string) *ContainerService {
19730	s.PrincipalArn = &v
19731	return s
19732}
19733
19734// SetPrivateDomainName sets the PrivateDomainName field's value.
19735func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService {
19736	s.PrivateDomainName = &v
19737	return s
19738}
19739
19740// SetPublicDomainNames sets the PublicDomainNames field's value.
19741func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService {
19742	s.PublicDomainNames = v
19743	return s
19744}
19745
19746// SetResourceType sets the ResourceType field's value.
19747func (s *ContainerService) SetResourceType(v string) *ContainerService {
19748	s.ResourceType = &v
19749	return s
19750}
19751
19752// SetScale sets the Scale field's value.
19753func (s *ContainerService) SetScale(v int64) *ContainerService {
19754	s.Scale = &v
19755	return s
19756}
19757
19758// SetState sets the State field's value.
19759func (s *ContainerService) SetState(v string) *ContainerService {
19760	s.State = &v
19761	return s
19762}
19763
19764// SetStateDetail sets the StateDetail field's value.
19765func (s *ContainerService) SetStateDetail(v *ContainerServiceStateDetail) *ContainerService {
19766	s.StateDetail = v
19767	return s
19768}
19769
19770// SetTags sets the Tags field's value.
19771func (s *ContainerService) SetTags(v []*Tag) *ContainerService {
19772	s.Tags = v
19773	return s
19774}
19775
19776// SetUrl sets the Url field's value.
19777func (s *ContainerService) SetUrl(v string) *ContainerService {
19778	s.Url = &v
19779	return s
19780}
19781
19782// Describes a container deployment configuration of an Amazon Lightsail container
19783// service.
19784//
19785// A deployment specifies the settings, such as the ports and launch command,
19786// of containers that are deployed to your container service.
19787type ContainerServiceDeployment struct {
19788	_ struct{} `type:"structure"`
19789
19790	// An object that describes the configuration for the containers of the deployment.
19791	Containers map[string]*Container `locationName:"containers" type:"map"`
19792
19793	// The timestamp when the deployment was created.
19794	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19795
19796	// An object that describes the endpoint of the deployment.
19797	PublicEndpoint *ContainerServiceEndpoint `locationName:"publicEndpoint" type:"structure"`
19798
19799	// The state of the deployment.
19800	//
19801	// A deployment can be in one of the following states:
19802	//
19803	//    * Activating - The deployment is being created.
19804	//
19805	//    * Active - The deployment was successfully created, and it's currently
19806	//    running on the container service. The container service can have only
19807	//    one deployment in an active state at a time.
19808	//
19809	//    * Inactive - The deployment was previously successfully created, but it
19810	//    is not currently running on the container service.
19811	//
19812	//    * Failed - The deployment failed. Use the GetContainerLog action to view
19813	//    the log events for the containers in the deployment to try to determine
19814	//    the reason for the failure.
19815	State *string `locationName:"state" type:"string" enum:"ContainerServiceDeploymentState"`
19816
19817	// The version number of the deployment.
19818	Version *int64 `locationName:"version" type:"integer"`
19819}
19820
19821// String returns the string representation.
19822//
19823// API parameter values that are decorated as "sensitive" in the API will not
19824// be included in the string output. The member name will be present, but the
19825// value will be replaced with "sensitive".
19826func (s ContainerServiceDeployment) String() string {
19827	return awsutil.Prettify(s)
19828}
19829
19830// GoString returns the string representation.
19831//
19832// API parameter values that are decorated as "sensitive" in the API will not
19833// be included in the string output. The member name will be present, but the
19834// value will be replaced with "sensitive".
19835func (s ContainerServiceDeployment) GoString() string {
19836	return s.String()
19837}
19838
19839// SetContainers sets the Containers field's value.
19840func (s *ContainerServiceDeployment) SetContainers(v map[string]*Container) *ContainerServiceDeployment {
19841	s.Containers = v
19842	return s
19843}
19844
19845// SetCreatedAt sets the CreatedAt field's value.
19846func (s *ContainerServiceDeployment) SetCreatedAt(v time.Time) *ContainerServiceDeployment {
19847	s.CreatedAt = &v
19848	return s
19849}
19850
19851// SetPublicEndpoint sets the PublicEndpoint field's value.
19852func (s *ContainerServiceDeployment) SetPublicEndpoint(v *ContainerServiceEndpoint) *ContainerServiceDeployment {
19853	s.PublicEndpoint = v
19854	return s
19855}
19856
19857// SetState sets the State field's value.
19858func (s *ContainerServiceDeployment) SetState(v string) *ContainerServiceDeployment {
19859	s.State = &v
19860	return s
19861}
19862
19863// SetVersion sets the Version field's value.
19864func (s *ContainerServiceDeployment) SetVersion(v int64) *ContainerServiceDeployment {
19865	s.Version = &v
19866	return s
19867}
19868
19869// Describes a container deployment configuration of an Amazon Lightsail container
19870// service.
19871//
19872// A deployment specifies the settings, such as the ports and launch command,
19873// of containers that are deployed to your container service.
19874type ContainerServiceDeploymentRequest struct {
19875	_ struct{} `type:"structure"`
19876
19877	// An object that describes the configuration for the containers of the deployment.
19878	Containers map[string]*Container `locationName:"containers" type:"map"`
19879
19880	// An object that describes the endpoint of the deployment.
19881	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
19882}
19883
19884// String returns the string representation.
19885//
19886// API parameter values that are decorated as "sensitive" in the API will not
19887// be included in the string output. The member name will be present, but the
19888// value will be replaced with "sensitive".
19889func (s ContainerServiceDeploymentRequest) String() string {
19890	return awsutil.Prettify(s)
19891}
19892
19893// GoString returns the string representation.
19894//
19895// API parameter values that are decorated as "sensitive" in the API will not
19896// be included in the string output. The member name will be present, but the
19897// value will be replaced with "sensitive".
19898func (s ContainerServiceDeploymentRequest) GoString() string {
19899	return s.String()
19900}
19901
19902// Validate inspects the fields of the type to determine if they are valid.
19903func (s *ContainerServiceDeploymentRequest) Validate() error {
19904	invalidParams := request.ErrInvalidParams{Context: "ContainerServiceDeploymentRequest"}
19905	if s.PublicEndpoint != nil {
19906		if err := s.PublicEndpoint.Validate(); err != nil {
19907			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
19908		}
19909	}
19910
19911	if invalidParams.Len() > 0 {
19912		return invalidParams
19913	}
19914	return nil
19915}
19916
19917// SetContainers sets the Containers field's value.
19918func (s *ContainerServiceDeploymentRequest) SetContainers(v map[string]*Container) *ContainerServiceDeploymentRequest {
19919	s.Containers = v
19920	return s
19921}
19922
19923// SetPublicEndpoint sets the PublicEndpoint field's value.
19924func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest) *ContainerServiceDeploymentRequest {
19925	s.PublicEndpoint = v
19926	return s
19927}
19928
19929// Describes the public endpoint configuration of a deployment of an Amazon
19930// Lightsail container service.
19931type ContainerServiceEndpoint struct {
19932	_ struct{} `type:"structure"`
19933
19934	// The name of the container entry of the deployment that the endpoint configuration
19935	// applies to.
19936	ContainerName *string `locationName:"containerName" type:"string"`
19937
19938	// The port of the specified container to which traffic is forwarded to.
19939	ContainerPort *int64 `locationName:"containerPort" type:"integer"`
19940
19941	// An object that describes the health check configuration of the container.
19942	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
19943}
19944
19945// String returns the string representation.
19946//
19947// API parameter values that are decorated as "sensitive" in the API will not
19948// be included in the string output. The member name will be present, but the
19949// value will be replaced with "sensitive".
19950func (s ContainerServiceEndpoint) String() string {
19951	return awsutil.Prettify(s)
19952}
19953
19954// GoString returns the string representation.
19955//
19956// API parameter values that are decorated as "sensitive" in the API will not
19957// be included in the string output. The member name will be present, but the
19958// value will be replaced with "sensitive".
19959func (s ContainerServiceEndpoint) GoString() string {
19960	return s.String()
19961}
19962
19963// SetContainerName sets the ContainerName field's value.
19964func (s *ContainerServiceEndpoint) SetContainerName(v string) *ContainerServiceEndpoint {
19965	s.ContainerName = &v
19966	return s
19967}
19968
19969// SetContainerPort sets the ContainerPort field's value.
19970func (s *ContainerServiceEndpoint) SetContainerPort(v int64) *ContainerServiceEndpoint {
19971	s.ContainerPort = &v
19972	return s
19973}
19974
19975// SetHealthCheck sets the HealthCheck field's value.
19976func (s *ContainerServiceEndpoint) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *ContainerServiceEndpoint {
19977	s.HealthCheck = v
19978	return s
19979}
19980
19981// Describes the health check configuration of an Amazon Lightsail container
19982// service.
19983type ContainerServiceHealthCheckConfig struct {
19984	_ struct{} `type:"structure"`
19985
19986	// The number of consecutive health checks successes required before moving
19987	// the container to the Healthy state. The default value is 2.
19988	HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"`
19989
19990	// The approximate interval, in seconds, between health checks of an individual
19991	// container. You can specify between 5 and 300 seconds. The default value is
19992	// 5.
19993	IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"`
19994
19995	// The path on the container on which to perform the health check. The default
19996	// value is /.
19997	Path *string `locationName:"path" type:"string"`
19998
19999	// The HTTP codes to use when checking for a successful response from a container.
20000	// You can specify values between 200 and 499. You can specify multiple values
20001	// (for example, 200,202) or a range of values (for example, 200-299).
20002	SuccessCodes *string `locationName:"successCodes" type:"string"`
20003
20004	// The amount of time, in seconds, during which no response means a failed health
20005	// check. You can specify between 2 and 60 seconds. The default value is 2.
20006	TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"`
20007
20008	// The number of consecutive health check failures required before moving the
20009	// container to the Unhealthy state. The default value is 2.
20010	UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"`
20011}
20012
20013// String returns the string representation.
20014//
20015// API parameter values that are decorated as "sensitive" in the API will not
20016// be included in the string output. The member name will be present, but the
20017// value will be replaced with "sensitive".
20018func (s ContainerServiceHealthCheckConfig) String() string {
20019	return awsutil.Prettify(s)
20020}
20021
20022// GoString returns the string representation.
20023//
20024// API parameter values that are decorated as "sensitive" in the API will not
20025// be included in the string output. The member name will be present, but the
20026// value will be replaced with "sensitive".
20027func (s ContainerServiceHealthCheckConfig) GoString() string {
20028	return s.String()
20029}
20030
20031// SetHealthyThreshold sets the HealthyThreshold field's value.
20032func (s *ContainerServiceHealthCheckConfig) SetHealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
20033	s.HealthyThreshold = &v
20034	return s
20035}
20036
20037// SetIntervalSeconds sets the IntervalSeconds field's value.
20038func (s *ContainerServiceHealthCheckConfig) SetIntervalSeconds(v int64) *ContainerServiceHealthCheckConfig {
20039	s.IntervalSeconds = &v
20040	return s
20041}
20042
20043// SetPath sets the Path field's value.
20044func (s *ContainerServiceHealthCheckConfig) SetPath(v string) *ContainerServiceHealthCheckConfig {
20045	s.Path = &v
20046	return s
20047}
20048
20049// SetSuccessCodes sets the SuccessCodes field's value.
20050func (s *ContainerServiceHealthCheckConfig) SetSuccessCodes(v string) *ContainerServiceHealthCheckConfig {
20051	s.SuccessCodes = &v
20052	return s
20053}
20054
20055// SetTimeoutSeconds sets the TimeoutSeconds field's value.
20056func (s *ContainerServiceHealthCheckConfig) SetTimeoutSeconds(v int64) *ContainerServiceHealthCheckConfig {
20057	s.TimeoutSeconds = &v
20058	return s
20059}
20060
20061// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
20062func (s *ContainerServiceHealthCheckConfig) SetUnhealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
20063	s.UnhealthyThreshold = &v
20064	return s
20065}
20066
20067// Describes the log events of a container of an Amazon Lightsail container
20068// service.
20069type ContainerServiceLogEvent struct {
20070	_ struct{} `type:"structure"`
20071
20072	// The timestamp when the container service log event was created.
20073	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20074
20075	// The message of the container service log event.
20076	Message *string `locationName:"message" type:"string"`
20077}
20078
20079// String returns the string representation.
20080//
20081// API parameter values that are decorated as "sensitive" in the API will not
20082// be included in the string output. The member name will be present, but the
20083// value will be replaced with "sensitive".
20084func (s ContainerServiceLogEvent) String() string {
20085	return awsutil.Prettify(s)
20086}
20087
20088// GoString returns the string representation.
20089//
20090// API parameter values that are decorated as "sensitive" in the API will not
20091// be included in the string output. The member name will be present, but the
20092// value will be replaced with "sensitive".
20093func (s ContainerServiceLogEvent) GoString() string {
20094	return s.String()
20095}
20096
20097// SetCreatedAt sets the CreatedAt field's value.
20098func (s *ContainerServiceLogEvent) SetCreatedAt(v time.Time) *ContainerServiceLogEvent {
20099	s.CreatedAt = &v
20100	return s
20101}
20102
20103// SetMessage sets the Message field's value.
20104func (s *ContainerServiceLogEvent) SetMessage(v string) *ContainerServiceLogEvent {
20105	s.Message = &v
20106	return s
20107}
20108
20109// Describes the powers that can be specified for an Amazon Lightsail container
20110// service.
20111//
20112// The power specifies the amount of RAM, the number of vCPUs, and the base
20113// price of the container service.
20114type ContainerServicePower struct {
20115	_ struct{} `type:"structure"`
20116
20117	// The number of vCPUs included in the power.
20118	CpuCount *float64 `locationName:"cpuCount" type:"float"`
20119
20120	// A Boolean value indicating whether the power is active and can be specified
20121	// for container services.
20122	IsActive *bool `locationName:"isActive" type:"boolean"`
20123
20124	// The friendly name of the power (e.g., nano).
20125	Name *string `locationName:"name" type:"string"`
20126
20127	// The ID of the power (e.g., nano-1).
20128	PowerId *string `locationName:"powerId" type:"string"`
20129
20130	// The monthly price of the power in USD.
20131	Price *float64 `locationName:"price" type:"float"`
20132
20133	// The amount of RAM (in GB) of the power.
20134	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
20135}
20136
20137// String returns the string representation.
20138//
20139// API parameter values that are decorated as "sensitive" in the API will not
20140// be included in the string output. The member name will be present, but the
20141// value will be replaced with "sensitive".
20142func (s ContainerServicePower) String() string {
20143	return awsutil.Prettify(s)
20144}
20145
20146// GoString returns the string representation.
20147//
20148// API parameter values that are decorated as "sensitive" in the API will not
20149// be included in the string output. The member name will be present, but the
20150// value will be replaced with "sensitive".
20151func (s ContainerServicePower) GoString() string {
20152	return s.String()
20153}
20154
20155// SetCpuCount sets the CpuCount field's value.
20156func (s *ContainerServicePower) SetCpuCount(v float64) *ContainerServicePower {
20157	s.CpuCount = &v
20158	return s
20159}
20160
20161// SetIsActive sets the IsActive field's value.
20162func (s *ContainerServicePower) SetIsActive(v bool) *ContainerServicePower {
20163	s.IsActive = &v
20164	return s
20165}
20166
20167// SetName sets the Name field's value.
20168func (s *ContainerServicePower) SetName(v string) *ContainerServicePower {
20169	s.Name = &v
20170	return s
20171}
20172
20173// SetPowerId sets the PowerId field's value.
20174func (s *ContainerServicePower) SetPowerId(v string) *ContainerServicePower {
20175	s.PowerId = &v
20176	return s
20177}
20178
20179// SetPrice sets the Price field's value.
20180func (s *ContainerServicePower) SetPrice(v float64) *ContainerServicePower {
20181	s.Price = &v
20182	return s
20183}
20184
20185// SetRamSizeInGb sets the RamSizeInGb field's value.
20186func (s *ContainerServicePower) SetRamSizeInGb(v float64) *ContainerServicePower {
20187	s.RamSizeInGb = &v
20188	return s
20189}
20190
20191// Describes the login information for the container image registry of an Amazon
20192// Lightsail account.
20193type ContainerServiceRegistryLogin struct {
20194	_ struct{} `type:"structure"`
20195
20196	// The timestamp of when the container image registry username and password
20197	// expire.
20198	//
20199	// The log in credentials expire 12 hours after they are created, at which point
20200	// you will need to create a new set of log in credentials using the CreateContainerServiceRegistryLogin
20201	// action.
20202	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
20203
20204	// The container service registry password to use to push container images to
20205	// the container image registry of a Lightsail account
20206	Password *string `locationName:"password" type:"string"`
20207
20208	// The address to use to push container images to the container image registry
20209	// of a Lightsail account.
20210	Registry *string `locationName:"registry" type:"string"`
20211
20212	// The container service registry username to use to push container images to
20213	// the container image registry of a Lightsail account.
20214	Username *string `locationName:"username" type:"string"`
20215}
20216
20217// String returns the string representation.
20218//
20219// API parameter values that are decorated as "sensitive" in the API will not
20220// be included in the string output. The member name will be present, but the
20221// value will be replaced with "sensitive".
20222func (s ContainerServiceRegistryLogin) String() string {
20223	return awsutil.Prettify(s)
20224}
20225
20226// GoString returns the string representation.
20227//
20228// API parameter values that are decorated as "sensitive" in the API will not
20229// be included in the string output. The member name will be present, but the
20230// value will be replaced with "sensitive".
20231func (s ContainerServiceRegistryLogin) GoString() string {
20232	return s.String()
20233}
20234
20235// SetExpiresAt sets the ExpiresAt field's value.
20236func (s *ContainerServiceRegistryLogin) SetExpiresAt(v time.Time) *ContainerServiceRegistryLogin {
20237	s.ExpiresAt = &v
20238	return s
20239}
20240
20241// SetPassword sets the Password field's value.
20242func (s *ContainerServiceRegistryLogin) SetPassword(v string) *ContainerServiceRegistryLogin {
20243	s.Password = &v
20244	return s
20245}
20246
20247// SetRegistry sets the Registry field's value.
20248func (s *ContainerServiceRegistryLogin) SetRegistry(v string) *ContainerServiceRegistryLogin {
20249	s.Registry = &v
20250	return s
20251}
20252
20253// SetUsername sets the Username field's value.
20254func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceRegistryLogin {
20255	s.Username = &v
20256	return s
20257}
20258
20259// Describes the current state of a container service.
20260type ContainerServiceStateDetail struct {
20261	_ struct{} `type:"structure"`
20262
20263	// The state code of the container service.
20264	//
20265	// The following state codes are possible:
20266	//
20267	//    * The following state codes are possible if your container service is
20268	//    in a DEPLOYING or UPDATING state: CREATING_SYSTEM_RESOURCES - The system
20269	//    resources for your container service are being created. CREATING_NETWORK_INFRASTRUCTURE
20270	//    - The network infrastructure for your container service are being created.
20271	//    PROVISIONING_CERTIFICATE - The SSL/TLS certificate for your container
20272	//    service is being created. PROVISIONING_SERVICE - Your container service
20273	//    is being provisioned. CREATING_DEPLOYMENT - Your deployment is being created
20274	//    on your container service. EVALUATING_HEALTH_CHECK - The health of your
20275	//    deployment is being evaluated. ACTIVATING_DEPLOYMENT - Your deployment
20276	//    is being activated.
20277	//
20278	//    * The following state codes are possible if your container service is
20279	//    in a PENDING state: CERTIFICATE_LIMIT_EXCEEDED - The SSL/TLS certificate
20280	//    required for your container service exceeds the maximum number of certificates
20281	//    allowed for your account. UNKNOWN_ERROR - An error was experienced when
20282	//    your container service was being created.
20283	Code *string `locationName:"code" type:"string" enum:"ContainerServiceStateDetailCode"`
20284
20285	// A message that provides more information for the state code.
20286	//
20287	// The state detail is populated only when a container service is in a PENDING,
20288	// DEPLOYING, or UPDATING state.
20289	Message *string `locationName:"message" type:"string"`
20290}
20291
20292// String returns the string representation.
20293//
20294// API parameter values that are decorated as "sensitive" in the API will not
20295// be included in the string output. The member name will be present, but the
20296// value will be replaced with "sensitive".
20297func (s ContainerServiceStateDetail) String() string {
20298	return awsutil.Prettify(s)
20299}
20300
20301// GoString returns the string representation.
20302//
20303// API parameter values that are decorated as "sensitive" in the API will not
20304// be included in the string output. The member name will be present, but the
20305// value will be replaced with "sensitive".
20306func (s ContainerServiceStateDetail) GoString() string {
20307	return s.String()
20308}
20309
20310// SetCode sets the Code field's value.
20311func (s *ContainerServiceStateDetail) SetCode(v string) *ContainerServiceStateDetail {
20312	s.Code = &v
20313	return s
20314}
20315
20316// SetMessage sets the Message field's value.
20317func (s *ContainerServiceStateDetail) SetMessage(v string) *ContainerServiceStateDetail {
20318	s.Message = &v
20319	return s
20320}
20321
20322// Describes whether an Amazon Lightsail content delivery network (CDN) distribution
20323// forwards cookies to the origin and, if so, which ones.
20324//
20325// For the cookies that you specify, your distribution caches separate versions
20326// of the specified content based on the cookie values in viewer requests.
20327type CookieObject struct {
20328	_ struct{} `type:"structure"`
20329
20330	// The specific cookies to forward to your distribution's origin.
20331	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
20332
20333	// Specifies which cookies to forward to the distribution's origin for a cache
20334	// behavior: all, none, or allow-list to forward only the cookies specified
20335	// in the cookiesAllowList parameter.
20336	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
20337}
20338
20339// String returns the string representation.
20340//
20341// API parameter values that are decorated as "sensitive" in the API will not
20342// be included in the string output. The member name will be present, but the
20343// value will be replaced with "sensitive".
20344func (s CookieObject) String() string {
20345	return awsutil.Prettify(s)
20346}
20347
20348// GoString returns the string representation.
20349//
20350// API parameter values that are decorated as "sensitive" in the API will not
20351// be included in the string output. The member name will be present, but the
20352// value will be replaced with "sensitive".
20353func (s CookieObject) GoString() string {
20354	return s.String()
20355}
20356
20357// SetCookiesAllowList sets the CookiesAllowList field's value.
20358func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
20359	s.CookiesAllowList = v
20360	return s
20361}
20362
20363// SetOption sets the Option field's value.
20364func (s *CookieObject) SetOption(v string) *CookieObject {
20365	s.Option = &v
20366	return s
20367}
20368
20369type CopySnapshotInput struct {
20370	_ struct{} `type:"structure"`
20371
20372	// The date of the source automatic snapshot to copy. Use the get auto snapshots
20373	// operation to identify the dates of the available automatic snapshots.
20374	//
20375	// Constraints:
20376	//
20377	//    * Must be specified in YYYY-MM-DD format.
20378	//
20379	//    * This parameter cannot be defined together with the use latest restorable
20380	//    auto snapshot parameter. The restore date and use latest restorable auto
20381	//    snapshot parameters are mutually exclusive.
20382	//
20383	//    * Define this parameter only when copying an automatic snapshot as a manual
20384	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20385	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
20386	RestoreDate *string `locationName:"restoreDate" type:"string"`
20387
20388	// The AWS Region where the source manual or automatic snapshot is located.
20389	//
20390	// SourceRegion is a required field
20391	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
20392
20393	// The name of the source instance or disk from which the source automatic snapshot
20394	// was created.
20395	//
20396	// Constraint:
20397	//
20398	//    * Define this parameter only when copying an automatic snapshot as a manual
20399	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20400	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
20401	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
20402
20403	// The name of the source manual snapshot to copy.
20404	//
20405	// Constraint:
20406	//
20407	//    * Define this parameter only when copying a manual snapshot as another
20408	//    manual snapshot.
20409	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
20410
20411	// The name of the new manual snapshot to be created as a copy.
20412	//
20413	// TargetSnapshotName is a required field
20414	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
20415
20416	// A Boolean value to indicate whether to use the latest available automatic
20417	// snapshot of the specified source instance or disk.
20418	//
20419	// Constraints:
20420	//
20421	//    * This parameter cannot be defined together with the restore date parameter.
20422	//    The use latest restorable auto snapshot and restore date parameters are
20423	//    mutually exclusive.
20424	//
20425	//    * Define this parameter only when copying an automatic snapshot as a manual
20426	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
20427	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
20428	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
20429}
20430
20431// String returns the string representation.
20432//
20433// API parameter values that are decorated as "sensitive" in the API will not
20434// be included in the string output. The member name will be present, but the
20435// value will be replaced with "sensitive".
20436func (s CopySnapshotInput) String() string {
20437	return awsutil.Prettify(s)
20438}
20439
20440// GoString returns the string representation.
20441//
20442// API parameter values that are decorated as "sensitive" in the API will not
20443// be included in the string output. The member name will be present, but the
20444// value will be replaced with "sensitive".
20445func (s CopySnapshotInput) GoString() string {
20446	return s.String()
20447}
20448
20449// Validate inspects the fields of the type to determine if they are valid.
20450func (s *CopySnapshotInput) Validate() error {
20451	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
20452	if s.SourceRegion == nil {
20453		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
20454	}
20455	if s.TargetSnapshotName == nil {
20456		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
20457	}
20458
20459	if invalidParams.Len() > 0 {
20460		return invalidParams
20461	}
20462	return nil
20463}
20464
20465// SetRestoreDate sets the RestoreDate field's value.
20466func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
20467	s.RestoreDate = &v
20468	return s
20469}
20470
20471// SetSourceRegion sets the SourceRegion field's value.
20472func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
20473	s.SourceRegion = &v
20474	return s
20475}
20476
20477// SetSourceResourceName sets the SourceResourceName field's value.
20478func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
20479	s.SourceResourceName = &v
20480	return s
20481}
20482
20483// SetSourceSnapshotName sets the SourceSnapshotName field's value.
20484func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
20485	s.SourceSnapshotName = &v
20486	return s
20487}
20488
20489// SetTargetSnapshotName sets the TargetSnapshotName field's value.
20490func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
20491	s.TargetSnapshotName = &v
20492	return s
20493}
20494
20495// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
20496func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
20497	s.UseLatestRestorableAutoSnapshot = &v
20498	return s
20499}
20500
20501type CopySnapshotOutput struct {
20502	_ struct{} `type:"structure"`
20503
20504	// An array of objects that describe the result of the action, such as the status
20505	// of the request, the timestamp of the request, and the resources affected
20506	// by the request.
20507	Operations []*Operation `locationName:"operations" type:"list"`
20508}
20509
20510// String returns the string representation.
20511//
20512// API parameter values that are decorated as "sensitive" in the API will not
20513// be included in the string output. The member name will be present, but the
20514// value will be replaced with "sensitive".
20515func (s CopySnapshotOutput) String() string {
20516	return awsutil.Prettify(s)
20517}
20518
20519// GoString returns the string representation.
20520//
20521// API parameter values that are decorated as "sensitive" in the API will not
20522// be included in the string output. The member name will be present, but the
20523// value will be replaced with "sensitive".
20524func (s CopySnapshotOutput) GoString() string {
20525	return s.String()
20526}
20527
20528// SetOperations sets the Operations field's value.
20529func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
20530	s.Operations = v
20531	return s
20532}
20533
20534type CreateBucketAccessKeyInput struct {
20535	_ struct{} `type:"structure"`
20536
20537	// The name of the bucket that the new access key will belong to, and grant
20538	// access to.
20539	//
20540	// BucketName is a required field
20541	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
20542}
20543
20544// String returns the string representation.
20545//
20546// API parameter values that are decorated as "sensitive" in the API will not
20547// be included in the string output. The member name will be present, but the
20548// value will be replaced with "sensitive".
20549func (s CreateBucketAccessKeyInput) String() string {
20550	return awsutil.Prettify(s)
20551}
20552
20553// GoString returns the string representation.
20554//
20555// API parameter values that are decorated as "sensitive" in the API will not
20556// be included in the string output. The member name will be present, but the
20557// value will be replaced with "sensitive".
20558func (s CreateBucketAccessKeyInput) GoString() string {
20559	return s.String()
20560}
20561
20562// Validate inspects the fields of the type to determine if they are valid.
20563func (s *CreateBucketAccessKeyInput) Validate() error {
20564	invalidParams := request.ErrInvalidParams{Context: "CreateBucketAccessKeyInput"}
20565	if s.BucketName == nil {
20566		invalidParams.Add(request.NewErrParamRequired("BucketName"))
20567	}
20568	if s.BucketName != nil && len(*s.BucketName) < 3 {
20569		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
20570	}
20571
20572	if invalidParams.Len() > 0 {
20573		return invalidParams
20574	}
20575	return nil
20576}
20577
20578// SetBucketName sets the BucketName field's value.
20579func (s *CreateBucketAccessKeyInput) SetBucketName(v string) *CreateBucketAccessKeyInput {
20580	s.BucketName = &v
20581	return s
20582}
20583
20584type CreateBucketAccessKeyOutput struct {
20585	_ struct{} `type:"structure"`
20586
20587	// An object that describes the access key that is created.
20588	AccessKey *AccessKey `locationName:"accessKey" type:"structure"`
20589
20590	// An array of objects that describe the result of the action, such as the status
20591	// of the request, the timestamp of the request, and the resources affected
20592	// by the request.
20593	Operations []*Operation `locationName:"operations" type:"list"`
20594}
20595
20596// String returns the string representation.
20597//
20598// API parameter values that are decorated as "sensitive" in the API will not
20599// be included in the string output. The member name will be present, but the
20600// value will be replaced with "sensitive".
20601func (s CreateBucketAccessKeyOutput) String() string {
20602	return awsutil.Prettify(s)
20603}
20604
20605// GoString returns the string representation.
20606//
20607// API parameter values that are decorated as "sensitive" in the API will not
20608// be included in the string output. The member name will be present, but the
20609// value will be replaced with "sensitive".
20610func (s CreateBucketAccessKeyOutput) GoString() string {
20611	return s.String()
20612}
20613
20614// SetAccessKey sets the AccessKey field's value.
20615func (s *CreateBucketAccessKeyOutput) SetAccessKey(v *AccessKey) *CreateBucketAccessKeyOutput {
20616	s.AccessKey = v
20617	return s
20618}
20619
20620// SetOperations sets the Operations field's value.
20621func (s *CreateBucketAccessKeyOutput) SetOperations(v []*Operation) *CreateBucketAccessKeyOutput {
20622	s.Operations = v
20623	return s
20624}
20625
20626type CreateBucketInput struct {
20627	_ struct{} `type:"structure"`
20628
20629	// The name for the bucket.
20630	//
20631	// For more information about bucket names, see Bucket naming rules in Amazon
20632	// Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/bucket-naming-rules-in-amazon-lightsail)
20633	// in the Amazon Lightsail Developer Guide.
20634	//
20635	// BucketName is a required field
20636	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
20637
20638	// The ID of the bundle to use for the bucket.
20639	//
20640	// A bucket bundle specifies the monthly cost, storage space, and data transfer
20641	// quota for a bucket.
20642	//
20643	// Use the GetBucketBundles action to get a list of bundle IDs that you can
20644	// specify.
20645	//
20646	// Use the UpdateBucketBundle action to change the bundle after the bucket is
20647	// created.
20648	//
20649	// BundleId is a required field
20650	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
20651
20652	// A Boolean value that indicates whether to enable versioning of objects in
20653	// the bucket.
20654	//
20655	// For more information about versioning, see Enabling and suspending object
20656	// versioning in a bucket in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-managing-bucket-object-versioning)
20657	// in the Amazon Lightsail Developer Guide.
20658	EnableObjectVersioning *bool `locationName:"enableObjectVersioning" type:"boolean"`
20659
20660	// The tag keys and optional values to add to the bucket during creation.
20661	//
20662	// Use the TagResource action to tag the bucket after it's created.
20663	Tags []*Tag `locationName:"tags" type:"list"`
20664}
20665
20666// String returns the string representation.
20667//
20668// API parameter values that are decorated as "sensitive" in the API will not
20669// be included in the string output. The member name will be present, but the
20670// value will be replaced with "sensitive".
20671func (s CreateBucketInput) String() string {
20672	return awsutil.Prettify(s)
20673}
20674
20675// GoString returns the string representation.
20676//
20677// API parameter values that are decorated as "sensitive" in the API will not
20678// be included in the string output. The member name will be present, but the
20679// value will be replaced with "sensitive".
20680func (s CreateBucketInput) GoString() string {
20681	return s.String()
20682}
20683
20684// Validate inspects the fields of the type to determine if they are valid.
20685func (s *CreateBucketInput) Validate() error {
20686	invalidParams := request.ErrInvalidParams{Context: "CreateBucketInput"}
20687	if s.BucketName == nil {
20688		invalidParams.Add(request.NewErrParamRequired("BucketName"))
20689	}
20690	if s.BucketName != nil && len(*s.BucketName) < 3 {
20691		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
20692	}
20693	if s.BundleId == nil {
20694		invalidParams.Add(request.NewErrParamRequired("BundleId"))
20695	}
20696
20697	if invalidParams.Len() > 0 {
20698		return invalidParams
20699	}
20700	return nil
20701}
20702
20703// SetBucketName sets the BucketName field's value.
20704func (s *CreateBucketInput) SetBucketName(v string) *CreateBucketInput {
20705	s.BucketName = &v
20706	return s
20707}
20708
20709// SetBundleId sets the BundleId field's value.
20710func (s *CreateBucketInput) SetBundleId(v string) *CreateBucketInput {
20711	s.BundleId = &v
20712	return s
20713}
20714
20715// SetEnableObjectVersioning sets the EnableObjectVersioning field's value.
20716func (s *CreateBucketInput) SetEnableObjectVersioning(v bool) *CreateBucketInput {
20717	s.EnableObjectVersioning = &v
20718	return s
20719}
20720
20721// SetTags sets the Tags field's value.
20722func (s *CreateBucketInput) SetTags(v []*Tag) *CreateBucketInput {
20723	s.Tags = v
20724	return s
20725}
20726
20727type CreateBucketOutput struct {
20728	_ struct{} `type:"structure"`
20729
20730	// An object that describes the bucket that is created.
20731	Bucket *Bucket `locationName:"bucket" type:"structure"`
20732
20733	// An array of objects that describe the result of the action, such as the status
20734	// of the request, the timestamp of the request, and the resources affected
20735	// by the request.
20736	Operations []*Operation `locationName:"operations" type:"list"`
20737}
20738
20739// String returns the string representation.
20740//
20741// API parameter values that are decorated as "sensitive" in the API will not
20742// be included in the string output. The member name will be present, but the
20743// value will be replaced with "sensitive".
20744func (s CreateBucketOutput) String() string {
20745	return awsutil.Prettify(s)
20746}
20747
20748// GoString returns the string representation.
20749//
20750// API parameter values that are decorated as "sensitive" in the API will not
20751// be included in the string output. The member name will be present, but the
20752// value will be replaced with "sensitive".
20753func (s CreateBucketOutput) GoString() string {
20754	return s.String()
20755}
20756
20757// SetBucket sets the Bucket field's value.
20758func (s *CreateBucketOutput) SetBucket(v *Bucket) *CreateBucketOutput {
20759	s.Bucket = v
20760	return s
20761}
20762
20763// SetOperations sets the Operations field's value.
20764func (s *CreateBucketOutput) SetOperations(v []*Operation) *CreateBucketOutput {
20765	s.Operations = v
20766	return s
20767}
20768
20769type CreateCertificateInput struct {
20770	_ struct{} `type:"structure"`
20771
20772	// The name for the certificate.
20773	//
20774	// CertificateName is a required field
20775	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
20776
20777	// The domain name (e.g., example.com) for the certificate.
20778	//
20779	// DomainName is a required field
20780	DomainName *string `locationName:"domainName" type:"string" required:"true"`
20781
20782	// An array of strings that specify the alternate domains (e.g., example2.com)
20783	// and subdomains (e.g., blog.example.com) for the certificate.
20784	//
20785	// You can specify a maximum of nine alternate domains (in addition to the primary
20786	// domain name).
20787	//
20788	// Wildcard domain entries (e.g., *.example.com) are not supported.
20789	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
20790
20791	// The tag keys and optional values to add to the certificate during create.
20792	//
20793	// Use the TagResource action to tag a resource after it's created.
20794	Tags []*Tag `locationName:"tags" type:"list"`
20795}
20796
20797// String returns the string representation.
20798//
20799// API parameter values that are decorated as "sensitive" in the API will not
20800// be included in the string output. The member name will be present, but the
20801// value will be replaced with "sensitive".
20802func (s CreateCertificateInput) String() string {
20803	return awsutil.Prettify(s)
20804}
20805
20806// GoString returns the string representation.
20807//
20808// API parameter values that are decorated as "sensitive" in the API will not
20809// be included in the string output. The member name will be present, but the
20810// value will be replaced with "sensitive".
20811func (s CreateCertificateInput) GoString() string {
20812	return s.String()
20813}
20814
20815// Validate inspects the fields of the type to determine if they are valid.
20816func (s *CreateCertificateInput) Validate() error {
20817	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
20818	if s.CertificateName == nil {
20819		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
20820	}
20821	if s.DomainName == nil {
20822		invalidParams.Add(request.NewErrParamRequired("DomainName"))
20823	}
20824
20825	if invalidParams.Len() > 0 {
20826		return invalidParams
20827	}
20828	return nil
20829}
20830
20831// SetCertificateName sets the CertificateName field's value.
20832func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
20833	s.CertificateName = &v
20834	return s
20835}
20836
20837// SetDomainName sets the DomainName field's value.
20838func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
20839	s.DomainName = &v
20840	return s
20841}
20842
20843// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
20844func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
20845	s.SubjectAlternativeNames = v
20846	return s
20847}
20848
20849// SetTags sets the Tags field's value.
20850func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
20851	s.Tags = v
20852	return s
20853}
20854
20855type CreateCertificateOutput struct {
20856	_ struct{} `type:"structure"`
20857
20858	// An object that describes the certificate created.
20859	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
20860
20861	// An array of objects that describe the result of the action, such as the status
20862	// of the request, the timestamp of the request, and the resources affected
20863	// by the request.
20864	Operations []*Operation `locationName:"operations" type:"list"`
20865}
20866
20867// String returns the string representation.
20868//
20869// API parameter values that are decorated as "sensitive" in the API will not
20870// be included in the string output. The member name will be present, but the
20871// value will be replaced with "sensitive".
20872func (s CreateCertificateOutput) String() string {
20873	return awsutil.Prettify(s)
20874}
20875
20876// GoString returns the string representation.
20877//
20878// API parameter values that are decorated as "sensitive" in the API will not
20879// be included in the string output. The member name will be present, but the
20880// value will be replaced with "sensitive".
20881func (s CreateCertificateOutput) GoString() string {
20882	return s.String()
20883}
20884
20885// SetCertificate sets the Certificate field's value.
20886func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
20887	s.Certificate = v
20888	return s
20889}
20890
20891// SetOperations sets the Operations field's value.
20892func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
20893	s.Operations = v
20894	return s
20895}
20896
20897type CreateCloudFormationStackInput struct {
20898	_ struct{} `type:"structure"`
20899
20900	// An array of parameters that will be used to create the new Amazon EC2 instance.
20901	// You can only pass one instance entry at a time in this array. You will get
20902	// an invalid parameter error if you pass more than one instance entry in this
20903	// array.
20904	//
20905	// Instances is a required field
20906	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
20907}
20908
20909// String returns the string representation.
20910//
20911// API parameter values that are decorated as "sensitive" in the API will not
20912// be included in the string output. The member name will be present, but the
20913// value will be replaced with "sensitive".
20914func (s CreateCloudFormationStackInput) String() string {
20915	return awsutil.Prettify(s)
20916}
20917
20918// GoString returns the string representation.
20919//
20920// API parameter values that are decorated as "sensitive" in the API will not
20921// be included in the string output. The member name will be present, but the
20922// value will be replaced with "sensitive".
20923func (s CreateCloudFormationStackInput) GoString() string {
20924	return s.String()
20925}
20926
20927// Validate inspects the fields of the type to determine if they are valid.
20928func (s *CreateCloudFormationStackInput) Validate() error {
20929	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
20930	if s.Instances == nil {
20931		invalidParams.Add(request.NewErrParamRequired("Instances"))
20932	}
20933	if s.Instances != nil {
20934		for i, v := range s.Instances {
20935			if v == nil {
20936				continue
20937			}
20938			if err := v.Validate(); err != nil {
20939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
20940			}
20941		}
20942	}
20943
20944	if invalidParams.Len() > 0 {
20945		return invalidParams
20946	}
20947	return nil
20948}
20949
20950// SetInstances sets the Instances field's value.
20951func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
20952	s.Instances = v
20953	return s
20954}
20955
20956type CreateCloudFormationStackOutput struct {
20957	_ struct{} `type:"structure"`
20958
20959	// An array of objects that describe the result of the action, such as the status
20960	// of the request, the timestamp of the request, and the resources affected
20961	// by the request.
20962	Operations []*Operation `locationName:"operations" type:"list"`
20963}
20964
20965// String returns the string representation.
20966//
20967// API parameter values that are decorated as "sensitive" in the API will not
20968// be included in the string output. The member name will be present, but the
20969// value will be replaced with "sensitive".
20970func (s CreateCloudFormationStackOutput) String() string {
20971	return awsutil.Prettify(s)
20972}
20973
20974// GoString returns the string representation.
20975//
20976// API parameter values that are decorated as "sensitive" in the API will not
20977// be included in the string output. The member name will be present, but the
20978// value will be replaced with "sensitive".
20979func (s CreateCloudFormationStackOutput) GoString() string {
20980	return s.String()
20981}
20982
20983// SetOperations sets the Operations field's value.
20984func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
20985	s.Operations = v
20986	return s
20987}
20988
20989type CreateContactMethodInput struct {
20990	_ struct{} `type:"structure"`
20991
20992	// The destination of the contact method, such as an email address or a mobile
20993	// phone number.
20994	//
20995	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
20996	// for the phone number structure used for international telecommunication.
20997	// Phone numbers that follow this format can have a maximum of 15 digits, and
20998	// they are prefixed with the plus character (+) and the country code. For example,
20999	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
21000	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
21001	//
21002	// ContactEndpoint is a required field
21003	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
21004
21005	// The protocol of the contact method, such as Email or SMS (text messaging).
21006	//
21007	// The SMS protocol is supported only in the following AWS Regions.
21008	//
21009	//    * US East (N. Virginia) (us-east-1)
21010	//
21011	//    * US West (Oregon) (us-west-2)
21012	//
21013	//    * Europe (Ireland) (eu-west-1)
21014	//
21015	//    * Asia Pacific (Tokyo) (ap-northeast-1)
21016	//
21017	//    * Asia Pacific (Singapore) (ap-southeast-1)
21018	//
21019	//    * Asia Pacific (Sydney) (ap-southeast-2)
21020	//
21021	// For a list of countries/regions where SMS text messages can be sent, and
21022	// the latest AWS Regions where SMS text messaging is supported, see Supported
21023	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
21024	// in the Amazon SNS Developer Guide.
21025	//
21026	// For more information about notifications in Amazon Lightsail, see Notifications
21027	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
21028	//
21029	// Protocol is a required field
21030	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
21031}
21032
21033// String returns the string representation.
21034//
21035// API parameter values that are decorated as "sensitive" in the API will not
21036// be included in the string output. The member name will be present, but the
21037// value will be replaced with "sensitive".
21038func (s CreateContactMethodInput) String() string {
21039	return awsutil.Prettify(s)
21040}
21041
21042// GoString returns the string representation.
21043//
21044// API parameter values that are decorated as "sensitive" in the API will not
21045// be included in the string output. The member name will be present, but the
21046// value will be replaced with "sensitive".
21047func (s CreateContactMethodInput) GoString() string {
21048	return s.String()
21049}
21050
21051// Validate inspects the fields of the type to determine if they are valid.
21052func (s *CreateContactMethodInput) Validate() error {
21053	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
21054	if s.ContactEndpoint == nil {
21055		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
21056	}
21057	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
21058		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
21059	}
21060	if s.Protocol == nil {
21061		invalidParams.Add(request.NewErrParamRequired("Protocol"))
21062	}
21063
21064	if invalidParams.Len() > 0 {
21065		return invalidParams
21066	}
21067	return nil
21068}
21069
21070// SetContactEndpoint sets the ContactEndpoint field's value.
21071func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
21072	s.ContactEndpoint = &v
21073	return s
21074}
21075
21076// SetProtocol sets the Protocol field's value.
21077func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
21078	s.Protocol = &v
21079	return s
21080}
21081
21082type CreateContactMethodOutput struct {
21083	_ struct{} `type:"structure"`
21084
21085	// An array of objects that describe the result of the action, such as the status
21086	// of the request, the timestamp of the request, and the resources affected
21087	// by the request.
21088	Operations []*Operation `locationName:"operations" type:"list"`
21089}
21090
21091// String returns the string representation.
21092//
21093// API parameter values that are decorated as "sensitive" in the API will not
21094// be included in the string output. The member name will be present, but the
21095// value will be replaced with "sensitive".
21096func (s CreateContactMethodOutput) String() string {
21097	return awsutil.Prettify(s)
21098}
21099
21100// GoString returns the string representation.
21101//
21102// API parameter values that are decorated as "sensitive" in the API will not
21103// be included in the string output. The member name will be present, but the
21104// value will be replaced with "sensitive".
21105func (s CreateContactMethodOutput) GoString() string {
21106	return s.String()
21107}
21108
21109// SetOperations sets the Operations field's value.
21110func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
21111	s.Operations = v
21112	return s
21113}
21114
21115type CreateContainerServiceDeploymentInput struct {
21116	_ struct{} `type:"structure"`
21117
21118	// An object that describes the settings of the containers that will be launched
21119	// on the container service.
21120	Containers map[string]*Container `locationName:"containers" type:"map"`
21121
21122	// An object that describes the settings of the public endpoint for the container
21123	// service.
21124	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
21125
21126	// The name of the container service for which to create the deployment.
21127	//
21128	// ServiceName is a required field
21129	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21130}
21131
21132// String returns the string representation.
21133//
21134// API parameter values that are decorated as "sensitive" in the API will not
21135// be included in the string output. The member name will be present, but the
21136// value will be replaced with "sensitive".
21137func (s CreateContainerServiceDeploymentInput) String() string {
21138	return awsutil.Prettify(s)
21139}
21140
21141// GoString returns the string representation.
21142//
21143// API parameter values that are decorated as "sensitive" in the API will not
21144// be included in the string output. The member name will be present, but the
21145// value will be replaced with "sensitive".
21146func (s CreateContainerServiceDeploymentInput) GoString() string {
21147	return s.String()
21148}
21149
21150// Validate inspects the fields of the type to determine if they are valid.
21151func (s *CreateContainerServiceDeploymentInput) Validate() error {
21152	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceDeploymentInput"}
21153	if s.ServiceName == nil {
21154		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21155	}
21156	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21157		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21158	}
21159	if s.PublicEndpoint != nil {
21160		if err := s.PublicEndpoint.Validate(); err != nil {
21161			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
21162		}
21163	}
21164
21165	if invalidParams.Len() > 0 {
21166		return invalidParams
21167	}
21168	return nil
21169}
21170
21171// SetContainers sets the Containers field's value.
21172func (s *CreateContainerServiceDeploymentInput) SetContainers(v map[string]*Container) *CreateContainerServiceDeploymentInput {
21173	s.Containers = v
21174	return s
21175}
21176
21177// SetPublicEndpoint sets the PublicEndpoint field's value.
21178func (s *CreateContainerServiceDeploymentInput) SetPublicEndpoint(v *EndpointRequest) *CreateContainerServiceDeploymentInput {
21179	s.PublicEndpoint = v
21180	return s
21181}
21182
21183// SetServiceName sets the ServiceName field's value.
21184func (s *CreateContainerServiceDeploymentInput) SetServiceName(v string) *CreateContainerServiceDeploymentInput {
21185	s.ServiceName = &v
21186	return s
21187}
21188
21189type CreateContainerServiceDeploymentOutput struct {
21190	_ struct{} `type:"structure"`
21191
21192	// An object that describes a container service.
21193	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
21194}
21195
21196// String returns the string representation.
21197//
21198// API parameter values that are decorated as "sensitive" in the API will not
21199// be included in the string output. The member name will be present, but the
21200// value will be replaced with "sensitive".
21201func (s CreateContainerServiceDeploymentOutput) String() string {
21202	return awsutil.Prettify(s)
21203}
21204
21205// GoString returns the string representation.
21206//
21207// API parameter values that are decorated as "sensitive" in the API will not
21208// be included in the string output. The member name will be present, but the
21209// value will be replaced with "sensitive".
21210func (s CreateContainerServiceDeploymentOutput) GoString() string {
21211	return s.String()
21212}
21213
21214// SetContainerService sets the ContainerService field's value.
21215func (s *CreateContainerServiceDeploymentOutput) SetContainerService(v *ContainerService) *CreateContainerServiceDeploymentOutput {
21216	s.ContainerService = v
21217	return s
21218}
21219
21220type CreateContainerServiceInput struct {
21221	_ struct{} `type:"structure"`
21222
21223	// An object that describes a deployment for the container service.
21224	//
21225	// A deployment specifies the containers that will be launched on the container
21226	// service and their settings, such as the ports to open, the environment variables
21227	// to apply, and the launch command to run. It also specifies the container
21228	// that will serve as the public endpoint of the deployment and its settings,
21229	// such as the HTTP or HTTPS port to use, and the health check configuration.
21230	Deployment *ContainerServiceDeploymentRequest `locationName:"deployment" type:"structure"`
21231
21232	// The power specification for the container service.
21233	//
21234	// The power specifies the amount of memory, vCPUs, and base monthly cost of
21235	// each node of the container service. The power and scale of a container service
21236	// makes up its configured capacity. To determine the monthly price of your
21237	// container service, multiply the base price of the power with the scale (the
21238	// number of nodes) of the service.
21239	//
21240	// Use the GetContainerServicePowers action to get a list of power options that
21241	// you can specify using this parameter, and their base monthly cost.
21242	//
21243	// Power is a required field
21244	Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"`
21245
21246	// The public domain names to use with the container service, such as example.com
21247	// and www.example.com.
21248	//
21249	// You can specify up to four public domain names for a container service. The
21250	// domain names that you specify are used when you create a deployment with
21251	// a container configured as the public endpoint of your container service.
21252	//
21253	// If you don't specify public domain names, then you can use the default domain
21254	// of the container service.
21255	//
21256	// You must create and validate an SSL/TLS certificate before you can use public
21257	// domain names with your container service. Use the CreateCertificate action
21258	// to create a certificate for the public domain names you want to use with
21259	// your container service.
21260	//
21261	// You can specify public domain names using a string to array map as shown
21262	// in the example later on this page.
21263	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
21264
21265	// The scale specification for the container service.
21266	//
21267	// The scale specifies the allocated compute nodes of the container service.
21268	// The power and scale of a container service makes up its configured capacity.
21269	// To determine the monthly price of your container service, multiply the base
21270	// price of the power with the scale (the number of nodes) of the service.
21271	//
21272	// Scale is a required field
21273	Scale *int64 `locationName:"scale" min:"1" type:"integer" required:"true"`
21274
21275	// The name for the container service.
21276	//
21277	// The name that you specify for your container service will make up part of
21278	// its default domain. The default domain of a container service is typically
21279	// https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. If
21280	// the name of your container service is container-service-1, and it's located
21281	// in the US East (Ohio) AWS region (us-east-2), then the domain for your container
21282	// service will be like the following example: https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com
21283	//
21284	// The following are the requirements for container service names:
21285	//
21286	//    * Must be unique within each AWS Region in your Lightsail account.
21287	//
21288	//    * Must contain 1 to 63 characters.
21289	//
21290	//    * Must contain only alphanumeric characters and hyphens.
21291	//
21292	//    * A hyphen (-) can separate words but cannot be at the start or end of
21293	//    the name.
21294	//
21295	// ServiceName is a required field
21296	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21297
21298	// The tag keys and optional values to add to the certificate during create.
21299	//
21300	// Use the TagResource action to tag a resource after it's created.
21301	//
21302	// For more information about tags in Lightsail, see the Amazon Lightsail Developer
21303	// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
21304	Tags []*Tag `locationName:"tags" type:"list"`
21305}
21306
21307// String returns the string representation.
21308//
21309// API parameter values that are decorated as "sensitive" in the API will not
21310// be included in the string output. The member name will be present, but the
21311// value will be replaced with "sensitive".
21312func (s CreateContainerServiceInput) String() string {
21313	return awsutil.Prettify(s)
21314}
21315
21316// GoString returns the string representation.
21317//
21318// API parameter values that are decorated as "sensitive" in the API will not
21319// be included in the string output. The member name will be present, but the
21320// value will be replaced with "sensitive".
21321func (s CreateContainerServiceInput) GoString() string {
21322	return s.String()
21323}
21324
21325// Validate inspects the fields of the type to determine if they are valid.
21326func (s *CreateContainerServiceInput) Validate() error {
21327	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceInput"}
21328	if s.Power == nil {
21329		invalidParams.Add(request.NewErrParamRequired("Power"))
21330	}
21331	if s.Scale == nil {
21332		invalidParams.Add(request.NewErrParamRequired("Scale"))
21333	}
21334	if s.Scale != nil && *s.Scale < 1 {
21335		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
21336	}
21337	if s.ServiceName == nil {
21338		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21339	}
21340	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21341		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21342	}
21343	if s.Deployment != nil {
21344		if err := s.Deployment.Validate(); err != nil {
21345			invalidParams.AddNested("Deployment", err.(request.ErrInvalidParams))
21346		}
21347	}
21348
21349	if invalidParams.Len() > 0 {
21350		return invalidParams
21351	}
21352	return nil
21353}
21354
21355// SetDeployment sets the Deployment field's value.
21356func (s *CreateContainerServiceInput) SetDeployment(v *ContainerServiceDeploymentRequest) *CreateContainerServiceInput {
21357	s.Deployment = v
21358	return s
21359}
21360
21361// SetPower sets the Power field's value.
21362func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerServiceInput {
21363	s.Power = &v
21364	return s
21365}
21366
21367// SetPublicDomainNames sets the PublicDomainNames field's value.
21368func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput {
21369	s.PublicDomainNames = v
21370	return s
21371}
21372
21373// SetScale sets the Scale field's value.
21374func (s *CreateContainerServiceInput) SetScale(v int64) *CreateContainerServiceInput {
21375	s.Scale = &v
21376	return s
21377}
21378
21379// SetServiceName sets the ServiceName field's value.
21380func (s *CreateContainerServiceInput) SetServiceName(v string) *CreateContainerServiceInput {
21381	s.ServiceName = &v
21382	return s
21383}
21384
21385// SetTags sets the Tags field's value.
21386func (s *CreateContainerServiceInput) SetTags(v []*Tag) *CreateContainerServiceInput {
21387	s.Tags = v
21388	return s
21389}
21390
21391type CreateContainerServiceOutput struct {
21392	_ struct{} `type:"structure"`
21393
21394	// An object that describes a container service.
21395	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
21396}
21397
21398// String returns the string representation.
21399//
21400// API parameter values that are decorated as "sensitive" in the API will not
21401// be included in the string output. The member name will be present, but the
21402// value will be replaced with "sensitive".
21403func (s CreateContainerServiceOutput) String() string {
21404	return awsutil.Prettify(s)
21405}
21406
21407// GoString returns the string representation.
21408//
21409// API parameter values that are decorated as "sensitive" in the API will not
21410// be included in the string output. The member name will be present, but the
21411// value will be replaced with "sensitive".
21412func (s CreateContainerServiceOutput) GoString() string {
21413	return s.String()
21414}
21415
21416// SetContainerService sets the ContainerService field's value.
21417func (s *CreateContainerServiceOutput) SetContainerService(v *ContainerService) *CreateContainerServiceOutput {
21418	s.ContainerService = v
21419	return s
21420}
21421
21422type CreateContainerServiceRegistryLoginInput struct {
21423	_ struct{} `type:"structure"`
21424}
21425
21426// String returns the string representation.
21427//
21428// API parameter values that are decorated as "sensitive" in the API will not
21429// be included in the string output. The member name will be present, but the
21430// value will be replaced with "sensitive".
21431func (s CreateContainerServiceRegistryLoginInput) String() string {
21432	return awsutil.Prettify(s)
21433}
21434
21435// GoString returns the string representation.
21436//
21437// API parameter values that are decorated as "sensitive" in the API will not
21438// be included in the string output. The member name will be present, but the
21439// value will be replaced with "sensitive".
21440func (s CreateContainerServiceRegistryLoginInput) GoString() string {
21441	return s.String()
21442}
21443
21444type CreateContainerServiceRegistryLoginOutput struct {
21445	_ struct{} `type:"structure"`
21446
21447	// An object that describes the log in information for the container service
21448	// registry of your Lightsail account.
21449	RegistryLogin *ContainerServiceRegistryLogin `locationName:"registryLogin" type:"structure"`
21450}
21451
21452// String returns the string representation.
21453//
21454// API parameter values that are decorated as "sensitive" in the API will not
21455// be included in the string output. The member name will be present, but the
21456// value will be replaced with "sensitive".
21457func (s CreateContainerServiceRegistryLoginOutput) String() string {
21458	return awsutil.Prettify(s)
21459}
21460
21461// GoString returns the string representation.
21462//
21463// API parameter values that are decorated as "sensitive" in the API will not
21464// be included in the string output. The member name will be present, but the
21465// value will be replaced with "sensitive".
21466func (s CreateContainerServiceRegistryLoginOutput) GoString() string {
21467	return s.String()
21468}
21469
21470// SetRegistryLogin sets the RegistryLogin field's value.
21471func (s *CreateContainerServiceRegistryLoginOutput) SetRegistryLogin(v *ContainerServiceRegistryLogin) *CreateContainerServiceRegistryLoginOutput {
21472	s.RegistryLogin = v
21473	return s
21474}
21475
21476type CreateDiskFromSnapshotInput struct {
21477	_ struct{} `type:"structure"`
21478
21479	// An array of objects that represent the add-ons to enable for the new disk.
21480	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
21481
21482	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
21483	// Choose the same Availability Zone as the Lightsail instance where you want
21484	// to create the disk.
21485	//
21486	// Use the GetRegions operation to list the Availability Zones where Lightsail
21487	// is currently available.
21488	//
21489	// AvailabilityZone is a required field
21490	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
21491
21492	// The unique Lightsail disk name (e.g., my-disk).
21493	//
21494	// DiskName is a required field
21495	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21496
21497	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
21498	// new storage disk.
21499	//
21500	// Constraint:
21501	//
21502	//    * This parameter cannot be defined together with the source disk name
21503	//    parameter. The disk snapshot name and source disk name parameters are
21504	//    mutually exclusive.
21505	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
21506
21507	// The date of the automatic snapshot to use for the new disk. Use the get auto
21508	// snapshots operation to identify the dates of the available automatic snapshots.
21509	//
21510	// Constraints:
21511	//
21512	//    * Must be specified in YYYY-MM-DD format.
21513	//
21514	//    * This parameter cannot be defined together with the use latest restorable
21515	//    auto snapshot parameter. The restore date and use latest restorable auto
21516	//    snapshot parameters are mutually exclusive.
21517	//
21518	//    * Define this parameter only when creating a new disk from an automatic
21519	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21520	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21521	RestoreDate *string `locationName:"restoreDate" type:"string"`
21522
21523	// The size of the disk in GB (e.g., 32).
21524	//
21525	// SizeInGb is a required field
21526	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
21527
21528	// The name of the source disk from which the source automatic snapshot was
21529	// created.
21530	//
21531	// Constraints:
21532	//
21533	//    * This parameter cannot be defined together with the disk snapshot name
21534	//    parameter. The source disk name and disk snapshot name parameters are
21535	//    mutually exclusive.
21536	//
21537	//    * Define this parameter only when creating a new disk from an automatic
21538	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21539	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21540	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
21541
21542	// The tag keys and optional values to add to the resource during create.
21543	//
21544	// Use the TagResource action to tag a resource after it's created.
21545	Tags []*Tag `locationName:"tags" type:"list"`
21546
21547	// A Boolean value to indicate whether to use the latest available automatic
21548	// snapshot.
21549	//
21550	// Constraints:
21551	//
21552	//    * This parameter cannot be defined together with the restore date parameter.
21553	//    The use latest restorable auto snapshot and restore date parameters are
21554	//    mutually exclusive.
21555	//
21556	//    * Define this parameter only when creating a new disk from an automatic
21557	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
21558	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
21559	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
21560}
21561
21562// String returns the string representation.
21563//
21564// API parameter values that are decorated as "sensitive" in the API will not
21565// be included in the string output. The member name will be present, but the
21566// value will be replaced with "sensitive".
21567func (s CreateDiskFromSnapshotInput) String() string {
21568	return awsutil.Prettify(s)
21569}
21570
21571// GoString returns the string representation.
21572//
21573// API parameter values that are decorated as "sensitive" in the API will not
21574// be included in the string output. The member name will be present, but the
21575// value will be replaced with "sensitive".
21576func (s CreateDiskFromSnapshotInput) GoString() string {
21577	return s.String()
21578}
21579
21580// Validate inspects the fields of the type to determine if they are valid.
21581func (s *CreateDiskFromSnapshotInput) Validate() error {
21582	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
21583	if s.AvailabilityZone == nil {
21584		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
21585	}
21586	if s.DiskName == nil {
21587		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21588	}
21589	if s.SizeInGb == nil {
21590		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
21591	}
21592	if s.AddOns != nil {
21593		for i, v := range s.AddOns {
21594			if v == nil {
21595				continue
21596			}
21597			if err := v.Validate(); err != nil {
21598				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
21599			}
21600		}
21601	}
21602
21603	if invalidParams.Len() > 0 {
21604		return invalidParams
21605	}
21606	return nil
21607}
21608
21609// SetAddOns sets the AddOns field's value.
21610func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
21611	s.AddOns = v
21612	return s
21613}
21614
21615// SetAvailabilityZone sets the AvailabilityZone field's value.
21616func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
21617	s.AvailabilityZone = &v
21618	return s
21619}
21620
21621// SetDiskName sets the DiskName field's value.
21622func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
21623	s.DiskName = &v
21624	return s
21625}
21626
21627// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21628func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
21629	s.DiskSnapshotName = &v
21630	return s
21631}
21632
21633// SetRestoreDate sets the RestoreDate field's value.
21634func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
21635	s.RestoreDate = &v
21636	return s
21637}
21638
21639// SetSizeInGb sets the SizeInGb field's value.
21640func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
21641	s.SizeInGb = &v
21642	return s
21643}
21644
21645// SetSourceDiskName sets the SourceDiskName field's value.
21646func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
21647	s.SourceDiskName = &v
21648	return s
21649}
21650
21651// SetTags sets the Tags field's value.
21652func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
21653	s.Tags = v
21654	return s
21655}
21656
21657// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
21658func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
21659	s.UseLatestRestorableAutoSnapshot = &v
21660	return s
21661}
21662
21663type CreateDiskFromSnapshotOutput struct {
21664	_ struct{} `type:"structure"`
21665
21666	// An array of objects that describe the result of the action, such as the status
21667	// of the request, the timestamp of the request, and the resources affected
21668	// by the request.
21669	Operations []*Operation `locationName:"operations" type:"list"`
21670}
21671
21672// String returns the string representation.
21673//
21674// API parameter values that are decorated as "sensitive" in the API will not
21675// be included in the string output. The member name will be present, but the
21676// value will be replaced with "sensitive".
21677func (s CreateDiskFromSnapshotOutput) String() string {
21678	return awsutil.Prettify(s)
21679}
21680
21681// GoString returns the string representation.
21682//
21683// API parameter values that are decorated as "sensitive" in the API will not
21684// be included in the string output. The member name will be present, but the
21685// value will be replaced with "sensitive".
21686func (s CreateDiskFromSnapshotOutput) GoString() string {
21687	return s.String()
21688}
21689
21690// SetOperations sets the Operations field's value.
21691func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
21692	s.Operations = v
21693	return s
21694}
21695
21696type CreateDiskInput struct {
21697	_ struct{} `type:"structure"`
21698
21699	// An array of objects that represent the add-ons to enable for the new disk.
21700	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
21701
21702	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
21703	// Use the same Availability Zone as the Lightsail instance to which you want
21704	// to attach the disk.
21705	//
21706	// Use the get regions operation to list the Availability Zones where Lightsail
21707	// is currently available.
21708	//
21709	// AvailabilityZone is a required field
21710	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
21711
21712	// The unique Lightsail disk name (e.g., my-disk).
21713	//
21714	// DiskName is a required field
21715	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21716
21717	// The size of the disk in GB (e.g., 32).
21718	//
21719	// SizeInGb is a required field
21720	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
21721
21722	// The tag keys and optional values to add to the resource during create.
21723	//
21724	// Use the TagResource action to tag a resource after it's created.
21725	Tags []*Tag `locationName:"tags" type:"list"`
21726}
21727
21728// String returns the string representation.
21729//
21730// API parameter values that are decorated as "sensitive" in the API will not
21731// be included in the string output. The member name will be present, but the
21732// value will be replaced with "sensitive".
21733func (s CreateDiskInput) String() string {
21734	return awsutil.Prettify(s)
21735}
21736
21737// GoString returns the string representation.
21738//
21739// API parameter values that are decorated as "sensitive" in the API will not
21740// be included in the string output. The member name will be present, but the
21741// value will be replaced with "sensitive".
21742func (s CreateDiskInput) GoString() string {
21743	return s.String()
21744}
21745
21746// Validate inspects the fields of the type to determine if they are valid.
21747func (s *CreateDiskInput) Validate() error {
21748	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
21749	if s.AvailabilityZone == nil {
21750		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
21751	}
21752	if s.DiskName == nil {
21753		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21754	}
21755	if s.SizeInGb == nil {
21756		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
21757	}
21758	if s.AddOns != nil {
21759		for i, v := range s.AddOns {
21760			if v == nil {
21761				continue
21762			}
21763			if err := v.Validate(); err != nil {
21764				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
21765			}
21766		}
21767	}
21768
21769	if invalidParams.Len() > 0 {
21770		return invalidParams
21771	}
21772	return nil
21773}
21774
21775// SetAddOns sets the AddOns field's value.
21776func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
21777	s.AddOns = v
21778	return s
21779}
21780
21781// SetAvailabilityZone sets the AvailabilityZone field's value.
21782func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
21783	s.AvailabilityZone = &v
21784	return s
21785}
21786
21787// SetDiskName sets the DiskName field's value.
21788func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
21789	s.DiskName = &v
21790	return s
21791}
21792
21793// SetSizeInGb sets the SizeInGb field's value.
21794func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
21795	s.SizeInGb = &v
21796	return s
21797}
21798
21799// SetTags sets the Tags field's value.
21800func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
21801	s.Tags = v
21802	return s
21803}
21804
21805type CreateDiskOutput struct {
21806	_ struct{} `type:"structure"`
21807
21808	// An array of objects that describe the result of the action, such as the status
21809	// of the request, the timestamp of the request, and the resources affected
21810	// by the request.
21811	Operations []*Operation `locationName:"operations" type:"list"`
21812}
21813
21814// String returns the string representation.
21815//
21816// API parameter values that are decorated as "sensitive" in the API will not
21817// be included in the string output. The member name will be present, but the
21818// value will be replaced with "sensitive".
21819func (s CreateDiskOutput) String() string {
21820	return awsutil.Prettify(s)
21821}
21822
21823// GoString returns the string representation.
21824//
21825// API parameter values that are decorated as "sensitive" in the API will not
21826// be included in the string output. The member name will be present, but the
21827// value will be replaced with "sensitive".
21828func (s CreateDiskOutput) GoString() string {
21829	return s.String()
21830}
21831
21832// SetOperations sets the Operations field's value.
21833func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
21834	s.Operations = v
21835	return s
21836}
21837
21838type CreateDiskSnapshotInput struct {
21839	_ struct{} `type:"structure"`
21840
21841	// The unique name of the source disk (e.g., Disk-Virginia-1).
21842	//
21843	// This parameter cannot be defined together with the instance name parameter.
21844	// The disk name and instance name parameters are mutually exclusive.
21845	DiskName *string `locationName:"diskName" type:"string"`
21846
21847	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
21848	// on the source disk.
21849	//
21850	// DiskSnapshotName is a required field
21851	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
21852
21853	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
21854	// When this is defined, a snapshot of the instance's system volume is created.
21855	//
21856	// This parameter cannot be defined together with the disk name parameter. The
21857	// instance name and disk name parameters are mutually exclusive.
21858	InstanceName *string `locationName:"instanceName" type:"string"`
21859
21860	// The tag keys and optional values to add to the resource during create.
21861	//
21862	// Use the TagResource action to tag a resource after it's created.
21863	Tags []*Tag `locationName:"tags" type:"list"`
21864}
21865
21866// String returns the string representation.
21867//
21868// API parameter values that are decorated as "sensitive" in the API will not
21869// be included in the string output. The member name will be present, but the
21870// value will be replaced with "sensitive".
21871func (s CreateDiskSnapshotInput) String() string {
21872	return awsutil.Prettify(s)
21873}
21874
21875// GoString returns the string representation.
21876//
21877// API parameter values that are decorated as "sensitive" in the API will not
21878// be included in the string output. The member name will be present, but the
21879// value will be replaced with "sensitive".
21880func (s CreateDiskSnapshotInput) GoString() string {
21881	return s.String()
21882}
21883
21884// Validate inspects the fields of the type to determine if they are valid.
21885func (s *CreateDiskSnapshotInput) Validate() error {
21886	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
21887	if s.DiskSnapshotName == nil {
21888		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
21889	}
21890
21891	if invalidParams.Len() > 0 {
21892		return invalidParams
21893	}
21894	return nil
21895}
21896
21897// SetDiskName sets the DiskName field's value.
21898func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
21899	s.DiskName = &v
21900	return s
21901}
21902
21903// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21904func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
21905	s.DiskSnapshotName = &v
21906	return s
21907}
21908
21909// SetInstanceName sets the InstanceName field's value.
21910func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
21911	s.InstanceName = &v
21912	return s
21913}
21914
21915// SetTags sets the Tags field's value.
21916func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
21917	s.Tags = v
21918	return s
21919}
21920
21921type CreateDiskSnapshotOutput struct {
21922	_ struct{} `type:"structure"`
21923
21924	// An array of objects that describe the result of the action, such as the status
21925	// of the request, the timestamp of the request, and the resources affected
21926	// by the request.
21927	Operations []*Operation `locationName:"operations" type:"list"`
21928}
21929
21930// String returns the string representation.
21931//
21932// API parameter values that are decorated as "sensitive" in the API will not
21933// be included in the string output. The member name will be present, but the
21934// value will be replaced with "sensitive".
21935func (s CreateDiskSnapshotOutput) String() string {
21936	return awsutil.Prettify(s)
21937}
21938
21939// GoString returns the string representation.
21940//
21941// API parameter values that are decorated as "sensitive" in the API will not
21942// be included in the string output. The member name will be present, but the
21943// value will be replaced with "sensitive".
21944func (s CreateDiskSnapshotOutput) GoString() string {
21945	return s.String()
21946}
21947
21948// SetOperations sets the Operations field's value.
21949func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
21950	s.Operations = v
21951	return s
21952}
21953
21954type CreateDistributionInput struct {
21955	_ struct{} `type:"structure"`
21956
21957	// The bundle ID to use for the distribution.
21958	//
21959	// A distribution bundle describes the specifications of your distribution,
21960	// such as the monthly cost and monthly network transfer quota.
21961	//
21962	// Use the GetDistributionBundles action to get a list of distribution bundle
21963	// IDs that you can specify.
21964	//
21965	// BundleId is a required field
21966	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
21967
21968	// An object that describes the cache behavior settings for the distribution.
21969	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
21970
21971	// An array of objects that describe the per-path cache behavior for the distribution.
21972	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
21973
21974	// An object that describes the default cache behavior for the distribution.
21975	//
21976	// DefaultCacheBehavior is a required field
21977	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
21978
21979	// The name for the distribution.
21980	//
21981	// DistributionName is a required field
21982	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
21983
21984	// The IP address type for the distribution.
21985	//
21986	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
21987	//
21988	// The default value is dualstack.
21989	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
21990
21991	// An object that describes the origin resource for the distribution, such as
21992	// a Lightsail instance or load balancer.
21993	//
21994	// The distribution pulls, caches, and serves content from the origin.
21995	//
21996	// Origin is a required field
21997	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
21998
21999	// The tag keys and optional values to add to the distribution during create.
22000	//
22001	// Use the TagResource action to tag a resource after it's created.
22002	Tags []*Tag `locationName:"tags" type:"list"`
22003}
22004
22005// String returns the string representation.
22006//
22007// API parameter values that are decorated as "sensitive" in the API will not
22008// be included in the string output. The member name will be present, but the
22009// value will be replaced with "sensitive".
22010func (s CreateDistributionInput) String() string {
22011	return awsutil.Prettify(s)
22012}
22013
22014// GoString returns the string representation.
22015//
22016// API parameter values that are decorated as "sensitive" in the API will not
22017// be included in the string output. The member name will be present, but the
22018// value will be replaced with "sensitive".
22019func (s CreateDistributionInput) GoString() string {
22020	return s.String()
22021}
22022
22023// Validate inspects the fields of the type to determine if they are valid.
22024func (s *CreateDistributionInput) Validate() error {
22025	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
22026	if s.BundleId == nil {
22027		invalidParams.Add(request.NewErrParamRequired("BundleId"))
22028	}
22029	if s.DefaultCacheBehavior == nil {
22030		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
22031	}
22032	if s.DistributionName == nil {
22033		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
22034	}
22035	if s.Origin == nil {
22036		invalidParams.Add(request.NewErrParamRequired("Origin"))
22037	}
22038
22039	if invalidParams.Len() > 0 {
22040		return invalidParams
22041	}
22042	return nil
22043}
22044
22045// SetBundleId sets the BundleId field's value.
22046func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
22047	s.BundleId = &v
22048	return s
22049}
22050
22051// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
22052func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
22053	s.CacheBehaviorSettings = v
22054	return s
22055}
22056
22057// SetCacheBehaviors sets the CacheBehaviors field's value.
22058func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
22059	s.CacheBehaviors = v
22060	return s
22061}
22062
22063// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
22064func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
22065	s.DefaultCacheBehavior = v
22066	return s
22067}
22068
22069// SetDistributionName sets the DistributionName field's value.
22070func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
22071	s.DistributionName = &v
22072	return s
22073}
22074
22075// SetIpAddressType sets the IpAddressType field's value.
22076func (s *CreateDistributionInput) SetIpAddressType(v string) *CreateDistributionInput {
22077	s.IpAddressType = &v
22078	return s
22079}
22080
22081// SetOrigin sets the Origin field's value.
22082func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
22083	s.Origin = v
22084	return s
22085}
22086
22087// SetTags sets the Tags field's value.
22088func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
22089	s.Tags = v
22090	return s
22091}
22092
22093type CreateDistributionOutput struct {
22094	_ struct{} `type:"structure"`
22095
22096	// An object that describes the distribution created.
22097	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
22098
22099	// An array of objects that describe the result of the action, such as the status
22100	// of the request, the timestamp of the request, and the resources affected
22101	// by the request.
22102	Operation *Operation `locationName:"operation" type:"structure"`
22103}
22104
22105// String returns the string representation.
22106//
22107// API parameter values that are decorated as "sensitive" in the API will not
22108// be included in the string output. The member name will be present, but the
22109// value will be replaced with "sensitive".
22110func (s CreateDistributionOutput) String() string {
22111	return awsutil.Prettify(s)
22112}
22113
22114// GoString returns the string representation.
22115//
22116// API parameter values that are decorated as "sensitive" in the API will not
22117// be included in the string output. The member name will be present, but the
22118// value will be replaced with "sensitive".
22119func (s CreateDistributionOutput) GoString() string {
22120	return s.String()
22121}
22122
22123// SetDistribution sets the Distribution field's value.
22124func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
22125	s.Distribution = v
22126	return s
22127}
22128
22129// SetOperation sets the Operation field's value.
22130func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
22131	s.Operation = v
22132	return s
22133}
22134
22135type CreateDomainEntryInput struct {
22136	_ struct{} `type:"structure"`
22137
22138	// An array of key-value pairs containing information about the domain entry
22139	// request.
22140	//
22141	// DomainEntry is a required field
22142	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
22143
22144	// The domain name (e.g., example.com) for which you want to create the domain
22145	// entry.
22146	//
22147	// DomainName is a required field
22148	DomainName *string `locationName:"domainName" type:"string" required:"true"`
22149}
22150
22151// String returns the string representation.
22152//
22153// API parameter values that are decorated as "sensitive" in the API will not
22154// be included in the string output. The member name will be present, but the
22155// value will be replaced with "sensitive".
22156func (s CreateDomainEntryInput) String() string {
22157	return awsutil.Prettify(s)
22158}
22159
22160// GoString returns the string representation.
22161//
22162// API parameter values that are decorated as "sensitive" in the API will not
22163// be included in the string output. The member name will be present, but the
22164// value will be replaced with "sensitive".
22165func (s CreateDomainEntryInput) GoString() string {
22166	return s.String()
22167}
22168
22169// Validate inspects the fields of the type to determine if they are valid.
22170func (s *CreateDomainEntryInput) Validate() error {
22171	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
22172	if s.DomainEntry == nil {
22173		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
22174	}
22175	if s.DomainName == nil {
22176		invalidParams.Add(request.NewErrParamRequired("DomainName"))
22177	}
22178
22179	if invalidParams.Len() > 0 {
22180		return invalidParams
22181	}
22182	return nil
22183}
22184
22185// SetDomainEntry sets the DomainEntry field's value.
22186func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
22187	s.DomainEntry = v
22188	return s
22189}
22190
22191// SetDomainName sets the DomainName field's value.
22192func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
22193	s.DomainName = &v
22194	return s
22195}
22196
22197type CreateDomainEntryOutput struct {
22198	_ struct{} `type:"structure"`
22199
22200	// An array of objects that describe the result of the action, such as the status
22201	// of the request, the timestamp of the request, and the resources affected
22202	// by the request.
22203	Operation *Operation `locationName:"operation" type:"structure"`
22204}
22205
22206// String returns the string representation.
22207//
22208// API parameter values that are decorated as "sensitive" in the API will not
22209// be included in the string output. The member name will be present, but the
22210// value will be replaced with "sensitive".
22211func (s CreateDomainEntryOutput) String() string {
22212	return awsutil.Prettify(s)
22213}
22214
22215// GoString returns the string representation.
22216//
22217// API parameter values that are decorated as "sensitive" in the API will not
22218// be included in the string output. The member name will be present, but the
22219// value will be replaced with "sensitive".
22220func (s CreateDomainEntryOutput) GoString() string {
22221	return s.String()
22222}
22223
22224// SetOperation sets the Operation field's value.
22225func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
22226	s.Operation = v
22227	return s
22228}
22229
22230type CreateDomainInput struct {
22231	_ struct{} `type:"structure"`
22232
22233	// The domain name to manage (e.g., example.com).
22234	//
22235	// You cannot register a new domain name using Lightsail. You must register
22236	// a domain name using Amazon Route 53 or another domain name registrar. If
22237	// you have already registered your domain, you can enter its name in this parameter
22238	// to manage the DNS records for that domain using Lightsail.
22239	//
22240	// DomainName is a required field
22241	DomainName *string `locationName:"domainName" type:"string" required:"true"`
22242
22243	// The tag keys and optional values to add to the resource during create.
22244	//
22245	// Use the TagResource action to tag a resource after it's created.
22246	Tags []*Tag `locationName:"tags" type:"list"`
22247}
22248
22249// String returns the string representation.
22250//
22251// API parameter values that are decorated as "sensitive" in the API will not
22252// be included in the string output. The member name will be present, but the
22253// value will be replaced with "sensitive".
22254func (s CreateDomainInput) String() string {
22255	return awsutil.Prettify(s)
22256}
22257
22258// GoString returns the string representation.
22259//
22260// API parameter values that are decorated as "sensitive" in the API will not
22261// be included in the string output. The member name will be present, but the
22262// value will be replaced with "sensitive".
22263func (s CreateDomainInput) GoString() string {
22264	return s.String()
22265}
22266
22267// Validate inspects the fields of the type to determine if they are valid.
22268func (s *CreateDomainInput) Validate() error {
22269	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
22270	if s.DomainName == nil {
22271		invalidParams.Add(request.NewErrParamRequired("DomainName"))
22272	}
22273
22274	if invalidParams.Len() > 0 {
22275		return invalidParams
22276	}
22277	return nil
22278}
22279
22280// SetDomainName sets the DomainName field's value.
22281func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
22282	s.DomainName = &v
22283	return s
22284}
22285
22286// SetTags sets the Tags field's value.
22287func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
22288	s.Tags = v
22289	return s
22290}
22291
22292type CreateDomainOutput struct {
22293	_ struct{} `type:"structure"`
22294
22295	// An array of objects that describe the result of the action, such as the status
22296	// of the request, the timestamp of the request, and the resources affected
22297	// by the request.
22298	Operation *Operation `locationName:"operation" type:"structure"`
22299}
22300
22301// String returns the string representation.
22302//
22303// API parameter values that are decorated as "sensitive" in the API will not
22304// be included in the string output. The member name will be present, but the
22305// value will be replaced with "sensitive".
22306func (s CreateDomainOutput) String() string {
22307	return awsutil.Prettify(s)
22308}
22309
22310// GoString returns the string representation.
22311//
22312// API parameter values that are decorated as "sensitive" in the API will not
22313// be included in the string output. The member name will be present, but the
22314// value will be replaced with "sensitive".
22315func (s CreateDomainOutput) GoString() string {
22316	return s.String()
22317}
22318
22319// SetOperation sets the Operation field's value.
22320func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
22321	s.Operation = v
22322	return s
22323}
22324
22325type CreateInstanceSnapshotInput struct {
22326	_ struct{} `type:"structure"`
22327
22328	// The Lightsail instance on which to base your snapshot.
22329	//
22330	// InstanceName is a required field
22331	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22332
22333	// The name for your new snapshot.
22334	//
22335	// InstanceSnapshotName is a required field
22336	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
22337
22338	// The tag keys and optional values to add to the resource during create.
22339	//
22340	// Use the TagResource action to tag a resource after it's created.
22341	Tags []*Tag `locationName:"tags" type:"list"`
22342}
22343
22344// String returns the string representation.
22345//
22346// API parameter values that are decorated as "sensitive" in the API will not
22347// be included in the string output. The member name will be present, but the
22348// value will be replaced with "sensitive".
22349func (s CreateInstanceSnapshotInput) String() string {
22350	return awsutil.Prettify(s)
22351}
22352
22353// GoString returns the string representation.
22354//
22355// API parameter values that are decorated as "sensitive" in the API will not
22356// be included in the string output. The member name will be present, but the
22357// value will be replaced with "sensitive".
22358func (s CreateInstanceSnapshotInput) GoString() string {
22359	return s.String()
22360}
22361
22362// Validate inspects the fields of the type to determine if they are valid.
22363func (s *CreateInstanceSnapshotInput) Validate() error {
22364	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
22365	if s.InstanceName == nil {
22366		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22367	}
22368	if s.InstanceSnapshotName == nil {
22369		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
22370	}
22371
22372	if invalidParams.Len() > 0 {
22373		return invalidParams
22374	}
22375	return nil
22376}
22377
22378// SetInstanceName sets the InstanceName field's value.
22379func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
22380	s.InstanceName = &v
22381	return s
22382}
22383
22384// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
22385func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
22386	s.InstanceSnapshotName = &v
22387	return s
22388}
22389
22390// SetTags sets the Tags field's value.
22391func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
22392	s.Tags = v
22393	return s
22394}
22395
22396type CreateInstanceSnapshotOutput struct {
22397	_ struct{} `type:"structure"`
22398
22399	// An array of objects that describe the result of the action, such as the status
22400	// of the request, the timestamp of the request, and the resources affected
22401	// by the request.
22402	Operations []*Operation `locationName:"operations" type:"list"`
22403}
22404
22405// String returns the string representation.
22406//
22407// API parameter values that are decorated as "sensitive" in the API will not
22408// be included in the string output. The member name will be present, but the
22409// value will be replaced with "sensitive".
22410func (s CreateInstanceSnapshotOutput) String() string {
22411	return awsutil.Prettify(s)
22412}
22413
22414// GoString returns the string representation.
22415//
22416// API parameter values that are decorated as "sensitive" in the API will not
22417// be included in the string output. The member name will be present, but the
22418// value will be replaced with "sensitive".
22419func (s CreateInstanceSnapshotOutput) GoString() string {
22420	return s.String()
22421}
22422
22423// SetOperations sets the Operations field's value.
22424func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
22425	s.Operations = v
22426	return s
22427}
22428
22429type CreateInstancesFromSnapshotInput struct {
22430	_ struct{} `type:"structure"`
22431
22432	// An array of objects representing the add-ons to enable for the new instance.
22433	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
22434
22435	// An object containing information about one or more disk mappings.
22436	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
22437
22438	// The Availability Zone where you want to create your instances. Use the following
22439	// formatting: us-east-2a (case sensitive). You can get a list of Availability
22440	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
22441	// operation. Be sure to add the include Availability Zones parameter to your
22442	// request.
22443	//
22444	// AvailabilityZone is a required field
22445	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
22446
22447	// The bundle of specification information for your virtual private server (or
22448	// instance), including the pricing plan (e.g., micro_1_0).
22449	//
22450	// BundleId is a required field
22451	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
22452
22453	// The names for your new instances.
22454	//
22455	// InstanceNames is a required field
22456	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
22457
22458	// The name of the instance snapshot on which you are basing your new instances.
22459	// Use the get instance snapshots operation to return information about your
22460	// existing snapshots.
22461	//
22462	// Constraint:
22463	//
22464	//    * This parameter cannot be defined together with the source instance name
22465	//    parameter. The instance snapshot name and source instance name parameters
22466	//    are mutually exclusive.
22467	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
22468
22469	// The IP address type for the instance.
22470	//
22471	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
22472	//
22473	// The default value is dualstack.
22474	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
22475
22476	// The name for your key pair.
22477	KeyPairName *string `locationName:"keyPairName" type:"string"`
22478
22479	// The date of the automatic snapshot to use for the new instance. Use the get
22480	// auto snapshots operation to identify the dates of the available automatic
22481	// snapshots.
22482	//
22483	// Constraints:
22484	//
22485	//    * Must be specified in YYYY-MM-DD format.
22486	//
22487	//    * This parameter cannot be defined together with the use latest restorable
22488	//    auto snapshot parameter. The restore date and use latest restorable auto
22489	//    snapshot parameters are mutually exclusive.
22490	//
22491	//    * Define this parameter only when creating a new instance from an automatic
22492	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
22493	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
22494	RestoreDate *string `locationName:"restoreDate" type:"string"`
22495
22496	// The name of the source instance from which the source automatic snapshot
22497	// was created.
22498	//
22499	// Constraints:
22500	//
22501	//    * This parameter cannot be defined together with the instance snapshot
22502	//    name parameter. The source instance name and instance snapshot name parameters
22503	//    are mutually exclusive.
22504	//
22505	//    * Define this parameter only when creating a new instance from an automatic
22506	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
22507	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
22508	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
22509
22510	// The tag keys and optional values to add to the resource during create.
22511	//
22512	// Use the TagResource action to tag a resource after it's created.
22513	Tags []*Tag `locationName:"tags" type:"list"`
22514
22515	// A Boolean value to indicate whether to use the latest available automatic
22516	// snapshot.
22517	//
22518	// Constraints:
22519	//
22520	//    * This parameter cannot be defined together with the restore date parameter.
22521	//    The use latest restorable auto snapshot and restore date parameters are
22522	//    mutually exclusive.
22523	//
22524	//    * Define this parameter only when creating a new instance from an automatic
22525	//    snapshot. For more information, see the Amazon Lightsail Developer Guide
22526	//    (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
22527	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
22528
22529	// You can create a launch script that configures a server with additional user
22530	// data. For example, apt-get -y update.
22531	//
22532	// Depending on the machine image you choose, the command to get software on
22533	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
22534	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
22535	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
22536	UserData *string `locationName:"userData" type:"string"`
22537}
22538
22539// String returns the string representation.
22540//
22541// API parameter values that are decorated as "sensitive" in the API will not
22542// be included in the string output. The member name will be present, but the
22543// value will be replaced with "sensitive".
22544func (s CreateInstancesFromSnapshotInput) String() string {
22545	return awsutil.Prettify(s)
22546}
22547
22548// GoString returns the string representation.
22549//
22550// API parameter values that are decorated as "sensitive" in the API will not
22551// be included in the string output. The member name will be present, but the
22552// value will be replaced with "sensitive".
22553func (s CreateInstancesFromSnapshotInput) GoString() string {
22554	return s.String()
22555}
22556
22557// Validate inspects the fields of the type to determine if they are valid.
22558func (s *CreateInstancesFromSnapshotInput) Validate() error {
22559	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
22560	if s.AvailabilityZone == nil {
22561		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
22562	}
22563	if s.BundleId == nil {
22564		invalidParams.Add(request.NewErrParamRequired("BundleId"))
22565	}
22566	if s.InstanceNames == nil {
22567		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
22568	}
22569	if s.AddOns != nil {
22570		for i, v := range s.AddOns {
22571			if v == nil {
22572				continue
22573			}
22574			if err := v.Validate(); err != nil {
22575				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
22576			}
22577		}
22578	}
22579
22580	if invalidParams.Len() > 0 {
22581		return invalidParams
22582	}
22583	return nil
22584}
22585
22586// SetAddOns sets the AddOns field's value.
22587func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
22588	s.AddOns = v
22589	return s
22590}
22591
22592// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
22593func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
22594	s.AttachedDiskMapping = v
22595	return s
22596}
22597
22598// SetAvailabilityZone sets the AvailabilityZone field's value.
22599func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
22600	s.AvailabilityZone = &v
22601	return s
22602}
22603
22604// SetBundleId sets the BundleId field's value.
22605func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
22606	s.BundleId = &v
22607	return s
22608}
22609
22610// SetInstanceNames sets the InstanceNames field's value.
22611func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
22612	s.InstanceNames = v
22613	return s
22614}
22615
22616// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
22617func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
22618	s.InstanceSnapshotName = &v
22619	return s
22620}
22621
22622// SetIpAddressType sets the IpAddressType field's value.
22623func (s *CreateInstancesFromSnapshotInput) SetIpAddressType(v string) *CreateInstancesFromSnapshotInput {
22624	s.IpAddressType = &v
22625	return s
22626}
22627
22628// SetKeyPairName sets the KeyPairName field's value.
22629func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
22630	s.KeyPairName = &v
22631	return s
22632}
22633
22634// SetRestoreDate sets the RestoreDate field's value.
22635func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
22636	s.RestoreDate = &v
22637	return s
22638}
22639
22640// SetSourceInstanceName sets the SourceInstanceName field's value.
22641func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
22642	s.SourceInstanceName = &v
22643	return s
22644}
22645
22646// SetTags sets the Tags field's value.
22647func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
22648	s.Tags = v
22649	return s
22650}
22651
22652// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
22653func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
22654	s.UseLatestRestorableAutoSnapshot = &v
22655	return s
22656}
22657
22658// SetUserData sets the UserData field's value.
22659func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
22660	s.UserData = &v
22661	return s
22662}
22663
22664type CreateInstancesFromSnapshotOutput struct {
22665	_ struct{} `type:"structure"`
22666
22667	// An array of objects that describe the result of the action, such as the status
22668	// of the request, the timestamp of the request, and the resources affected
22669	// by the request.
22670	Operations []*Operation `locationName:"operations" type:"list"`
22671}
22672
22673// String returns the string representation.
22674//
22675// API parameter values that are decorated as "sensitive" in the API will not
22676// be included in the string output. The member name will be present, but the
22677// value will be replaced with "sensitive".
22678func (s CreateInstancesFromSnapshotOutput) String() string {
22679	return awsutil.Prettify(s)
22680}
22681
22682// GoString returns the string representation.
22683//
22684// API parameter values that are decorated as "sensitive" in the API will not
22685// be included in the string output. The member name will be present, but the
22686// value will be replaced with "sensitive".
22687func (s CreateInstancesFromSnapshotOutput) GoString() string {
22688	return s.String()
22689}
22690
22691// SetOperations sets the Operations field's value.
22692func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
22693	s.Operations = v
22694	return s
22695}
22696
22697type CreateInstancesInput struct {
22698	_ struct{} `type:"structure"`
22699
22700	// An array of objects representing the add-ons to enable for the new instance.
22701	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
22702
22703	// The Availability Zone in which to create your instance. Use the following
22704	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
22705	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
22706	// operation. Be sure to add the include Availability Zones parameter to your
22707	// request.
22708	//
22709	// AvailabilityZone is a required field
22710	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
22711
22712	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
22713	// Use the get blueprints operation to return a list of available images (or
22714	// blueprints).
22715	//
22716	// Use active blueprints when creating new instances. Inactive blueprints are
22717	// listed to support customers with existing instances and are not necessarily
22718	// available to create new instances. Blueprints are marked inactive when they
22719	// become outdated due to operating system updates or new application releases.
22720	//
22721	// BlueprintId is a required field
22722	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
22723
22724	// The bundle of specification information for your virtual private server (or
22725	// instance), including the pricing plan (e.g., micro_1_0).
22726	//
22727	// BundleId is a required field
22728	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
22729
22730	// (Deprecated) The name for your custom image.
22731	//
22732	// In releases prior to June 12, 2017, this parameter was ignored by the API.
22733	// It is now deprecated.
22734	//
22735	// Deprecated: CustomImageName has been deprecated
22736	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
22737
22738	// The names to use for your new Lightsail instances. Separate multiple values
22739	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
22740	//
22741	// InstanceNames is a required field
22742	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
22743
22744	// The IP address type for the instance.
22745	//
22746	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
22747	//
22748	// The default value is dualstack.
22749	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
22750
22751	// The name of your key pair.
22752	KeyPairName *string `locationName:"keyPairName" type:"string"`
22753
22754	// The tag keys and optional values to add to the resource during create.
22755	//
22756	// Use the TagResource action to tag a resource after it's created.
22757	Tags []*Tag `locationName:"tags" type:"list"`
22758
22759	// A launch script you can create that configures a server with additional user
22760	// data. For example, you might want to run apt-get -y update.
22761	//
22762	// Depending on the machine image you choose, the command to get software on
22763	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
22764	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Amazon Lightsail
22765	// Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/compare-options-choose-lightsail-instance-image).
22766	UserData *string `locationName:"userData" type:"string"`
22767}
22768
22769// String returns the string representation.
22770//
22771// API parameter values that are decorated as "sensitive" in the API will not
22772// be included in the string output. The member name will be present, but the
22773// value will be replaced with "sensitive".
22774func (s CreateInstancesInput) String() string {
22775	return awsutil.Prettify(s)
22776}
22777
22778// GoString returns the string representation.
22779//
22780// API parameter values that are decorated as "sensitive" in the API will not
22781// be included in the string output. The member name will be present, but the
22782// value will be replaced with "sensitive".
22783func (s CreateInstancesInput) GoString() string {
22784	return s.String()
22785}
22786
22787// Validate inspects the fields of the type to determine if they are valid.
22788func (s *CreateInstancesInput) Validate() error {
22789	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
22790	if s.AvailabilityZone == nil {
22791		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
22792	}
22793	if s.BlueprintId == nil {
22794		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
22795	}
22796	if s.BundleId == nil {
22797		invalidParams.Add(request.NewErrParamRequired("BundleId"))
22798	}
22799	if s.InstanceNames == nil {
22800		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
22801	}
22802	if s.AddOns != nil {
22803		for i, v := range s.AddOns {
22804			if v == nil {
22805				continue
22806			}
22807			if err := v.Validate(); err != nil {
22808				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
22809			}
22810		}
22811	}
22812
22813	if invalidParams.Len() > 0 {
22814		return invalidParams
22815	}
22816	return nil
22817}
22818
22819// SetAddOns sets the AddOns field's value.
22820func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
22821	s.AddOns = v
22822	return s
22823}
22824
22825// SetAvailabilityZone sets the AvailabilityZone field's value.
22826func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
22827	s.AvailabilityZone = &v
22828	return s
22829}
22830
22831// SetBlueprintId sets the BlueprintId field's value.
22832func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
22833	s.BlueprintId = &v
22834	return s
22835}
22836
22837// SetBundleId sets the BundleId field's value.
22838func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
22839	s.BundleId = &v
22840	return s
22841}
22842
22843// SetCustomImageName sets the CustomImageName field's value.
22844func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
22845	s.CustomImageName = &v
22846	return s
22847}
22848
22849// SetInstanceNames sets the InstanceNames field's value.
22850func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
22851	s.InstanceNames = v
22852	return s
22853}
22854
22855// SetIpAddressType sets the IpAddressType field's value.
22856func (s *CreateInstancesInput) SetIpAddressType(v string) *CreateInstancesInput {
22857	s.IpAddressType = &v
22858	return s
22859}
22860
22861// SetKeyPairName sets the KeyPairName field's value.
22862func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
22863	s.KeyPairName = &v
22864	return s
22865}
22866
22867// SetTags sets the Tags field's value.
22868func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
22869	s.Tags = v
22870	return s
22871}
22872
22873// SetUserData sets the UserData field's value.
22874func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
22875	s.UserData = &v
22876	return s
22877}
22878
22879type CreateInstancesOutput struct {
22880	_ struct{} `type:"structure"`
22881
22882	// An array of objects that describe the result of the action, such as the status
22883	// of the request, the timestamp of the request, and the resources affected
22884	// by the request.
22885	Operations []*Operation `locationName:"operations" type:"list"`
22886}
22887
22888// String returns the string representation.
22889//
22890// API parameter values that are decorated as "sensitive" in the API will not
22891// be included in the string output. The member name will be present, but the
22892// value will be replaced with "sensitive".
22893func (s CreateInstancesOutput) String() string {
22894	return awsutil.Prettify(s)
22895}
22896
22897// GoString returns the string representation.
22898//
22899// API parameter values that are decorated as "sensitive" in the API will not
22900// be included in the string output. The member name will be present, but the
22901// value will be replaced with "sensitive".
22902func (s CreateInstancesOutput) GoString() string {
22903	return s.String()
22904}
22905
22906// SetOperations sets the Operations field's value.
22907func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
22908	s.Operations = v
22909	return s
22910}
22911
22912type CreateKeyPairInput struct {
22913	_ struct{} `type:"structure"`
22914
22915	// The name for your new key pair.
22916	//
22917	// KeyPairName is a required field
22918	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
22919
22920	// The tag keys and optional values to add to the resource during create.
22921	//
22922	// Use the TagResource action to tag a resource after it's created.
22923	Tags []*Tag `locationName:"tags" type:"list"`
22924}
22925
22926// String returns the string representation.
22927//
22928// API parameter values that are decorated as "sensitive" in the API will not
22929// be included in the string output. The member name will be present, but the
22930// value will be replaced with "sensitive".
22931func (s CreateKeyPairInput) String() string {
22932	return awsutil.Prettify(s)
22933}
22934
22935// GoString returns the string representation.
22936//
22937// API parameter values that are decorated as "sensitive" in the API will not
22938// be included in the string output. The member name will be present, but the
22939// value will be replaced with "sensitive".
22940func (s CreateKeyPairInput) GoString() string {
22941	return s.String()
22942}
22943
22944// Validate inspects the fields of the type to determine if they are valid.
22945func (s *CreateKeyPairInput) Validate() error {
22946	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
22947	if s.KeyPairName == nil {
22948		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
22949	}
22950
22951	if invalidParams.Len() > 0 {
22952		return invalidParams
22953	}
22954	return nil
22955}
22956
22957// SetKeyPairName sets the KeyPairName field's value.
22958func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
22959	s.KeyPairName = &v
22960	return s
22961}
22962
22963// SetTags sets the Tags field's value.
22964func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
22965	s.Tags = v
22966	return s
22967}
22968
22969type CreateKeyPairOutput struct {
22970	_ struct{} `type:"structure"`
22971
22972	// An array of key-value pairs containing information about the new key pair
22973	// you just created.
22974	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
22975
22976	// An array of objects that describe the result of the action, such as the status
22977	// of the request, the timestamp of the request, and the resources affected
22978	// by the request.
22979	Operation *Operation `locationName:"operation" type:"structure"`
22980
22981	// A base64-encoded RSA private key.
22982	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
22983
22984	// A base64-encoded public key of the ssh-rsa type.
22985	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
22986}
22987
22988// String returns the string representation.
22989//
22990// API parameter values that are decorated as "sensitive" in the API will not
22991// be included in the string output. The member name will be present, but the
22992// value will be replaced with "sensitive".
22993func (s CreateKeyPairOutput) String() string {
22994	return awsutil.Prettify(s)
22995}
22996
22997// GoString returns the string representation.
22998//
22999// API parameter values that are decorated as "sensitive" in the API will not
23000// be included in the string output. The member name will be present, but the
23001// value will be replaced with "sensitive".
23002func (s CreateKeyPairOutput) GoString() string {
23003	return s.String()
23004}
23005
23006// SetKeyPair sets the KeyPair field's value.
23007func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
23008	s.KeyPair = v
23009	return s
23010}
23011
23012// SetOperation sets the Operation field's value.
23013func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
23014	s.Operation = v
23015	return s
23016}
23017
23018// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
23019func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
23020	s.PrivateKeyBase64 = &v
23021	return s
23022}
23023
23024// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
23025func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
23026	s.PublicKeyBase64 = &v
23027	return s
23028}
23029
23030type CreateLoadBalancerInput struct {
23031	_ struct{} `type:"structure"`
23032
23033	// The optional alternative domains and subdomains to use with your SSL/TLS
23034	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
23035	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
23036
23037	// The domain name with which your certificate is associated (e.g., example.com).
23038	//
23039	// If you specify certificateDomainName, then certificateName is required (and
23040	// vice-versa).
23041	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
23042
23043	// The name of the SSL/TLS certificate.
23044	//
23045	// If you specify certificateName, then certificateDomainName is required (and
23046	// vice-versa).
23047	CertificateName *string `locationName:"certificateName" type:"string"`
23048
23049	// The path you provided to perform the load balancer health check. If you didn't
23050	// specify a health check path, Lightsail uses the root path of your website
23051	// (e.g., "/").
23052	//
23053	// You may want to specify a custom health check path other than the root of
23054	// your application if your home page loads slowly or has a lot of media or
23055	// scripting on it.
23056	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
23057
23058	// The instance port where you're creating your load balancer.
23059	//
23060	// InstancePort is a required field
23061	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
23062
23063	// The IP address type for the load balancer.
23064	//
23065	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
23066	//
23067	// The default value is dualstack.
23068	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
23069
23070	// The name of your load balancer.
23071	//
23072	// LoadBalancerName is a required field
23073	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23074
23075	// The tag keys and optional values to add to the resource during create.
23076	//
23077	// Use the TagResource action to tag a resource after it's created.
23078	Tags []*Tag `locationName:"tags" type:"list"`
23079}
23080
23081// String returns the string representation.
23082//
23083// API parameter values that are decorated as "sensitive" in the API will not
23084// be included in the string output. The member name will be present, but the
23085// value will be replaced with "sensitive".
23086func (s CreateLoadBalancerInput) String() string {
23087	return awsutil.Prettify(s)
23088}
23089
23090// GoString returns the string representation.
23091//
23092// API parameter values that are decorated as "sensitive" in the API will not
23093// be included in the string output. The member name will be present, but the
23094// value will be replaced with "sensitive".
23095func (s CreateLoadBalancerInput) GoString() string {
23096	return s.String()
23097}
23098
23099// Validate inspects the fields of the type to determine if they are valid.
23100func (s *CreateLoadBalancerInput) Validate() error {
23101	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
23102	if s.InstancePort == nil {
23103		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
23104	}
23105	if s.InstancePort != nil && *s.InstancePort < -1 {
23106		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
23107	}
23108	if s.LoadBalancerName == nil {
23109		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23110	}
23111
23112	if invalidParams.Len() > 0 {
23113		return invalidParams
23114	}
23115	return nil
23116}
23117
23118// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
23119func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
23120	s.CertificateAlternativeNames = v
23121	return s
23122}
23123
23124// SetCertificateDomainName sets the CertificateDomainName field's value.
23125func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
23126	s.CertificateDomainName = &v
23127	return s
23128}
23129
23130// SetCertificateName sets the CertificateName field's value.
23131func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
23132	s.CertificateName = &v
23133	return s
23134}
23135
23136// SetHealthCheckPath sets the HealthCheckPath field's value.
23137func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
23138	s.HealthCheckPath = &v
23139	return s
23140}
23141
23142// SetInstancePort sets the InstancePort field's value.
23143func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
23144	s.InstancePort = &v
23145	return s
23146}
23147
23148// SetIpAddressType sets the IpAddressType field's value.
23149func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
23150	s.IpAddressType = &v
23151	return s
23152}
23153
23154// SetLoadBalancerName sets the LoadBalancerName field's value.
23155func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
23156	s.LoadBalancerName = &v
23157	return s
23158}
23159
23160// SetTags sets the Tags field's value.
23161func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
23162	s.Tags = v
23163	return s
23164}
23165
23166type CreateLoadBalancerOutput struct {
23167	_ struct{} `type:"structure"`
23168
23169	// An array of objects that describe the result of the action, such as the status
23170	// of the request, the timestamp of the request, and the resources affected
23171	// by the request.
23172	Operations []*Operation `locationName:"operations" type:"list"`
23173}
23174
23175// String returns the string representation.
23176//
23177// API parameter values that are decorated as "sensitive" in the API will not
23178// be included in the string output. The member name will be present, but the
23179// value will be replaced with "sensitive".
23180func (s CreateLoadBalancerOutput) String() string {
23181	return awsutil.Prettify(s)
23182}
23183
23184// GoString returns the string representation.
23185//
23186// API parameter values that are decorated as "sensitive" in the API will not
23187// be included in the string output. The member name will be present, but the
23188// value will be replaced with "sensitive".
23189func (s CreateLoadBalancerOutput) GoString() string {
23190	return s.String()
23191}
23192
23193// SetOperations sets the Operations field's value.
23194func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
23195	s.Operations = v
23196	return s
23197}
23198
23199type CreateLoadBalancerTlsCertificateInput struct {
23200	_ struct{} `type:"structure"`
23201
23202	// An array of strings listing alternative domains and subdomains for your SSL/TLS
23203	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
23204	// of 9 alternative names (in addition to the 1 primary domain). We do not support
23205	// wildcards (e.g., *.example.com).
23206	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
23207
23208	// The domain name (e.g., example.com) for your SSL/TLS certificate.
23209	//
23210	// CertificateDomainName is a required field
23211	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
23212
23213	// The SSL/TLS certificate name.
23214	//
23215	// You can have up to 10 certificates in your account at one time. Each Lightsail
23216	// load balancer can have up to 2 certificates associated with it at one time.
23217	// There is also an overall limit to the number of certificates that can be
23218	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
23219	//
23220	// CertificateName is a required field
23221	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
23222
23223	// The load balancer name where you want to create the SSL/TLS certificate.
23224	//
23225	// LoadBalancerName is a required field
23226	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23227
23228	// The tag keys and optional values to add to the resource during create.
23229	//
23230	// Use the TagResource action to tag a resource after it's created.
23231	Tags []*Tag `locationName:"tags" type:"list"`
23232}
23233
23234// String returns the string representation.
23235//
23236// API parameter values that are decorated as "sensitive" in the API will not
23237// be included in the string output. The member name will be present, but the
23238// value will be replaced with "sensitive".
23239func (s CreateLoadBalancerTlsCertificateInput) String() string {
23240	return awsutil.Prettify(s)
23241}
23242
23243// GoString returns the string representation.
23244//
23245// API parameter values that are decorated as "sensitive" in the API will not
23246// be included in the string output. The member name will be present, but the
23247// value will be replaced with "sensitive".
23248func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
23249	return s.String()
23250}
23251
23252// Validate inspects the fields of the type to determine if they are valid.
23253func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
23254	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
23255	if s.CertificateDomainName == nil {
23256		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
23257	}
23258	if s.CertificateName == nil {
23259		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
23260	}
23261	if s.LoadBalancerName == nil {
23262		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23263	}
23264
23265	if invalidParams.Len() > 0 {
23266		return invalidParams
23267	}
23268	return nil
23269}
23270
23271// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
23272func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
23273	s.CertificateAlternativeNames = v
23274	return s
23275}
23276
23277// SetCertificateDomainName sets the CertificateDomainName field's value.
23278func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
23279	s.CertificateDomainName = &v
23280	return s
23281}
23282
23283// SetCertificateName sets the CertificateName field's value.
23284func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
23285	s.CertificateName = &v
23286	return s
23287}
23288
23289// SetLoadBalancerName sets the LoadBalancerName field's value.
23290func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
23291	s.LoadBalancerName = &v
23292	return s
23293}
23294
23295// SetTags sets the Tags field's value.
23296func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
23297	s.Tags = v
23298	return s
23299}
23300
23301type CreateLoadBalancerTlsCertificateOutput struct {
23302	_ struct{} `type:"structure"`
23303
23304	// An array of objects that describe the result of the action, such as the status
23305	// of the request, the timestamp of the request, and the resources affected
23306	// by the request.
23307	Operations []*Operation `locationName:"operations" type:"list"`
23308}
23309
23310// String returns the string representation.
23311//
23312// API parameter values that are decorated as "sensitive" in the API will not
23313// be included in the string output. The member name will be present, but the
23314// value will be replaced with "sensitive".
23315func (s CreateLoadBalancerTlsCertificateOutput) String() string {
23316	return awsutil.Prettify(s)
23317}
23318
23319// GoString returns the string representation.
23320//
23321// API parameter values that are decorated as "sensitive" in the API will not
23322// be included in the string output. The member name will be present, but the
23323// value will be replaced with "sensitive".
23324func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
23325	return s.String()
23326}
23327
23328// SetOperations sets the Operations field's value.
23329func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
23330	s.Operations = v
23331	return s
23332}
23333
23334type CreateRelationalDatabaseFromSnapshotInput struct {
23335	_ struct{} `type:"structure"`
23336
23337	// The Availability Zone in which to create your new database. Use the us-east-2a
23338	// case-sensitive format.
23339	//
23340	// You can get a list of Availability Zones by using the get regions operation.
23341	// Be sure to add the include relational database Availability Zones parameter
23342	// to your request.
23343	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
23344
23345	// Specifies the accessibility options for your new database. A value of true
23346	// specifies a database that is available to resources outside of your Lightsail
23347	// account. A value of false specifies a database that is available only to
23348	// your Lightsail resources in the same region as your database.
23349	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
23350
23351	// The bundle ID for your new database. A bundle describes the performance specifications
23352	// for your database.
23353	//
23354	// You can get a list of database bundle IDs by using the get relational database
23355	// bundles operation.
23356	//
23357	// When creating a new database from a snapshot, you cannot choose a bundle
23358	// that is smaller than the bundle of the source database.
23359	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
23360
23361	// The name to use for your new Lightsail database resource.
23362	//
23363	// Constraints:
23364	//
23365	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
23366	//
23367	//    * The first and last character must be a letter or number.
23368	//
23369	// RelationalDatabaseName is a required field
23370	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23371
23372	// The name of the database snapshot from which to create your new database.
23373	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
23374
23375	// The date and time to restore your database from.
23376	//
23377	// Constraints:
23378	//
23379	//    * Must be before the latest restorable time for the database.
23380	//
23381	//    * Cannot be specified if the use latest restorable time parameter is true.
23382	//
23383	//    * Specified in Coordinated Universal Time (UTC).
23384	//
23385	//    * Specified in the Unix time format. For example, if you wish to use a
23386	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
23387	//    as the restore time.
23388	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
23389
23390	// The name of the source database.
23391	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
23392
23393	// The tag keys and optional values to add to the resource during create.
23394	//
23395	// Use the TagResource action to tag a resource after it's created.
23396	Tags []*Tag `locationName:"tags" type:"list"`
23397
23398	// Specifies whether your database is restored from the latest backup time.
23399	// A value of true restores from the latest backup time.
23400	//
23401	// Default: false
23402	//
23403	// Constraints: Cannot be specified if the restore time parameter is provided.
23404	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
23405}
23406
23407// String returns the string representation.
23408//
23409// API parameter values that are decorated as "sensitive" in the API will not
23410// be included in the string output. The member name will be present, but the
23411// value will be replaced with "sensitive".
23412func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
23413	return awsutil.Prettify(s)
23414}
23415
23416// GoString returns the string representation.
23417//
23418// API parameter values that are decorated as "sensitive" in the API will not
23419// be included in the string output. The member name will be present, but the
23420// value will be replaced with "sensitive".
23421func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
23422	return s.String()
23423}
23424
23425// Validate inspects the fields of the type to determine if they are valid.
23426func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
23427	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
23428	if s.RelationalDatabaseName == nil {
23429		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23430	}
23431
23432	if invalidParams.Len() > 0 {
23433		return invalidParams
23434	}
23435	return nil
23436}
23437
23438// SetAvailabilityZone sets the AvailabilityZone field's value.
23439func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
23440	s.AvailabilityZone = &v
23441	return s
23442}
23443
23444// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23445func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
23446	s.PubliclyAccessible = &v
23447	return s
23448}
23449
23450// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
23451func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
23452	s.RelationalDatabaseBundleId = &v
23453	return s
23454}
23455
23456// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23457func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
23458	s.RelationalDatabaseName = &v
23459	return s
23460}
23461
23462// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
23463func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
23464	s.RelationalDatabaseSnapshotName = &v
23465	return s
23466}
23467
23468// SetRestoreTime sets the RestoreTime field's value.
23469func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
23470	s.RestoreTime = &v
23471	return s
23472}
23473
23474// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
23475func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
23476	s.SourceRelationalDatabaseName = &v
23477	return s
23478}
23479
23480// SetTags sets the Tags field's value.
23481func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
23482	s.Tags = v
23483	return s
23484}
23485
23486// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
23487func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
23488	s.UseLatestRestorableTime = &v
23489	return s
23490}
23491
23492type CreateRelationalDatabaseFromSnapshotOutput struct {
23493	_ struct{} `type:"structure"`
23494
23495	// An array of objects that describe the result of the action, such as the status
23496	// of the request, the timestamp of the request, and the resources affected
23497	// by the request.
23498	Operations []*Operation `locationName:"operations" type:"list"`
23499}
23500
23501// String returns the string representation.
23502//
23503// API parameter values that are decorated as "sensitive" in the API will not
23504// be included in the string output. The member name will be present, but the
23505// value will be replaced with "sensitive".
23506func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
23507	return awsutil.Prettify(s)
23508}
23509
23510// GoString returns the string representation.
23511//
23512// API parameter values that are decorated as "sensitive" in the API will not
23513// be included in the string output. The member name will be present, but the
23514// value will be replaced with "sensitive".
23515func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
23516	return s.String()
23517}
23518
23519// SetOperations sets the Operations field's value.
23520func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
23521	s.Operations = v
23522	return s
23523}
23524
23525type CreateRelationalDatabaseInput struct {
23526	_ struct{} `type:"structure"`
23527
23528	// The Availability Zone in which to create your new database. Use the us-east-2a
23529	// case-sensitive format.
23530	//
23531	// You can get a list of Availability Zones by using the get regions operation.
23532	// Be sure to add the include relational database Availability Zones parameter
23533	// to your request.
23534	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
23535
23536	// The meaning of this parameter differs according to the database engine you
23537	// use.
23538	//
23539	// MySQL
23540	//
23541	// The name of the database to create when the Lightsail database resource is
23542	// created. If this parameter isn't specified, no database is created in the
23543	// database resource.
23544	//
23545	// Constraints:
23546	//
23547	//    * Must contain 1 to 64 letters or numbers.
23548	//
23549	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
23550	//    or digits (0- 9).
23551	//
23552	//    * Can't be a word reserved by the specified database engine. For more
23553	//    information about reserved words in MySQL, see the Keywords and Reserved
23554	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
23555	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), and
23556	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
23557	//
23558	// PostgreSQL
23559	//
23560	// The name of the database to create when the Lightsail database resource is
23561	// created. If this parameter isn't specified, a database named postgres is
23562	// created in the database resource.
23563	//
23564	// Constraints:
23565	//
23566	//    * Must contain 1 to 63 letters or numbers.
23567	//
23568	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
23569	//    or digits (0- 9).
23570	//
23571	//    * Can't be a word reserved by the specified database engine. For more
23572	//    information about reserved words in PostgreSQL, see the SQL Key Words
23573	//    articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
23574	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
23575	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
23576	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
23577	//
23578	// MasterDatabaseName is a required field
23579	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
23580
23581	// The password for the master user. The password can include any printable
23582	// ASCII character except "/", """, or "@". It cannot contain spaces.
23583	//
23584	// MySQL
23585	//
23586	// Constraints: Must contain from 8 to 41 characters.
23587	//
23588	// PostgreSQL
23589	//
23590	// Constraints: Must contain from 8 to 128 characters.
23591	//
23592	// MasterUserPassword is a sensitive parameter and its value will be
23593	// replaced with "sensitive" in string returned by CreateRelationalDatabaseInput's
23594	// String and GoString methods.
23595	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
23596
23597	// The name for the master user.
23598	//
23599	// MySQL
23600	//
23601	// Constraints:
23602	//
23603	//    * Required for MySQL.
23604	//
23605	//    * Must be 1 to 16 letters or numbers. Can contain underscores.
23606	//
23607	//    * First character must be a letter.
23608	//
23609	//    * Can't be a reserved word for the chosen database engine. For more information
23610	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
23611	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
23612	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), or
23613	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
23614	//
23615	// PostgreSQL
23616	//
23617	// Constraints:
23618	//
23619	//    * Required for PostgreSQL.
23620	//
23621	//    * Must be 1 to 63 letters or numbers. Can contain underscores.
23622	//
23623	//    * First character must be a letter.
23624	//
23625	//    * Can't be a reserved word for the chosen database engine. For more information
23626	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
23627	//    Words articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
23628	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
23629	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
23630	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
23631	//
23632	// MasterUsername is a required field
23633	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
23634
23635	// The daily time range during which automated backups are created for your
23636	// new database if automated backups are enabled.
23637	//
23638	// The default is a 30-minute window selected at random from an 8-hour block
23639	// of time for each AWS Region. For more information about the preferred backup
23640	// 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)
23641	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
23642	//
23643	// Constraints:
23644	//
23645	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
23646	//
23647	//    * Specified in Coordinated Universal Time (UTC).
23648	//
23649	//    * Must not conflict with the preferred maintenance window.
23650	//
23651	//    * Must be at least 30 minutes.
23652	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
23653
23654	// The weekly time range during which system maintenance can occur on your new
23655	// database.
23656	//
23657	// The default is a 30-minute window selected at random from an 8-hour block
23658	// of time for each AWS Region, occurring on a random day of the week.
23659	//
23660	// Constraints:
23661	//
23662	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
23663	//
23664	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
23665	//
23666	//    * Must be at least 30 minutes.
23667	//
23668	//    * Specified in Coordinated Universal Time (UTC).
23669	//
23670	//    * Example: Tue:17:00-Tue:17:30
23671	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
23672
23673	// Specifies the accessibility options for your new database. A value of true
23674	// specifies a database that is available to resources outside of your Lightsail
23675	// account. A value of false specifies a database that is available only to
23676	// your Lightsail resources in the same region as your database.
23677	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
23678
23679	// The blueprint ID for your new database. A blueprint describes the major engine
23680	// version of a database.
23681	//
23682	// You can get a list of database blueprints IDs by using the get relational
23683	// database blueprints operation.
23684	//
23685	// RelationalDatabaseBlueprintId is a required field
23686	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
23687
23688	// The bundle ID for your new database. A bundle describes the performance specifications
23689	// for your database.
23690	//
23691	// You can get a list of database bundle IDs by using the get relational database
23692	// bundles operation.
23693	//
23694	// RelationalDatabaseBundleId is a required field
23695	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
23696
23697	// The name to use for your new Lightsail database resource.
23698	//
23699	// Constraints:
23700	//
23701	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
23702	//
23703	//    * The first and last character must be a letter or number.
23704	//
23705	// RelationalDatabaseName is a required field
23706	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23707
23708	// The tag keys and optional values to add to the resource during create.
23709	//
23710	// Use the TagResource action to tag a resource after it's created.
23711	Tags []*Tag `locationName:"tags" type:"list"`
23712}
23713
23714// String returns the string representation.
23715//
23716// API parameter values that are decorated as "sensitive" in the API will not
23717// be included in the string output. The member name will be present, but the
23718// value will be replaced with "sensitive".
23719func (s CreateRelationalDatabaseInput) String() string {
23720	return awsutil.Prettify(s)
23721}
23722
23723// GoString returns the string representation.
23724//
23725// API parameter values that are decorated as "sensitive" in the API will not
23726// be included in the string output. The member name will be present, but the
23727// value will be replaced with "sensitive".
23728func (s CreateRelationalDatabaseInput) GoString() string {
23729	return s.String()
23730}
23731
23732// Validate inspects the fields of the type to determine if they are valid.
23733func (s *CreateRelationalDatabaseInput) Validate() error {
23734	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
23735	if s.MasterDatabaseName == nil {
23736		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
23737	}
23738	if s.MasterUsername == nil {
23739		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
23740	}
23741	if s.RelationalDatabaseBlueprintId == nil {
23742		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
23743	}
23744	if s.RelationalDatabaseBundleId == nil {
23745		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
23746	}
23747	if s.RelationalDatabaseName == nil {
23748		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23749	}
23750
23751	if invalidParams.Len() > 0 {
23752		return invalidParams
23753	}
23754	return nil
23755}
23756
23757// SetAvailabilityZone sets the AvailabilityZone field's value.
23758func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
23759	s.AvailabilityZone = &v
23760	return s
23761}
23762
23763// SetMasterDatabaseName sets the MasterDatabaseName field's value.
23764func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
23765	s.MasterDatabaseName = &v
23766	return s
23767}
23768
23769// SetMasterUserPassword sets the MasterUserPassword field's value.
23770func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
23771	s.MasterUserPassword = &v
23772	return s
23773}
23774
23775// SetMasterUsername sets the MasterUsername field's value.
23776func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
23777	s.MasterUsername = &v
23778	return s
23779}
23780
23781// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23782func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
23783	s.PreferredBackupWindow = &v
23784	return s
23785}
23786
23787// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23788func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
23789	s.PreferredMaintenanceWindow = &v
23790	return s
23791}
23792
23793// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23794func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
23795	s.PubliclyAccessible = &v
23796	return s
23797}
23798
23799// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
23800func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
23801	s.RelationalDatabaseBlueprintId = &v
23802	return s
23803}
23804
23805// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
23806func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
23807	s.RelationalDatabaseBundleId = &v
23808	return s
23809}
23810
23811// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23812func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
23813	s.RelationalDatabaseName = &v
23814	return s
23815}
23816
23817// SetTags sets the Tags field's value.
23818func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
23819	s.Tags = v
23820	return s
23821}
23822
23823type CreateRelationalDatabaseOutput struct {
23824	_ struct{} `type:"structure"`
23825
23826	// An array of objects that describe the result of the action, such as the status
23827	// of the request, the timestamp of the request, and the resources affected
23828	// by the request.
23829	Operations []*Operation `locationName:"operations" type:"list"`
23830}
23831
23832// String returns the string representation.
23833//
23834// API parameter values that are decorated as "sensitive" in the API will not
23835// be included in the string output. The member name will be present, but the
23836// value will be replaced with "sensitive".
23837func (s CreateRelationalDatabaseOutput) String() string {
23838	return awsutil.Prettify(s)
23839}
23840
23841// GoString returns the string representation.
23842//
23843// API parameter values that are decorated as "sensitive" in the API will not
23844// be included in the string output. The member name will be present, but the
23845// value will be replaced with "sensitive".
23846func (s CreateRelationalDatabaseOutput) GoString() string {
23847	return s.String()
23848}
23849
23850// SetOperations sets the Operations field's value.
23851func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
23852	s.Operations = v
23853	return s
23854}
23855
23856type CreateRelationalDatabaseSnapshotInput struct {
23857	_ struct{} `type:"structure"`
23858
23859	// The name of the database on which to base your new snapshot.
23860	//
23861	// RelationalDatabaseName is a required field
23862	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23863
23864	// The name for your new database snapshot.
23865	//
23866	// Constraints:
23867	//
23868	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
23869	//
23870	//    * The first and last character must be a letter or number.
23871	//
23872	// RelationalDatabaseSnapshotName is a required field
23873	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
23874
23875	// The tag keys and optional values to add to the resource during create.
23876	//
23877	// Use the TagResource action to tag a resource after it's created.
23878	Tags []*Tag `locationName:"tags" type:"list"`
23879}
23880
23881// String returns the string representation.
23882//
23883// API parameter values that are decorated as "sensitive" in the API will not
23884// be included in the string output. The member name will be present, but the
23885// value will be replaced with "sensitive".
23886func (s CreateRelationalDatabaseSnapshotInput) String() string {
23887	return awsutil.Prettify(s)
23888}
23889
23890// GoString returns the string representation.
23891//
23892// API parameter values that are decorated as "sensitive" in the API will not
23893// be included in the string output. The member name will be present, but the
23894// value will be replaced with "sensitive".
23895func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
23896	return s.String()
23897}
23898
23899// Validate inspects the fields of the type to determine if they are valid.
23900func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
23901	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
23902	if s.RelationalDatabaseName == nil {
23903		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23904	}
23905	if s.RelationalDatabaseSnapshotName == nil {
23906		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
23907	}
23908
23909	if invalidParams.Len() > 0 {
23910		return invalidParams
23911	}
23912	return nil
23913}
23914
23915// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23916func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
23917	s.RelationalDatabaseName = &v
23918	return s
23919}
23920
23921// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
23922func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
23923	s.RelationalDatabaseSnapshotName = &v
23924	return s
23925}
23926
23927// SetTags sets the Tags field's value.
23928func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
23929	s.Tags = v
23930	return s
23931}
23932
23933type CreateRelationalDatabaseSnapshotOutput struct {
23934	_ struct{} `type:"structure"`
23935
23936	// An array of objects that describe the result of the action, such as the status
23937	// of the request, the timestamp of the request, and the resources affected
23938	// by the request.
23939	Operations []*Operation `locationName:"operations" type:"list"`
23940}
23941
23942// String returns the string representation.
23943//
23944// API parameter values that are decorated as "sensitive" in the API will not
23945// be included in the string output. The member name will be present, but the
23946// value will be replaced with "sensitive".
23947func (s CreateRelationalDatabaseSnapshotOutput) String() string {
23948	return awsutil.Prettify(s)
23949}
23950
23951// GoString returns the string representation.
23952//
23953// API parameter values that are decorated as "sensitive" in the API will not
23954// be included in the string output. The member name will be present, but the
23955// value will be replaced with "sensitive".
23956func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
23957	return s.String()
23958}
23959
23960// SetOperations sets the Operations field's value.
23961func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
23962	s.Operations = v
23963	return s
23964}
23965
23966type DeleteAlarmInput struct {
23967	_ struct{} `type:"structure"`
23968
23969	// The name of the alarm to delete.
23970	//
23971	// AlarmName is a required field
23972	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
23973}
23974
23975// String returns the string representation.
23976//
23977// API parameter values that are decorated as "sensitive" in the API will not
23978// be included in the string output. The member name will be present, but the
23979// value will be replaced with "sensitive".
23980func (s DeleteAlarmInput) String() string {
23981	return awsutil.Prettify(s)
23982}
23983
23984// GoString returns the string representation.
23985//
23986// API parameter values that are decorated as "sensitive" in the API will not
23987// be included in the string output. The member name will be present, but the
23988// value will be replaced with "sensitive".
23989func (s DeleteAlarmInput) GoString() string {
23990	return s.String()
23991}
23992
23993// Validate inspects the fields of the type to determine if they are valid.
23994func (s *DeleteAlarmInput) Validate() error {
23995	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
23996	if s.AlarmName == nil {
23997		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
23998	}
23999
24000	if invalidParams.Len() > 0 {
24001		return invalidParams
24002	}
24003	return nil
24004}
24005
24006// SetAlarmName sets the AlarmName field's value.
24007func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
24008	s.AlarmName = &v
24009	return s
24010}
24011
24012type DeleteAlarmOutput struct {
24013	_ struct{} `type:"structure"`
24014
24015	// An array of objects that describe the result of the action, such as the status
24016	// of the request, the timestamp of the request, and the resources affected
24017	// by the request.
24018	Operations []*Operation `locationName:"operations" type:"list"`
24019}
24020
24021// String returns the string representation.
24022//
24023// API parameter values that are decorated as "sensitive" in the API will not
24024// be included in the string output. The member name will be present, but the
24025// value will be replaced with "sensitive".
24026func (s DeleteAlarmOutput) String() string {
24027	return awsutil.Prettify(s)
24028}
24029
24030// GoString returns the string representation.
24031//
24032// API parameter values that are decorated as "sensitive" in the API will not
24033// be included in the string output. The member name will be present, but the
24034// value will be replaced with "sensitive".
24035func (s DeleteAlarmOutput) GoString() string {
24036	return s.String()
24037}
24038
24039// SetOperations sets the Operations field's value.
24040func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
24041	s.Operations = v
24042	return s
24043}
24044
24045type DeleteAutoSnapshotInput struct {
24046	_ struct{} `type:"structure"`
24047
24048	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
24049	// get auto snapshots operation to get the available automatic snapshots for
24050	// a resource.
24051	//
24052	// Date is a required field
24053	Date *string `locationName:"date" type:"string" required:"true"`
24054
24055	// The name of the source instance or disk from which to delete the automatic
24056	// snapshot.
24057	//
24058	// ResourceName is a required field
24059	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24060}
24061
24062// String returns the string representation.
24063//
24064// API parameter values that are decorated as "sensitive" in the API will not
24065// be included in the string output. The member name will be present, but the
24066// value will be replaced with "sensitive".
24067func (s DeleteAutoSnapshotInput) String() string {
24068	return awsutil.Prettify(s)
24069}
24070
24071// GoString returns the string representation.
24072//
24073// API parameter values that are decorated as "sensitive" in the API will not
24074// be included in the string output. The member name will be present, but the
24075// value will be replaced with "sensitive".
24076func (s DeleteAutoSnapshotInput) GoString() string {
24077	return s.String()
24078}
24079
24080// Validate inspects the fields of the type to determine if they are valid.
24081func (s *DeleteAutoSnapshotInput) Validate() error {
24082	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
24083	if s.Date == nil {
24084		invalidParams.Add(request.NewErrParamRequired("Date"))
24085	}
24086	if s.ResourceName == nil {
24087		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24088	}
24089
24090	if invalidParams.Len() > 0 {
24091		return invalidParams
24092	}
24093	return nil
24094}
24095
24096// SetDate sets the Date field's value.
24097func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
24098	s.Date = &v
24099	return s
24100}
24101
24102// SetResourceName sets the ResourceName field's value.
24103func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
24104	s.ResourceName = &v
24105	return s
24106}
24107
24108type DeleteAutoSnapshotOutput struct {
24109	_ struct{} `type:"structure"`
24110
24111	// An array of objects that describe the result of the action, such as the status
24112	// of the request, the timestamp of the request, and the resources affected
24113	// by the request.
24114	Operations []*Operation `locationName:"operations" type:"list"`
24115}
24116
24117// String returns the string representation.
24118//
24119// API parameter values that are decorated as "sensitive" in the API will not
24120// be included in the string output. The member name will be present, but the
24121// value will be replaced with "sensitive".
24122func (s DeleteAutoSnapshotOutput) String() string {
24123	return awsutil.Prettify(s)
24124}
24125
24126// GoString returns the string representation.
24127//
24128// API parameter values that are decorated as "sensitive" in the API will not
24129// be included in the string output. The member name will be present, but the
24130// value will be replaced with "sensitive".
24131func (s DeleteAutoSnapshotOutput) GoString() string {
24132	return s.String()
24133}
24134
24135// SetOperations sets the Operations field's value.
24136func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
24137	s.Operations = v
24138	return s
24139}
24140
24141type DeleteBucketAccessKeyInput struct {
24142	_ struct{} `type:"structure"`
24143
24144	// The ID of the access key to delete.
24145	//
24146	// Use the GetBucketAccessKeys action to get a list of access key IDs that you
24147	// can specify.
24148	//
24149	// AccessKeyId is a required field
24150	AccessKeyId *string `locationName:"accessKeyId" type:"string" required:"true"`
24151
24152	// The name of the bucket that the access key belongs to.
24153	//
24154	// BucketName is a required field
24155	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
24156}
24157
24158// String returns the string representation.
24159//
24160// API parameter values that are decorated as "sensitive" in the API will not
24161// be included in the string output. The member name will be present, but the
24162// value will be replaced with "sensitive".
24163func (s DeleteBucketAccessKeyInput) String() string {
24164	return awsutil.Prettify(s)
24165}
24166
24167// GoString returns the string representation.
24168//
24169// API parameter values that are decorated as "sensitive" in the API will not
24170// be included in the string output. The member name will be present, but the
24171// value will be replaced with "sensitive".
24172func (s DeleteBucketAccessKeyInput) GoString() string {
24173	return s.String()
24174}
24175
24176// Validate inspects the fields of the type to determine if they are valid.
24177func (s *DeleteBucketAccessKeyInput) Validate() error {
24178	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketAccessKeyInput"}
24179	if s.AccessKeyId == nil {
24180		invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
24181	}
24182	if s.BucketName == nil {
24183		invalidParams.Add(request.NewErrParamRequired("BucketName"))
24184	}
24185	if s.BucketName != nil && len(*s.BucketName) < 3 {
24186		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
24187	}
24188
24189	if invalidParams.Len() > 0 {
24190		return invalidParams
24191	}
24192	return nil
24193}
24194
24195// SetAccessKeyId sets the AccessKeyId field's value.
24196func (s *DeleteBucketAccessKeyInput) SetAccessKeyId(v string) *DeleteBucketAccessKeyInput {
24197	s.AccessKeyId = &v
24198	return s
24199}
24200
24201// SetBucketName sets the BucketName field's value.
24202func (s *DeleteBucketAccessKeyInput) SetBucketName(v string) *DeleteBucketAccessKeyInput {
24203	s.BucketName = &v
24204	return s
24205}
24206
24207type DeleteBucketAccessKeyOutput struct {
24208	_ struct{} `type:"structure"`
24209
24210	// An array of objects that describe the result of the action, such as the status
24211	// of the request, the timestamp of the request, and the resources affected
24212	// by the request.
24213	Operations []*Operation `locationName:"operations" type:"list"`
24214}
24215
24216// String returns the string representation.
24217//
24218// API parameter values that are decorated as "sensitive" in the API will not
24219// be included in the string output. The member name will be present, but the
24220// value will be replaced with "sensitive".
24221func (s DeleteBucketAccessKeyOutput) String() string {
24222	return awsutil.Prettify(s)
24223}
24224
24225// GoString returns the string representation.
24226//
24227// API parameter values that are decorated as "sensitive" in the API will not
24228// be included in the string output. The member name will be present, but the
24229// value will be replaced with "sensitive".
24230func (s DeleteBucketAccessKeyOutput) GoString() string {
24231	return s.String()
24232}
24233
24234// SetOperations sets the Operations field's value.
24235func (s *DeleteBucketAccessKeyOutput) SetOperations(v []*Operation) *DeleteBucketAccessKeyOutput {
24236	s.Operations = v
24237	return s
24238}
24239
24240type DeleteBucketInput struct {
24241	_ struct{} `type:"structure"`
24242
24243	// The name of the bucket to delete.
24244	//
24245	// Use the GetBuckets action to get a list of bucket names that you can specify.
24246	//
24247	// BucketName is a required field
24248	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
24249
24250	// A Boolean value that indicates whether to force delete the bucket.
24251	//
24252	// You must force delete the bucket if it has one of the following conditions:
24253	//
24254	//    * The bucket is the origin of a distribution.
24255	//
24256	//    * The bucket has instances that were granted access to it using the SetResourceAccessForBucket
24257	//    action.
24258	//
24259	//    * The bucket has objects.
24260	//
24261	//    * The bucket has access keys.
24262	//
24263	// Force deleting a bucket might impact other resources that rely on the bucket,
24264	// such as instances, distributions, or software that use the issued access
24265	// keys.
24266	ForceDelete *bool `locationName:"forceDelete" type:"boolean"`
24267}
24268
24269// String returns the string representation.
24270//
24271// API parameter values that are decorated as "sensitive" in the API will not
24272// be included in the string output. The member name will be present, but the
24273// value will be replaced with "sensitive".
24274func (s DeleteBucketInput) String() string {
24275	return awsutil.Prettify(s)
24276}
24277
24278// GoString returns the string representation.
24279//
24280// API parameter values that are decorated as "sensitive" in the API will not
24281// be included in the string output. The member name will be present, but the
24282// value will be replaced with "sensitive".
24283func (s DeleteBucketInput) GoString() string {
24284	return s.String()
24285}
24286
24287// Validate inspects the fields of the type to determine if they are valid.
24288func (s *DeleteBucketInput) Validate() error {
24289	invalidParams := request.ErrInvalidParams{Context: "DeleteBucketInput"}
24290	if s.BucketName == nil {
24291		invalidParams.Add(request.NewErrParamRequired("BucketName"))
24292	}
24293	if s.BucketName != nil && len(*s.BucketName) < 3 {
24294		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
24295	}
24296
24297	if invalidParams.Len() > 0 {
24298		return invalidParams
24299	}
24300	return nil
24301}
24302
24303// SetBucketName sets the BucketName field's value.
24304func (s *DeleteBucketInput) SetBucketName(v string) *DeleteBucketInput {
24305	s.BucketName = &v
24306	return s
24307}
24308
24309// SetForceDelete sets the ForceDelete field's value.
24310func (s *DeleteBucketInput) SetForceDelete(v bool) *DeleteBucketInput {
24311	s.ForceDelete = &v
24312	return s
24313}
24314
24315type DeleteBucketOutput struct {
24316	_ struct{} `type:"structure"`
24317
24318	// An array of objects that describe the result of the action, such as the status
24319	// of the request, the timestamp of the request, and the resources affected
24320	// by the request.
24321	Operations []*Operation `locationName:"operations" type:"list"`
24322}
24323
24324// String returns the string representation.
24325//
24326// API parameter values that are decorated as "sensitive" in the API will not
24327// be included in the string output. The member name will be present, but the
24328// value will be replaced with "sensitive".
24329func (s DeleteBucketOutput) String() string {
24330	return awsutil.Prettify(s)
24331}
24332
24333// GoString returns the string representation.
24334//
24335// API parameter values that are decorated as "sensitive" in the API will not
24336// be included in the string output. The member name will be present, but the
24337// value will be replaced with "sensitive".
24338func (s DeleteBucketOutput) GoString() string {
24339	return s.String()
24340}
24341
24342// SetOperations sets the Operations field's value.
24343func (s *DeleteBucketOutput) SetOperations(v []*Operation) *DeleteBucketOutput {
24344	s.Operations = v
24345	return s
24346}
24347
24348type DeleteCertificateInput struct {
24349	_ struct{} `type:"structure"`
24350
24351	// The name of the certificate to delete.
24352	//
24353	// Use the GetCertificates action to get a list of certificate names that you
24354	// can specify.
24355	//
24356	// CertificateName is a required field
24357	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
24358}
24359
24360// String returns the string representation.
24361//
24362// API parameter values that are decorated as "sensitive" in the API will not
24363// be included in the string output. The member name will be present, but the
24364// value will be replaced with "sensitive".
24365func (s DeleteCertificateInput) String() string {
24366	return awsutil.Prettify(s)
24367}
24368
24369// GoString returns the string representation.
24370//
24371// API parameter values that are decorated as "sensitive" in the API will not
24372// be included in the string output. The member name will be present, but the
24373// value will be replaced with "sensitive".
24374func (s DeleteCertificateInput) GoString() string {
24375	return s.String()
24376}
24377
24378// Validate inspects the fields of the type to determine if they are valid.
24379func (s *DeleteCertificateInput) Validate() error {
24380	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
24381	if s.CertificateName == nil {
24382		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
24383	}
24384
24385	if invalidParams.Len() > 0 {
24386		return invalidParams
24387	}
24388	return nil
24389}
24390
24391// SetCertificateName sets the CertificateName field's value.
24392func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
24393	s.CertificateName = &v
24394	return s
24395}
24396
24397type DeleteCertificateOutput struct {
24398	_ struct{} `type:"structure"`
24399
24400	// An array of objects that describe the result of the action, such as the status
24401	// of the request, the timestamp of the request, and the resources affected
24402	// by the request.
24403	Operations []*Operation `locationName:"operations" type:"list"`
24404}
24405
24406// String returns the string representation.
24407//
24408// API parameter values that are decorated as "sensitive" in the API will not
24409// be included in the string output. The member name will be present, but the
24410// value will be replaced with "sensitive".
24411func (s DeleteCertificateOutput) String() string {
24412	return awsutil.Prettify(s)
24413}
24414
24415// GoString returns the string representation.
24416//
24417// API parameter values that are decorated as "sensitive" in the API will not
24418// be included in the string output. The member name will be present, but the
24419// value will be replaced with "sensitive".
24420func (s DeleteCertificateOutput) GoString() string {
24421	return s.String()
24422}
24423
24424// SetOperations sets the Operations field's value.
24425func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
24426	s.Operations = v
24427	return s
24428}
24429
24430type DeleteContactMethodInput struct {
24431	_ struct{} `type:"structure"`
24432
24433	// The protocol that will be deleted, such as Email or SMS (text messaging).
24434	//
24435	// To delete an Email and an SMS contact method if you added both, you must
24436	// run separate DeleteContactMethod actions to delete each protocol.
24437	//
24438	// Protocol is a required field
24439	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
24440}
24441
24442// String returns the string representation.
24443//
24444// API parameter values that are decorated as "sensitive" in the API will not
24445// be included in the string output. The member name will be present, but the
24446// value will be replaced with "sensitive".
24447func (s DeleteContactMethodInput) String() string {
24448	return awsutil.Prettify(s)
24449}
24450
24451// GoString returns the string representation.
24452//
24453// API parameter values that are decorated as "sensitive" in the API will not
24454// be included in the string output. The member name will be present, but the
24455// value will be replaced with "sensitive".
24456func (s DeleteContactMethodInput) GoString() string {
24457	return s.String()
24458}
24459
24460// Validate inspects the fields of the type to determine if they are valid.
24461func (s *DeleteContactMethodInput) Validate() error {
24462	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
24463	if s.Protocol == nil {
24464		invalidParams.Add(request.NewErrParamRequired("Protocol"))
24465	}
24466
24467	if invalidParams.Len() > 0 {
24468		return invalidParams
24469	}
24470	return nil
24471}
24472
24473// SetProtocol sets the Protocol field's value.
24474func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
24475	s.Protocol = &v
24476	return s
24477}
24478
24479type DeleteContactMethodOutput struct {
24480	_ struct{} `type:"structure"`
24481
24482	// An array of objects that describe the result of the action, such as the status
24483	// of the request, the timestamp of the request, and the resources affected
24484	// by the request.
24485	Operations []*Operation `locationName:"operations" type:"list"`
24486}
24487
24488// String returns the string representation.
24489//
24490// API parameter values that are decorated as "sensitive" in the API will not
24491// be included in the string output. The member name will be present, but the
24492// value will be replaced with "sensitive".
24493func (s DeleteContactMethodOutput) String() string {
24494	return awsutil.Prettify(s)
24495}
24496
24497// GoString returns the string representation.
24498//
24499// API parameter values that are decorated as "sensitive" in the API will not
24500// be included in the string output. The member name will be present, but the
24501// value will be replaced with "sensitive".
24502func (s DeleteContactMethodOutput) GoString() string {
24503	return s.String()
24504}
24505
24506// SetOperations sets the Operations field's value.
24507func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
24508	s.Operations = v
24509	return s
24510}
24511
24512type DeleteContainerImageInput struct {
24513	_ struct{} `type:"structure"`
24514
24515	// The name of the container image to delete from the container service.
24516	//
24517	// Use the GetContainerImages action to get the name of the container images
24518	// that are registered to a container service.
24519	//
24520	// Container images sourced from your Lightsail container service, that are
24521	// registered and stored on your service, start with a colon (:). For example,
24522	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
24523	// registry like Docker Hub don't start with a colon. For example, nginx:latest
24524	// or nginx.
24525	//
24526	// Image is a required field
24527	Image *string `locationName:"image" type:"string" required:"true"`
24528
24529	// The name of the container service for which to delete a registered container
24530	// image.
24531	//
24532	// ServiceName is a required field
24533	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24534}
24535
24536// String returns the string representation.
24537//
24538// API parameter values that are decorated as "sensitive" in the API will not
24539// be included in the string output. The member name will be present, but the
24540// value will be replaced with "sensitive".
24541func (s DeleteContainerImageInput) String() string {
24542	return awsutil.Prettify(s)
24543}
24544
24545// GoString returns the string representation.
24546//
24547// API parameter values that are decorated as "sensitive" in the API will not
24548// be included in the string output. The member name will be present, but the
24549// value will be replaced with "sensitive".
24550func (s DeleteContainerImageInput) GoString() string {
24551	return s.String()
24552}
24553
24554// Validate inspects the fields of the type to determine if they are valid.
24555func (s *DeleteContainerImageInput) Validate() error {
24556	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerImageInput"}
24557	if s.Image == nil {
24558		invalidParams.Add(request.NewErrParamRequired("Image"))
24559	}
24560	if s.ServiceName == nil {
24561		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24562	}
24563	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24564		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24565	}
24566
24567	if invalidParams.Len() > 0 {
24568		return invalidParams
24569	}
24570	return nil
24571}
24572
24573// SetImage sets the Image field's value.
24574func (s *DeleteContainerImageInput) SetImage(v string) *DeleteContainerImageInput {
24575	s.Image = &v
24576	return s
24577}
24578
24579// SetServiceName sets the ServiceName field's value.
24580func (s *DeleteContainerImageInput) SetServiceName(v string) *DeleteContainerImageInput {
24581	s.ServiceName = &v
24582	return s
24583}
24584
24585type DeleteContainerImageOutput struct {
24586	_ struct{} `type:"structure"`
24587}
24588
24589// String returns the string representation.
24590//
24591// API parameter values that are decorated as "sensitive" in the API will not
24592// be included in the string output. The member name will be present, but the
24593// value will be replaced with "sensitive".
24594func (s DeleteContainerImageOutput) String() string {
24595	return awsutil.Prettify(s)
24596}
24597
24598// GoString returns the string representation.
24599//
24600// API parameter values that are decorated as "sensitive" in the API will not
24601// be included in the string output. The member name will be present, but the
24602// value will be replaced with "sensitive".
24603func (s DeleteContainerImageOutput) GoString() string {
24604	return s.String()
24605}
24606
24607type DeleteContainerServiceInput struct {
24608	_ struct{} `type:"structure"`
24609
24610	// The name of the container service to delete.
24611	//
24612	// ServiceName is a required field
24613	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24614}
24615
24616// String returns the string representation.
24617//
24618// API parameter values that are decorated as "sensitive" in the API will not
24619// be included in the string output. The member name will be present, but the
24620// value will be replaced with "sensitive".
24621func (s DeleteContainerServiceInput) String() string {
24622	return awsutil.Prettify(s)
24623}
24624
24625// GoString returns the string representation.
24626//
24627// API parameter values that are decorated as "sensitive" in the API will not
24628// be included in the string output. The member name will be present, but the
24629// value will be replaced with "sensitive".
24630func (s DeleteContainerServiceInput) GoString() string {
24631	return s.String()
24632}
24633
24634// Validate inspects the fields of the type to determine if they are valid.
24635func (s *DeleteContainerServiceInput) Validate() error {
24636	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerServiceInput"}
24637	if s.ServiceName == nil {
24638		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24639	}
24640	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24641		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24642	}
24643
24644	if invalidParams.Len() > 0 {
24645		return invalidParams
24646	}
24647	return nil
24648}
24649
24650// SetServiceName sets the ServiceName field's value.
24651func (s *DeleteContainerServiceInput) SetServiceName(v string) *DeleteContainerServiceInput {
24652	s.ServiceName = &v
24653	return s
24654}
24655
24656type DeleteContainerServiceOutput struct {
24657	_ struct{} `type:"structure"`
24658}
24659
24660// String returns the string representation.
24661//
24662// API parameter values that are decorated as "sensitive" in the API will not
24663// be included in the string output. The member name will be present, but the
24664// value will be replaced with "sensitive".
24665func (s DeleteContainerServiceOutput) String() string {
24666	return awsutil.Prettify(s)
24667}
24668
24669// GoString returns the string representation.
24670//
24671// API parameter values that are decorated as "sensitive" in the API will not
24672// be included in the string output. The member name will be present, but the
24673// value will be replaced with "sensitive".
24674func (s DeleteContainerServiceOutput) GoString() string {
24675	return s.String()
24676}
24677
24678type DeleteDiskInput struct {
24679	_ struct{} `type:"structure"`
24680
24681	// The unique name of the disk you want to delete (e.g., my-disk).
24682	//
24683	// DiskName is a required field
24684	DiskName *string `locationName:"diskName" type:"string" required:"true"`
24685
24686	// A Boolean value to indicate whether to delete the enabled add-ons for the
24687	// disk.
24688	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
24689}
24690
24691// String returns the string representation.
24692//
24693// API parameter values that are decorated as "sensitive" in the API will not
24694// be included in the string output. The member name will be present, but the
24695// value will be replaced with "sensitive".
24696func (s DeleteDiskInput) String() string {
24697	return awsutil.Prettify(s)
24698}
24699
24700// GoString returns the string representation.
24701//
24702// API parameter values that are decorated as "sensitive" in the API will not
24703// be included in the string output. The member name will be present, but the
24704// value will be replaced with "sensitive".
24705func (s DeleteDiskInput) GoString() string {
24706	return s.String()
24707}
24708
24709// Validate inspects the fields of the type to determine if they are valid.
24710func (s *DeleteDiskInput) Validate() error {
24711	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
24712	if s.DiskName == nil {
24713		invalidParams.Add(request.NewErrParamRequired("DiskName"))
24714	}
24715
24716	if invalidParams.Len() > 0 {
24717		return invalidParams
24718	}
24719	return nil
24720}
24721
24722// SetDiskName sets the DiskName field's value.
24723func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
24724	s.DiskName = &v
24725	return s
24726}
24727
24728// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
24729func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
24730	s.ForceDeleteAddOns = &v
24731	return s
24732}
24733
24734type DeleteDiskOutput struct {
24735	_ struct{} `type:"structure"`
24736
24737	// An array of objects that describe the result of the action, such as the status
24738	// of the request, the timestamp of the request, and the resources affected
24739	// by the request.
24740	Operations []*Operation `locationName:"operations" type:"list"`
24741}
24742
24743// String returns the string representation.
24744//
24745// API parameter values that are decorated as "sensitive" in the API will not
24746// be included in the string output. The member name will be present, but the
24747// value will be replaced with "sensitive".
24748func (s DeleteDiskOutput) String() string {
24749	return awsutil.Prettify(s)
24750}
24751
24752// GoString returns the string representation.
24753//
24754// API parameter values that are decorated as "sensitive" in the API will not
24755// be included in the string output. The member name will be present, but the
24756// value will be replaced with "sensitive".
24757func (s DeleteDiskOutput) GoString() string {
24758	return s.String()
24759}
24760
24761// SetOperations sets the Operations field's value.
24762func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
24763	s.Operations = v
24764	return s
24765}
24766
24767type DeleteDiskSnapshotInput struct {
24768	_ struct{} `type:"structure"`
24769
24770	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
24771	//
24772	// DiskSnapshotName is a required field
24773	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
24774}
24775
24776// String returns the string representation.
24777//
24778// API parameter values that are decorated as "sensitive" in the API will not
24779// be included in the string output. The member name will be present, but the
24780// value will be replaced with "sensitive".
24781func (s DeleteDiskSnapshotInput) String() string {
24782	return awsutil.Prettify(s)
24783}
24784
24785// GoString returns the string representation.
24786//
24787// API parameter values that are decorated as "sensitive" in the API will not
24788// be included in the string output. The member name will be present, but the
24789// value will be replaced with "sensitive".
24790func (s DeleteDiskSnapshotInput) GoString() string {
24791	return s.String()
24792}
24793
24794// Validate inspects the fields of the type to determine if they are valid.
24795func (s *DeleteDiskSnapshotInput) Validate() error {
24796	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
24797	if s.DiskSnapshotName == nil {
24798		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
24799	}
24800
24801	if invalidParams.Len() > 0 {
24802		return invalidParams
24803	}
24804	return nil
24805}
24806
24807// SetDiskSnapshotName sets the DiskSnapshotName field's value.
24808func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
24809	s.DiskSnapshotName = &v
24810	return s
24811}
24812
24813type DeleteDiskSnapshotOutput struct {
24814	_ struct{} `type:"structure"`
24815
24816	// An array of objects that describe the result of the action, such as the status
24817	// of the request, the timestamp of the request, and the resources affected
24818	// by the request.
24819	Operations []*Operation `locationName:"operations" type:"list"`
24820}
24821
24822// String returns the string representation.
24823//
24824// API parameter values that are decorated as "sensitive" in the API will not
24825// be included in the string output. The member name will be present, but the
24826// value will be replaced with "sensitive".
24827func (s DeleteDiskSnapshotOutput) String() string {
24828	return awsutil.Prettify(s)
24829}
24830
24831// GoString returns the string representation.
24832//
24833// API parameter values that are decorated as "sensitive" in the API will not
24834// be included in the string output. The member name will be present, but the
24835// value will be replaced with "sensitive".
24836func (s DeleteDiskSnapshotOutput) GoString() string {
24837	return s.String()
24838}
24839
24840// SetOperations sets the Operations field's value.
24841func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
24842	s.Operations = v
24843	return s
24844}
24845
24846type DeleteDistributionInput struct {
24847	_ struct{} `type:"structure"`
24848
24849	// The name of the distribution to delete.
24850	//
24851	// Use the GetDistributions action to get a list of distribution names that
24852	// you can specify.
24853	DistributionName *string `locationName:"distributionName" type:"string"`
24854}
24855
24856// String returns the string representation.
24857//
24858// API parameter values that are decorated as "sensitive" in the API will not
24859// be included in the string output. The member name will be present, but the
24860// value will be replaced with "sensitive".
24861func (s DeleteDistributionInput) String() string {
24862	return awsutil.Prettify(s)
24863}
24864
24865// GoString returns the string representation.
24866//
24867// API parameter values that are decorated as "sensitive" in the API will not
24868// be included in the string output. The member name will be present, but the
24869// value will be replaced with "sensitive".
24870func (s DeleteDistributionInput) GoString() string {
24871	return s.String()
24872}
24873
24874// SetDistributionName sets the DistributionName field's value.
24875func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
24876	s.DistributionName = &v
24877	return s
24878}
24879
24880type DeleteDistributionOutput struct {
24881	_ struct{} `type:"structure"`
24882
24883	// An object that describes the result of the action, such as the status of
24884	// the request, the timestamp of the request, and the resources affected by
24885	// the request.
24886	Operation *Operation `locationName:"operation" type:"structure"`
24887}
24888
24889// String returns the string representation.
24890//
24891// API parameter values that are decorated as "sensitive" in the API will not
24892// be included in the string output. The member name will be present, but the
24893// value will be replaced with "sensitive".
24894func (s DeleteDistributionOutput) String() string {
24895	return awsutil.Prettify(s)
24896}
24897
24898// GoString returns the string representation.
24899//
24900// API parameter values that are decorated as "sensitive" in the API will not
24901// be included in the string output. The member name will be present, but the
24902// value will be replaced with "sensitive".
24903func (s DeleteDistributionOutput) GoString() string {
24904	return s.String()
24905}
24906
24907// SetOperation sets the Operation field's value.
24908func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
24909	s.Operation = v
24910	return s
24911}
24912
24913type DeleteDomainEntryInput struct {
24914	_ struct{} `type:"structure"`
24915
24916	// An array of key-value pairs containing information about your domain entries.
24917	//
24918	// DomainEntry is a required field
24919	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
24920
24921	// The name of the domain entry to delete.
24922	//
24923	// DomainName is a required field
24924	DomainName *string `locationName:"domainName" type:"string" required:"true"`
24925}
24926
24927// String returns the string representation.
24928//
24929// API parameter values that are decorated as "sensitive" in the API will not
24930// be included in the string output. The member name will be present, but the
24931// value will be replaced with "sensitive".
24932func (s DeleteDomainEntryInput) String() string {
24933	return awsutil.Prettify(s)
24934}
24935
24936// GoString returns the string representation.
24937//
24938// API parameter values that are decorated as "sensitive" in the API will not
24939// be included in the string output. The member name will be present, but the
24940// value will be replaced with "sensitive".
24941func (s DeleteDomainEntryInput) GoString() string {
24942	return s.String()
24943}
24944
24945// Validate inspects the fields of the type to determine if they are valid.
24946func (s *DeleteDomainEntryInput) Validate() error {
24947	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
24948	if s.DomainEntry == nil {
24949		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
24950	}
24951	if s.DomainName == nil {
24952		invalidParams.Add(request.NewErrParamRequired("DomainName"))
24953	}
24954
24955	if invalidParams.Len() > 0 {
24956		return invalidParams
24957	}
24958	return nil
24959}
24960
24961// SetDomainEntry sets the DomainEntry field's value.
24962func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
24963	s.DomainEntry = v
24964	return s
24965}
24966
24967// SetDomainName sets the DomainName field's value.
24968func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
24969	s.DomainName = &v
24970	return s
24971}
24972
24973type DeleteDomainEntryOutput struct {
24974	_ struct{} `type:"structure"`
24975
24976	// An array of objects that describe the result of the action, such as the status
24977	// of the request, the timestamp of the request, and the resources affected
24978	// by the request.
24979	Operation *Operation `locationName:"operation" type:"structure"`
24980}
24981
24982// String returns the string representation.
24983//
24984// API parameter values that are decorated as "sensitive" in the API will not
24985// be included in the string output. The member name will be present, but the
24986// value will be replaced with "sensitive".
24987func (s DeleteDomainEntryOutput) String() string {
24988	return awsutil.Prettify(s)
24989}
24990
24991// GoString returns the string representation.
24992//
24993// API parameter values that are decorated as "sensitive" in the API will not
24994// be included in the string output. The member name will be present, but the
24995// value will be replaced with "sensitive".
24996func (s DeleteDomainEntryOutput) GoString() string {
24997	return s.String()
24998}
24999
25000// SetOperation sets the Operation field's value.
25001func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
25002	s.Operation = v
25003	return s
25004}
25005
25006type DeleteDomainInput struct {
25007	_ struct{} `type:"structure"`
25008
25009	// The specific domain name to delete.
25010	//
25011	// DomainName is a required field
25012	DomainName *string `locationName:"domainName" type:"string" required:"true"`
25013}
25014
25015// String returns the string representation.
25016//
25017// API parameter values that are decorated as "sensitive" in the API will not
25018// be included in the string output. The member name will be present, but the
25019// value will be replaced with "sensitive".
25020func (s DeleteDomainInput) String() string {
25021	return awsutil.Prettify(s)
25022}
25023
25024// GoString returns the string representation.
25025//
25026// API parameter values that are decorated as "sensitive" in the API will not
25027// be included in the string output. The member name will be present, but the
25028// value will be replaced with "sensitive".
25029func (s DeleteDomainInput) GoString() string {
25030	return s.String()
25031}
25032
25033// Validate inspects the fields of the type to determine if they are valid.
25034func (s *DeleteDomainInput) Validate() error {
25035	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
25036	if s.DomainName == nil {
25037		invalidParams.Add(request.NewErrParamRequired("DomainName"))
25038	}
25039
25040	if invalidParams.Len() > 0 {
25041		return invalidParams
25042	}
25043	return nil
25044}
25045
25046// SetDomainName sets the DomainName field's value.
25047func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
25048	s.DomainName = &v
25049	return s
25050}
25051
25052type DeleteDomainOutput struct {
25053	_ struct{} `type:"structure"`
25054
25055	// An array of objects that describe the result of the action, such as the status
25056	// of the request, the timestamp of the request, and the resources affected
25057	// by the request.
25058	Operation *Operation `locationName:"operation" type:"structure"`
25059}
25060
25061// String returns the string representation.
25062//
25063// API parameter values that are decorated as "sensitive" in the API will not
25064// be included in the string output. The member name will be present, but the
25065// value will be replaced with "sensitive".
25066func (s DeleteDomainOutput) String() string {
25067	return awsutil.Prettify(s)
25068}
25069
25070// GoString returns the string representation.
25071//
25072// API parameter values that are decorated as "sensitive" in the API will not
25073// be included in the string output. The member name will be present, but the
25074// value will be replaced with "sensitive".
25075func (s DeleteDomainOutput) GoString() string {
25076	return s.String()
25077}
25078
25079// SetOperation sets the Operation field's value.
25080func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
25081	s.Operation = v
25082	return s
25083}
25084
25085type DeleteInstanceInput struct {
25086	_ struct{} `type:"structure"`
25087
25088	// A Boolean value to indicate whether to delete the enabled add-ons for the
25089	// disk.
25090	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
25091
25092	// The name of the instance to delete.
25093	//
25094	// InstanceName is a required field
25095	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
25096}
25097
25098// String returns the string representation.
25099//
25100// API parameter values that are decorated as "sensitive" in the API will not
25101// be included in the string output. The member name will be present, but the
25102// value will be replaced with "sensitive".
25103func (s DeleteInstanceInput) String() string {
25104	return awsutil.Prettify(s)
25105}
25106
25107// GoString returns the string representation.
25108//
25109// API parameter values that are decorated as "sensitive" in the API will not
25110// be included in the string output. The member name will be present, but the
25111// value will be replaced with "sensitive".
25112func (s DeleteInstanceInput) GoString() string {
25113	return s.String()
25114}
25115
25116// Validate inspects the fields of the type to determine if they are valid.
25117func (s *DeleteInstanceInput) Validate() error {
25118	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
25119	if s.InstanceName == nil {
25120		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
25121	}
25122
25123	if invalidParams.Len() > 0 {
25124		return invalidParams
25125	}
25126	return nil
25127}
25128
25129// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
25130func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
25131	s.ForceDeleteAddOns = &v
25132	return s
25133}
25134
25135// SetInstanceName sets the InstanceName field's value.
25136func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
25137	s.InstanceName = &v
25138	return s
25139}
25140
25141type DeleteInstanceOutput struct {
25142	_ struct{} `type:"structure"`
25143
25144	// An array of objects that describe the result of the action, such as the status
25145	// of the request, the timestamp of the request, and the resources affected
25146	// by the request.
25147	Operations []*Operation `locationName:"operations" type:"list"`
25148}
25149
25150// String returns the string representation.
25151//
25152// API parameter values that are decorated as "sensitive" in the API will not
25153// be included in the string output. The member name will be present, but the
25154// value will be replaced with "sensitive".
25155func (s DeleteInstanceOutput) String() string {
25156	return awsutil.Prettify(s)
25157}
25158
25159// GoString returns the string representation.
25160//
25161// API parameter values that are decorated as "sensitive" in the API will not
25162// be included in the string output. The member name will be present, but the
25163// value will be replaced with "sensitive".
25164func (s DeleteInstanceOutput) GoString() string {
25165	return s.String()
25166}
25167
25168// SetOperations sets the Operations field's value.
25169func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
25170	s.Operations = v
25171	return s
25172}
25173
25174type DeleteInstanceSnapshotInput struct {
25175	_ struct{} `type:"structure"`
25176
25177	// The name of the snapshot to delete.
25178	//
25179	// InstanceSnapshotName is a required field
25180	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
25181}
25182
25183// String returns the string representation.
25184//
25185// API parameter values that are decorated as "sensitive" in the API will not
25186// be included in the string output. The member name will be present, but the
25187// value will be replaced with "sensitive".
25188func (s DeleteInstanceSnapshotInput) String() string {
25189	return awsutil.Prettify(s)
25190}
25191
25192// GoString returns the string representation.
25193//
25194// API parameter values that are decorated as "sensitive" in the API will not
25195// be included in the string output. The member name will be present, but the
25196// value will be replaced with "sensitive".
25197func (s DeleteInstanceSnapshotInput) GoString() string {
25198	return s.String()
25199}
25200
25201// Validate inspects the fields of the type to determine if they are valid.
25202func (s *DeleteInstanceSnapshotInput) Validate() error {
25203	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
25204	if s.InstanceSnapshotName == nil {
25205		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
25206	}
25207
25208	if invalidParams.Len() > 0 {
25209		return invalidParams
25210	}
25211	return nil
25212}
25213
25214// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
25215func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
25216	s.InstanceSnapshotName = &v
25217	return s
25218}
25219
25220type DeleteInstanceSnapshotOutput struct {
25221	_ struct{} `type:"structure"`
25222
25223	// An array of objects that describe the result of the action, such as the status
25224	// of the request, the timestamp of the request, and the resources affected
25225	// by the request.
25226	Operations []*Operation `locationName:"operations" type:"list"`
25227}
25228
25229// String returns the string representation.
25230//
25231// API parameter values that are decorated as "sensitive" in the API will not
25232// be included in the string output. The member name will be present, but the
25233// value will be replaced with "sensitive".
25234func (s DeleteInstanceSnapshotOutput) String() string {
25235	return awsutil.Prettify(s)
25236}
25237
25238// GoString returns the string representation.
25239//
25240// API parameter values that are decorated as "sensitive" in the API will not
25241// be included in the string output. The member name will be present, but the
25242// value will be replaced with "sensitive".
25243func (s DeleteInstanceSnapshotOutput) GoString() string {
25244	return s.String()
25245}
25246
25247// SetOperations sets the Operations field's value.
25248func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
25249	s.Operations = v
25250	return s
25251}
25252
25253type DeleteKeyPairInput struct {
25254	_ struct{} `type:"structure"`
25255
25256	// The name of the key pair to delete.
25257	//
25258	// KeyPairName is a required field
25259	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
25260}
25261
25262// String returns the string representation.
25263//
25264// API parameter values that are decorated as "sensitive" in the API will not
25265// be included in the string output. The member name will be present, but the
25266// value will be replaced with "sensitive".
25267func (s DeleteKeyPairInput) String() string {
25268	return awsutil.Prettify(s)
25269}
25270
25271// GoString returns the string representation.
25272//
25273// API parameter values that are decorated as "sensitive" in the API will not
25274// be included in the string output. The member name will be present, but the
25275// value will be replaced with "sensitive".
25276func (s DeleteKeyPairInput) GoString() string {
25277	return s.String()
25278}
25279
25280// Validate inspects the fields of the type to determine if they are valid.
25281func (s *DeleteKeyPairInput) Validate() error {
25282	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
25283	if s.KeyPairName == nil {
25284		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
25285	}
25286
25287	if invalidParams.Len() > 0 {
25288		return invalidParams
25289	}
25290	return nil
25291}
25292
25293// SetKeyPairName sets the KeyPairName field's value.
25294func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
25295	s.KeyPairName = &v
25296	return s
25297}
25298
25299type DeleteKeyPairOutput struct {
25300	_ struct{} `type:"structure"`
25301
25302	// An array of objects that describe the result of the action, such as the status
25303	// of the request, the timestamp of the request, and the resources affected
25304	// by the request.
25305	Operation *Operation `locationName:"operation" type:"structure"`
25306}
25307
25308// String returns the string representation.
25309//
25310// API parameter values that are decorated as "sensitive" in the API will not
25311// be included in the string output. The member name will be present, but the
25312// value will be replaced with "sensitive".
25313func (s DeleteKeyPairOutput) String() string {
25314	return awsutil.Prettify(s)
25315}
25316
25317// GoString returns the string representation.
25318//
25319// API parameter values that are decorated as "sensitive" in the API will not
25320// be included in the string output. The member name will be present, but the
25321// value will be replaced with "sensitive".
25322func (s DeleteKeyPairOutput) GoString() string {
25323	return s.String()
25324}
25325
25326// SetOperation sets the Operation field's value.
25327func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
25328	s.Operation = v
25329	return s
25330}
25331
25332type DeleteKnownHostKeysInput struct {
25333	_ struct{} `type:"structure"`
25334
25335	// The name of the instance for which you want to reset the host key or certificate.
25336	//
25337	// InstanceName is a required field
25338	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
25339}
25340
25341// String returns the string representation.
25342//
25343// API parameter values that are decorated as "sensitive" in the API will not
25344// be included in the string output. The member name will be present, but the
25345// value will be replaced with "sensitive".
25346func (s DeleteKnownHostKeysInput) String() string {
25347	return awsutil.Prettify(s)
25348}
25349
25350// GoString returns the string representation.
25351//
25352// API parameter values that are decorated as "sensitive" in the API will not
25353// be included in the string output. The member name will be present, but the
25354// value will be replaced with "sensitive".
25355func (s DeleteKnownHostKeysInput) GoString() string {
25356	return s.String()
25357}
25358
25359// Validate inspects the fields of the type to determine if they are valid.
25360func (s *DeleteKnownHostKeysInput) Validate() error {
25361	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
25362	if s.InstanceName == nil {
25363		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
25364	}
25365
25366	if invalidParams.Len() > 0 {
25367		return invalidParams
25368	}
25369	return nil
25370}
25371
25372// SetInstanceName sets the InstanceName field's value.
25373func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
25374	s.InstanceName = &v
25375	return s
25376}
25377
25378type DeleteKnownHostKeysOutput struct {
25379	_ struct{} `type:"structure"`
25380
25381	// An array of objects that describe the result of the action, such as the status
25382	// of the request, the timestamp of the request, and the resources affected
25383	// by the request.
25384	Operations []*Operation `locationName:"operations" type:"list"`
25385}
25386
25387// String returns the string representation.
25388//
25389// API parameter values that are decorated as "sensitive" in the API will not
25390// be included in the string output. The member name will be present, but the
25391// value will be replaced with "sensitive".
25392func (s DeleteKnownHostKeysOutput) String() string {
25393	return awsutil.Prettify(s)
25394}
25395
25396// GoString returns the string representation.
25397//
25398// API parameter values that are decorated as "sensitive" in the API will not
25399// be included in the string output. The member name will be present, but the
25400// value will be replaced with "sensitive".
25401func (s DeleteKnownHostKeysOutput) GoString() string {
25402	return s.String()
25403}
25404
25405// SetOperations sets the Operations field's value.
25406func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
25407	s.Operations = v
25408	return s
25409}
25410
25411type DeleteLoadBalancerInput struct {
25412	_ struct{} `type:"structure"`
25413
25414	// The name of the load balancer you want to delete.
25415	//
25416	// LoadBalancerName is a required field
25417	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
25418}
25419
25420// String returns the string representation.
25421//
25422// API parameter values that are decorated as "sensitive" in the API will not
25423// be included in the string output. The member name will be present, but the
25424// value will be replaced with "sensitive".
25425func (s DeleteLoadBalancerInput) String() string {
25426	return awsutil.Prettify(s)
25427}
25428
25429// GoString returns the string representation.
25430//
25431// API parameter values that are decorated as "sensitive" in the API will not
25432// be included in the string output. The member name will be present, but the
25433// value will be replaced with "sensitive".
25434func (s DeleteLoadBalancerInput) GoString() string {
25435	return s.String()
25436}
25437
25438// Validate inspects the fields of the type to determine if they are valid.
25439func (s *DeleteLoadBalancerInput) Validate() error {
25440	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
25441	if s.LoadBalancerName == nil {
25442		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
25443	}
25444
25445	if invalidParams.Len() > 0 {
25446		return invalidParams
25447	}
25448	return nil
25449}
25450
25451// SetLoadBalancerName sets the LoadBalancerName field's value.
25452func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
25453	s.LoadBalancerName = &v
25454	return s
25455}
25456
25457type DeleteLoadBalancerOutput struct {
25458	_ struct{} `type:"structure"`
25459
25460	// An array of objects that describe the result of the action, such as the status
25461	// of the request, the timestamp of the request, and the resources affected
25462	// by the request.
25463	Operations []*Operation `locationName:"operations" type:"list"`
25464}
25465
25466// String returns the string representation.
25467//
25468// API parameter values that are decorated as "sensitive" in the API will not
25469// be included in the string output. The member name will be present, but the
25470// value will be replaced with "sensitive".
25471func (s DeleteLoadBalancerOutput) String() string {
25472	return awsutil.Prettify(s)
25473}
25474
25475// GoString returns the string representation.
25476//
25477// API parameter values that are decorated as "sensitive" in the API will not
25478// be included in the string output. The member name will be present, but the
25479// value will be replaced with "sensitive".
25480func (s DeleteLoadBalancerOutput) GoString() string {
25481	return s.String()
25482}
25483
25484// SetOperations sets the Operations field's value.
25485func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
25486	s.Operations = v
25487	return s
25488}
25489
25490type DeleteLoadBalancerTlsCertificateInput struct {
25491	_ struct{} `type:"structure"`
25492
25493	// The SSL/TLS certificate name.
25494	//
25495	// CertificateName is a required field
25496	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
25497
25498	// When true, forces the deletion of an SSL/TLS certificate.
25499	//
25500	// There can be two certificates associated with a Lightsail load balancer:
25501	// the primary and the backup. The force parameter is required when the primary
25502	// SSL/TLS certificate is in use by an instance attached to the load balancer.
25503	Force *bool `locationName:"force" type:"boolean"`
25504
25505	// The load balancer name.
25506	//
25507	// LoadBalancerName is a required field
25508	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
25509}
25510
25511// String returns the string representation.
25512//
25513// API parameter values that are decorated as "sensitive" in the API will not
25514// be included in the string output. The member name will be present, but the
25515// value will be replaced with "sensitive".
25516func (s DeleteLoadBalancerTlsCertificateInput) String() string {
25517	return awsutil.Prettify(s)
25518}
25519
25520// GoString returns the string representation.
25521//
25522// API parameter values that are decorated as "sensitive" in the API will not
25523// be included in the string output. The member name will be present, but the
25524// value will be replaced with "sensitive".
25525func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
25526	return s.String()
25527}
25528
25529// Validate inspects the fields of the type to determine if they are valid.
25530func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
25531	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
25532	if s.CertificateName == nil {
25533		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
25534	}
25535	if s.LoadBalancerName == nil {
25536		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
25537	}
25538
25539	if invalidParams.Len() > 0 {
25540		return invalidParams
25541	}
25542	return nil
25543}
25544
25545// SetCertificateName sets the CertificateName field's value.
25546func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
25547	s.CertificateName = &v
25548	return s
25549}
25550
25551// SetForce sets the Force field's value.
25552func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
25553	s.Force = &v
25554	return s
25555}
25556
25557// SetLoadBalancerName sets the LoadBalancerName field's value.
25558func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
25559	s.LoadBalancerName = &v
25560	return s
25561}
25562
25563type DeleteLoadBalancerTlsCertificateOutput struct {
25564	_ struct{} `type:"structure"`
25565
25566	// An array of objects that describe the result of the action, such as the status
25567	// of the request, the timestamp of the request, and the resources affected
25568	// by the request.
25569	Operations []*Operation `locationName:"operations" type:"list"`
25570}
25571
25572// String returns the string representation.
25573//
25574// API parameter values that are decorated as "sensitive" in the API will not
25575// be included in the string output. The member name will be present, but the
25576// value will be replaced with "sensitive".
25577func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
25578	return awsutil.Prettify(s)
25579}
25580
25581// GoString returns the string representation.
25582//
25583// API parameter values that are decorated as "sensitive" in the API will not
25584// be included in the string output. The member name will be present, but the
25585// value will be replaced with "sensitive".
25586func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
25587	return s.String()
25588}
25589
25590// SetOperations sets the Operations field's value.
25591func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
25592	s.Operations = v
25593	return s
25594}
25595
25596type DeleteRelationalDatabaseInput struct {
25597	_ struct{} `type:"structure"`
25598
25599	// The name of the database snapshot created if skip final snapshot is false,
25600	// which is the default value for that parameter.
25601	//
25602	// Specifying this parameter and also specifying the skip final snapshot parameter
25603	// to true results in an error.
25604	//
25605	// Constraints:
25606	//
25607	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
25608	//
25609	//    * The first and last character must be a letter or number.
25610	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
25611
25612	// The name of the database that you are deleting.
25613	//
25614	// RelationalDatabaseName is a required field
25615	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
25616
25617	// Determines whether a final database snapshot is created before your database
25618	// is deleted. If true is specified, no database snapshot is created. If false
25619	// is specified, a database snapshot is created before your database is deleted.
25620	//
25621	// You must specify the final relational database snapshot name parameter if
25622	// the skip final snapshot parameter is false.
25623	//
25624	// Default: false
25625	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
25626}
25627
25628// String returns the string representation.
25629//
25630// API parameter values that are decorated as "sensitive" in the API will not
25631// be included in the string output. The member name will be present, but the
25632// value will be replaced with "sensitive".
25633func (s DeleteRelationalDatabaseInput) String() string {
25634	return awsutil.Prettify(s)
25635}
25636
25637// GoString returns the string representation.
25638//
25639// API parameter values that are decorated as "sensitive" in the API will not
25640// be included in the string output. The member name will be present, but the
25641// value will be replaced with "sensitive".
25642func (s DeleteRelationalDatabaseInput) GoString() string {
25643	return s.String()
25644}
25645
25646// Validate inspects the fields of the type to determine if they are valid.
25647func (s *DeleteRelationalDatabaseInput) Validate() error {
25648	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
25649	if s.RelationalDatabaseName == nil {
25650		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
25651	}
25652
25653	if invalidParams.Len() > 0 {
25654		return invalidParams
25655	}
25656	return nil
25657}
25658
25659// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
25660func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
25661	s.FinalRelationalDatabaseSnapshotName = &v
25662	return s
25663}
25664
25665// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
25666func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
25667	s.RelationalDatabaseName = &v
25668	return s
25669}
25670
25671// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
25672func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
25673	s.SkipFinalSnapshot = &v
25674	return s
25675}
25676
25677type DeleteRelationalDatabaseOutput struct {
25678	_ struct{} `type:"structure"`
25679
25680	// An array of objects that describe the result of the action, such as the status
25681	// of the request, the timestamp of the request, and the resources affected
25682	// by the request.
25683	Operations []*Operation `locationName:"operations" type:"list"`
25684}
25685
25686// String returns the string representation.
25687//
25688// API parameter values that are decorated as "sensitive" in the API will not
25689// be included in the string output. The member name will be present, but the
25690// value will be replaced with "sensitive".
25691func (s DeleteRelationalDatabaseOutput) String() string {
25692	return awsutil.Prettify(s)
25693}
25694
25695// GoString returns the string representation.
25696//
25697// API parameter values that are decorated as "sensitive" in the API will not
25698// be included in the string output. The member name will be present, but the
25699// value will be replaced with "sensitive".
25700func (s DeleteRelationalDatabaseOutput) GoString() string {
25701	return s.String()
25702}
25703
25704// SetOperations sets the Operations field's value.
25705func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
25706	s.Operations = v
25707	return s
25708}
25709
25710type DeleteRelationalDatabaseSnapshotInput struct {
25711	_ struct{} `type:"structure"`
25712
25713	// The name of the database snapshot that you are deleting.
25714	//
25715	// RelationalDatabaseSnapshotName is a required field
25716	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
25717}
25718
25719// String returns the string representation.
25720//
25721// API parameter values that are decorated as "sensitive" in the API will not
25722// be included in the string output. The member name will be present, but the
25723// value will be replaced with "sensitive".
25724func (s DeleteRelationalDatabaseSnapshotInput) String() string {
25725	return awsutil.Prettify(s)
25726}
25727
25728// GoString returns the string representation.
25729//
25730// API parameter values that are decorated as "sensitive" in the API will not
25731// be included in the string output. The member name will be present, but the
25732// value will be replaced with "sensitive".
25733func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
25734	return s.String()
25735}
25736
25737// Validate inspects the fields of the type to determine if they are valid.
25738func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
25739	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
25740	if s.RelationalDatabaseSnapshotName == nil {
25741		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
25742	}
25743
25744	if invalidParams.Len() > 0 {
25745		return invalidParams
25746	}
25747	return nil
25748}
25749
25750// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
25751func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
25752	s.RelationalDatabaseSnapshotName = &v
25753	return s
25754}
25755
25756type DeleteRelationalDatabaseSnapshotOutput struct {
25757	_ struct{} `type:"structure"`
25758
25759	// An array of objects that describe the result of the action, such as the status
25760	// of the request, the timestamp of the request, and the resources affected
25761	// by the request.
25762	Operations []*Operation `locationName:"operations" type:"list"`
25763}
25764
25765// String returns the string representation.
25766//
25767// API parameter values that are decorated as "sensitive" in the API will not
25768// be included in the string output. The member name will be present, but the
25769// value will be replaced with "sensitive".
25770func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
25771	return awsutil.Prettify(s)
25772}
25773
25774// GoString returns the string representation.
25775//
25776// API parameter values that are decorated as "sensitive" in the API will not
25777// be included in the string output. The member name will be present, but the
25778// value will be replaced with "sensitive".
25779func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
25780	return s.String()
25781}
25782
25783// SetOperations sets the Operations field's value.
25784func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
25785	s.Operations = v
25786	return s
25787}
25788
25789// Describes the destination of a record.
25790type DestinationInfo struct {
25791	_ struct{} `type:"structure"`
25792
25793	// The ID of the resource created at the destination.
25794	Id *string `locationName:"id" type:"string"`
25795
25796	// The destination service of the record.
25797	Service *string `locationName:"service" type:"string"`
25798}
25799
25800// String returns the string representation.
25801//
25802// API parameter values that are decorated as "sensitive" in the API will not
25803// be included in the string output. The member name will be present, but the
25804// value will be replaced with "sensitive".
25805func (s DestinationInfo) String() string {
25806	return awsutil.Prettify(s)
25807}
25808
25809// GoString returns the string representation.
25810//
25811// API parameter values that are decorated as "sensitive" in the API will not
25812// be included in the string output. The member name will be present, but the
25813// value will be replaced with "sensitive".
25814func (s DestinationInfo) GoString() string {
25815	return s.String()
25816}
25817
25818// SetId sets the Id field's value.
25819func (s *DestinationInfo) SetId(v string) *DestinationInfo {
25820	s.Id = &v
25821	return s
25822}
25823
25824// SetService sets the Service field's value.
25825func (s *DestinationInfo) SetService(v string) *DestinationInfo {
25826	s.Service = &v
25827	return s
25828}
25829
25830type DetachCertificateFromDistributionInput struct {
25831	_ struct{} `type:"structure"`
25832
25833	// The name of the distribution from which to detach the certificate.
25834	//
25835	// Use the GetDistributions action to get a list of distribution names that
25836	// you can specify.
25837	//
25838	// DistributionName is a required field
25839	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
25840}
25841
25842// String returns the string representation.
25843//
25844// API parameter values that are decorated as "sensitive" in the API will not
25845// be included in the string output. The member name will be present, but the
25846// value will be replaced with "sensitive".
25847func (s DetachCertificateFromDistributionInput) String() string {
25848	return awsutil.Prettify(s)
25849}
25850
25851// GoString returns the string representation.
25852//
25853// API parameter values that are decorated as "sensitive" in the API will not
25854// be included in the string output. The member name will be present, but the
25855// value will be replaced with "sensitive".
25856func (s DetachCertificateFromDistributionInput) GoString() string {
25857	return s.String()
25858}
25859
25860// Validate inspects the fields of the type to determine if they are valid.
25861func (s *DetachCertificateFromDistributionInput) Validate() error {
25862	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
25863	if s.DistributionName == nil {
25864		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
25865	}
25866
25867	if invalidParams.Len() > 0 {
25868		return invalidParams
25869	}
25870	return nil
25871}
25872
25873// SetDistributionName sets the DistributionName field's value.
25874func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
25875	s.DistributionName = &v
25876	return s
25877}
25878
25879type DetachCertificateFromDistributionOutput struct {
25880	_ struct{} `type:"structure"`
25881
25882	// An object that describes the result of the action, such as the status of
25883	// the request, the timestamp of the request, and the resources affected by
25884	// the request.
25885	Operation *Operation `locationName:"operation" type:"structure"`
25886}
25887
25888// String returns the string representation.
25889//
25890// API parameter values that are decorated as "sensitive" in the API will not
25891// be included in the string output. The member name will be present, but the
25892// value will be replaced with "sensitive".
25893func (s DetachCertificateFromDistributionOutput) String() string {
25894	return awsutil.Prettify(s)
25895}
25896
25897// GoString returns the string representation.
25898//
25899// API parameter values that are decorated as "sensitive" in the API will not
25900// be included in the string output. The member name will be present, but the
25901// value will be replaced with "sensitive".
25902func (s DetachCertificateFromDistributionOutput) GoString() string {
25903	return s.String()
25904}
25905
25906// SetOperation sets the Operation field's value.
25907func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
25908	s.Operation = v
25909	return s
25910}
25911
25912type DetachDiskInput struct {
25913	_ struct{} `type:"structure"`
25914
25915	// The unique name of the disk you want to detach from your instance (e.g.,
25916	// my-disk).
25917	//
25918	// DiskName is a required field
25919	DiskName *string `locationName:"diskName" type:"string" required:"true"`
25920}
25921
25922// String returns the string representation.
25923//
25924// API parameter values that are decorated as "sensitive" in the API will not
25925// be included in the string output. The member name will be present, but the
25926// value will be replaced with "sensitive".
25927func (s DetachDiskInput) String() string {
25928	return awsutil.Prettify(s)
25929}
25930
25931// GoString returns the string representation.
25932//
25933// API parameter values that are decorated as "sensitive" in the API will not
25934// be included in the string output. The member name will be present, but the
25935// value will be replaced with "sensitive".
25936func (s DetachDiskInput) GoString() string {
25937	return s.String()
25938}
25939
25940// Validate inspects the fields of the type to determine if they are valid.
25941func (s *DetachDiskInput) Validate() error {
25942	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
25943	if s.DiskName == nil {
25944		invalidParams.Add(request.NewErrParamRequired("DiskName"))
25945	}
25946
25947	if invalidParams.Len() > 0 {
25948		return invalidParams
25949	}
25950	return nil
25951}
25952
25953// SetDiskName sets the DiskName field's value.
25954func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
25955	s.DiskName = &v
25956	return s
25957}
25958
25959type DetachDiskOutput struct {
25960	_ struct{} `type:"structure"`
25961
25962	// An array of objects that describe the result of the action, such as the status
25963	// of the request, the timestamp of the request, and the resources affected
25964	// by the request.
25965	Operations []*Operation `locationName:"operations" type:"list"`
25966}
25967
25968// String returns the string representation.
25969//
25970// API parameter values that are decorated as "sensitive" in the API will not
25971// be included in the string output. The member name will be present, but the
25972// value will be replaced with "sensitive".
25973func (s DetachDiskOutput) String() string {
25974	return awsutil.Prettify(s)
25975}
25976
25977// GoString returns the string representation.
25978//
25979// API parameter values that are decorated as "sensitive" in the API will not
25980// be included in the string output. The member name will be present, but the
25981// value will be replaced with "sensitive".
25982func (s DetachDiskOutput) GoString() string {
25983	return s.String()
25984}
25985
25986// SetOperations sets the Operations field's value.
25987func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
25988	s.Operations = v
25989	return s
25990}
25991
25992type DetachInstancesFromLoadBalancerInput struct {
25993	_ struct{} `type:"structure"`
25994
25995	// An array of strings containing the names of the instances you want to detach
25996	// from the load balancer.
25997	//
25998	// InstanceNames is a required field
25999	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
26000
26001	// The name of the Lightsail load balancer.
26002	//
26003	// LoadBalancerName is a required field
26004	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
26005}
26006
26007// String returns the string representation.
26008//
26009// API parameter values that are decorated as "sensitive" in the API will not
26010// be included in the string output. The member name will be present, but the
26011// value will be replaced with "sensitive".
26012func (s DetachInstancesFromLoadBalancerInput) String() string {
26013	return awsutil.Prettify(s)
26014}
26015
26016// GoString returns the string representation.
26017//
26018// API parameter values that are decorated as "sensitive" in the API will not
26019// be included in the string output. The member name will be present, but the
26020// value will be replaced with "sensitive".
26021func (s DetachInstancesFromLoadBalancerInput) GoString() string {
26022	return s.String()
26023}
26024
26025// Validate inspects the fields of the type to determine if they are valid.
26026func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
26027	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
26028	if s.InstanceNames == nil {
26029		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
26030	}
26031	if s.LoadBalancerName == nil {
26032		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
26033	}
26034
26035	if invalidParams.Len() > 0 {
26036		return invalidParams
26037	}
26038	return nil
26039}
26040
26041// SetInstanceNames sets the InstanceNames field's value.
26042func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
26043	s.InstanceNames = v
26044	return s
26045}
26046
26047// SetLoadBalancerName sets the LoadBalancerName field's value.
26048func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
26049	s.LoadBalancerName = &v
26050	return s
26051}
26052
26053type DetachInstancesFromLoadBalancerOutput struct {
26054	_ struct{} `type:"structure"`
26055
26056	// An array of objects that describe the result of the action, such as the status
26057	// of the request, the timestamp of the request, and the resources affected
26058	// by the request.
26059	Operations []*Operation `locationName:"operations" type:"list"`
26060}
26061
26062// String returns the string representation.
26063//
26064// API parameter values that are decorated as "sensitive" in the API will not
26065// be included in the string output. The member name will be present, but the
26066// value will be replaced with "sensitive".
26067func (s DetachInstancesFromLoadBalancerOutput) String() string {
26068	return awsutil.Prettify(s)
26069}
26070
26071// GoString returns the string representation.
26072//
26073// API parameter values that are decorated as "sensitive" in the API will not
26074// be included in the string output. The member name will be present, but the
26075// value will be replaced with "sensitive".
26076func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
26077	return s.String()
26078}
26079
26080// SetOperations sets the Operations field's value.
26081func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
26082	s.Operations = v
26083	return s
26084}
26085
26086type DetachStaticIpInput struct {
26087	_ struct{} `type:"structure"`
26088
26089	// The name of the static IP to detach from the instance.
26090	//
26091	// StaticIpName is a required field
26092	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
26093}
26094
26095// String returns the string representation.
26096//
26097// API parameter values that are decorated as "sensitive" in the API will not
26098// be included in the string output. The member name will be present, but the
26099// value will be replaced with "sensitive".
26100func (s DetachStaticIpInput) String() string {
26101	return awsutil.Prettify(s)
26102}
26103
26104// GoString returns the string representation.
26105//
26106// API parameter values that are decorated as "sensitive" in the API will not
26107// be included in the string output. The member name will be present, but the
26108// value will be replaced with "sensitive".
26109func (s DetachStaticIpInput) GoString() string {
26110	return s.String()
26111}
26112
26113// Validate inspects the fields of the type to determine if they are valid.
26114func (s *DetachStaticIpInput) Validate() error {
26115	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
26116	if s.StaticIpName == nil {
26117		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
26118	}
26119
26120	if invalidParams.Len() > 0 {
26121		return invalidParams
26122	}
26123	return nil
26124}
26125
26126// SetStaticIpName sets the StaticIpName field's value.
26127func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
26128	s.StaticIpName = &v
26129	return s
26130}
26131
26132type DetachStaticIpOutput struct {
26133	_ struct{} `type:"structure"`
26134
26135	// An array of objects that describe the result of the action, such as the status
26136	// of the request, the timestamp of the request, and the resources affected
26137	// by the request.
26138	Operations []*Operation `locationName:"operations" type:"list"`
26139}
26140
26141// String returns the string representation.
26142//
26143// API parameter values that are decorated as "sensitive" in the API will not
26144// be included in the string output. The member name will be present, but the
26145// value will be replaced with "sensitive".
26146func (s DetachStaticIpOutput) String() string {
26147	return awsutil.Prettify(s)
26148}
26149
26150// GoString returns the string representation.
26151//
26152// API parameter values that are decorated as "sensitive" in the API will not
26153// be included in the string output. The member name will be present, but the
26154// value will be replaced with "sensitive".
26155func (s DetachStaticIpOutput) GoString() string {
26156	return s.String()
26157}
26158
26159// SetOperations sets the Operations field's value.
26160func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
26161	s.Operations = v
26162	return s
26163}
26164
26165type DisableAddOnInput struct {
26166	_ struct{} `type:"structure"`
26167
26168	// The add-on type to disable.
26169	//
26170	// AddOnType is a required field
26171	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
26172
26173	// The name of the source resource for which to disable the add-on.
26174	//
26175	// ResourceName is a required field
26176	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
26177}
26178
26179// String returns the string representation.
26180//
26181// API parameter values that are decorated as "sensitive" in the API will not
26182// be included in the string output. The member name will be present, but the
26183// value will be replaced with "sensitive".
26184func (s DisableAddOnInput) String() string {
26185	return awsutil.Prettify(s)
26186}
26187
26188// GoString returns the string representation.
26189//
26190// API parameter values that are decorated as "sensitive" in the API will not
26191// be included in the string output. The member name will be present, but the
26192// value will be replaced with "sensitive".
26193func (s DisableAddOnInput) GoString() string {
26194	return s.String()
26195}
26196
26197// Validate inspects the fields of the type to determine if they are valid.
26198func (s *DisableAddOnInput) Validate() error {
26199	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
26200	if s.AddOnType == nil {
26201		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
26202	}
26203	if s.ResourceName == nil {
26204		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
26205	}
26206
26207	if invalidParams.Len() > 0 {
26208		return invalidParams
26209	}
26210	return nil
26211}
26212
26213// SetAddOnType sets the AddOnType field's value.
26214func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
26215	s.AddOnType = &v
26216	return s
26217}
26218
26219// SetResourceName sets the ResourceName field's value.
26220func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
26221	s.ResourceName = &v
26222	return s
26223}
26224
26225type DisableAddOnOutput struct {
26226	_ struct{} `type:"structure"`
26227
26228	// An array of objects that describe the result of the action, such as the status
26229	// of the request, the timestamp of the request, and the resources affected
26230	// by the request.
26231	Operations []*Operation `locationName:"operations" type:"list"`
26232}
26233
26234// String returns the string representation.
26235//
26236// API parameter values that are decorated as "sensitive" in the API will not
26237// be included in the string output. The member name will be present, but the
26238// value will be replaced with "sensitive".
26239func (s DisableAddOnOutput) String() string {
26240	return awsutil.Prettify(s)
26241}
26242
26243// GoString returns the string representation.
26244//
26245// API parameter values that are decorated as "sensitive" in the API will not
26246// be included in the string output. The member name will be present, but the
26247// value will be replaced with "sensitive".
26248func (s DisableAddOnOutput) GoString() string {
26249	return s.String()
26250}
26251
26252// SetOperations sets the Operations field's value.
26253func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
26254	s.Operations = v
26255	return s
26256}
26257
26258// Describes a block storage disk.
26259type Disk struct {
26260	_ struct{} `type:"structure"`
26261
26262	// An array of objects representing the add-ons enabled on the disk.
26263	AddOns []*AddOn `locationName:"addOns" type:"list"`
26264
26265	// The Amazon Resource Name (ARN) of the disk.
26266	Arn *string `locationName:"arn" type:"string"`
26267
26268	// The resources to which the disk is attached.
26269	AttachedTo *string `locationName:"attachedTo" type:"string"`
26270
26271	// (Deprecated) The attachment state of the disk.
26272	//
26273	// In releases prior to November 14, 2017, this parameter returned attached
26274	// for system disks in the API response. It is now deprecated, but still included
26275	// in the response. Use isAttached instead.
26276	//
26277	// Deprecated: AttachmentState has been deprecated
26278	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
26279
26280	// The date when the disk was created.
26281	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26282
26283	// (Deprecated) The number of GB in use by the disk.
26284	//
26285	// In releases prior to November 14, 2017, this parameter was not included in
26286	// the API response. It is now deprecated.
26287	//
26288	// Deprecated: GbInUse has been deprecated
26289	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
26290
26291	// The input/output operations per second (IOPS) of the disk.
26292	Iops *int64 `locationName:"iops" type:"integer"`
26293
26294	// A Boolean value indicating whether the disk is attached.
26295	IsAttached *bool `locationName:"isAttached" type:"boolean"`
26296
26297	// A Boolean value indicating whether this disk is a system disk (has an operating
26298	// system loaded on it).
26299	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
26300
26301	// The AWS Region and Availability Zone where the disk is located.
26302	Location *ResourceLocation `locationName:"location" type:"structure"`
26303
26304	// The unique name of the disk.
26305	Name *string `locationName:"name" type:"string"`
26306
26307	// The disk path.
26308	Path *string `locationName:"path" type:"string"`
26309
26310	// The Lightsail resource type (e.g., Disk).
26311	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26312
26313	// The size of the disk in GB.
26314	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26315
26316	// Describes the status of the disk.
26317	State *string `locationName:"state" type:"string" enum:"DiskState"`
26318
26319	// The support code. Include this code in your email to support when you have
26320	// questions about an instance or another resource in Lightsail. This code enables
26321	// our support team to look up your Lightsail information more easily.
26322	SupportCode *string `locationName:"supportCode" type:"string"`
26323
26324	// The tag keys and optional values for the resource. For more information about
26325	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
26326	Tags []*Tag `locationName:"tags" type:"list"`
26327}
26328
26329// String returns the string representation.
26330//
26331// API parameter values that are decorated as "sensitive" in the API will not
26332// be included in the string output. The member name will be present, but the
26333// value will be replaced with "sensitive".
26334func (s Disk) String() string {
26335	return awsutil.Prettify(s)
26336}
26337
26338// GoString returns the string representation.
26339//
26340// API parameter values that are decorated as "sensitive" in the API will not
26341// be included in the string output. The member name will be present, but the
26342// value will be replaced with "sensitive".
26343func (s Disk) GoString() string {
26344	return s.String()
26345}
26346
26347// SetAddOns sets the AddOns field's value.
26348func (s *Disk) SetAddOns(v []*AddOn) *Disk {
26349	s.AddOns = v
26350	return s
26351}
26352
26353// SetArn sets the Arn field's value.
26354func (s *Disk) SetArn(v string) *Disk {
26355	s.Arn = &v
26356	return s
26357}
26358
26359// SetAttachedTo sets the AttachedTo field's value.
26360func (s *Disk) SetAttachedTo(v string) *Disk {
26361	s.AttachedTo = &v
26362	return s
26363}
26364
26365// SetAttachmentState sets the AttachmentState field's value.
26366func (s *Disk) SetAttachmentState(v string) *Disk {
26367	s.AttachmentState = &v
26368	return s
26369}
26370
26371// SetCreatedAt sets the CreatedAt field's value.
26372func (s *Disk) SetCreatedAt(v time.Time) *Disk {
26373	s.CreatedAt = &v
26374	return s
26375}
26376
26377// SetGbInUse sets the GbInUse field's value.
26378func (s *Disk) SetGbInUse(v int64) *Disk {
26379	s.GbInUse = &v
26380	return s
26381}
26382
26383// SetIops sets the Iops field's value.
26384func (s *Disk) SetIops(v int64) *Disk {
26385	s.Iops = &v
26386	return s
26387}
26388
26389// SetIsAttached sets the IsAttached field's value.
26390func (s *Disk) SetIsAttached(v bool) *Disk {
26391	s.IsAttached = &v
26392	return s
26393}
26394
26395// SetIsSystemDisk sets the IsSystemDisk field's value.
26396func (s *Disk) SetIsSystemDisk(v bool) *Disk {
26397	s.IsSystemDisk = &v
26398	return s
26399}
26400
26401// SetLocation sets the Location field's value.
26402func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
26403	s.Location = v
26404	return s
26405}
26406
26407// SetName sets the Name field's value.
26408func (s *Disk) SetName(v string) *Disk {
26409	s.Name = &v
26410	return s
26411}
26412
26413// SetPath sets the Path field's value.
26414func (s *Disk) SetPath(v string) *Disk {
26415	s.Path = &v
26416	return s
26417}
26418
26419// SetResourceType sets the ResourceType field's value.
26420func (s *Disk) SetResourceType(v string) *Disk {
26421	s.ResourceType = &v
26422	return s
26423}
26424
26425// SetSizeInGb sets the SizeInGb field's value.
26426func (s *Disk) SetSizeInGb(v int64) *Disk {
26427	s.SizeInGb = &v
26428	return s
26429}
26430
26431// SetState sets the State field's value.
26432func (s *Disk) SetState(v string) *Disk {
26433	s.State = &v
26434	return s
26435}
26436
26437// SetSupportCode sets the SupportCode field's value.
26438func (s *Disk) SetSupportCode(v string) *Disk {
26439	s.SupportCode = &v
26440	return s
26441}
26442
26443// SetTags sets the Tags field's value.
26444func (s *Disk) SetTags(v []*Tag) *Disk {
26445	s.Tags = v
26446	return s
26447}
26448
26449// Describes a disk.
26450type DiskInfo struct {
26451	_ struct{} `type:"structure"`
26452
26453	// A Boolean value indicating whether this disk is a system disk (has an operating
26454	// system loaded on it).
26455	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
26456
26457	// The disk name.
26458	Name *string `locationName:"name" type:"string"`
26459
26460	// The disk path.
26461	Path *string `locationName:"path" type:"string"`
26462
26463	// The size of the disk in GB (e.g., 32).
26464	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26465}
26466
26467// String returns the string representation.
26468//
26469// API parameter values that are decorated as "sensitive" in the API will not
26470// be included in the string output. The member name will be present, but the
26471// value will be replaced with "sensitive".
26472func (s DiskInfo) String() string {
26473	return awsutil.Prettify(s)
26474}
26475
26476// GoString returns the string representation.
26477//
26478// API parameter values that are decorated as "sensitive" in the API will not
26479// be included in the string output. The member name will be present, but the
26480// value will be replaced with "sensitive".
26481func (s DiskInfo) GoString() string {
26482	return s.String()
26483}
26484
26485// SetIsSystemDisk sets the IsSystemDisk field's value.
26486func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
26487	s.IsSystemDisk = &v
26488	return s
26489}
26490
26491// SetName sets the Name field's value.
26492func (s *DiskInfo) SetName(v string) *DiskInfo {
26493	s.Name = &v
26494	return s
26495}
26496
26497// SetPath sets the Path field's value.
26498func (s *DiskInfo) SetPath(v string) *DiskInfo {
26499	s.Path = &v
26500	return s
26501}
26502
26503// SetSizeInGb sets the SizeInGb field's value.
26504func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
26505	s.SizeInGb = &v
26506	return s
26507}
26508
26509// Describes a block storage disk mapping.
26510type DiskMap struct {
26511	_ struct{} `type:"structure"`
26512
26513	// The new disk name (e.g., my-new-disk).
26514	NewDiskName *string `locationName:"newDiskName" type:"string"`
26515
26516	// The original disk path exposed to the instance (for example, /dev/sdh).
26517	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
26518}
26519
26520// String returns the string representation.
26521//
26522// API parameter values that are decorated as "sensitive" in the API will not
26523// be included in the string output. The member name will be present, but the
26524// value will be replaced with "sensitive".
26525func (s DiskMap) String() string {
26526	return awsutil.Prettify(s)
26527}
26528
26529// GoString returns the string representation.
26530//
26531// API parameter values that are decorated as "sensitive" in the API will not
26532// be included in the string output. The member name will be present, but the
26533// value will be replaced with "sensitive".
26534func (s DiskMap) GoString() string {
26535	return s.String()
26536}
26537
26538// SetNewDiskName sets the NewDiskName field's value.
26539func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
26540	s.NewDiskName = &v
26541	return s
26542}
26543
26544// SetOriginalDiskPath sets the OriginalDiskPath field's value.
26545func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
26546	s.OriginalDiskPath = &v
26547	return s
26548}
26549
26550// Describes a block storage disk snapshot.
26551type DiskSnapshot struct {
26552	_ struct{} `type:"structure"`
26553
26554	// The Amazon Resource Name (ARN) of the disk snapshot.
26555	Arn *string `locationName:"arn" type:"string"`
26556
26557	// The date when the disk snapshot was created.
26558	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26559
26560	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
26561	// was created.
26562	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
26563
26564	// The unique name of the source disk from which the disk snapshot was created.
26565	FromDiskName *string `locationName:"fromDiskName" type:"string"`
26566
26567	// The Amazon Resource Name (ARN) of the source instance from which the disk
26568	// (system volume) snapshot was created.
26569	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
26570
26571	// The unique name of the source instance from which the disk (system volume)
26572	// snapshot was created.
26573	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
26574
26575	// A Boolean value indicating whether the snapshot was created from an automatic
26576	// snapshot.
26577	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
26578
26579	// The AWS Region and Availability Zone where the disk snapshot was created.
26580	Location *ResourceLocation `locationName:"location" type:"structure"`
26581
26582	// The name of the disk snapshot (e.g., my-disk-snapshot).
26583	Name *string `locationName:"name" type:"string"`
26584
26585	// The progress of the snapshot.
26586	Progress *string `locationName:"progress" type:"string"`
26587
26588	// The Lightsail resource type (e.g., DiskSnapshot).
26589	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26590
26591	// The size of the disk in GB.
26592	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26593
26594	// The status of the disk snapshot operation.
26595	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
26596
26597	// The support code. Include this code in your email to support when you have
26598	// questions about an instance or another resource in Lightsail. This code enables
26599	// our support team to look up your Lightsail information more easily.
26600	SupportCode *string `locationName:"supportCode" type:"string"`
26601
26602	// The tag keys and optional values for the resource. For more information about
26603	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
26604	Tags []*Tag `locationName:"tags" type:"list"`
26605}
26606
26607// String returns the string representation.
26608//
26609// API parameter values that are decorated as "sensitive" in the API will not
26610// be included in the string output. The member name will be present, but the
26611// value will be replaced with "sensitive".
26612func (s DiskSnapshot) String() string {
26613	return awsutil.Prettify(s)
26614}
26615
26616// GoString returns the string representation.
26617//
26618// API parameter values that are decorated as "sensitive" in the API will not
26619// be included in the string output. The member name will be present, but the
26620// value will be replaced with "sensitive".
26621func (s DiskSnapshot) GoString() string {
26622	return s.String()
26623}
26624
26625// SetArn sets the Arn field's value.
26626func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
26627	s.Arn = &v
26628	return s
26629}
26630
26631// SetCreatedAt sets the CreatedAt field's value.
26632func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
26633	s.CreatedAt = &v
26634	return s
26635}
26636
26637// SetFromDiskArn sets the FromDiskArn field's value.
26638func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
26639	s.FromDiskArn = &v
26640	return s
26641}
26642
26643// SetFromDiskName sets the FromDiskName field's value.
26644func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
26645	s.FromDiskName = &v
26646	return s
26647}
26648
26649// SetFromInstanceArn sets the FromInstanceArn field's value.
26650func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
26651	s.FromInstanceArn = &v
26652	return s
26653}
26654
26655// SetFromInstanceName sets the FromInstanceName field's value.
26656func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
26657	s.FromInstanceName = &v
26658	return s
26659}
26660
26661// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
26662func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
26663	s.IsFromAutoSnapshot = &v
26664	return s
26665}
26666
26667// SetLocation sets the Location field's value.
26668func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
26669	s.Location = v
26670	return s
26671}
26672
26673// SetName sets the Name field's value.
26674func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
26675	s.Name = &v
26676	return s
26677}
26678
26679// SetProgress sets the Progress field's value.
26680func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
26681	s.Progress = &v
26682	return s
26683}
26684
26685// SetResourceType sets the ResourceType field's value.
26686func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
26687	s.ResourceType = &v
26688	return s
26689}
26690
26691// SetSizeInGb sets the SizeInGb field's value.
26692func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
26693	s.SizeInGb = &v
26694	return s
26695}
26696
26697// SetState sets the State field's value.
26698func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
26699	s.State = &v
26700	return s
26701}
26702
26703// SetSupportCode sets the SupportCode field's value.
26704func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
26705	s.SupportCode = &v
26706	return s
26707}
26708
26709// SetTags sets the Tags field's value.
26710func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
26711	s.Tags = v
26712	return s
26713}
26714
26715// Describes a disk snapshot.
26716type DiskSnapshotInfo struct {
26717	_ struct{} `type:"structure"`
26718
26719	// The size of the disk in GB (e.g., 32).
26720	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26721}
26722
26723// String returns the string representation.
26724//
26725// API parameter values that are decorated as "sensitive" in the API will not
26726// be included in the string output. The member name will be present, but the
26727// value will be replaced with "sensitive".
26728func (s DiskSnapshotInfo) String() string {
26729	return awsutil.Prettify(s)
26730}
26731
26732// GoString returns the string representation.
26733//
26734// API parameter values that are decorated as "sensitive" in the API will not
26735// be included in the string output. The member name will be present, but the
26736// value will be replaced with "sensitive".
26737func (s DiskSnapshotInfo) GoString() string {
26738	return s.String()
26739}
26740
26741// SetSizeInGb sets the SizeInGb field's value.
26742func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
26743	s.SizeInGb = &v
26744	return s
26745}
26746
26747// Describes the specifications of a distribution bundle.
26748type DistributionBundle struct {
26749	_ struct{} `type:"structure"`
26750
26751	// The ID of the bundle.
26752	BundleId *string `locationName:"bundleId" type:"string"`
26753
26754	// Indicates whether the bundle is active, and can be specified for a new or
26755	// existing distribution.
26756	IsActive *bool `locationName:"isActive" type:"boolean"`
26757
26758	// The name of the distribution bundle.
26759	Name *string `locationName:"name" type:"string"`
26760
26761	// The monthly price, in US dollars, of the bundle.
26762	Price *float64 `locationName:"price" type:"float"`
26763
26764	// The monthly network transfer quota of the bundle.
26765	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
26766}
26767
26768// String returns the string representation.
26769//
26770// API parameter values that are decorated as "sensitive" in the API will not
26771// be included in the string output. The member name will be present, but the
26772// value will be replaced with "sensitive".
26773func (s DistributionBundle) String() string {
26774	return awsutil.Prettify(s)
26775}
26776
26777// GoString returns the string representation.
26778//
26779// API parameter values that are decorated as "sensitive" in the API will not
26780// be included in the string output. The member name will be present, but the
26781// value will be replaced with "sensitive".
26782func (s DistributionBundle) GoString() string {
26783	return s.String()
26784}
26785
26786// SetBundleId sets the BundleId field's value.
26787func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
26788	s.BundleId = &v
26789	return s
26790}
26791
26792// SetIsActive sets the IsActive field's value.
26793func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
26794	s.IsActive = &v
26795	return s
26796}
26797
26798// SetName sets the Name field's value.
26799func (s *DistributionBundle) SetName(v string) *DistributionBundle {
26800	s.Name = &v
26801	return s
26802}
26803
26804// SetPrice sets the Price field's value.
26805func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
26806	s.Price = &v
26807	return s
26808}
26809
26810// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
26811func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
26812	s.TransferPerMonthInGb = &v
26813	return s
26814}
26815
26816// Describes a domain where you are storing recordsets.
26817type Domain struct {
26818	_ struct{} `type:"structure"`
26819
26820	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
26821	Arn *string `locationName:"arn" type:"string"`
26822
26823	// The date when the domain recordset was created.
26824	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26825
26826	// An array of key-value pairs containing information about the domain entries.
26827	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
26828
26829	// The AWS Region and Availability Zones where the domain recordset was created.
26830	Location *ResourceLocation `locationName:"location" type:"structure"`
26831
26832	// The name of the domain.
26833	Name *string `locationName:"name" type:"string"`
26834
26835	// The resource type.
26836	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26837
26838	// The support code. Include this code in your email to support when you have
26839	// questions about an instance or another resource in Lightsail. This code enables
26840	// our support team to look up your Lightsail information more easily.
26841	SupportCode *string `locationName:"supportCode" type:"string"`
26842
26843	// The tag keys and optional values for the resource. For more information about
26844	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
26845	Tags []*Tag `locationName:"tags" type:"list"`
26846}
26847
26848// String returns the string representation.
26849//
26850// API parameter values that are decorated as "sensitive" in the API will not
26851// be included in the string output. The member name will be present, but the
26852// value will be replaced with "sensitive".
26853func (s Domain) String() string {
26854	return awsutil.Prettify(s)
26855}
26856
26857// GoString returns the string representation.
26858//
26859// API parameter values that are decorated as "sensitive" in the API will not
26860// be included in the string output. The member name will be present, but the
26861// value will be replaced with "sensitive".
26862func (s Domain) GoString() string {
26863	return s.String()
26864}
26865
26866// SetArn sets the Arn field's value.
26867func (s *Domain) SetArn(v string) *Domain {
26868	s.Arn = &v
26869	return s
26870}
26871
26872// SetCreatedAt sets the CreatedAt field's value.
26873func (s *Domain) SetCreatedAt(v time.Time) *Domain {
26874	s.CreatedAt = &v
26875	return s
26876}
26877
26878// SetDomainEntries sets the DomainEntries field's value.
26879func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
26880	s.DomainEntries = v
26881	return s
26882}
26883
26884// SetLocation sets the Location field's value.
26885func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
26886	s.Location = v
26887	return s
26888}
26889
26890// SetName sets the Name field's value.
26891func (s *Domain) SetName(v string) *Domain {
26892	s.Name = &v
26893	return s
26894}
26895
26896// SetResourceType sets the ResourceType field's value.
26897func (s *Domain) SetResourceType(v string) *Domain {
26898	s.ResourceType = &v
26899	return s
26900}
26901
26902// SetSupportCode sets the SupportCode field's value.
26903func (s *Domain) SetSupportCode(v string) *Domain {
26904	s.SupportCode = &v
26905	return s
26906}
26907
26908// SetTags sets the Tags field's value.
26909func (s *Domain) SetTags(v []*Tag) *Domain {
26910	s.Tags = v
26911	return s
26912}
26913
26914// Describes a domain recordset entry.
26915type DomainEntry struct {
26916	_ struct{} `type:"structure"`
26917
26918	// The ID of the domain recordset entry.
26919	Id *string `locationName:"id" type:"string"`
26920
26921	// When true, specifies whether the domain entry is an alias used by the Lightsail
26922	// load balancer. You can include an alias (A type) record in your request,
26923	// which points to a load balancer DNS name and routes traffic to your load
26924	// balancer.
26925	IsAlias *bool `locationName:"isAlias" type:"boolean"`
26926
26927	// The name of the domain.
26928	Name *string `locationName:"name" type:"string"`
26929
26930	// (Deprecated) The options for the domain entry.
26931	//
26932	// In releases prior to November 29, 2017, this parameter was not included in
26933	// the API response. It is now deprecated.
26934	//
26935	// Deprecated: Options has been deprecated
26936	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
26937
26938	// The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.).
26939	//
26940	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
26941	// For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net.
26942	// For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com.
26943	// Be sure to also set isAlias to true when setting up an A record for a Lightsail
26944	// load balancer, distribution, or container service.
26945	Target *string `locationName:"target" type:"string"`
26946
26947	// The type of domain entry, such as address for IPv4 (A), address for IPv6
26948	// (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start
26949	// of authority (SOA), service locator (SRV), or text (TXT).
26950	//
26951	// The following domain entry types can be used:
26952	//
26953	//    * A
26954	//
26955	//    * AAAA
26956	//
26957	//    * CNAME
26958	//
26959	//    * MX
26960	//
26961	//    * NS
26962	//
26963	//    * SOA
26964	//
26965	//    * SRV
26966	//
26967	//    * TXT
26968	Type *string `locationName:"type" type:"string"`
26969}
26970
26971// String returns the string representation.
26972//
26973// API parameter values that are decorated as "sensitive" in the API will not
26974// be included in the string output. The member name will be present, but the
26975// value will be replaced with "sensitive".
26976func (s DomainEntry) String() string {
26977	return awsutil.Prettify(s)
26978}
26979
26980// GoString returns the string representation.
26981//
26982// API parameter values that are decorated as "sensitive" in the API will not
26983// be included in the string output. The member name will be present, but the
26984// value will be replaced with "sensitive".
26985func (s DomainEntry) GoString() string {
26986	return s.String()
26987}
26988
26989// SetId sets the Id field's value.
26990func (s *DomainEntry) SetId(v string) *DomainEntry {
26991	s.Id = &v
26992	return s
26993}
26994
26995// SetIsAlias sets the IsAlias field's value.
26996func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
26997	s.IsAlias = &v
26998	return s
26999}
27000
27001// SetName sets the Name field's value.
27002func (s *DomainEntry) SetName(v string) *DomainEntry {
27003	s.Name = &v
27004	return s
27005}
27006
27007// SetOptions sets the Options field's value.
27008func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
27009	s.Options = v
27010	return s
27011}
27012
27013// SetTarget sets the Target field's value.
27014func (s *DomainEntry) SetTarget(v string) *DomainEntry {
27015	s.Target = &v
27016	return s
27017}
27018
27019// SetType sets the Type field's value.
27020func (s *DomainEntry) SetType(v string) *DomainEntry {
27021	s.Type = &v
27022	return s
27023}
27024
27025// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
27026type DomainValidationRecord struct {
27027	_ struct{} `type:"structure"`
27028
27029	// The domain name of the certificate validation record. For example, example.com
27030	// or www.example.com.
27031	DomainName *string `locationName:"domainName" type:"string"`
27032
27033	// An object that describes the DNS records to add to your domain's DNS to validate
27034	// it for the certificate.
27035	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
27036}
27037
27038// String returns the string representation.
27039//
27040// API parameter values that are decorated as "sensitive" in the API will not
27041// be included in the string output. The member name will be present, but the
27042// value will be replaced with "sensitive".
27043func (s DomainValidationRecord) String() string {
27044	return awsutil.Prettify(s)
27045}
27046
27047// GoString returns the string representation.
27048//
27049// API parameter values that are decorated as "sensitive" in the API will not
27050// be included in the string output. The member name will be present, but the
27051// value will be replaced with "sensitive".
27052func (s DomainValidationRecord) GoString() string {
27053	return s.String()
27054}
27055
27056// SetDomainName sets the DomainName field's value.
27057func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
27058	s.DomainName = &v
27059	return s
27060}
27061
27062// SetResourceRecord sets the ResourceRecord field's value.
27063func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
27064	s.ResourceRecord = v
27065	return s
27066}
27067
27068type DownloadDefaultKeyPairInput struct {
27069	_ struct{} `type:"structure"`
27070}
27071
27072// String returns the string representation.
27073//
27074// API parameter values that are decorated as "sensitive" in the API will not
27075// be included in the string output. The member name will be present, but the
27076// value will be replaced with "sensitive".
27077func (s DownloadDefaultKeyPairInput) String() string {
27078	return awsutil.Prettify(s)
27079}
27080
27081// GoString returns the string representation.
27082//
27083// API parameter values that are decorated as "sensitive" in the API will not
27084// be included in the string output. The member name will be present, but the
27085// value will be replaced with "sensitive".
27086func (s DownloadDefaultKeyPairInput) GoString() string {
27087	return s.String()
27088}
27089
27090type DownloadDefaultKeyPairOutput struct {
27091	_ struct{} `type:"structure"`
27092
27093	// A base64-encoded RSA private key.
27094	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
27095
27096	// A base64-encoded public key of the ssh-rsa type.
27097	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
27098}
27099
27100// String returns the string representation.
27101//
27102// API parameter values that are decorated as "sensitive" in the API will not
27103// be included in the string output. The member name will be present, but the
27104// value will be replaced with "sensitive".
27105func (s DownloadDefaultKeyPairOutput) String() string {
27106	return awsutil.Prettify(s)
27107}
27108
27109// GoString returns the string representation.
27110//
27111// API parameter values that are decorated as "sensitive" in the API will not
27112// be included in the string output. The member name will be present, but the
27113// value will be replaced with "sensitive".
27114func (s DownloadDefaultKeyPairOutput) GoString() string {
27115	return s.String()
27116}
27117
27118// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
27119func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
27120	s.PrivateKeyBase64 = &v
27121	return s
27122}
27123
27124// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
27125func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
27126	s.PublicKeyBase64 = &v
27127	return s
27128}
27129
27130type EnableAddOnInput struct {
27131	_ struct{} `type:"structure"`
27132
27133	// An array of strings representing the add-on to enable or modify.
27134	//
27135	// AddOnRequest is a required field
27136	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
27137
27138	// The name of the source resource for which to enable or modify the add-on.
27139	//
27140	// ResourceName is a required field
27141	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
27142}
27143
27144// String returns the string representation.
27145//
27146// API parameter values that are decorated as "sensitive" in the API will not
27147// be included in the string output. The member name will be present, but the
27148// value will be replaced with "sensitive".
27149func (s EnableAddOnInput) String() string {
27150	return awsutil.Prettify(s)
27151}
27152
27153// GoString returns the string representation.
27154//
27155// API parameter values that are decorated as "sensitive" in the API will not
27156// be included in the string output. The member name will be present, but the
27157// value will be replaced with "sensitive".
27158func (s EnableAddOnInput) GoString() string {
27159	return s.String()
27160}
27161
27162// Validate inspects the fields of the type to determine if they are valid.
27163func (s *EnableAddOnInput) Validate() error {
27164	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
27165	if s.AddOnRequest == nil {
27166		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
27167	}
27168	if s.ResourceName == nil {
27169		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
27170	}
27171	if s.AddOnRequest != nil {
27172		if err := s.AddOnRequest.Validate(); err != nil {
27173			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
27174		}
27175	}
27176
27177	if invalidParams.Len() > 0 {
27178		return invalidParams
27179	}
27180	return nil
27181}
27182
27183// SetAddOnRequest sets the AddOnRequest field's value.
27184func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
27185	s.AddOnRequest = v
27186	return s
27187}
27188
27189// SetResourceName sets the ResourceName field's value.
27190func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
27191	s.ResourceName = &v
27192	return s
27193}
27194
27195type EnableAddOnOutput struct {
27196	_ struct{} `type:"structure"`
27197
27198	// An array of objects that describe the result of the action, such as the status
27199	// of the request, the timestamp of the request, and the resources affected
27200	// by the request.
27201	Operations []*Operation `locationName:"operations" type:"list"`
27202}
27203
27204// String returns the string representation.
27205//
27206// API parameter values that are decorated as "sensitive" in the API will not
27207// be included in the string output. The member name will be present, but the
27208// value will be replaced with "sensitive".
27209func (s EnableAddOnOutput) String() string {
27210	return awsutil.Prettify(s)
27211}
27212
27213// GoString returns the string representation.
27214//
27215// API parameter values that are decorated as "sensitive" in the API will not
27216// be included in the string output. The member name will be present, but the
27217// value will be replaced with "sensitive".
27218func (s EnableAddOnOutput) GoString() string {
27219	return s.String()
27220}
27221
27222// SetOperations sets the Operations field's value.
27223func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
27224	s.Operations = v
27225	return s
27226}
27227
27228// Describes the settings of a public endpoint for an Amazon Lightsail container
27229// service.
27230type EndpointRequest struct {
27231	_ struct{} `type:"structure"`
27232
27233	// The name of the container for the endpoint.
27234	//
27235	// ContainerName is a required field
27236	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
27237
27238	// The port of the container to which traffic is forwarded to.
27239	//
27240	// ContainerPort is a required field
27241	ContainerPort *int64 `locationName:"containerPort" type:"integer" required:"true"`
27242
27243	// An object that describes the health check configuration of the container.
27244	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
27245}
27246
27247// String returns the string representation.
27248//
27249// API parameter values that are decorated as "sensitive" in the API will not
27250// be included in the string output. The member name will be present, but the
27251// value will be replaced with "sensitive".
27252func (s EndpointRequest) String() string {
27253	return awsutil.Prettify(s)
27254}
27255
27256// GoString returns the string representation.
27257//
27258// API parameter values that are decorated as "sensitive" in the API will not
27259// be included in the string output. The member name will be present, but the
27260// value will be replaced with "sensitive".
27261func (s EndpointRequest) GoString() string {
27262	return s.String()
27263}
27264
27265// Validate inspects the fields of the type to determine if they are valid.
27266func (s *EndpointRequest) Validate() error {
27267	invalidParams := request.ErrInvalidParams{Context: "EndpointRequest"}
27268	if s.ContainerName == nil {
27269		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
27270	}
27271	if s.ContainerPort == nil {
27272		invalidParams.Add(request.NewErrParamRequired("ContainerPort"))
27273	}
27274
27275	if invalidParams.Len() > 0 {
27276		return invalidParams
27277	}
27278	return nil
27279}
27280
27281// SetContainerName sets the ContainerName field's value.
27282func (s *EndpointRequest) SetContainerName(v string) *EndpointRequest {
27283	s.ContainerName = &v
27284	return s
27285}
27286
27287// SetContainerPort sets the ContainerPort field's value.
27288func (s *EndpointRequest) SetContainerPort(v int64) *EndpointRequest {
27289	s.ContainerPort = &v
27290	return s
27291}
27292
27293// SetHealthCheck sets the HealthCheck field's value.
27294func (s *EndpointRequest) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *EndpointRequest {
27295	s.HealthCheck = v
27296	return s
27297}
27298
27299type ExportSnapshotInput struct {
27300	_ struct{} `type:"structure"`
27301
27302	// The name of the instance or disk snapshot to be exported to Amazon EC2.
27303	//
27304	// SourceSnapshotName is a required field
27305	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
27306}
27307
27308// String returns the string representation.
27309//
27310// API parameter values that are decorated as "sensitive" in the API will not
27311// be included in the string output. The member name will be present, but the
27312// value will be replaced with "sensitive".
27313func (s ExportSnapshotInput) String() string {
27314	return awsutil.Prettify(s)
27315}
27316
27317// GoString returns the string representation.
27318//
27319// API parameter values that are decorated as "sensitive" in the API will not
27320// be included in the string output. The member name will be present, but the
27321// value will be replaced with "sensitive".
27322func (s ExportSnapshotInput) GoString() string {
27323	return s.String()
27324}
27325
27326// Validate inspects the fields of the type to determine if they are valid.
27327func (s *ExportSnapshotInput) Validate() error {
27328	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
27329	if s.SourceSnapshotName == nil {
27330		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
27331	}
27332
27333	if invalidParams.Len() > 0 {
27334		return invalidParams
27335	}
27336	return nil
27337}
27338
27339// SetSourceSnapshotName sets the SourceSnapshotName field's value.
27340func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
27341	s.SourceSnapshotName = &v
27342	return s
27343}
27344
27345type ExportSnapshotOutput struct {
27346	_ struct{} `type:"structure"`
27347
27348	// An array of objects that describe the result of the action, such as the status
27349	// of the request, the timestamp of the request, and the resources affected
27350	// by the request.
27351	Operations []*Operation `locationName:"operations" type:"list"`
27352}
27353
27354// String returns the string representation.
27355//
27356// API parameter values that are decorated as "sensitive" in the API will not
27357// be included in the string output. The member name will be present, but the
27358// value will be replaced with "sensitive".
27359func (s ExportSnapshotOutput) String() string {
27360	return awsutil.Prettify(s)
27361}
27362
27363// GoString returns the string representation.
27364//
27365// API parameter values that are decorated as "sensitive" in the API will not
27366// be included in the string output. The member name will be present, but the
27367// value will be replaced with "sensitive".
27368func (s ExportSnapshotOutput) GoString() string {
27369	return s.String()
27370}
27371
27372// SetOperations sets the Operations field's value.
27373func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
27374	s.Operations = v
27375	return s
27376}
27377
27378// Describes an export snapshot record.
27379type ExportSnapshotRecord struct {
27380	_ struct{} `type:"structure"`
27381
27382	// The Amazon Resource Name (ARN) of the export snapshot record.
27383	Arn *string `locationName:"arn" type:"string"`
27384
27385	// The date when the export snapshot record was created.
27386	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27387
27388	// A list of objects describing the destination of the export snapshot record.
27389	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
27390
27391	// The AWS Region and Availability Zone where the export snapshot record is
27392	// located.
27393	Location *ResourceLocation `locationName:"location" type:"structure"`
27394
27395	// The export snapshot record name.
27396	Name *string `locationName:"name" type:"string"`
27397
27398	// The Lightsail resource type (e.g., ExportSnapshotRecord).
27399	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
27400
27401	// A list of objects describing the source of the export snapshot record.
27402	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
27403
27404	// The state of the export snapshot record.
27405	State *string `locationName:"state" type:"string" enum:"RecordState"`
27406}
27407
27408// String returns the string representation.
27409//
27410// API parameter values that are decorated as "sensitive" in the API will not
27411// be included in the string output. The member name will be present, but the
27412// value will be replaced with "sensitive".
27413func (s ExportSnapshotRecord) String() string {
27414	return awsutil.Prettify(s)
27415}
27416
27417// GoString returns the string representation.
27418//
27419// API parameter values that are decorated as "sensitive" in the API will not
27420// be included in the string output. The member name will be present, but the
27421// value will be replaced with "sensitive".
27422func (s ExportSnapshotRecord) GoString() string {
27423	return s.String()
27424}
27425
27426// SetArn sets the Arn field's value.
27427func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
27428	s.Arn = &v
27429	return s
27430}
27431
27432// SetCreatedAt sets the CreatedAt field's value.
27433func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
27434	s.CreatedAt = &v
27435	return s
27436}
27437
27438// SetDestinationInfo sets the DestinationInfo field's value.
27439func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
27440	s.DestinationInfo = v
27441	return s
27442}
27443
27444// SetLocation sets the Location field's value.
27445func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
27446	s.Location = v
27447	return s
27448}
27449
27450// SetName sets the Name field's value.
27451func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
27452	s.Name = &v
27453	return s
27454}
27455
27456// SetResourceType sets the ResourceType field's value.
27457func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
27458	s.ResourceType = &v
27459	return s
27460}
27461
27462// SetSourceInfo sets the SourceInfo field's value.
27463func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
27464	s.SourceInfo = v
27465	return s
27466}
27467
27468// SetState sets the State field's value.
27469func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
27470	s.State = &v
27471	return s
27472}
27473
27474// Describes the source of an export snapshot record.
27475type ExportSnapshotRecordSourceInfo struct {
27476	_ struct{} `type:"structure"`
27477
27478	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
27479	Arn *string `locationName:"arn" type:"string"`
27480
27481	// The date when the source instance or disk snapshot was created.
27482	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27483
27484	// A list of objects describing a disk snapshot.
27485	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
27486
27487	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
27488	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
27489
27490	// The name of the snapshot's source instance or disk.
27491	FromResourceName *string `locationName:"fromResourceName" type:"string"`
27492
27493	// A list of objects describing an instance snapshot.
27494	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
27495
27496	// The name of the source instance or disk snapshot.
27497	Name *string `locationName:"name" type:"string"`
27498
27499	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
27500	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
27501}
27502
27503// String returns the string representation.
27504//
27505// API parameter values that are decorated as "sensitive" in the API will not
27506// be included in the string output. The member name will be present, but the
27507// value will be replaced with "sensitive".
27508func (s ExportSnapshotRecordSourceInfo) String() string {
27509	return awsutil.Prettify(s)
27510}
27511
27512// GoString returns the string representation.
27513//
27514// API parameter values that are decorated as "sensitive" in the API will not
27515// be included in the string output. The member name will be present, but the
27516// value will be replaced with "sensitive".
27517func (s ExportSnapshotRecordSourceInfo) GoString() string {
27518	return s.String()
27519}
27520
27521// SetArn sets the Arn field's value.
27522func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
27523	s.Arn = &v
27524	return s
27525}
27526
27527// SetCreatedAt sets the CreatedAt field's value.
27528func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
27529	s.CreatedAt = &v
27530	return s
27531}
27532
27533// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
27534func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
27535	s.DiskSnapshotInfo = v
27536	return s
27537}
27538
27539// SetFromResourceArn sets the FromResourceArn field's value.
27540func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
27541	s.FromResourceArn = &v
27542	return s
27543}
27544
27545// SetFromResourceName sets the FromResourceName field's value.
27546func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
27547	s.FromResourceName = &v
27548	return s
27549}
27550
27551// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
27552func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
27553	s.InstanceSnapshotInfo = v
27554	return s
27555}
27556
27557// SetName sets the Name field's value.
27558func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
27559	s.Name = &v
27560	return s
27561}
27562
27563// SetResourceType sets the ResourceType field's value.
27564func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
27565	s.ResourceType = &v
27566	return s
27567}
27568
27569type GetActiveNamesInput struct {
27570	_ struct{} `type:"structure"`
27571
27572	// The token to advance to the next page of results from your request.
27573	//
27574	// To get a page token, perform an initial GetActiveNames request. If your results
27575	// are paginated, the response will return a next page token that you can specify
27576	// as the page token in a subsequent request.
27577	PageToken *string `locationName:"pageToken" type:"string"`
27578}
27579
27580// String returns the string representation.
27581//
27582// API parameter values that are decorated as "sensitive" in the API will not
27583// be included in the string output. The member name will be present, but the
27584// value will be replaced with "sensitive".
27585func (s GetActiveNamesInput) String() string {
27586	return awsutil.Prettify(s)
27587}
27588
27589// GoString returns the string representation.
27590//
27591// API parameter values that are decorated as "sensitive" in the API will not
27592// be included in the string output. The member name will be present, but the
27593// value will be replaced with "sensitive".
27594func (s GetActiveNamesInput) GoString() string {
27595	return s.String()
27596}
27597
27598// SetPageToken sets the PageToken field's value.
27599func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
27600	s.PageToken = &v
27601	return s
27602}
27603
27604type GetActiveNamesOutput struct {
27605	_ struct{} `type:"structure"`
27606
27607	// The list of active names returned by the get active names request.
27608	ActiveNames []*string `locationName:"activeNames" type:"list"`
27609
27610	// The token to advance to the next page of results from your request.
27611	//
27612	// A next page token is not returned if there are no more results to display.
27613	//
27614	// To get the next page of results, perform another GetActiveNames request and
27615	// specify the next page token using the pageToken parameter.
27616	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27617}
27618
27619// String returns the string representation.
27620//
27621// API parameter values that are decorated as "sensitive" in the API will not
27622// be included in the string output. The member name will be present, but the
27623// value will be replaced with "sensitive".
27624func (s GetActiveNamesOutput) String() string {
27625	return awsutil.Prettify(s)
27626}
27627
27628// GoString returns the string representation.
27629//
27630// API parameter values that are decorated as "sensitive" in the API will not
27631// be included in the string output. The member name will be present, but the
27632// value will be replaced with "sensitive".
27633func (s GetActiveNamesOutput) GoString() string {
27634	return s.String()
27635}
27636
27637// SetActiveNames sets the ActiveNames field's value.
27638func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
27639	s.ActiveNames = v
27640	return s
27641}
27642
27643// SetNextPageToken sets the NextPageToken field's value.
27644func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
27645	s.NextPageToken = &v
27646	return s
27647}
27648
27649type GetAlarmsInput struct {
27650	_ struct{} `type:"structure"`
27651
27652	// The name of the alarm.
27653	//
27654	// Specify an alarm name to return information about a specific alarm.
27655	AlarmName *string `locationName:"alarmName" type:"string"`
27656
27657	// The name of the Lightsail resource being monitored by the alarm.
27658	//
27659	// Specify a monitored resource name to return information about all alarms
27660	// for a specific resource.
27661	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
27662
27663	// The token to advance to the next page of results from your request.
27664	//
27665	// To get a page token, perform an initial GetAlarms request. If your results
27666	// are paginated, the response will return a next page token that you can specify
27667	// as the page token in a subsequent request.
27668	PageToken *string `locationName:"pageToken" type:"string"`
27669}
27670
27671// String returns the string representation.
27672//
27673// API parameter values that are decorated as "sensitive" in the API will not
27674// be included in the string output. The member name will be present, but the
27675// value will be replaced with "sensitive".
27676func (s GetAlarmsInput) String() string {
27677	return awsutil.Prettify(s)
27678}
27679
27680// GoString returns the string representation.
27681//
27682// API parameter values that are decorated as "sensitive" in the API will not
27683// be included in the string output. The member name will be present, but the
27684// value will be replaced with "sensitive".
27685func (s GetAlarmsInput) GoString() string {
27686	return s.String()
27687}
27688
27689// SetAlarmName sets the AlarmName field's value.
27690func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
27691	s.AlarmName = &v
27692	return s
27693}
27694
27695// SetMonitoredResourceName sets the MonitoredResourceName field's value.
27696func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
27697	s.MonitoredResourceName = &v
27698	return s
27699}
27700
27701// SetPageToken sets the PageToken field's value.
27702func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
27703	s.PageToken = &v
27704	return s
27705}
27706
27707type GetAlarmsOutput struct {
27708	_ struct{} `type:"structure"`
27709
27710	// An array of objects that describe the alarms.
27711	Alarms []*Alarm `locationName:"alarms" type:"list"`
27712
27713	// The token to advance to the next page of results from your request.
27714	//
27715	// A next page token is not returned if there are no more results to display.
27716	//
27717	// To get the next page of results, perform another GetAlarms request and specify
27718	// the next page token using the pageToken parameter.
27719	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27720}
27721
27722// String returns the string representation.
27723//
27724// API parameter values that are decorated as "sensitive" in the API will not
27725// be included in the string output. The member name will be present, but the
27726// value will be replaced with "sensitive".
27727func (s GetAlarmsOutput) String() string {
27728	return awsutil.Prettify(s)
27729}
27730
27731// GoString returns the string representation.
27732//
27733// API parameter values that are decorated as "sensitive" in the API will not
27734// be included in the string output. The member name will be present, but the
27735// value will be replaced with "sensitive".
27736func (s GetAlarmsOutput) GoString() string {
27737	return s.String()
27738}
27739
27740// SetAlarms sets the Alarms field's value.
27741func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
27742	s.Alarms = v
27743	return s
27744}
27745
27746// SetNextPageToken sets the NextPageToken field's value.
27747func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
27748	s.NextPageToken = &v
27749	return s
27750}
27751
27752type GetAutoSnapshotsInput struct {
27753	_ struct{} `type:"structure"`
27754
27755	// The name of the source instance or disk from which to get automatic snapshot
27756	// information.
27757	//
27758	// ResourceName is a required field
27759	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
27760}
27761
27762// String returns the string representation.
27763//
27764// API parameter values that are decorated as "sensitive" in the API will not
27765// be included in the string output. The member name will be present, but the
27766// value will be replaced with "sensitive".
27767func (s GetAutoSnapshotsInput) String() string {
27768	return awsutil.Prettify(s)
27769}
27770
27771// GoString returns the string representation.
27772//
27773// API parameter values that are decorated as "sensitive" in the API will not
27774// be included in the string output. The member name will be present, but the
27775// value will be replaced with "sensitive".
27776func (s GetAutoSnapshotsInput) GoString() string {
27777	return s.String()
27778}
27779
27780// Validate inspects the fields of the type to determine if they are valid.
27781func (s *GetAutoSnapshotsInput) Validate() error {
27782	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
27783	if s.ResourceName == nil {
27784		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
27785	}
27786
27787	if invalidParams.Len() > 0 {
27788		return invalidParams
27789	}
27790	return nil
27791}
27792
27793// SetResourceName sets the ResourceName field's value.
27794func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
27795	s.ResourceName = &v
27796	return s
27797}
27798
27799type GetAutoSnapshotsOutput struct {
27800	_ struct{} `type:"structure"`
27801
27802	// An array of objects that describe the automatic snapshots that are available
27803	// for the specified source instance or disk.
27804	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
27805
27806	// The name of the source instance or disk for the automatic snapshots.
27807	ResourceName *string `locationName:"resourceName" type:"string"`
27808
27809	// The resource type (e.g., Instance or Disk).
27810	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
27811}
27812
27813// String returns the string representation.
27814//
27815// API parameter values that are decorated as "sensitive" in the API will not
27816// be included in the string output. The member name will be present, but the
27817// value will be replaced with "sensitive".
27818func (s GetAutoSnapshotsOutput) String() string {
27819	return awsutil.Prettify(s)
27820}
27821
27822// GoString returns the string representation.
27823//
27824// API parameter values that are decorated as "sensitive" in the API will not
27825// be included in the string output. The member name will be present, but the
27826// value will be replaced with "sensitive".
27827func (s GetAutoSnapshotsOutput) GoString() string {
27828	return s.String()
27829}
27830
27831// SetAutoSnapshots sets the AutoSnapshots field's value.
27832func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
27833	s.AutoSnapshots = v
27834	return s
27835}
27836
27837// SetResourceName sets the ResourceName field's value.
27838func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
27839	s.ResourceName = &v
27840	return s
27841}
27842
27843// SetResourceType sets the ResourceType field's value.
27844func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
27845	s.ResourceType = &v
27846	return s
27847}
27848
27849type GetBlueprintsInput struct {
27850	_ struct{} `type:"structure"`
27851
27852	// A Boolean value indicating whether to include inactive results in your request.
27853	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
27854
27855	// The token to advance to the next page of results from your request.
27856	//
27857	// To get a page token, perform an initial GetBlueprints request. If your results
27858	// are paginated, the response will return a next page token that you can specify
27859	// as the page token in a subsequent request.
27860	PageToken *string `locationName:"pageToken" type:"string"`
27861}
27862
27863// String returns the string representation.
27864//
27865// API parameter values that are decorated as "sensitive" in the API will not
27866// be included in the string output. The member name will be present, but the
27867// value will be replaced with "sensitive".
27868func (s GetBlueprintsInput) String() string {
27869	return awsutil.Prettify(s)
27870}
27871
27872// GoString returns the string representation.
27873//
27874// API parameter values that are decorated as "sensitive" in the API will not
27875// be included in the string output. The member name will be present, but the
27876// value will be replaced with "sensitive".
27877func (s GetBlueprintsInput) GoString() string {
27878	return s.String()
27879}
27880
27881// SetIncludeInactive sets the IncludeInactive field's value.
27882func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
27883	s.IncludeInactive = &v
27884	return s
27885}
27886
27887// SetPageToken sets the PageToken field's value.
27888func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
27889	s.PageToken = &v
27890	return s
27891}
27892
27893type GetBlueprintsOutput struct {
27894	_ struct{} `type:"structure"`
27895
27896	// An array of key-value pairs that contains information about the available
27897	// blueprints.
27898	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
27899
27900	// The token to advance to the next page of results from your request.
27901	//
27902	// A next page token is not returned if there are no more results to display.
27903	//
27904	// To get the next page of results, perform another GetBlueprints request and
27905	// specify the next page token using the pageToken parameter.
27906	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27907}
27908
27909// String returns the string representation.
27910//
27911// API parameter values that are decorated as "sensitive" in the API will not
27912// be included in the string output. The member name will be present, but the
27913// value will be replaced with "sensitive".
27914func (s GetBlueprintsOutput) String() string {
27915	return awsutil.Prettify(s)
27916}
27917
27918// GoString returns the string representation.
27919//
27920// API parameter values that are decorated as "sensitive" in the API will not
27921// be included in the string output. The member name will be present, but the
27922// value will be replaced with "sensitive".
27923func (s GetBlueprintsOutput) GoString() string {
27924	return s.String()
27925}
27926
27927// SetBlueprints sets the Blueprints field's value.
27928func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
27929	s.Blueprints = v
27930	return s
27931}
27932
27933// SetNextPageToken sets the NextPageToken field's value.
27934func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
27935	s.NextPageToken = &v
27936	return s
27937}
27938
27939type GetBucketAccessKeysInput struct {
27940	_ struct{} `type:"structure"`
27941
27942	// The name of the bucket for which to return access keys.
27943	//
27944	// BucketName is a required field
27945	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
27946}
27947
27948// String returns the string representation.
27949//
27950// API parameter values that are decorated as "sensitive" in the API will not
27951// be included in the string output. The member name will be present, but the
27952// value will be replaced with "sensitive".
27953func (s GetBucketAccessKeysInput) String() string {
27954	return awsutil.Prettify(s)
27955}
27956
27957// GoString returns the string representation.
27958//
27959// API parameter values that are decorated as "sensitive" in the API will not
27960// be included in the string output. The member name will be present, but the
27961// value will be replaced with "sensitive".
27962func (s GetBucketAccessKeysInput) GoString() string {
27963	return s.String()
27964}
27965
27966// Validate inspects the fields of the type to determine if they are valid.
27967func (s *GetBucketAccessKeysInput) Validate() error {
27968	invalidParams := request.ErrInvalidParams{Context: "GetBucketAccessKeysInput"}
27969	if s.BucketName == nil {
27970		invalidParams.Add(request.NewErrParamRequired("BucketName"))
27971	}
27972	if s.BucketName != nil && len(*s.BucketName) < 3 {
27973		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
27974	}
27975
27976	if invalidParams.Len() > 0 {
27977		return invalidParams
27978	}
27979	return nil
27980}
27981
27982// SetBucketName sets the BucketName field's value.
27983func (s *GetBucketAccessKeysInput) SetBucketName(v string) *GetBucketAccessKeysInput {
27984	s.BucketName = &v
27985	return s
27986}
27987
27988type GetBucketAccessKeysOutput struct {
27989	_ struct{} `type:"structure"`
27990
27991	// An object that describes the access keys for the specified bucket.
27992	AccessKeys []*AccessKey `locationName:"accessKeys" type:"list"`
27993}
27994
27995// String returns the string representation.
27996//
27997// API parameter values that are decorated as "sensitive" in the API will not
27998// be included in the string output. The member name will be present, but the
27999// value will be replaced with "sensitive".
28000func (s GetBucketAccessKeysOutput) String() string {
28001	return awsutil.Prettify(s)
28002}
28003
28004// GoString returns the string representation.
28005//
28006// API parameter values that are decorated as "sensitive" in the API will not
28007// be included in the string output. The member name will be present, but the
28008// value will be replaced with "sensitive".
28009func (s GetBucketAccessKeysOutput) GoString() string {
28010	return s.String()
28011}
28012
28013// SetAccessKeys sets the AccessKeys field's value.
28014func (s *GetBucketAccessKeysOutput) SetAccessKeys(v []*AccessKey) *GetBucketAccessKeysOutput {
28015	s.AccessKeys = v
28016	return s
28017}
28018
28019type GetBucketBundlesInput struct {
28020	_ struct{} `type:"structure"`
28021
28022	// A Boolean value that indicates whether to include inactive (unavailable)
28023	// bundles in the response.
28024	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
28025}
28026
28027// String returns the string representation.
28028//
28029// API parameter values that are decorated as "sensitive" in the API will not
28030// be included in the string output. The member name will be present, but the
28031// value will be replaced with "sensitive".
28032func (s GetBucketBundlesInput) String() string {
28033	return awsutil.Prettify(s)
28034}
28035
28036// GoString returns the string representation.
28037//
28038// API parameter values that are decorated as "sensitive" in the API will not
28039// be included in the string output. The member name will be present, but the
28040// value will be replaced with "sensitive".
28041func (s GetBucketBundlesInput) GoString() string {
28042	return s.String()
28043}
28044
28045// SetIncludeInactive sets the IncludeInactive field's value.
28046func (s *GetBucketBundlesInput) SetIncludeInactive(v bool) *GetBucketBundlesInput {
28047	s.IncludeInactive = &v
28048	return s
28049}
28050
28051type GetBucketBundlesOutput struct {
28052	_ struct{} `type:"structure"`
28053
28054	// An object that describes bucket bundles.
28055	Bundles []*BucketBundle `locationName:"bundles" type:"list"`
28056}
28057
28058// String returns the string representation.
28059//
28060// API parameter values that are decorated as "sensitive" in the API will not
28061// be included in the string output. The member name will be present, but the
28062// value will be replaced with "sensitive".
28063func (s GetBucketBundlesOutput) String() string {
28064	return awsutil.Prettify(s)
28065}
28066
28067// GoString returns the string representation.
28068//
28069// API parameter values that are decorated as "sensitive" in the API will not
28070// be included in the string output. The member name will be present, but the
28071// value will be replaced with "sensitive".
28072func (s GetBucketBundlesOutput) GoString() string {
28073	return s.String()
28074}
28075
28076// SetBundles sets the Bundles field's value.
28077func (s *GetBucketBundlesOutput) SetBundles(v []*BucketBundle) *GetBucketBundlesOutput {
28078	s.Bundles = v
28079	return s
28080}
28081
28082type GetBucketMetricDataInput struct {
28083	_ struct{} `type:"structure"`
28084
28085	// The name of the bucket for which to get metric data.
28086	//
28087	// BucketName is a required field
28088	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
28089
28090	// The timestamp indicating the latest data to be returned.
28091	//
28092	// EndTime is a required field
28093	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
28094
28095	// The metric for which you want to return information.
28096	//
28097	// Valid bucket metric names are listed below, along with the most useful statistics
28098	// to include in your request, and the published unit value.
28099	//
28100	// These bucket metrics are reported once per day.
28101	//
28102	//    * BucketSizeBytes - The amount of data in bytes stored in a bucket. This
28103	//    value is calculated by summing the size of all objects in the bucket (including
28104	//    object versions), including the size of all parts for all incomplete multipart
28105	//    uploads to the bucket. Statistics: The most useful statistic is Maximum.
28106	//    Unit: The published unit is Bytes.
28107	//
28108	//    * NumberOfObjects - The total number of objects stored in a bucket. This
28109	//    value is calculated by counting all objects in the bucket (including object
28110	//    versions) and the total number of parts for all incomplete multipart uploads
28111	//    to the bucket. Statistics: The most useful statistic is Average. Unit:
28112	//    The published unit is Count.
28113	//
28114	// MetricName is a required field
28115	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"BucketMetricName"`
28116
28117	// The granularity, in seconds, of the returned data points.
28118	//
28119	// Bucket storage metrics are reported once per day. Therefore, you should specify
28120	// a period of 86400 seconds, which is the number of seconds in a day.
28121	//
28122	// Period is a required field
28123	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
28124
28125	// The timestamp indicating the earliest data to be returned.
28126	//
28127	// StartTime is a required field
28128	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
28129
28130	// The statistic for the metric.
28131	//
28132	// The following statistics are available:
28133	//
28134	//    * Minimum - The lowest value observed during the specified period. Use
28135	//    this value to determine low volumes of activity for your application.
28136	//
28137	//    * Maximum - The highest value observed during the specified period. Use
28138	//    this value to determine high volumes of activity for your application.
28139	//
28140	//    * Sum - The sum of all values submitted for the matching metric. You can
28141	//    use this statistic to determine the total volume of a metric.
28142	//
28143	//    * Average - The value of Sum / SampleCount during the specified period.
28144	//    By comparing this statistic with the Minimum and Maximum values, you can
28145	//    determine the full scope of a metric and how close the average use is
28146	//    to the Minimum and Maximum values. This comparison helps you to know when
28147	//    to increase or decrease your resources.
28148	//
28149	//    * SampleCount - The count, or number, of data points used for the statistical
28150	//    calculation.
28151	//
28152	// Statistics is a required field
28153	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
28154
28155	// The unit for the metric data request.
28156	//
28157	// Valid units depend on the metric data being requested. For the valid units
28158	// with each available metric, see the metricName parameter.
28159	//
28160	// Unit is a required field
28161	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
28162}
28163
28164// String returns the string representation.
28165//
28166// API parameter values that are decorated as "sensitive" in the API will not
28167// be included in the string output. The member name will be present, but the
28168// value will be replaced with "sensitive".
28169func (s GetBucketMetricDataInput) String() string {
28170	return awsutil.Prettify(s)
28171}
28172
28173// GoString returns the string representation.
28174//
28175// API parameter values that are decorated as "sensitive" in the API will not
28176// be included in the string output. The member name will be present, but the
28177// value will be replaced with "sensitive".
28178func (s GetBucketMetricDataInput) GoString() string {
28179	return s.String()
28180}
28181
28182// Validate inspects the fields of the type to determine if they are valid.
28183func (s *GetBucketMetricDataInput) Validate() error {
28184	invalidParams := request.ErrInvalidParams{Context: "GetBucketMetricDataInput"}
28185	if s.BucketName == nil {
28186		invalidParams.Add(request.NewErrParamRequired("BucketName"))
28187	}
28188	if s.BucketName != nil && len(*s.BucketName) < 3 {
28189		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
28190	}
28191	if s.EndTime == nil {
28192		invalidParams.Add(request.NewErrParamRequired("EndTime"))
28193	}
28194	if s.MetricName == nil {
28195		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28196	}
28197	if s.Period == nil {
28198		invalidParams.Add(request.NewErrParamRequired("Period"))
28199	}
28200	if s.Period != nil && *s.Period < 60 {
28201		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
28202	}
28203	if s.StartTime == nil {
28204		invalidParams.Add(request.NewErrParamRequired("StartTime"))
28205	}
28206	if s.Statistics == nil {
28207		invalidParams.Add(request.NewErrParamRequired("Statistics"))
28208	}
28209	if s.Unit == nil {
28210		invalidParams.Add(request.NewErrParamRequired("Unit"))
28211	}
28212
28213	if invalidParams.Len() > 0 {
28214		return invalidParams
28215	}
28216	return nil
28217}
28218
28219// SetBucketName sets the BucketName field's value.
28220func (s *GetBucketMetricDataInput) SetBucketName(v string) *GetBucketMetricDataInput {
28221	s.BucketName = &v
28222	return s
28223}
28224
28225// SetEndTime sets the EndTime field's value.
28226func (s *GetBucketMetricDataInput) SetEndTime(v time.Time) *GetBucketMetricDataInput {
28227	s.EndTime = &v
28228	return s
28229}
28230
28231// SetMetricName sets the MetricName field's value.
28232func (s *GetBucketMetricDataInput) SetMetricName(v string) *GetBucketMetricDataInput {
28233	s.MetricName = &v
28234	return s
28235}
28236
28237// SetPeriod sets the Period field's value.
28238func (s *GetBucketMetricDataInput) SetPeriod(v int64) *GetBucketMetricDataInput {
28239	s.Period = &v
28240	return s
28241}
28242
28243// SetStartTime sets the StartTime field's value.
28244func (s *GetBucketMetricDataInput) SetStartTime(v time.Time) *GetBucketMetricDataInput {
28245	s.StartTime = &v
28246	return s
28247}
28248
28249// SetStatistics sets the Statistics field's value.
28250func (s *GetBucketMetricDataInput) SetStatistics(v []*string) *GetBucketMetricDataInput {
28251	s.Statistics = v
28252	return s
28253}
28254
28255// SetUnit sets the Unit field's value.
28256func (s *GetBucketMetricDataInput) SetUnit(v string) *GetBucketMetricDataInput {
28257	s.Unit = &v
28258	return s
28259}
28260
28261type GetBucketMetricDataOutput struct {
28262	_ struct{} `type:"structure"`
28263
28264	// An array of objects that describe the metric data returned.
28265	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
28266
28267	// The name of the metric returned.
28268	MetricName *string `locationName:"metricName" type:"string" enum:"BucketMetricName"`
28269}
28270
28271// String returns the string representation.
28272//
28273// API parameter values that are decorated as "sensitive" in the API will not
28274// be included in the string output. The member name will be present, but the
28275// value will be replaced with "sensitive".
28276func (s GetBucketMetricDataOutput) String() string {
28277	return awsutil.Prettify(s)
28278}
28279
28280// GoString returns the string representation.
28281//
28282// API parameter values that are decorated as "sensitive" in the API will not
28283// be included in the string output. The member name will be present, but the
28284// value will be replaced with "sensitive".
28285func (s GetBucketMetricDataOutput) GoString() string {
28286	return s.String()
28287}
28288
28289// SetMetricData sets the MetricData field's value.
28290func (s *GetBucketMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetBucketMetricDataOutput {
28291	s.MetricData = v
28292	return s
28293}
28294
28295// SetMetricName sets the MetricName field's value.
28296func (s *GetBucketMetricDataOutput) SetMetricName(v string) *GetBucketMetricDataOutput {
28297	s.MetricName = &v
28298	return s
28299}
28300
28301type GetBucketsInput struct {
28302	_ struct{} `type:"structure"`
28303
28304	// The name of the bucket for which to return information.
28305	//
28306	// When omitted, the response includes all of your buckets in the AWS Region
28307	// where the request is made.
28308	BucketName *string `locationName:"bucketName" min:"3" type:"string"`
28309
28310	// A Boolean value that indicates whether to include Lightsail instances that
28311	// were given access to the bucket using the SetResourceAccessForBucket action.
28312	IncludeConnectedResources *bool `locationName:"includeConnectedResources" type:"boolean"`
28313
28314	// The token to advance to the next page of results from your request.
28315	//
28316	// To get a page token, perform an initial GetBuckets request. If your results
28317	// are paginated, the response will return a next page token that you can specify
28318	// as the page token in a subsequent request.
28319	PageToken *string `locationName:"pageToken" type:"string"`
28320}
28321
28322// String returns the string representation.
28323//
28324// API parameter values that are decorated as "sensitive" in the API will not
28325// be included in the string output. The member name will be present, but the
28326// value will be replaced with "sensitive".
28327func (s GetBucketsInput) String() string {
28328	return awsutil.Prettify(s)
28329}
28330
28331// GoString returns the string representation.
28332//
28333// API parameter values that are decorated as "sensitive" in the API will not
28334// be included in the string output. The member name will be present, but the
28335// value will be replaced with "sensitive".
28336func (s GetBucketsInput) GoString() string {
28337	return s.String()
28338}
28339
28340// Validate inspects the fields of the type to determine if they are valid.
28341func (s *GetBucketsInput) Validate() error {
28342	invalidParams := request.ErrInvalidParams{Context: "GetBucketsInput"}
28343	if s.BucketName != nil && len(*s.BucketName) < 3 {
28344		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
28345	}
28346
28347	if invalidParams.Len() > 0 {
28348		return invalidParams
28349	}
28350	return nil
28351}
28352
28353// SetBucketName sets the BucketName field's value.
28354func (s *GetBucketsInput) SetBucketName(v string) *GetBucketsInput {
28355	s.BucketName = &v
28356	return s
28357}
28358
28359// SetIncludeConnectedResources sets the IncludeConnectedResources field's value.
28360func (s *GetBucketsInput) SetIncludeConnectedResources(v bool) *GetBucketsInput {
28361	s.IncludeConnectedResources = &v
28362	return s
28363}
28364
28365// SetPageToken sets the PageToken field's value.
28366func (s *GetBucketsInput) SetPageToken(v string) *GetBucketsInput {
28367	s.PageToken = &v
28368	return s
28369}
28370
28371type GetBucketsOutput struct {
28372	_ struct{} `type:"structure"`
28373
28374	// An array of objects that describe buckets.
28375	Buckets []*Bucket `locationName:"buckets" type:"list"`
28376
28377	// The token to advance to the next page of results from your request.
28378	//
28379	// A next page token is not returned if there are no more results to display.
28380	//
28381	// To get the next page of results, perform another GetBuckets request and specify
28382	// the next page token using the pageToken parameter.
28383	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28384}
28385
28386// String returns the string representation.
28387//
28388// API parameter values that are decorated as "sensitive" in the API will not
28389// be included in the string output. The member name will be present, but the
28390// value will be replaced with "sensitive".
28391func (s GetBucketsOutput) String() string {
28392	return awsutil.Prettify(s)
28393}
28394
28395// GoString returns the string representation.
28396//
28397// API parameter values that are decorated as "sensitive" in the API will not
28398// be included in the string output. The member name will be present, but the
28399// value will be replaced with "sensitive".
28400func (s GetBucketsOutput) GoString() string {
28401	return s.String()
28402}
28403
28404// SetBuckets sets the Buckets field's value.
28405func (s *GetBucketsOutput) SetBuckets(v []*Bucket) *GetBucketsOutput {
28406	s.Buckets = v
28407	return s
28408}
28409
28410// SetNextPageToken sets the NextPageToken field's value.
28411func (s *GetBucketsOutput) SetNextPageToken(v string) *GetBucketsOutput {
28412	s.NextPageToken = &v
28413	return s
28414}
28415
28416type GetBundlesInput struct {
28417	_ struct{} `type:"structure"`
28418
28419	// A Boolean value that indicates whether to include inactive bundle results
28420	// in your request.
28421	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
28422
28423	// The token to advance to the next page of results from your request.
28424	//
28425	// To get a page token, perform an initial GetBundles request. If your results
28426	// are paginated, the response will return a next page token that you can specify
28427	// as the page token in a subsequent request.
28428	PageToken *string `locationName:"pageToken" type:"string"`
28429}
28430
28431// String returns the string representation.
28432//
28433// API parameter values that are decorated as "sensitive" in the API will not
28434// be included in the string output. The member name will be present, but the
28435// value will be replaced with "sensitive".
28436func (s GetBundlesInput) String() string {
28437	return awsutil.Prettify(s)
28438}
28439
28440// GoString returns the string representation.
28441//
28442// API parameter values that are decorated as "sensitive" in the API will not
28443// be included in the string output. The member name will be present, but the
28444// value will be replaced with "sensitive".
28445func (s GetBundlesInput) GoString() string {
28446	return s.String()
28447}
28448
28449// SetIncludeInactive sets the IncludeInactive field's value.
28450func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
28451	s.IncludeInactive = &v
28452	return s
28453}
28454
28455// SetPageToken sets the PageToken field's value.
28456func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
28457	s.PageToken = &v
28458	return s
28459}
28460
28461type GetBundlesOutput struct {
28462	_ struct{} `type:"structure"`
28463
28464	// An array of key-value pairs that contains information about the available
28465	// bundles.
28466	Bundles []*Bundle `locationName:"bundles" type:"list"`
28467
28468	// The token to advance to the next page of results from your request.
28469	//
28470	// A next page token is not returned if there are no more results to display.
28471	//
28472	// To get the next page of results, perform another GetBundles request and specify
28473	// the next page token using the pageToken parameter.
28474	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28475}
28476
28477// String returns the string representation.
28478//
28479// API parameter values that are decorated as "sensitive" in the API will not
28480// be included in the string output. The member name will be present, but the
28481// value will be replaced with "sensitive".
28482func (s GetBundlesOutput) String() string {
28483	return awsutil.Prettify(s)
28484}
28485
28486// GoString returns the string representation.
28487//
28488// API parameter values that are decorated as "sensitive" in the API will not
28489// be included in the string output. The member name will be present, but the
28490// value will be replaced with "sensitive".
28491func (s GetBundlesOutput) GoString() string {
28492	return s.String()
28493}
28494
28495// SetBundles sets the Bundles field's value.
28496func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
28497	s.Bundles = v
28498	return s
28499}
28500
28501// SetNextPageToken sets the NextPageToken field's value.
28502func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
28503	s.NextPageToken = &v
28504	return s
28505}
28506
28507type GetCertificatesInput struct {
28508	_ struct{} `type:"structure"`
28509
28510	// The name for the certificate for which to return information.
28511	//
28512	// When omitted, the response includes all of your certificates in the AWS Region
28513	// where the request is made.
28514	CertificateName *string `locationName:"certificateName" type:"string"`
28515
28516	// The status of the certificates for which to return information.
28517	//
28518	// For example, specify ISSUED to return only certificates with an ISSUED status.
28519	//
28520	// When omitted, the response includes all of your certificates in the AWS Region
28521	// where the request is made, regardless of their current status.
28522	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
28523
28524	// Indicates whether to include detailed information about the certificates
28525	// in the response.
28526	//
28527	// When omitted, the response includes only the certificate names, Amazon Resource
28528	// Names (ARNs), domain names, and tags.
28529	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
28530}
28531
28532// String returns the string representation.
28533//
28534// API parameter values that are decorated as "sensitive" in the API will not
28535// be included in the string output. The member name will be present, but the
28536// value will be replaced with "sensitive".
28537func (s GetCertificatesInput) String() string {
28538	return awsutil.Prettify(s)
28539}
28540
28541// GoString returns the string representation.
28542//
28543// API parameter values that are decorated as "sensitive" in the API will not
28544// be included in the string output. The member name will be present, but the
28545// value will be replaced with "sensitive".
28546func (s GetCertificatesInput) GoString() string {
28547	return s.String()
28548}
28549
28550// SetCertificateName sets the CertificateName field's value.
28551func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
28552	s.CertificateName = &v
28553	return s
28554}
28555
28556// SetCertificateStatuses sets the CertificateStatuses field's value.
28557func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
28558	s.CertificateStatuses = v
28559	return s
28560}
28561
28562// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
28563func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
28564	s.IncludeCertificateDetails = &v
28565	return s
28566}
28567
28568type GetCertificatesOutput struct {
28569	_ struct{} `type:"structure"`
28570
28571	// An object that describes certificates.
28572	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
28573}
28574
28575// String returns the string representation.
28576//
28577// API parameter values that are decorated as "sensitive" in the API will not
28578// be included in the string output. The member name will be present, but the
28579// value will be replaced with "sensitive".
28580func (s GetCertificatesOutput) String() string {
28581	return awsutil.Prettify(s)
28582}
28583
28584// GoString returns the string representation.
28585//
28586// API parameter values that are decorated as "sensitive" in the API will not
28587// be included in the string output. The member name will be present, but the
28588// value will be replaced with "sensitive".
28589func (s GetCertificatesOutput) GoString() string {
28590	return s.String()
28591}
28592
28593// SetCertificates sets the Certificates field's value.
28594func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
28595	s.Certificates = v
28596	return s
28597}
28598
28599type GetCloudFormationStackRecordsInput struct {
28600	_ struct{} `type:"structure"`
28601
28602	// The token to advance to the next page of results from your request.
28603	//
28604	// To get a page token, perform an initial GetClouFormationStackRecords request.
28605	// If your results are paginated, the response will return a next page token
28606	// that you can specify as the page token in a subsequent request.
28607	PageToken *string `locationName:"pageToken" type:"string"`
28608}
28609
28610// String returns the string representation.
28611//
28612// API parameter values that are decorated as "sensitive" in the API will not
28613// be included in the string output. The member name will be present, but the
28614// value will be replaced with "sensitive".
28615func (s GetCloudFormationStackRecordsInput) String() string {
28616	return awsutil.Prettify(s)
28617}
28618
28619// GoString returns the string representation.
28620//
28621// API parameter values that are decorated as "sensitive" in the API will not
28622// be included in the string output. The member name will be present, but the
28623// value will be replaced with "sensitive".
28624func (s GetCloudFormationStackRecordsInput) GoString() string {
28625	return s.String()
28626}
28627
28628// SetPageToken sets the PageToken field's value.
28629func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
28630	s.PageToken = &v
28631	return s
28632}
28633
28634type GetCloudFormationStackRecordsOutput struct {
28635	_ struct{} `type:"structure"`
28636
28637	// A list of objects describing the CloudFormation stack records.
28638	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
28639
28640	// The token to advance to the next page of results from your request.
28641	//
28642	// A next page token is not returned if there are no more results to display.
28643	//
28644	// To get the next page of results, perform another GetCloudFormationStackRecords
28645	// request and specify the next page token using the pageToken parameter.
28646	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28647}
28648
28649// String returns the string representation.
28650//
28651// API parameter values that are decorated as "sensitive" in the API will not
28652// be included in the string output. The member name will be present, but the
28653// value will be replaced with "sensitive".
28654func (s GetCloudFormationStackRecordsOutput) String() string {
28655	return awsutil.Prettify(s)
28656}
28657
28658// GoString returns the string representation.
28659//
28660// API parameter values that are decorated as "sensitive" in the API will not
28661// be included in the string output. The member name will be present, but the
28662// value will be replaced with "sensitive".
28663func (s GetCloudFormationStackRecordsOutput) GoString() string {
28664	return s.String()
28665}
28666
28667// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
28668func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
28669	s.CloudFormationStackRecords = v
28670	return s
28671}
28672
28673// SetNextPageToken sets the NextPageToken field's value.
28674func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
28675	s.NextPageToken = &v
28676	return s
28677}
28678
28679type GetContactMethodsInput struct {
28680	_ struct{} `type:"structure"`
28681
28682	// The protocols used to send notifications, such as Email, or SMS (text messaging).
28683	//
28684	// Specify a protocol in your request to return information about a specific
28685	// contact method protocol.
28686	Protocols []*string `locationName:"protocols" type:"list"`
28687}
28688
28689// String returns the string representation.
28690//
28691// API parameter values that are decorated as "sensitive" in the API will not
28692// be included in the string output. The member name will be present, but the
28693// value will be replaced with "sensitive".
28694func (s GetContactMethodsInput) String() string {
28695	return awsutil.Prettify(s)
28696}
28697
28698// GoString returns the string representation.
28699//
28700// API parameter values that are decorated as "sensitive" in the API will not
28701// be included in the string output. The member name will be present, but the
28702// value will be replaced with "sensitive".
28703func (s GetContactMethodsInput) GoString() string {
28704	return s.String()
28705}
28706
28707// SetProtocols sets the Protocols field's value.
28708func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
28709	s.Protocols = v
28710	return s
28711}
28712
28713type GetContactMethodsOutput struct {
28714	_ struct{} `type:"structure"`
28715
28716	// An array of objects that describe the contact methods.
28717	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
28718}
28719
28720// String returns the string representation.
28721//
28722// API parameter values that are decorated as "sensitive" in the API will not
28723// be included in the string output. The member name will be present, but the
28724// value will be replaced with "sensitive".
28725func (s GetContactMethodsOutput) String() string {
28726	return awsutil.Prettify(s)
28727}
28728
28729// GoString returns the string representation.
28730//
28731// API parameter values that are decorated as "sensitive" in the API will not
28732// be included in the string output. The member name will be present, but the
28733// value will be replaced with "sensitive".
28734func (s GetContactMethodsOutput) GoString() string {
28735	return s.String()
28736}
28737
28738// SetContactMethods sets the ContactMethods field's value.
28739func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
28740	s.ContactMethods = v
28741	return s
28742}
28743
28744type GetContainerAPIMetadataInput struct {
28745	_ struct{} `type:"structure"`
28746}
28747
28748// String returns the string representation.
28749//
28750// API parameter values that are decorated as "sensitive" in the API will not
28751// be included in the string output. The member name will be present, but the
28752// value will be replaced with "sensitive".
28753func (s GetContainerAPIMetadataInput) String() string {
28754	return awsutil.Prettify(s)
28755}
28756
28757// GoString returns the string representation.
28758//
28759// API parameter values that are decorated as "sensitive" in the API will not
28760// be included in the string output. The member name will be present, but the
28761// value will be replaced with "sensitive".
28762func (s GetContainerAPIMetadataInput) GoString() string {
28763	return s.String()
28764}
28765
28766type GetContainerAPIMetadataOutput struct {
28767	_ struct{} `type:"structure"`
28768
28769	// Metadata about Lightsail containers, such as the current version of the Lightsail
28770	// Control (lightsailctl) plugin.
28771	Metadata []map[string]*string `locationName:"metadata" type:"list"`
28772}
28773
28774// String returns the string representation.
28775//
28776// API parameter values that are decorated as "sensitive" in the API will not
28777// be included in the string output. The member name will be present, but the
28778// value will be replaced with "sensitive".
28779func (s GetContainerAPIMetadataOutput) String() string {
28780	return awsutil.Prettify(s)
28781}
28782
28783// GoString returns the string representation.
28784//
28785// API parameter values that are decorated as "sensitive" in the API will not
28786// be included in the string output. The member name will be present, but the
28787// value will be replaced with "sensitive".
28788func (s GetContainerAPIMetadataOutput) GoString() string {
28789	return s.String()
28790}
28791
28792// SetMetadata sets the Metadata field's value.
28793func (s *GetContainerAPIMetadataOutput) SetMetadata(v []map[string]*string) *GetContainerAPIMetadataOutput {
28794	s.Metadata = v
28795	return s
28796}
28797
28798type GetContainerImagesInput struct {
28799	_ struct{} `type:"structure"`
28800
28801	// The name of the container service for which to return registered container
28802	// images.
28803	//
28804	// ServiceName is a required field
28805	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
28806}
28807
28808// String returns the string representation.
28809//
28810// API parameter values that are decorated as "sensitive" in the API will not
28811// be included in the string output. The member name will be present, but the
28812// value will be replaced with "sensitive".
28813func (s GetContainerImagesInput) String() string {
28814	return awsutil.Prettify(s)
28815}
28816
28817// GoString returns the string representation.
28818//
28819// API parameter values that are decorated as "sensitive" in the API will not
28820// be included in the string output. The member name will be present, but the
28821// value will be replaced with "sensitive".
28822func (s GetContainerImagesInput) GoString() string {
28823	return s.String()
28824}
28825
28826// Validate inspects the fields of the type to determine if they are valid.
28827func (s *GetContainerImagesInput) Validate() error {
28828	invalidParams := request.ErrInvalidParams{Context: "GetContainerImagesInput"}
28829	if s.ServiceName == nil {
28830		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
28831	}
28832	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
28833		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
28834	}
28835
28836	if invalidParams.Len() > 0 {
28837		return invalidParams
28838	}
28839	return nil
28840}
28841
28842// SetServiceName sets the ServiceName field's value.
28843func (s *GetContainerImagesInput) SetServiceName(v string) *GetContainerImagesInput {
28844	s.ServiceName = &v
28845	return s
28846}
28847
28848type GetContainerImagesOutput struct {
28849	_ struct{} `type:"structure"`
28850
28851	// An array of objects that describe container images that are registered to
28852	// the container service.
28853	ContainerImages []*ContainerImage `locationName:"containerImages" type:"list"`
28854}
28855
28856// String returns the string representation.
28857//
28858// API parameter values that are decorated as "sensitive" in the API will not
28859// be included in the string output. The member name will be present, but the
28860// value will be replaced with "sensitive".
28861func (s GetContainerImagesOutput) String() string {
28862	return awsutil.Prettify(s)
28863}
28864
28865// GoString returns the string representation.
28866//
28867// API parameter values that are decorated as "sensitive" in the API will not
28868// be included in the string output. The member name will be present, but the
28869// value will be replaced with "sensitive".
28870func (s GetContainerImagesOutput) GoString() string {
28871	return s.String()
28872}
28873
28874// SetContainerImages sets the ContainerImages field's value.
28875func (s *GetContainerImagesOutput) SetContainerImages(v []*ContainerImage) *GetContainerImagesOutput {
28876	s.ContainerImages = v
28877	return s
28878}
28879
28880type GetContainerLogInput struct {
28881	_ struct{} `type:"structure"`
28882
28883	// The name of the container that is either running or previously ran on the
28884	// container service for which to return a log.
28885	//
28886	// ContainerName is a required field
28887	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
28888
28889	// The end of the time interval for which to get log data.
28890	//
28891	// Constraints:
28892	//
28893	//    * Specified in Coordinated Universal Time (UTC).
28894	//
28895	//    * Specified in the Unix time format. For example, if you wish to use an
28896	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
28897	//    time.
28898	//
28899	// You can convert a human-friendly time to Unix time format using a converter
28900	// like Epoch converter (https://www.epochconverter.com/).
28901	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
28902
28903	// The pattern to use to filter the returned log events to a specific term.
28904	//
28905	// The following are a few examples of filter patterns that you can specify:
28906	//
28907	//    * To return all log events, specify a filter pattern of "".
28908	//
28909	//    * To exclude log events that contain the ERROR term, and return all other
28910	//    log events, specify a filter pattern of "-ERROR".
28911	//
28912	//    * To return log events that contain the ERROR term, specify a filter pattern
28913	//    of "ERROR".
28914	//
28915	//    * To return log events that contain both the ERROR and Exception terms,
28916	//    specify a filter pattern of "ERROR Exception".
28917	//
28918	//    * To return log events that contain the ERROR or the Exception term, specify
28919	//    a filter pattern of "?ERROR ?Exception".
28920	FilterPattern *string `locationName:"filterPattern" type:"string"`
28921
28922	// The token to advance to the next page of results from your request.
28923	//
28924	// To get a page token, perform an initial GetContainerLog request. If your
28925	// results are paginated, the response will return a next page token that you
28926	// can specify as the page token in a subsequent request.
28927	PageToken *string `locationName:"pageToken" type:"string"`
28928
28929	// The name of the container service for which to get a container log.
28930	//
28931	// ServiceName is a required field
28932	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
28933
28934	// The start of the time interval for which to get log data.
28935	//
28936	// Constraints:
28937	//
28938	//    * Specified in Coordinated Universal Time (UTC).
28939	//
28940	//    * Specified in the Unix time format. For example, if you wish to use a
28941	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
28942	//    start time.
28943	//
28944	// You can convert a human-friendly time to Unix time format using a converter
28945	// like Epoch converter (https://www.epochconverter.com/).
28946	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
28947}
28948
28949// String returns the string representation.
28950//
28951// API parameter values that are decorated as "sensitive" in the API will not
28952// be included in the string output. The member name will be present, but the
28953// value will be replaced with "sensitive".
28954func (s GetContainerLogInput) String() string {
28955	return awsutil.Prettify(s)
28956}
28957
28958// GoString returns the string representation.
28959//
28960// API parameter values that are decorated as "sensitive" in the API will not
28961// be included in the string output. The member name will be present, but the
28962// value will be replaced with "sensitive".
28963func (s GetContainerLogInput) GoString() string {
28964	return s.String()
28965}
28966
28967// Validate inspects the fields of the type to determine if they are valid.
28968func (s *GetContainerLogInput) Validate() error {
28969	invalidParams := request.ErrInvalidParams{Context: "GetContainerLogInput"}
28970	if s.ContainerName == nil {
28971		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
28972	}
28973	if s.ServiceName == nil {
28974		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
28975	}
28976	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
28977		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
28978	}
28979
28980	if invalidParams.Len() > 0 {
28981		return invalidParams
28982	}
28983	return nil
28984}
28985
28986// SetContainerName sets the ContainerName field's value.
28987func (s *GetContainerLogInput) SetContainerName(v string) *GetContainerLogInput {
28988	s.ContainerName = &v
28989	return s
28990}
28991
28992// SetEndTime sets the EndTime field's value.
28993func (s *GetContainerLogInput) SetEndTime(v time.Time) *GetContainerLogInput {
28994	s.EndTime = &v
28995	return s
28996}
28997
28998// SetFilterPattern sets the FilterPattern field's value.
28999func (s *GetContainerLogInput) SetFilterPattern(v string) *GetContainerLogInput {
29000	s.FilterPattern = &v
29001	return s
29002}
29003
29004// SetPageToken sets the PageToken field's value.
29005func (s *GetContainerLogInput) SetPageToken(v string) *GetContainerLogInput {
29006	s.PageToken = &v
29007	return s
29008}
29009
29010// SetServiceName sets the ServiceName field's value.
29011func (s *GetContainerLogInput) SetServiceName(v string) *GetContainerLogInput {
29012	s.ServiceName = &v
29013	return s
29014}
29015
29016// SetStartTime sets the StartTime field's value.
29017func (s *GetContainerLogInput) SetStartTime(v time.Time) *GetContainerLogInput {
29018	s.StartTime = &v
29019	return s
29020}
29021
29022type GetContainerLogOutput struct {
29023	_ struct{} `type:"structure"`
29024
29025	// An array of objects that describe the log events of a container.
29026	LogEvents []*ContainerServiceLogEvent `locationName:"logEvents" type:"list"`
29027
29028	// The token to advance to the next page of results from your request.
29029	//
29030	// A next page token is not returned if there are no more results to display.
29031	//
29032	// To get the next page of results, perform another GetContainerLog request
29033	// and specify the next page token using the pageToken parameter.
29034	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29035}
29036
29037// String returns the string representation.
29038//
29039// API parameter values that are decorated as "sensitive" in the API will not
29040// be included in the string output. The member name will be present, but the
29041// value will be replaced with "sensitive".
29042func (s GetContainerLogOutput) String() string {
29043	return awsutil.Prettify(s)
29044}
29045
29046// GoString returns the string representation.
29047//
29048// API parameter values that are decorated as "sensitive" in the API will not
29049// be included in the string output. The member name will be present, but the
29050// value will be replaced with "sensitive".
29051func (s GetContainerLogOutput) GoString() string {
29052	return s.String()
29053}
29054
29055// SetLogEvents sets the LogEvents field's value.
29056func (s *GetContainerLogOutput) SetLogEvents(v []*ContainerServiceLogEvent) *GetContainerLogOutput {
29057	s.LogEvents = v
29058	return s
29059}
29060
29061// SetNextPageToken sets the NextPageToken field's value.
29062func (s *GetContainerLogOutput) SetNextPageToken(v string) *GetContainerLogOutput {
29063	s.NextPageToken = &v
29064	return s
29065}
29066
29067type GetContainerServiceDeploymentsInput struct {
29068	_ struct{} `type:"structure"`
29069
29070	// The name of the container service for which to return deployments.
29071	//
29072	// ServiceName is a required field
29073	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
29074}
29075
29076// String returns the string representation.
29077//
29078// API parameter values that are decorated as "sensitive" in the API will not
29079// be included in the string output. The member name will be present, but the
29080// value will be replaced with "sensitive".
29081func (s GetContainerServiceDeploymentsInput) String() string {
29082	return awsutil.Prettify(s)
29083}
29084
29085// GoString returns the string representation.
29086//
29087// API parameter values that are decorated as "sensitive" in the API will not
29088// be included in the string output. The member name will be present, but the
29089// value will be replaced with "sensitive".
29090func (s GetContainerServiceDeploymentsInput) GoString() string {
29091	return s.String()
29092}
29093
29094// Validate inspects the fields of the type to determine if they are valid.
29095func (s *GetContainerServiceDeploymentsInput) Validate() error {
29096	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceDeploymentsInput"}
29097	if s.ServiceName == nil {
29098		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
29099	}
29100	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
29101		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
29102	}
29103
29104	if invalidParams.Len() > 0 {
29105		return invalidParams
29106	}
29107	return nil
29108}
29109
29110// SetServiceName sets the ServiceName field's value.
29111func (s *GetContainerServiceDeploymentsInput) SetServiceName(v string) *GetContainerServiceDeploymentsInput {
29112	s.ServiceName = &v
29113	return s
29114}
29115
29116type GetContainerServiceDeploymentsOutput struct {
29117	_ struct{} `type:"structure"`
29118
29119	// An array of objects that describe deployments for a container service.
29120	Deployments []*ContainerServiceDeployment `locationName:"deployments" type:"list"`
29121}
29122
29123// String returns the string representation.
29124//
29125// API parameter values that are decorated as "sensitive" in the API will not
29126// be included in the string output. The member name will be present, but the
29127// value will be replaced with "sensitive".
29128func (s GetContainerServiceDeploymentsOutput) String() string {
29129	return awsutil.Prettify(s)
29130}
29131
29132// GoString returns the string representation.
29133//
29134// API parameter values that are decorated as "sensitive" in the API will not
29135// be included in the string output. The member name will be present, but the
29136// value will be replaced with "sensitive".
29137func (s GetContainerServiceDeploymentsOutput) GoString() string {
29138	return s.String()
29139}
29140
29141// SetDeployments sets the Deployments field's value.
29142func (s *GetContainerServiceDeploymentsOutput) SetDeployments(v []*ContainerServiceDeployment) *GetContainerServiceDeploymentsOutput {
29143	s.Deployments = v
29144	return s
29145}
29146
29147type GetContainerServiceMetricDataInput struct {
29148	_ struct{} `type:"structure"`
29149
29150	// The end time of the time period.
29151	//
29152	// EndTime is a required field
29153	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
29154
29155	// The metric for which you want to return information.
29156	//
29157	// Valid container service metric names are listed below, along with the most
29158	// useful statistics to include in your request, and the published unit value.
29159	//
29160	//    * CPUUtilization - The average percentage of compute units that are currently
29161	//    in use across all nodes of the container service. This metric identifies
29162	//    the processing power required to run containers on each node of the container
29163	//    service. Statistics: The most useful statistics are Maximum and Average.
29164	//    Unit: The published unit is Percent.
29165	//
29166	//    * MemoryUtilization - The average percentage of available memory that
29167	//    is currently in use across all nodes of the container service. This metric
29168	//    identifies the memory required to run containers on each node of the container
29169	//    service. Statistics: The most useful statistics are Maximum and Average.
29170	//    Unit: The published unit is Percent.
29171	//
29172	// MetricName is a required field
29173	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"ContainerServiceMetricName"`
29174
29175	// The granularity, in seconds, of the returned data points.
29176	//
29177	// All container service metric data is available in 5-minute (300 seconds)
29178	// granularity.
29179	//
29180	// Period is a required field
29181	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
29182
29183	// The name of the container service for which to get metric data.
29184	//
29185	// ServiceName is a required field
29186	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
29187
29188	// The start time of the time period.
29189	//
29190	// StartTime is a required field
29191	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
29192
29193	// The statistic for the metric.
29194	//
29195	// The following statistics are available:
29196	//
29197	//    * Minimum - The lowest value observed during the specified period. Use
29198	//    this value to determine low volumes of activity for your application.
29199	//
29200	//    * Maximum - The highest value observed during the specified period. Use
29201	//    this value to determine high volumes of activity for your application.
29202	//
29203	//    * Sum - All values submitted for the matching metric added together. You
29204	//    can use this statistic to determine the total volume of a metric.
29205	//
29206	//    * Average - The value of Sum / SampleCount during the specified period.
29207	//    By comparing this statistic with the Minimum and Maximum values, you can
29208	//    determine the full scope of a metric and how close the average use is
29209	//    to the Minimum and Maximum values. This comparison helps you to know when
29210	//    to increase or decrease your resources.
29211	//
29212	//    * SampleCount - The count, or number, of data points used for the statistical
29213	//    calculation.
29214	//
29215	// Statistics is a required field
29216	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
29217}
29218
29219// String returns the string representation.
29220//
29221// API parameter values that are decorated as "sensitive" in the API will not
29222// be included in the string output. The member name will be present, but the
29223// value will be replaced with "sensitive".
29224func (s GetContainerServiceMetricDataInput) String() string {
29225	return awsutil.Prettify(s)
29226}
29227
29228// GoString returns the string representation.
29229//
29230// API parameter values that are decorated as "sensitive" in the API will not
29231// be included in the string output. The member name will be present, but the
29232// value will be replaced with "sensitive".
29233func (s GetContainerServiceMetricDataInput) GoString() string {
29234	return s.String()
29235}
29236
29237// Validate inspects the fields of the type to determine if they are valid.
29238func (s *GetContainerServiceMetricDataInput) Validate() error {
29239	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceMetricDataInput"}
29240	if s.EndTime == nil {
29241		invalidParams.Add(request.NewErrParamRequired("EndTime"))
29242	}
29243	if s.MetricName == nil {
29244		invalidParams.Add(request.NewErrParamRequired("MetricName"))
29245	}
29246	if s.Period == nil {
29247		invalidParams.Add(request.NewErrParamRequired("Period"))
29248	}
29249	if s.Period != nil && *s.Period < 60 {
29250		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
29251	}
29252	if s.ServiceName == nil {
29253		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
29254	}
29255	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
29256		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
29257	}
29258	if s.StartTime == nil {
29259		invalidParams.Add(request.NewErrParamRequired("StartTime"))
29260	}
29261	if s.Statistics == nil {
29262		invalidParams.Add(request.NewErrParamRequired("Statistics"))
29263	}
29264
29265	if invalidParams.Len() > 0 {
29266		return invalidParams
29267	}
29268	return nil
29269}
29270
29271// SetEndTime sets the EndTime field's value.
29272func (s *GetContainerServiceMetricDataInput) SetEndTime(v time.Time) *GetContainerServiceMetricDataInput {
29273	s.EndTime = &v
29274	return s
29275}
29276
29277// SetMetricName sets the MetricName field's value.
29278func (s *GetContainerServiceMetricDataInput) SetMetricName(v string) *GetContainerServiceMetricDataInput {
29279	s.MetricName = &v
29280	return s
29281}
29282
29283// SetPeriod sets the Period field's value.
29284func (s *GetContainerServiceMetricDataInput) SetPeriod(v int64) *GetContainerServiceMetricDataInput {
29285	s.Period = &v
29286	return s
29287}
29288
29289// SetServiceName sets the ServiceName field's value.
29290func (s *GetContainerServiceMetricDataInput) SetServiceName(v string) *GetContainerServiceMetricDataInput {
29291	s.ServiceName = &v
29292	return s
29293}
29294
29295// SetStartTime sets the StartTime field's value.
29296func (s *GetContainerServiceMetricDataInput) SetStartTime(v time.Time) *GetContainerServiceMetricDataInput {
29297	s.StartTime = &v
29298	return s
29299}
29300
29301// SetStatistics sets the Statistics field's value.
29302func (s *GetContainerServiceMetricDataInput) SetStatistics(v []*string) *GetContainerServiceMetricDataInput {
29303	s.Statistics = v
29304	return s
29305}
29306
29307type GetContainerServiceMetricDataOutput struct {
29308	_ struct{} `type:"structure"`
29309
29310	// An array of objects that describe the metric data returned.
29311	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
29312
29313	// The name of the metric returned.
29314	MetricName *string `locationName:"metricName" type:"string" enum:"ContainerServiceMetricName"`
29315}
29316
29317// String returns the string representation.
29318//
29319// API parameter values that are decorated as "sensitive" in the API will not
29320// be included in the string output. The member name will be present, but the
29321// value will be replaced with "sensitive".
29322func (s GetContainerServiceMetricDataOutput) String() string {
29323	return awsutil.Prettify(s)
29324}
29325
29326// GoString returns the string representation.
29327//
29328// API parameter values that are decorated as "sensitive" in the API will not
29329// be included in the string output. The member name will be present, but the
29330// value will be replaced with "sensitive".
29331func (s GetContainerServiceMetricDataOutput) GoString() string {
29332	return s.String()
29333}
29334
29335// SetMetricData sets the MetricData field's value.
29336func (s *GetContainerServiceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetContainerServiceMetricDataOutput {
29337	s.MetricData = v
29338	return s
29339}
29340
29341// SetMetricName sets the MetricName field's value.
29342func (s *GetContainerServiceMetricDataOutput) SetMetricName(v string) *GetContainerServiceMetricDataOutput {
29343	s.MetricName = &v
29344	return s
29345}
29346
29347type GetContainerServicePowersInput struct {
29348	_ struct{} `type:"structure"`
29349}
29350
29351// String returns the string representation.
29352//
29353// API parameter values that are decorated as "sensitive" in the API will not
29354// be included in the string output. The member name will be present, but the
29355// value will be replaced with "sensitive".
29356func (s GetContainerServicePowersInput) String() string {
29357	return awsutil.Prettify(s)
29358}
29359
29360// GoString returns the string representation.
29361//
29362// API parameter values that are decorated as "sensitive" in the API will not
29363// be included in the string output. The member name will be present, but the
29364// value will be replaced with "sensitive".
29365func (s GetContainerServicePowersInput) GoString() string {
29366	return s.String()
29367}
29368
29369type GetContainerServicePowersOutput struct {
29370	_ struct{} `type:"structure"`
29371
29372	// An array of objects that describe the powers that can be specified for a
29373	// container service.
29374	Powers []*ContainerServicePower `locationName:"powers" type:"list"`
29375}
29376
29377// String returns the string representation.
29378//
29379// API parameter values that are decorated as "sensitive" in the API will not
29380// be included in the string output. The member name will be present, but the
29381// value will be replaced with "sensitive".
29382func (s GetContainerServicePowersOutput) String() string {
29383	return awsutil.Prettify(s)
29384}
29385
29386// GoString returns the string representation.
29387//
29388// API parameter values that are decorated as "sensitive" in the API will not
29389// be included in the string output. The member name will be present, but the
29390// value will be replaced with "sensitive".
29391func (s GetContainerServicePowersOutput) GoString() string {
29392	return s.String()
29393}
29394
29395// SetPowers sets the Powers field's value.
29396func (s *GetContainerServicePowersOutput) SetPowers(v []*ContainerServicePower) *GetContainerServicePowersOutput {
29397	s.Powers = v
29398	return s
29399}
29400
29401type GetContainerServicesInput struct {
29402	_ struct{} `type:"structure"`
29403
29404	// The name of the container service for which to return information.
29405	//
29406	// When omitted, the response includes all of your container services in the
29407	// AWS Region where the request is made.
29408	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
29409}
29410
29411// String returns the string representation.
29412//
29413// API parameter values that are decorated as "sensitive" in the API will not
29414// be included in the string output. The member name will be present, but the
29415// value will be replaced with "sensitive".
29416func (s GetContainerServicesInput) String() string {
29417	return awsutil.Prettify(s)
29418}
29419
29420// GoString returns the string representation.
29421//
29422// API parameter values that are decorated as "sensitive" in the API will not
29423// be included in the string output. The member name will be present, but the
29424// value will be replaced with "sensitive".
29425func (s GetContainerServicesInput) GoString() string {
29426	return s.String()
29427}
29428
29429// Validate inspects the fields of the type to determine if they are valid.
29430func (s *GetContainerServicesInput) Validate() error {
29431	invalidParams := request.ErrInvalidParams{Context: "GetContainerServicesInput"}
29432	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
29433		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
29434	}
29435
29436	if invalidParams.Len() > 0 {
29437		return invalidParams
29438	}
29439	return nil
29440}
29441
29442// SetServiceName sets the ServiceName field's value.
29443func (s *GetContainerServicesInput) SetServiceName(v string) *GetContainerServicesInput {
29444	s.ServiceName = &v
29445	return s
29446}
29447
29448type GetContainerServicesOutput struct {
29449	_ struct{} `type:"structure"`
29450
29451	// An array of objects that describe one or more container services.
29452	ContainerServices []*ContainerService `locationName:"containerServices" type:"list"`
29453}
29454
29455// String returns the string representation.
29456//
29457// API parameter values that are decorated as "sensitive" in the API will not
29458// be included in the string output. The member name will be present, but the
29459// value will be replaced with "sensitive".
29460func (s GetContainerServicesOutput) String() string {
29461	return awsutil.Prettify(s)
29462}
29463
29464// GoString returns the string representation.
29465//
29466// API parameter values that are decorated as "sensitive" in the API will not
29467// be included in the string output. The member name will be present, but the
29468// value will be replaced with "sensitive".
29469func (s GetContainerServicesOutput) GoString() string {
29470	return s.String()
29471}
29472
29473// SetContainerServices sets the ContainerServices field's value.
29474func (s *GetContainerServicesOutput) SetContainerServices(v []*ContainerService) *GetContainerServicesOutput {
29475	s.ContainerServices = v
29476	return s
29477}
29478
29479type GetDiskInput struct {
29480	_ struct{} `type:"structure"`
29481
29482	// The name of the disk (e.g., my-disk).
29483	//
29484	// DiskName is a required field
29485	DiskName *string `locationName:"diskName" type:"string" required:"true"`
29486}
29487
29488// String returns the string representation.
29489//
29490// API parameter values that are decorated as "sensitive" in the API will not
29491// be included in the string output. The member name will be present, but the
29492// value will be replaced with "sensitive".
29493func (s GetDiskInput) String() string {
29494	return awsutil.Prettify(s)
29495}
29496
29497// GoString returns the string representation.
29498//
29499// API parameter values that are decorated as "sensitive" in the API will not
29500// be included in the string output. The member name will be present, but the
29501// value will be replaced with "sensitive".
29502func (s GetDiskInput) GoString() string {
29503	return s.String()
29504}
29505
29506// Validate inspects the fields of the type to determine if they are valid.
29507func (s *GetDiskInput) Validate() error {
29508	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
29509	if s.DiskName == nil {
29510		invalidParams.Add(request.NewErrParamRequired("DiskName"))
29511	}
29512
29513	if invalidParams.Len() > 0 {
29514		return invalidParams
29515	}
29516	return nil
29517}
29518
29519// SetDiskName sets the DiskName field's value.
29520func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
29521	s.DiskName = &v
29522	return s
29523}
29524
29525type GetDiskOutput struct {
29526	_ struct{} `type:"structure"`
29527
29528	// An object containing information about the disk.
29529	Disk *Disk `locationName:"disk" type:"structure"`
29530}
29531
29532// String returns the string representation.
29533//
29534// API parameter values that are decorated as "sensitive" in the API will not
29535// be included in the string output. The member name will be present, but the
29536// value will be replaced with "sensitive".
29537func (s GetDiskOutput) String() string {
29538	return awsutil.Prettify(s)
29539}
29540
29541// GoString returns the string representation.
29542//
29543// API parameter values that are decorated as "sensitive" in the API will not
29544// be included in the string output. The member name will be present, but the
29545// value will be replaced with "sensitive".
29546func (s GetDiskOutput) GoString() string {
29547	return s.String()
29548}
29549
29550// SetDisk sets the Disk field's value.
29551func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
29552	s.Disk = v
29553	return s
29554}
29555
29556type GetDiskSnapshotInput struct {
29557	_ struct{} `type:"structure"`
29558
29559	// The name of the disk snapshot (e.g., my-disk-snapshot).
29560	//
29561	// DiskSnapshotName is a required field
29562	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
29563}
29564
29565// String returns the string representation.
29566//
29567// API parameter values that are decorated as "sensitive" in the API will not
29568// be included in the string output. The member name will be present, but the
29569// value will be replaced with "sensitive".
29570func (s GetDiskSnapshotInput) String() string {
29571	return awsutil.Prettify(s)
29572}
29573
29574// GoString returns the string representation.
29575//
29576// API parameter values that are decorated as "sensitive" in the API will not
29577// be included in the string output. The member name will be present, but the
29578// value will be replaced with "sensitive".
29579func (s GetDiskSnapshotInput) GoString() string {
29580	return s.String()
29581}
29582
29583// Validate inspects the fields of the type to determine if they are valid.
29584func (s *GetDiskSnapshotInput) Validate() error {
29585	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
29586	if s.DiskSnapshotName == nil {
29587		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
29588	}
29589
29590	if invalidParams.Len() > 0 {
29591		return invalidParams
29592	}
29593	return nil
29594}
29595
29596// SetDiskSnapshotName sets the DiskSnapshotName field's value.
29597func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
29598	s.DiskSnapshotName = &v
29599	return s
29600}
29601
29602type GetDiskSnapshotOutput struct {
29603	_ struct{} `type:"structure"`
29604
29605	// An object containing information about the disk snapshot.
29606	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
29607}
29608
29609// String returns the string representation.
29610//
29611// API parameter values that are decorated as "sensitive" in the API will not
29612// be included in the string output. The member name will be present, but the
29613// value will be replaced with "sensitive".
29614func (s GetDiskSnapshotOutput) String() string {
29615	return awsutil.Prettify(s)
29616}
29617
29618// GoString returns the string representation.
29619//
29620// API parameter values that are decorated as "sensitive" in the API will not
29621// be included in the string output. The member name will be present, but the
29622// value will be replaced with "sensitive".
29623func (s GetDiskSnapshotOutput) GoString() string {
29624	return s.String()
29625}
29626
29627// SetDiskSnapshot sets the DiskSnapshot field's value.
29628func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
29629	s.DiskSnapshot = v
29630	return s
29631}
29632
29633type GetDiskSnapshotsInput struct {
29634	_ struct{} `type:"structure"`
29635
29636	// The token to advance to the next page of results from your request.
29637	//
29638	// To get a page token, perform an initial GetDiskSnapshots request. If your
29639	// results are paginated, the response will return a next page token that you
29640	// can specify as the page token in a subsequent request.
29641	PageToken *string `locationName:"pageToken" type:"string"`
29642}
29643
29644// String returns the string representation.
29645//
29646// API parameter values that are decorated as "sensitive" in the API will not
29647// be included in the string output. The member name will be present, but the
29648// value will be replaced with "sensitive".
29649func (s GetDiskSnapshotsInput) String() string {
29650	return awsutil.Prettify(s)
29651}
29652
29653// GoString returns the string representation.
29654//
29655// API parameter values that are decorated as "sensitive" in the API will not
29656// be included in the string output. The member name will be present, but the
29657// value will be replaced with "sensitive".
29658func (s GetDiskSnapshotsInput) GoString() string {
29659	return s.String()
29660}
29661
29662// SetPageToken sets the PageToken field's value.
29663func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
29664	s.PageToken = &v
29665	return s
29666}
29667
29668type GetDiskSnapshotsOutput struct {
29669	_ struct{} `type:"structure"`
29670
29671	// An array of objects containing information about all block storage disk snapshots.
29672	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
29673
29674	// The token to advance to the next page of results from your request.
29675	//
29676	// A next page token is not returned if there are no more results to display.
29677	//
29678	// To get the next page of results, perform another GetDiskSnapshots request
29679	// and specify the next page token using the pageToken parameter.
29680	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29681}
29682
29683// String returns the string representation.
29684//
29685// API parameter values that are decorated as "sensitive" in the API will not
29686// be included in the string output. The member name will be present, but the
29687// value will be replaced with "sensitive".
29688func (s GetDiskSnapshotsOutput) String() string {
29689	return awsutil.Prettify(s)
29690}
29691
29692// GoString returns the string representation.
29693//
29694// API parameter values that are decorated as "sensitive" in the API will not
29695// be included in the string output. The member name will be present, but the
29696// value will be replaced with "sensitive".
29697func (s GetDiskSnapshotsOutput) GoString() string {
29698	return s.String()
29699}
29700
29701// SetDiskSnapshots sets the DiskSnapshots field's value.
29702func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
29703	s.DiskSnapshots = v
29704	return s
29705}
29706
29707// SetNextPageToken sets the NextPageToken field's value.
29708func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
29709	s.NextPageToken = &v
29710	return s
29711}
29712
29713type GetDisksInput struct {
29714	_ struct{} `type:"structure"`
29715
29716	// The token to advance to the next page of results from your request.
29717	//
29718	// To get a page token, perform an initial GetDisks request. If your results
29719	// are paginated, the response will return a next page token that you can specify
29720	// as the page token in a subsequent request.
29721	PageToken *string `locationName:"pageToken" type:"string"`
29722}
29723
29724// String returns the string representation.
29725//
29726// API parameter values that are decorated as "sensitive" in the API will not
29727// be included in the string output. The member name will be present, but the
29728// value will be replaced with "sensitive".
29729func (s GetDisksInput) String() string {
29730	return awsutil.Prettify(s)
29731}
29732
29733// GoString returns the string representation.
29734//
29735// API parameter values that are decorated as "sensitive" in the API will not
29736// be included in the string output. The member name will be present, but the
29737// value will be replaced with "sensitive".
29738func (s GetDisksInput) GoString() string {
29739	return s.String()
29740}
29741
29742// SetPageToken sets the PageToken field's value.
29743func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
29744	s.PageToken = &v
29745	return s
29746}
29747
29748type GetDisksOutput struct {
29749	_ struct{} `type:"structure"`
29750
29751	// An array of objects containing information about all block storage disks.
29752	Disks []*Disk `locationName:"disks" type:"list"`
29753
29754	// The token to advance to the next page of results from your request.
29755	//
29756	// A next page token is not returned if there are no more results to display.
29757	//
29758	// To get the next page of results, perform another GetDisks request and specify
29759	// the next page token using the pageToken parameter.
29760	NextPageToken *string `locationName:"nextPageToken" type:"string"`
29761}
29762
29763// String returns the string representation.
29764//
29765// API parameter values that are decorated as "sensitive" in the API will not
29766// be included in the string output. The member name will be present, but the
29767// value will be replaced with "sensitive".
29768func (s GetDisksOutput) String() string {
29769	return awsutil.Prettify(s)
29770}
29771
29772// GoString returns the string representation.
29773//
29774// API parameter values that are decorated as "sensitive" in the API will not
29775// be included in the string output. The member name will be present, but the
29776// value will be replaced with "sensitive".
29777func (s GetDisksOutput) GoString() string {
29778	return s.String()
29779}
29780
29781// SetDisks sets the Disks field's value.
29782func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
29783	s.Disks = v
29784	return s
29785}
29786
29787// SetNextPageToken sets the NextPageToken field's value.
29788func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
29789	s.NextPageToken = &v
29790	return s
29791}
29792
29793type GetDistributionBundlesInput struct {
29794	_ struct{} `type:"structure"`
29795}
29796
29797// String returns the string representation.
29798//
29799// API parameter values that are decorated as "sensitive" in the API will not
29800// be included in the string output. The member name will be present, but the
29801// value will be replaced with "sensitive".
29802func (s GetDistributionBundlesInput) String() string {
29803	return awsutil.Prettify(s)
29804}
29805
29806// GoString returns the string representation.
29807//
29808// API parameter values that are decorated as "sensitive" in the API will not
29809// be included in the string output. The member name will be present, but the
29810// value will be replaced with "sensitive".
29811func (s GetDistributionBundlesInput) GoString() string {
29812	return s.String()
29813}
29814
29815type GetDistributionBundlesOutput struct {
29816	_ struct{} `type:"structure"`
29817
29818	// An object that describes a distribution bundle.
29819	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
29820}
29821
29822// String returns the string representation.
29823//
29824// API parameter values that are decorated as "sensitive" in the API will not
29825// be included in the string output. The member name will be present, but the
29826// value will be replaced with "sensitive".
29827func (s GetDistributionBundlesOutput) String() string {
29828	return awsutil.Prettify(s)
29829}
29830
29831// GoString returns the string representation.
29832//
29833// API parameter values that are decorated as "sensitive" in the API will not
29834// be included in the string output. The member name will be present, but the
29835// value will be replaced with "sensitive".
29836func (s GetDistributionBundlesOutput) GoString() string {
29837	return s.String()
29838}
29839
29840// SetBundles sets the Bundles field's value.
29841func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
29842	s.Bundles = v
29843	return s
29844}
29845
29846type GetDistributionLatestCacheResetInput struct {
29847	_ struct{} `type:"structure"`
29848
29849	// The name of the distribution for which to return the timestamp of the last
29850	// cache reset.
29851	//
29852	// Use the GetDistributions action to get a list of distribution names that
29853	// you can specify.
29854	//
29855	// When omitted, the response includes the latest cache reset timestamp of all
29856	// your distributions.
29857	DistributionName *string `locationName:"distributionName" type:"string"`
29858}
29859
29860// String returns the string representation.
29861//
29862// API parameter values that are decorated as "sensitive" in the API will not
29863// be included in the string output. The member name will be present, but the
29864// value will be replaced with "sensitive".
29865func (s GetDistributionLatestCacheResetInput) String() string {
29866	return awsutil.Prettify(s)
29867}
29868
29869// GoString returns the string representation.
29870//
29871// API parameter values that are decorated as "sensitive" in the API will not
29872// be included in the string output. The member name will be present, but the
29873// value will be replaced with "sensitive".
29874func (s GetDistributionLatestCacheResetInput) GoString() string {
29875	return s.String()
29876}
29877
29878// SetDistributionName sets the DistributionName field's value.
29879func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
29880	s.DistributionName = &v
29881	return s
29882}
29883
29884type GetDistributionLatestCacheResetOutput struct {
29885	_ struct{} `type:"structure"`
29886
29887	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
29888	// format.
29889	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
29890
29891	// The status of the last cache reset.
29892	Status *string `locationName:"status" type:"string"`
29893}
29894
29895// String returns the string representation.
29896//
29897// API parameter values that are decorated as "sensitive" in the API will not
29898// be included in the string output. The member name will be present, but the
29899// value will be replaced with "sensitive".
29900func (s GetDistributionLatestCacheResetOutput) String() string {
29901	return awsutil.Prettify(s)
29902}
29903
29904// GoString returns the string representation.
29905//
29906// API parameter values that are decorated as "sensitive" in the API will not
29907// be included in the string output. The member name will be present, but the
29908// value will be replaced with "sensitive".
29909func (s GetDistributionLatestCacheResetOutput) GoString() string {
29910	return s.String()
29911}
29912
29913// SetCreateTime sets the CreateTime field's value.
29914func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
29915	s.CreateTime = &v
29916	return s
29917}
29918
29919// SetStatus sets the Status field's value.
29920func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
29921	s.Status = &v
29922	return s
29923}
29924
29925type GetDistributionMetricDataInput struct {
29926	_ struct{} `type:"structure"`
29927
29928	// The name of the distribution for which to get metric data.
29929	//
29930	// Use the GetDistributions action to get a list of distribution names that
29931	// you can specify.
29932	//
29933	// DistributionName is a required field
29934	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
29935
29936	// The end of the time interval for which to get metric data.
29937	//
29938	// Constraints:
29939	//
29940	//    * Specified in Coordinated Universal Time (UTC).
29941	//
29942	//    * Specified in the Unix time format. For example, if you wish to use an
29943	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
29944	//    time.
29945	//
29946	// You can convert a human-friendly time to Unix time format using a converter
29947	// like Epoch converter (https://www.epochconverter.com/).
29948	//
29949	// EndTime is a required field
29950	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
29951
29952	// The metric for which you want to return information.
29953	//
29954	// Valid distribution metric names are listed below, along with the most useful
29955	// statistics to include in your request, and the published unit value.
29956	//
29957	//    * Requests - The total number of viewer requests received by your Lightsail
29958	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
29959	//    Statistics: The most useful statistic is Sum. Unit: The published unit
29960	//    is None.
29961	//
29962	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
29963	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
29964	//    Unit: The published unit is None.
29965	//
29966	//    * BytesUploaded - The number of bytes uploaded to your origin by your
29967	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
29968	//    useful statistic is Sum. Unit: The published unit is None.
29969	//
29970	//    * TotalErrorRate - The percentage of all viewer requests for which the
29971	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
29972	//    statistic is Average. Unit: The published unit is Percent.
29973	//
29974	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
29975	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
29976	//    have made an error. For example, a status code of 404 (Not Found) means
29977	//    that the client requested an object that could not be found. Statistics:
29978	//    The most useful statistic is Average. Unit: The published unit is Percent.
29979	//
29980	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
29981	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
29982	//    the requests. For example, a status code of 503 (Service Unavailable)
29983	//    means that the origin server is currently unavailable. Statistics: The
29984	//    most useful statistic is Average. Unit: The published unit is Percent.
29985	//
29986	// MetricName is a required field
29987	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
29988
29989	// The granularity, in seconds, for the metric data points that will be returned.
29990	//
29991	// Period is a required field
29992	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
29993
29994	// The start of the time interval for which to get metric data.
29995	//
29996	// Constraints:
29997	//
29998	//    * Specified in Coordinated Universal Time (UTC).
29999	//
30000	//    * Specified in the Unix time format. For example, if you wish to use a
30001	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
30002	//    start time.
30003	//
30004	// You can convert a human-friendly time to Unix time format using a converter
30005	// like Epoch converter (https://www.epochconverter.com/).
30006	//
30007	// StartTime is a required field
30008	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
30009
30010	// The statistic for the metric.
30011	//
30012	// The following statistics are available:
30013	//
30014	//    * Minimum - The lowest value observed during the specified period. Use
30015	//    this value to determine low volumes of activity for your application.
30016	//
30017	//    * Maximum - The highest value observed during the specified period. Use
30018	//    this value to determine high volumes of activity for your application.
30019	//
30020	//    * Sum - All values submitted for the matching metric added together. You
30021	//    can use this statistic to determine the total volume of a metric.
30022	//
30023	//    * Average - The value of Sum / SampleCount during the specified period.
30024	//    By comparing this statistic with the Minimum and Maximum values, you can
30025	//    determine the full scope of a metric and how close the average use is
30026	//    to the Minimum and Maximum values. This comparison helps you to know when
30027	//    to increase or decrease your resources.
30028	//
30029	//    * SampleCount - The count, or number, of data points used for the statistical
30030	//    calculation.
30031	//
30032	// Statistics is a required field
30033	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
30034
30035	// The unit for the metric data request.
30036	//
30037	// Valid units depend on the metric data being requested. For the valid units
30038	// with each available metric, see the metricName parameter.
30039	//
30040	// Unit is a required field
30041	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
30042}
30043
30044// String returns the string representation.
30045//
30046// API parameter values that are decorated as "sensitive" in the API will not
30047// be included in the string output. The member name will be present, but the
30048// value will be replaced with "sensitive".
30049func (s GetDistributionMetricDataInput) String() string {
30050	return awsutil.Prettify(s)
30051}
30052
30053// GoString returns the string representation.
30054//
30055// API parameter values that are decorated as "sensitive" in the API will not
30056// be included in the string output. The member name will be present, but the
30057// value will be replaced with "sensitive".
30058func (s GetDistributionMetricDataInput) GoString() string {
30059	return s.String()
30060}
30061
30062// Validate inspects the fields of the type to determine if they are valid.
30063func (s *GetDistributionMetricDataInput) Validate() error {
30064	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
30065	if s.DistributionName == nil {
30066		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
30067	}
30068	if s.EndTime == nil {
30069		invalidParams.Add(request.NewErrParamRequired("EndTime"))
30070	}
30071	if s.MetricName == nil {
30072		invalidParams.Add(request.NewErrParamRequired("MetricName"))
30073	}
30074	if s.Period == nil {
30075		invalidParams.Add(request.NewErrParamRequired("Period"))
30076	}
30077	if s.Period != nil && *s.Period < 60 {
30078		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
30079	}
30080	if s.StartTime == nil {
30081		invalidParams.Add(request.NewErrParamRequired("StartTime"))
30082	}
30083	if s.Statistics == nil {
30084		invalidParams.Add(request.NewErrParamRequired("Statistics"))
30085	}
30086	if s.Unit == nil {
30087		invalidParams.Add(request.NewErrParamRequired("Unit"))
30088	}
30089
30090	if invalidParams.Len() > 0 {
30091		return invalidParams
30092	}
30093	return nil
30094}
30095
30096// SetDistributionName sets the DistributionName field's value.
30097func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
30098	s.DistributionName = &v
30099	return s
30100}
30101
30102// SetEndTime sets the EndTime field's value.
30103func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
30104	s.EndTime = &v
30105	return s
30106}
30107
30108// SetMetricName sets the MetricName field's value.
30109func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
30110	s.MetricName = &v
30111	return s
30112}
30113
30114// SetPeriod sets the Period field's value.
30115func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
30116	s.Period = &v
30117	return s
30118}
30119
30120// SetStartTime sets the StartTime field's value.
30121func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
30122	s.StartTime = &v
30123	return s
30124}
30125
30126// SetStatistics sets the Statistics field's value.
30127func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
30128	s.Statistics = v
30129	return s
30130}
30131
30132// SetUnit sets the Unit field's value.
30133func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
30134	s.Unit = &v
30135	return s
30136}
30137
30138type GetDistributionMetricDataOutput struct {
30139	_ struct{} `type:"structure"`
30140
30141	// An array of objects that describe the metric data returned.
30142	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
30143
30144	// The name of the metric returned.
30145	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
30146}
30147
30148// String returns the string representation.
30149//
30150// API parameter values that are decorated as "sensitive" in the API will not
30151// be included in the string output. The member name will be present, but the
30152// value will be replaced with "sensitive".
30153func (s GetDistributionMetricDataOutput) String() string {
30154	return awsutil.Prettify(s)
30155}
30156
30157// GoString returns the string representation.
30158//
30159// API parameter values that are decorated as "sensitive" in the API will not
30160// be included in the string output. The member name will be present, but the
30161// value will be replaced with "sensitive".
30162func (s GetDistributionMetricDataOutput) GoString() string {
30163	return s.String()
30164}
30165
30166// SetMetricData sets the MetricData field's value.
30167func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
30168	s.MetricData = v
30169	return s
30170}
30171
30172// SetMetricName sets the MetricName field's value.
30173func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
30174	s.MetricName = &v
30175	return s
30176}
30177
30178type GetDistributionsInput struct {
30179	_ struct{} `type:"structure"`
30180
30181	// The name of the distribution for which to return information.
30182	//
30183	// When omitted, the response includes all of your distributions in the AWS
30184	// Region where the request is made.
30185	DistributionName *string `locationName:"distributionName" type:"string"`
30186
30187	// The token to advance to the next page of results from your request.
30188	//
30189	// To get a page token, perform an initial GetDistributions request. If your
30190	// results are paginated, the response will return a next page token that you
30191	// can specify as the page token in a subsequent request.
30192	PageToken *string `locationName:"pageToken" type:"string"`
30193}
30194
30195// String returns the string representation.
30196//
30197// API parameter values that are decorated as "sensitive" in the API will not
30198// be included in the string output. The member name will be present, but the
30199// value will be replaced with "sensitive".
30200func (s GetDistributionsInput) String() string {
30201	return awsutil.Prettify(s)
30202}
30203
30204// GoString returns the string representation.
30205//
30206// API parameter values that are decorated as "sensitive" in the API will not
30207// be included in the string output. The member name will be present, but the
30208// value will be replaced with "sensitive".
30209func (s GetDistributionsInput) GoString() string {
30210	return s.String()
30211}
30212
30213// SetDistributionName sets the DistributionName field's value.
30214func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
30215	s.DistributionName = &v
30216	return s
30217}
30218
30219// SetPageToken sets the PageToken field's value.
30220func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
30221	s.PageToken = &v
30222	return s
30223}
30224
30225type GetDistributionsOutput struct {
30226	_ struct{} `type:"structure"`
30227
30228	// An array of objects that describe your distributions.
30229	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
30230
30231	// The token to advance to the next page of results from your request.
30232	//
30233	// A next page token is not returned if there are no more results to display.
30234	//
30235	// To get the next page of results, perform another GetDistributions request
30236	// and specify the next page token using the pageToken parameter.
30237	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30238}
30239
30240// String returns the string representation.
30241//
30242// API parameter values that are decorated as "sensitive" in the API will not
30243// be included in the string output. The member name will be present, but the
30244// value will be replaced with "sensitive".
30245func (s GetDistributionsOutput) String() string {
30246	return awsutil.Prettify(s)
30247}
30248
30249// GoString returns the string representation.
30250//
30251// API parameter values that are decorated as "sensitive" in the API will not
30252// be included in the string output. The member name will be present, but the
30253// value will be replaced with "sensitive".
30254func (s GetDistributionsOutput) GoString() string {
30255	return s.String()
30256}
30257
30258// SetDistributions sets the Distributions field's value.
30259func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
30260	s.Distributions = v
30261	return s
30262}
30263
30264// SetNextPageToken sets the NextPageToken field's value.
30265func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
30266	s.NextPageToken = &v
30267	return s
30268}
30269
30270type GetDomainInput struct {
30271	_ struct{} `type:"structure"`
30272
30273	// The domain name for which your want to return information about.
30274	//
30275	// DomainName is a required field
30276	DomainName *string `locationName:"domainName" type:"string" required:"true"`
30277}
30278
30279// String returns the string representation.
30280//
30281// API parameter values that are decorated as "sensitive" in the API will not
30282// be included in the string output. The member name will be present, but the
30283// value will be replaced with "sensitive".
30284func (s GetDomainInput) String() string {
30285	return awsutil.Prettify(s)
30286}
30287
30288// GoString returns the string representation.
30289//
30290// API parameter values that are decorated as "sensitive" in the API will not
30291// be included in the string output. The member name will be present, but the
30292// value will be replaced with "sensitive".
30293func (s GetDomainInput) GoString() string {
30294	return s.String()
30295}
30296
30297// Validate inspects the fields of the type to determine if they are valid.
30298func (s *GetDomainInput) Validate() error {
30299	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
30300	if s.DomainName == nil {
30301		invalidParams.Add(request.NewErrParamRequired("DomainName"))
30302	}
30303
30304	if invalidParams.Len() > 0 {
30305		return invalidParams
30306	}
30307	return nil
30308}
30309
30310// SetDomainName sets the DomainName field's value.
30311func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
30312	s.DomainName = &v
30313	return s
30314}
30315
30316type GetDomainOutput struct {
30317	_ struct{} `type:"structure"`
30318
30319	// An array of key-value pairs containing information about your get domain
30320	// request.
30321	Domain *Domain `locationName:"domain" type:"structure"`
30322}
30323
30324// String returns the string representation.
30325//
30326// API parameter values that are decorated as "sensitive" in the API will not
30327// be included in the string output. The member name will be present, but the
30328// value will be replaced with "sensitive".
30329func (s GetDomainOutput) String() string {
30330	return awsutil.Prettify(s)
30331}
30332
30333// GoString returns the string representation.
30334//
30335// API parameter values that are decorated as "sensitive" in the API will not
30336// be included in the string output. The member name will be present, but the
30337// value will be replaced with "sensitive".
30338func (s GetDomainOutput) GoString() string {
30339	return s.String()
30340}
30341
30342// SetDomain sets the Domain field's value.
30343func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
30344	s.Domain = v
30345	return s
30346}
30347
30348type GetDomainsInput struct {
30349	_ struct{} `type:"structure"`
30350
30351	// The token to advance to the next page of results from your request.
30352	//
30353	// To get a page token, perform an initial GetDomains request. If your results
30354	// are paginated, the response will return a next page token that you can specify
30355	// as the page token in a subsequent request.
30356	PageToken *string `locationName:"pageToken" type:"string"`
30357}
30358
30359// String returns the string representation.
30360//
30361// API parameter values that are decorated as "sensitive" in the API will not
30362// be included in the string output. The member name will be present, but the
30363// value will be replaced with "sensitive".
30364func (s GetDomainsInput) String() string {
30365	return awsutil.Prettify(s)
30366}
30367
30368// GoString returns the string representation.
30369//
30370// API parameter values that are decorated as "sensitive" in the API will not
30371// be included in the string output. The member name will be present, but the
30372// value will be replaced with "sensitive".
30373func (s GetDomainsInput) GoString() string {
30374	return s.String()
30375}
30376
30377// SetPageToken sets the PageToken field's value.
30378func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
30379	s.PageToken = &v
30380	return s
30381}
30382
30383type GetDomainsOutput struct {
30384	_ struct{} `type:"structure"`
30385
30386	// An array of key-value pairs containing information about each of the domain
30387	// entries in the user's account.
30388	Domains []*Domain `locationName:"domains" type:"list"`
30389
30390	// The token to advance to the next page of results from your request.
30391	//
30392	// A next page token is not returned if there are no more results to display.
30393	//
30394	// To get the next page of results, perform another GetDomains request and specify
30395	// the next page token using the pageToken parameter.
30396	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30397}
30398
30399// String returns the string representation.
30400//
30401// API parameter values that are decorated as "sensitive" in the API will not
30402// be included in the string output. The member name will be present, but the
30403// value will be replaced with "sensitive".
30404func (s GetDomainsOutput) String() string {
30405	return awsutil.Prettify(s)
30406}
30407
30408// GoString returns the string representation.
30409//
30410// API parameter values that are decorated as "sensitive" in the API will not
30411// be included in the string output. The member name will be present, but the
30412// value will be replaced with "sensitive".
30413func (s GetDomainsOutput) GoString() string {
30414	return s.String()
30415}
30416
30417// SetDomains sets the Domains field's value.
30418func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
30419	s.Domains = v
30420	return s
30421}
30422
30423// SetNextPageToken sets the NextPageToken field's value.
30424func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
30425	s.NextPageToken = &v
30426	return s
30427}
30428
30429type GetExportSnapshotRecordsInput struct {
30430	_ struct{} `type:"structure"`
30431
30432	// The token to advance to the next page of results from your request.
30433	//
30434	// To get a page token, perform an initial GetExportSnapshotRecords request.
30435	// If your results are paginated, the response will return a next page token
30436	// that you can specify as the page token in a subsequent request.
30437	PageToken *string `locationName:"pageToken" type:"string"`
30438}
30439
30440// String returns the string representation.
30441//
30442// API parameter values that are decorated as "sensitive" in the API will not
30443// be included in the string output. The member name will be present, but the
30444// value will be replaced with "sensitive".
30445func (s GetExportSnapshotRecordsInput) String() string {
30446	return awsutil.Prettify(s)
30447}
30448
30449// GoString returns the string representation.
30450//
30451// API parameter values that are decorated as "sensitive" in the API will not
30452// be included in the string output. The member name will be present, but the
30453// value will be replaced with "sensitive".
30454func (s GetExportSnapshotRecordsInput) GoString() string {
30455	return s.String()
30456}
30457
30458// SetPageToken sets the PageToken field's value.
30459func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
30460	s.PageToken = &v
30461	return s
30462}
30463
30464type GetExportSnapshotRecordsOutput struct {
30465	_ struct{} `type:"structure"`
30466
30467	// A list of objects describing the export snapshot records.
30468	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
30469
30470	// The token to advance to the next page of results from your request.
30471	//
30472	// A next page token is not returned if there are no more results to display.
30473	//
30474	// To get the next page of results, perform another GetExportSnapshotRecords
30475	// request and specify the next page token using the pageToken parameter.
30476	NextPageToken *string `locationName:"nextPageToken" type:"string"`
30477}
30478
30479// String returns the string representation.
30480//
30481// API parameter values that are decorated as "sensitive" in the API will not
30482// be included in the string output. The member name will be present, but the
30483// value will be replaced with "sensitive".
30484func (s GetExportSnapshotRecordsOutput) String() string {
30485	return awsutil.Prettify(s)
30486}
30487
30488// GoString returns the string representation.
30489//
30490// API parameter values that are decorated as "sensitive" in the API will not
30491// be included in the string output. The member name will be present, but the
30492// value will be replaced with "sensitive".
30493func (s GetExportSnapshotRecordsOutput) GoString() string {
30494	return s.String()
30495}
30496
30497// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
30498func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
30499	s.ExportSnapshotRecords = v
30500	return s
30501}
30502
30503// SetNextPageToken sets the NextPageToken field's value.
30504func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
30505	s.NextPageToken = &v
30506	return s
30507}
30508
30509type GetInstanceAccessDetailsInput struct {
30510	_ struct{} `type:"structure"`
30511
30512	// The name of the instance to access.
30513	//
30514	// InstanceName is a required field
30515	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30516
30517	// The protocol to use to connect to your instance. Defaults to ssh.
30518	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
30519}
30520
30521// String returns the string representation.
30522//
30523// API parameter values that are decorated as "sensitive" in the API will not
30524// be included in the string output. The member name will be present, but the
30525// value will be replaced with "sensitive".
30526func (s GetInstanceAccessDetailsInput) String() string {
30527	return awsutil.Prettify(s)
30528}
30529
30530// GoString returns the string representation.
30531//
30532// API parameter values that are decorated as "sensitive" in the API will not
30533// be included in the string output. The member name will be present, but the
30534// value will be replaced with "sensitive".
30535func (s GetInstanceAccessDetailsInput) GoString() string {
30536	return s.String()
30537}
30538
30539// Validate inspects the fields of the type to determine if they are valid.
30540func (s *GetInstanceAccessDetailsInput) Validate() error {
30541	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
30542	if s.InstanceName == nil {
30543		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30544	}
30545
30546	if invalidParams.Len() > 0 {
30547		return invalidParams
30548	}
30549	return nil
30550}
30551
30552// SetInstanceName sets the InstanceName field's value.
30553func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
30554	s.InstanceName = &v
30555	return s
30556}
30557
30558// SetProtocol sets the Protocol field's value.
30559func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
30560	s.Protocol = &v
30561	return s
30562}
30563
30564type GetInstanceAccessDetailsOutput struct {
30565	_ struct{} `type:"structure"`
30566
30567	// An array of key-value pairs containing information about a get instance access
30568	// request.
30569	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
30570}
30571
30572// String returns the string representation.
30573//
30574// API parameter values that are decorated as "sensitive" in the API will not
30575// be included in the string output. The member name will be present, but the
30576// value will be replaced with "sensitive".
30577func (s GetInstanceAccessDetailsOutput) String() string {
30578	return awsutil.Prettify(s)
30579}
30580
30581// GoString returns the string representation.
30582//
30583// API parameter values that are decorated as "sensitive" in the API will not
30584// be included in the string output. The member name will be present, but the
30585// value will be replaced with "sensitive".
30586func (s GetInstanceAccessDetailsOutput) GoString() string {
30587	return s.String()
30588}
30589
30590// SetAccessDetails sets the AccessDetails field's value.
30591func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
30592	s.AccessDetails = v
30593	return s
30594}
30595
30596type GetInstanceInput struct {
30597	_ struct{} `type:"structure"`
30598
30599	// The name of the instance.
30600	//
30601	// InstanceName is a required field
30602	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30603}
30604
30605// String returns the string representation.
30606//
30607// API parameter values that are decorated as "sensitive" in the API will not
30608// be included in the string output. The member name will be present, but the
30609// value will be replaced with "sensitive".
30610func (s GetInstanceInput) String() string {
30611	return awsutil.Prettify(s)
30612}
30613
30614// GoString returns the string representation.
30615//
30616// API parameter values that are decorated as "sensitive" in the API will not
30617// be included in the string output. The member name will be present, but the
30618// value will be replaced with "sensitive".
30619func (s GetInstanceInput) GoString() string {
30620	return s.String()
30621}
30622
30623// Validate inspects the fields of the type to determine if they are valid.
30624func (s *GetInstanceInput) Validate() error {
30625	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
30626	if s.InstanceName == nil {
30627		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30628	}
30629
30630	if invalidParams.Len() > 0 {
30631		return invalidParams
30632	}
30633	return nil
30634}
30635
30636// SetInstanceName sets the InstanceName field's value.
30637func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
30638	s.InstanceName = &v
30639	return s
30640}
30641
30642type GetInstanceMetricDataInput struct {
30643	_ struct{} `type:"structure"`
30644
30645	// The end time of the time period.
30646	//
30647	// EndTime is a required field
30648	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
30649
30650	// The name of the instance for which you want to get metrics data.
30651	//
30652	// InstanceName is a required field
30653	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30654
30655	// The metric for which you want to return information.
30656	//
30657	// Valid instance metric names are listed below, along with the most useful
30658	// statistics to include in your request, and the published unit value.
30659	//
30660	//    * BurstCapacityPercentage - The percentage of CPU performance available
30661	//    for your instance to burst above its baseline. Your instance continuously
30662	//    accrues and consumes burst capacity. Burst capacity stops accruing when
30663	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
30664	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
30665	//    Statistics: The most useful statistics are Maximum and Average. Unit:
30666	//    The published unit is Percent.
30667	//
30668	//    * BurstCapacityTime - The available amount of time for your instance to
30669	//    burst at 100% CPU utilization. Your instance continuously accrues and
30670	//    consumes burst capacity. Burst capacity time stops accruing when your
30671	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
30672	//    time is consumed at the full rate only when your instance operates at
30673	//    100% CPU utilization. For example, if your instance operates at 50% CPU
30674	//    utilization in the burstable zone for a 5-minute period, then it consumes
30675	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
30676	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
30677	//    5-minute period. For more information, see Viewing instance burst capacity
30678	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
30679	//    Statistics: The most useful statistics are Maximum and Average. Unit:
30680	//    The published unit is Seconds.
30681	//
30682	//    * CPUUtilization - The percentage of allocated compute units that are
30683	//    currently in use on the instance. This metric identifies the processing
30684	//    power to run the applications on the instance. Tools in your operating
30685	//    system can show a lower percentage than Lightsail when the instance is
30686	//    not allocated a full processor core. Statistics: The most useful statistics
30687	//    are Maximum and Average. Unit: The published unit is Percent.
30688	//
30689	//    * NetworkIn - The number of bytes received on all network interfaces by
30690	//    the instance. This metric identifies the volume of incoming network traffic
30691	//    to the instance. The number reported is the number of bytes received during
30692	//    the period. Because this metric is reported in 5-minute intervals, divide
30693	//    the reported number by 300 to find Bytes/second. Statistics: The most
30694	//    useful statistic is Sum. Unit: The published unit is Bytes.
30695	//
30696	//    * NetworkOut - The number of bytes sent out on all network interfaces
30697	//    by the instance. This metric identifies the volume of outgoing network
30698	//    traffic from the instance. The number reported is the number of bytes
30699	//    sent during the period. Because this metric is reported in 5-minute intervals,
30700	//    divide the reported number by 300 to find Bytes/second. Statistics: The
30701	//    most useful statistic is Sum. Unit: The published unit is Bytes.
30702	//
30703	//    * StatusCheckFailed - Reports whether the instance passed or failed both
30704	//    the instance status check and the system status check. This metric can
30705	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
30706	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
30707	//    Unit: The published unit is Count.
30708	//
30709	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
30710	//    failed the instance status check. This metric can be either 0 (passed)
30711	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
30712	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
30713	//    unit is Count.
30714	//
30715	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
30716	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
30717	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
30718	//    The most useful statistic is Sum. Unit: The published unit is Count.
30719	//
30720	// MetricName is a required field
30721	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
30722
30723	// The granularity, in seconds, of the returned data points.
30724	//
30725	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
30726	// instance metric data is available in 1-minute (60 seconds) granularity. All
30727	// other instance metric data is available in 5-minute (300 seconds) granularity.
30728	//
30729	// Period is a required field
30730	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
30731
30732	// The start time of the time period.
30733	//
30734	// StartTime is a required field
30735	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
30736
30737	// The statistic for the metric.
30738	//
30739	// The following statistics are available:
30740	//
30741	//    * Minimum - The lowest value observed during the specified period. Use
30742	//    this value to determine low volumes of activity for your application.
30743	//
30744	//    * Maximum - The highest value observed during the specified period. Use
30745	//    this value to determine high volumes of activity for your application.
30746	//
30747	//    * Sum - All values submitted for the matching metric added together. You
30748	//    can use this statistic to determine the total volume of a metric.
30749	//
30750	//    * Average - The value of Sum / SampleCount during the specified period.
30751	//    By comparing this statistic with the Minimum and Maximum values, you can
30752	//    determine the full scope of a metric and how close the average use is
30753	//    to the Minimum and Maximum values. This comparison helps you to know when
30754	//    to increase or decrease your resources.
30755	//
30756	//    * SampleCount - The count, or number, of data points used for the statistical
30757	//    calculation.
30758	//
30759	// Statistics is a required field
30760	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
30761
30762	// The unit for the metric data request. Valid units depend on the metric data
30763	// being requested. For the valid units to specify with each available metric,
30764	// see the metricName parameter.
30765	//
30766	// Unit is a required field
30767	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
30768}
30769
30770// String returns the string representation.
30771//
30772// API parameter values that are decorated as "sensitive" in the API will not
30773// be included in the string output. The member name will be present, but the
30774// value will be replaced with "sensitive".
30775func (s GetInstanceMetricDataInput) String() string {
30776	return awsutil.Prettify(s)
30777}
30778
30779// GoString returns the string representation.
30780//
30781// API parameter values that are decorated as "sensitive" in the API will not
30782// be included in the string output. The member name will be present, but the
30783// value will be replaced with "sensitive".
30784func (s GetInstanceMetricDataInput) GoString() string {
30785	return s.String()
30786}
30787
30788// Validate inspects the fields of the type to determine if they are valid.
30789func (s *GetInstanceMetricDataInput) Validate() error {
30790	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
30791	if s.EndTime == nil {
30792		invalidParams.Add(request.NewErrParamRequired("EndTime"))
30793	}
30794	if s.InstanceName == nil {
30795		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30796	}
30797	if s.MetricName == nil {
30798		invalidParams.Add(request.NewErrParamRequired("MetricName"))
30799	}
30800	if s.Period == nil {
30801		invalidParams.Add(request.NewErrParamRequired("Period"))
30802	}
30803	if s.Period != nil && *s.Period < 60 {
30804		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
30805	}
30806	if s.StartTime == nil {
30807		invalidParams.Add(request.NewErrParamRequired("StartTime"))
30808	}
30809	if s.Statistics == nil {
30810		invalidParams.Add(request.NewErrParamRequired("Statistics"))
30811	}
30812	if s.Unit == nil {
30813		invalidParams.Add(request.NewErrParamRequired("Unit"))
30814	}
30815
30816	if invalidParams.Len() > 0 {
30817		return invalidParams
30818	}
30819	return nil
30820}
30821
30822// SetEndTime sets the EndTime field's value.
30823func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
30824	s.EndTime = &v
30825	return s
30826}
30827
30828// SetInstanceName sets the InstanceName field's value.
30829func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
30830	s.InstanceName = &v
30831	return s
30832}
30833
30834// SetMetricName sets the MetricName field's value.
30835func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
30836	s.MetricName = &v
30837	return s
30838}
30839
30840// SetPeriod sets the Period field's value.
30841func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
30842	s.Period = &v
30843	return s
30844}
30845
30846// SetStartTime sets the StartTime field's value.
30847func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
30848	s.StartTime = &v
30849	return s
30850}
30851
30852// SetStatistics sets the Statistics field's value.
30853func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
30854	s.Statistics = v
30855	return s
30856}
30857
30858// SetUnit sets the Unit field's value.
30859func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
30860	s.Unit = &v
30861	return s
30862}
30863
30864type GetInstanceMetricDataOutput struct {
30865	_ struct{} `type:"structure"`
30866
30867	// An array of objects that describe the metric data returned.
30868	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
30869
30870	// The name of the metric returned.
30871	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
30872}
30873
30874// String returns the string representation.
30875//
30876// API parameter values that are decorated as "sensitive" in the API will not
30877// be included in the string output. The member name will be present, but the
30878// value will be replaced with "sensitive".
30879func (s GetInstanceMetricDataOutput) String() string {
30880	return awsutil.Prettify(s)
30881}
30882
30883// GoString returns the string representation.
30884//
30885// API parameter values that are decorated as "sensitive" in the API will not
30886// be included in the string output. The member name will be present, but the
30887// value will be replaced with "sensitive".
30888func (s GetInstanceMetricDataOutput) GoString() string {
30889	return s.String()
30890}
30891
30892// SetMetricData sets the MetricData field's value.
30893func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
30894	s.MetricData = v
30895	return s
30896}
30897
30898// SetMetricName sets the MetricName field's value.
30899func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
30900	s.MetricName = &v
30901	return s
30902}
30903
30904type GetInstanceOutput struct {
30905	_ struct{} `type:"structure"`
30906
30907	// An array of key-value pairs containing information about the specified instance.
30908	Instance *Instance `locationName:"instance" type:"structure"`
30909}
30910
30911// String returns the string representation.
30912//
30913// API parameter values that are decorated as "sensitive" in the API will not
30914// be included in the string output. The member name will be present, but the
30915// value will be replaced with "sensitive".
30916func (s GetInstanceOutput) String() string {
30917	return awsutil.Prettify(s)
30918}
30919
30920// GoString returns the string representation.
30921//
30922// API parameter values that are decorated as "sensitive" in the API will not
30923// be included in the string output. The member name will be present, but the
30924// value will be replaced with "sensitive".
30925func (s GetInstanceOutput) GoString() string {
30926	return s.String()
30927}
30928
30929// SetInstance sets the Instance field's value.
30930func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
30931	s.Instance = v
30932	return s
30933}
30934
30935type GetInstancePortStatesInput struct {
30936	_ struct{} `type:"structure"`
30937
30938	// The name of the instance for which to return firewall port states.
30939	//
30940	// InstanceName is a required field
30941	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30942}
30943
30944// String returns the string representation.
30945//
30946// API parameter values that are decorated as "sensitive" in the API will not
30947// be included in the string output. The member name will be present, but the
30948// value will be replaced with "sensitive".
30949func (s GetInstancePortStatesInput) String() string {
30950	return awsutil.Prettify(s)
30951}
30952
30953// GoString returns the string representation.
30954//
30955// API parameter values that are decorated as "sensitive" in the API will not
30956// be included in the string output. The member name will be present, but the
30957// value will be replaced with "sensitive".
30958func (s GetInstancePortStatesInput) GoString() string {
30959	return s.String()
30960}
30961
30962// Validate inspects the fields of the type to determine if they are valid.
30963func (s *GetInstancePortStatesInput) Validate() error {
30964	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
30965	if s.InstanceName == nil {
30966		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30967	}
30968
30969	if invalidParams.Len() > 0 {
30970		return invalidParams
30971	}
30972	return nil
30973}
30974
30975// SetInstanceName sets the InstanceName field's value.
30976func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
30977	s.InstanceName = &v
30978	return s
30979}
30980
30981type GetInstancePortStatesOutput struct {
30982	_ struct{} `type:"structure"`
30983
30984	// An array of objects that describe the firewall port states for the specified
30985	// instance.
30986	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
30987}
30988
30989// String returns the string representation.
30990//
30991// API parameter values that are decorated as "sensitive" in the API will not
30992// be included in the string output. The member name will be present, but the
30993// value will be replaced with "sensitive".
30994func (s GetInstancePortStatesOutput) String() string {
30995	return awsutil.Prettify(s)
30996}
30997
30998// GoString returns the string representation.
30999//
31000// API parameter values that are decorated as "sensitive" in the API will not
31001// be included in the string output. The member name will be present, but the
31002// value will be replaced with "sensitive".
31003func (s GetInstancePortStatesOutput) GoString() string {
31004	return s.String()
31005}
31006
31007// SetPortStates sets the PortStates field's value.
31008func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
31009	s.PortStates = v
31010	return s
31011}
31012
31013type GetInstanceSnapshotInput struct {
31014	_ struct{} `type:"structure"`
31015
31016	// The name of the snapshot for which you are requesting information.
31017	//
31018	// InstanceSnapshotName is a required field
31019	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
31020}
31021
31022// String returns the string representation.
31023//
31024// API parameter values that are decorated as "sensitive" in the API will not
31025// be included in the string output. The member name will be present, but the
31026// value will be replaced with "sensitive".
31027func (s GetInstanceSnapshotInput) String() string {
31028	return awsutil.Prettify(s)
31029}
31030
31031// GoString returns the string representation.
31032//
31033// API parameter values that are decorated as "sensitive" in the API will not
31034// be included in the string output. The member name will be present, but the
31035// value will be replaced with "sensitive".
31036func (s GetInstanceSnapshotInput) GoString() string {
31037	return s.String()
31038}
31039
31040// Validate inspects the fields of the type to determine if they are valid.
31041func (s *GetInstanceSnapshotInput) Validate() error {
31042	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
31043	if s.InstanceSnapshotName == nil {
31044		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
31045	}
31046
31047	if invalidParams.Len() > 0 {
31048		return invalidParams
31049	}
31050	return nil
31051}
31052
31053// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
31054func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
31055	s.InstanceSnapshotName = &v
31056	return s
31057}
31058
31059type GetInstanceSnapshotOutput struct {
31060	_ struct{} `type:"structure"`
31061
31062	// An array of key-value pairs containing information about the results of your
31063	// get instance snapshot request.
31064	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
31065}
31066
31067// String returns the string representation.
31068//
31069// API parameter values that are decorated as "sensitive" in the API will not
31070// be included in the string output. The member name will be present, but the
31071// value will be replaced with "sensitive".
31072func (s GetInstanceSnapshotOutput) String() string {
31073	return awsutil.Prettify(s)
31074}
31075
31076// GoString returns the string representation.
31077//
31078// API parameter values that are decorated as "sensitive" in the API will not
31079// be included in the string output. The member name will be present, but the
31080// value will be replaced with "sensitive".
31081func (s GetInstanceSnapshotOutput) GoString() string {
31082	return s.String()
31083}
31084
31085// SetInstanceSnapshot sets the InstanceSnapshot field's value.
31086func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
31087	s.InstanceSnapshot = v
31088	return s
31089}
31090
31091type GetInstanceSnapshotsInput struct {
31092	_ struct{} `type:"structure"`
31093
31094	// The token to advance to the next page of results from your request.
31095	//
31096	// To get a page token, perform an initial GetInstanceSnapshots request. If
31097	// your results are paginated, the response will return a next page token that
31098	// you can specify as the page token in a subsequent request.
31099	PageToken *string `locationName:"pageToken" type:"string"`
31100}
31101
31102// String returns the string representation.
31103//
31104// API parameter values that are decorated as "sensitive" in the API will not
31105// be included in the string output. The member name will be present, but the
31106// value will be replaced with "sensitive".
31107func (s GetInstanceSnapshotsInput) String() string {
31108	return awsutil.Prettify(s)
31109}
31110
31111// GoString returns the string representation.
31112//
31113// API parameter values that are decorated as "sensitive" in the API will not
31114// be included in the string output. The member name will be present, but the
31115// value will be replaced with "sensitive".
31116func (s GetInstanceSnapshotsInput) GoString() string {
31117	return s.String()
31118}
31119
31120// SetPageToken sets the PageToken field's value.
31121func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
31122	s.PageToken = &v
31123	return s
31124}
31125
31126type GetInstanceSnapshotsOutput struct {
31127	_ struct{} `type:"structure"`
31128
31129	// An array of key-value pairs containing information about the results of your
31130	// get instance snapshots request.
31131	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
31132
31133	// The token to advance to the next page of results from your request.
31134	//
31135	// A next page token is not returned if there are no more results to display.
31136	//
31137	// To get the next page of results, perform another GetInstanceSnapshots request
31138	// and specify the next page token using the pageToken parameter.
31139	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31140}
31141
31142// String returns the string representation.
31143//
31144// API parameter values that are decorated as "sensitive" in the API will not
31145// be included in the string output. The member name will be present, but the
31146// value will be replaced with "sensitive".
31147func (s GetInstanceSnapshotsOutput) String() string {
31148	return awsutil.Prettify(s)
31149}
31150
31151// GoString returns the string representation.
31152//
31153// API parameter values that are decorated as "sensitive" in the API will not
31154// be included in the string output. The member name will be present, but the
31155// value will be replaced with "sensitive".
31156func (s GetInstanceSnapshotsOutput) GoString() string {
31157	return s.String()
31158}
31159
31160// SetInstanceSnapshots sets the InstanceSnapshots field's value.
31161func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
31162	s.InstanceSnapshots = v
31163	return s
31164}
31165
31166// SetNextPageToken sets the NextPageToken field's value.
31167func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
31168	s.NextPageToken = &v
31169	return s
31170}
31171
31172type GetInstanceStateInput struct {
31173	_ struct{} `type:"structure"`
31174
31175	// The name of the instance to get state information about.
31176	//
31177	// InstanceName is a required field
31178	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
31179}
31180
31181// String returns the string representation.
31182//
31183// API parameter values that are decorated as "sensitive" in the API will not
31184// be included in the string output. The member name will be present, but the
31185// value will be replaced with "sensitive".
31186func (s GetInstanceStateInput) String() string {
31187	return awsutil.Prettify(s)
31188}
31189
31190// GoString returns the string representation.
31191//
31192// API parameter values that are decorated as "sensitive" in the API will not
31193// be included in the string output. The member name will be present, but the
31194// value will be replaced with "sensitive".
31195func (s GetInstanceStateInput) GoString() string {
31196	return s.String()
31197}
31198
31199// Validate inspects the fields of the type to determine if they are valid.
31200func (s *GetInstanceStateInput) Validate() error {
31201	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
31202	if s.InstanceName == nil {
31203		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
31204	}
31205
31206	if invalidParams.Len() > 0 {
31207		return invalidParams
31208	}
31209	return nil
31210}
31211
31212// SetInstanceName sets the InstanceName field's value.
31213func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
31214	s.InstanceName = &v
31215	return s
31216}
31217
31218type GetInstanceStateOutput struct {
31219	_ struct{} `type:"structure"`
31220
31221	// The state of the instance.
31222	State *InstanceState `locationName:"state" type:"structure"`
31223}
31224
31225// String returns the string representation.
31226//
31227// API parameter values that are decorated as "sensitive" in the API will not
31228// be included in the string output. The member name will be present, but the
31229// value will be replaced with "sensitive".
31230func (s GetInstanceStateOutput) String() string {
31231	return awsutil.Prettify(s)
31232}
31233
31234// GoString returns the string representation.
31235//
31236// API parameter values that are decorated as "sensitive" in the API will not
31237// be included in the string output. The member name will be present, but the
31238// value will be replaced with "sensitive".
31239func (s GetInstanceStateOutput) GoString() string {
31240	return s.String()
31241}
31242
31243// SetState sets the State field's value.
31244func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
31245	s.State = v
31246	return s
31247}
31248
31249type GetInstancesInput struct {
31250	_ struct{} `type:"structure"`
31251
31252	// The token to advance to the next page of results from your request.
31253	//
31254	// To get a page token, perform an initial GetInstances request. If your results
31255	// are paginated, the response will return a next page token that you can specify
31256	// as the page token in a subsequent request.
31257	PageToken *string `locationName:"pageToken" type:"string"`
31258}
31259
31260// String returns the string representation.
31261//
31262// API parameter values that are decorated as "sensitive" in the API will not
31263// be included in the string output. The member name will be present, but the
31264// value will be replaced with "sensitive".
31265func (s GetInstancesInput) String() string {
31266	return awsutil.Prettify(s)
31267}
31268
31269// GoString returns the string representation.
31270//
31271// API parameter values that are decorated as "sensitive" in the API will not
31272// be included in the string output. The member name will be present, but the
31273// value will be replaced with "sensitive".
31274func (s GetInstancesInput) GoString() string {
31275	return s.String()
31276}
31277
31278// SetPageToken sets the PageToken field's value.
31279func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
31280	s.PageToken = &v
31281	return s
31282}
31283
31284type GetInstancesOutput struct {
31285	_ struct{} `type:"structure"`
31286
31287	// An array of key-value pairs containing information about your instances.
31288	Instances []*Instance `locationName:"instances" type:"list"`
31289
31290	// The token to advance to the next page of results from your request.
31291	//
31292	// A next page token is not returned if there are no more results to display.
31293	//
31294	// To get the next page of results, perform another GetInstances request and
31295	// specify the next page token using the pageToken parameter.
31296	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31297}
31298
31299// String returns the string representation.
31300//
31301// API parameter values that are decorated as "sensitive" in the API will not
31302// be included in the string output. The member name will be present, but the
31303// value will be replaced with "sensitive".
31304func (s GetInstancesOutput) String() string {
31305	return awsutil.Prettify(s)
31306}
31307
31308// GoString returns the string representation.
31309//
31310// API parameter values that are decorated as "sensitive" in the API will not
31311// be included in the string output. The member name will be present, but the
31312// value will be replaced with "sensitive".
31313func (s GetInstancesOutput) GoString() string {
31314	return s.String()
31315}
31316
31317// SetInstances sets the Instances field's value.
31318func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
31319	s.Instances = v
31320	return s
31321}
31322
31323// SetNextPageToken sets the NextPageToken field's value.
31324func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
31325	s.NextPageToken = &v
31326	return s
31327}
31328
31329type GetKeyPairInput struct {
31330	_ struct{} `type:"structure"`
31331
31332	// The name of the key pair for which you are requesting information.
31333	//
31334	// KeyPairName is a required field
31335	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
31336}
31337
31338// String returns the string representation.
31339//
31340// API parameter values that are decorated as "sensitive" in the API will not
31341// be included in the string output. The member name will be present, but the
31342// value will be replaced with "sensitive".
31343func (s GetKeyPairInput) String() string {
31344	return awsutil.Prettify(s)
31345}
31346
31347// GoString returns the string representation.
31348//
31349// API parameter values that are decorated as "sensitive" in the API will not
31350// be included in the string output. The member name will be present, but the
31351// value will be replaced with "sensitive".
31352func (s GetKeyPairInput) GoString() string {
31353	return s.String()
31354}
31355
31356// Validate inspects the fields of the type to determine if they are valid.
31357func (s *GetKeyPairInput) Validate() error {
31358	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
31359	if s.KeyPairName == nil {
31360		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
31361	}
31362
31363	if invalidParams.Len() > 0 {
31364		return invalidParams
31365	}
31366	return nil
31367}
31368
31369// SetKeyPairName sets the KeyPairName field's value.
31370func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
31371	s.KeyPairName = &v
31372	return s
31373}
31374
31375type GetKeyPairOutput struct {
31376	_ struct{} `type:"structure"`
31377
31378	// An array of key-value pairs containing information about the key pair.
31379	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
31380}
31381
31382// String returns the string representation.
31383//
31384// API parameter values that are decorated as "sensitive" in the API will not
31385// be included in the string output. The member name will be present, but the
31386// value will be replaced with "sensitive".
31387func (s GetKeyPairOutput) String() string {
31388	return awsutil.Prettify(s)
31389}
31390
31391// GoString returns the string representation.
31392//
31393// API parameter values that are decorated as "sensitive" in the API will not
31394// be included in the string output. The member name will be present, but the
31395// value will be replaced with "sensitive".
31396func (s GetKeyPairOutput) GoString() string {
31397	return s.String()
31398}
31399
31400// SetKeyPair sets the KeyPair field's value.
31401func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
31402	s.KeyPair = v
31403	return s
31404}
31405
31406type GetKeyPairsInput struct {
31407	_ struct{} `type:"structure"`
31408
31409	// The token to advance to the next page of results from your request.
31410	//
31411	// To get a page token, perform an initial GetKeyPairs request. If your results
31412	// are paginated, the response will return a next page token that you can specify
31413	// as the page token in a subsequent request.
31414	PageToken *string `locationName:"pageToken" type:"string"`
31415}
31416
31417// String returns the string representation.
31418//
31419// API parameter values that are decorated as "sensitive" in the API will not
31420// be included in the string output. The member name will be present, but the
31421// value will be replaced with "sensitive".
31422func (s GetKeyPairsInput) String() string {
31423	return awsutil.Prettify(s)
31424}
31425
31426// GoString returns the string representation.
31427//
31428// API parameter values that are decorated as "sensitive" in the API will not
31429// be included in the string output. The member name will be present, but the
31430// value will be replaced with "sensitive".
31431func (s GetKeyPairsInput) GoString() string {
31432	return s.String()
31433}
31434
31435// SetPageToken sets the PageToken field's value.
31436func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
31437	s.PageToken = &v
31438	return s
31439}
31440
31441type GetKeyPairsOutput struct {
31442	_ struct{} `type:"structure"`
31443
31444	// An array of key-value pairs containing information about the key pairs.
31445	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
31446
31447	// The token to advance to the next page of results from your request.
31448	//
31449	// A next page token is not returned if there are no more results to display.
31450	//
31451	// To get the next page of results, perform another GetKeyPairs request and
31452	// specify the next page token using the pageToken parameter.
31453	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31454}
31455
31456// String returns the string representation.
31457//
31458// API parameter values that are decorated as "sensitive" in the API will not
31459// be included in the string output. The member name will be present, but the
31460// value will be replaced with "sensitive".
31461func (s GetKeyPairsOutput) String() string {
31462	return awsutil.Prettify(s)
31463}
31464
31465// GoString returns the string representation.
31466//
31467// API parameter values that are decorated as "sensitive" in the API will not
31468// be included in the string output. The member name will be present, but the
31469// value will be replaced with "sensitive".
31470func (s GetKeyPairsOutput) GoString() string {
31471	return s.String()
31472}
31473
31474// SetKeyPairs sets the KeyPairs field's value.
31475func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
31476	s.KeyPairs = v
31477	return s
31478}
31479
31480// SetNextPageToken sets the NextPageToken field's value.
31481func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
31482	s.NextPageToken = &v
31483	return s
31484}
31485
31486type GetLoadBalancerInput struct {
31487	_ struct{} `type:"structure"`
31488
31489	// The name of the load balancer.
31490	//
31491	// LoadBalancerName is a required field
31492	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
31493}
31494
31495// String returns the string representation.
31496//
31497// API parameter values that are decorated as "sensitive" in the API will not
31498// be included in the string output. The member name will be present, but the
31499// value will be replaced with "sensitive".
31500func (s GetLoadBalancerInput) String() string {
31501	return awsutil.Prettify(s)
31502}
31503
31504// GoString returns the string representation.
31505//
31506// API parameter values that are decorated as "sensitive" in the API will not
31507// be included in the string output. The member name will be present, but the
31508// value will be replaced with "sensitive".
31509func (s GetLoadBalancerInput) GoString() string {
31510	return s.String()
31511}
31512
31513// Validate inspects the fields of the type to determine if they are valid.
31514func (s *GetLoadBalancerInput) Validate() error {
31515	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
31516	if s.LoadBalancerName == nil {
31517		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
31518	}
31519
31520	if invalidParams.Len() > 0 {
31521		return invalidParams
31522	}
31523	return nil
31524}
31525
31526// SetLoadBalancerName sets the LoadBalancerName field's value.
31527func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
31528	s.LoadBalancerName = &v
31529	return s
31530}
31531
31532type GetLoadBalancerMetricDataInput struct {
31533	_ struct{} `type:"structure"`
31534
31535	// The end time of the period.
31536	//
31537	// EndTime is a required field
31538	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
31539
31540	// The name of the load balancer.
31541	//
31542	// LoadBalancerName is a required field
31543	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
31544
31545	// The metric for which you want to return information.
31546	//
31547	// Valid load balancer metric names are listed below, along with the most useful
31548	// statistics to include in your request, and the published unit value.
31549	//
31550	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
31551	//    by the client that did not establish a session with the load balancer
31552	//    due to a TLS error generated by the load balancer. Possible causes include
31553	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
31554	//    is Sum. Unit: The published unit is Count.
31555	//
31556	//    * HealthyHostCount - The number of target instances that are considered
31557	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
31558	//    Maximum. Unit: The published unit is Count.
31559	//
31560	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
31561	//    generated by the target instances. This does not include any response
31562	//    codes generated by the load balancer. Statistics: The most useful statistic
31563	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
31564	//    published unit is Count.
31565	//
31566	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
31567	//    generated by the target instances. This does not include any response
31568	//    codes generated by the load balancer. Statistics: The most useful statistic
31569	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
31570	//    published unit is Count.
31571	//
31572	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
31573	//    generated by the target instances. This does not include any response
31574	//    codes generated by the load balancer. Statistics: The most useful statistic
31575	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
31576	//    published unit is Count.
31577	//
31578	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
31579	//    generated by the target instances. This does not include any response
31580	//    codes generated by the load balancer. Statistics: The most useful statistic
31581	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
31582	//    published unit is Count.
31583	//
31584	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
31585	//    originated from the load balancer. Client errors are generated when requests
31586	//    are malformed or incomplete. These requests were not received by the target
31587	//    instance. This count does not include response codes generated by the
31588	//    target instances. Statistics: The most useful statistic is Sum. Note that
31589	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
31590	//    Count.
31591	//
31592	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
31593	//    originated from the load balancer. This does not include any response
31594	//    codes generated by the target instance. This metric is reported if there
31595	//    are no healthy instances attached to the load balancer, or if the request
31596	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
31597	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
31598	//    and Average all return 1. Unit: The published unit is Count.
31599	//
31600	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
31601	//    leaves the load balancer until a response from the target instance is
31602	//    received. Statistics: The most useful statistic is Average. Unit: The
31603	//    published unit is Seconds.
31604	//
31605	//    * RejectedConnectionCount - The number of connections that were rejected
31606	//    because the load balancer had reached its maximum number of connections.
31607	//    Statistics: The most useful statistic is Sum. Unit: The published unit
31608	//    is Count.
31609	//
31610	//    * RequestCount - The number of requests processed over IPv4. This count
31611	//    includes only the requests with a response generated by a target instance
31612	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
31613	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
31614	//    is Count.
31615	//
31616	//    * UnhealthyHostCount - The number of target instances that are considered
31617	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
31618	//    and Maximum. Unit: The published unit is Count.
31619	//
31620	// MetricName is a required field
31621	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
31622
31623	// The granularity, in seconds, of the returned data points.
31624	//
31625	// Period is a required field
31626	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
31627
31628	// The start time of the period.
31629	//
31630	// StartTime is a required field
31631	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
31632
31633	// The statistic for the metric.
31634	//
31635	// The following statistics are available:
31636	//
31637	//    * Minimum - The lowest value observed during the specified period. Use
31638	//    this value to determine low volumes of activity for your application.
31639	//
31640	//    * Maximum - The highest value observed during the specified period. Use
31641	//    this value to determine high volumes of activity for your application.
31642	//
31643	//    * Sum - All values submitted for the matching metric added together. You
31644	//    can use this statistic to determine the total volume of a metric.
31645	//
31646	//    * Average - The value of Sum / SampleCount during the specified period.
31647	//    By comparing this statistic with the Minimum and Maximum values, you can
31648	//    determine the full scope of a metric and how close the average use is
31649	//    to the Minimum and Maximum values. This comparison helps you to know when
31650	//    to increase or decrease your resources.
31651	//
31652	//    * SampleCount - The count, or number, of data points used for the statistical
31653	//    calculation.
31654	//
31655	// Statistics is a required field
31656	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
31657
31658	// The unit for the metric data request. Valid units depend on the metric data
31659	// being requested. For the valid units with each available metric, see the
31660	// metricName parameter.
31661	//
31662	// Unit is a required field
31663	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
31664}
31665
31666// String returns the string representation.
31667//
31668// API parameter values that are decorated as "sensitive" in the API will not
31669// be included in the string output. The member name will be present, but the
31670// value will be replaced with "sensitive".
31671func (s GetLoadBalancerMetricDataInput) String() string {
31672	return awsutil.Prettify(s)
31673}
31674
31675// GoString returns the string representation.
31676//
31677// API parameter values that are decorated as "sensitive" in the API will not
31678// be included in the string output. The member name will be present, but the
31679// value will be replaced with "sensitive".
31680func (s GetLoadBalancerMetricDataInput) GoString() string {
31681	return s.String()
31682}
31683
31684// Validate inspects the fields of the type to determine if they are valid.
31685func (s *GetLoadBalancerMetricDataInput) Validate() error {
31686	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
31687	if s.EndTime == nil {
31688		invalidParams.Add(request.NewErrParamRequired("EndTime"))
31689	}
31690	if s.LoadBalancerName == nil {
31691		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
31692	}
31693	if s.MetricName == nil {
31694		invalidParams.Add(request.NewErrParamRequired("MetricName"))
31695	}
31696	if s.Period == nil {
31697		invalidParams.Add(request.NewErrParamRequired("Period"))
31698	}
31699	if s.Period != nil && *s.Period < 60 {
31700		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
31701	}
31702	if s.StartTime == nil {
31703		invalidParams.Add(request.NewErrParamRequired("StartTime"))
31704	}
31705	if s.Statistics == nil {
31706		invalidParams.Add(request.NewErrParamRequired("Statistics"))
31707	}
31708	if s.Unit == nil {
31709		invalidParams.Add(request.NewErrParamRequired("Unit"))
31710	}
31711
31712	if invalidParams.Len() > 0 {
31713		return invalidParams
31714	}
31715	return nil
31716}
31717
31718// SetEndTime sets the EndTime field's value.
31719func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
31720	s.EndTime = &v
31721	return s
31722}
31723
31724// SetLoadBalancerName sets the LoadBalancerName field's value.
31725func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
31726	s.LoadBalancerName = &v
31727	return s
31728}
31729
31730// SetMetricName sets the MetricName field's value.
31731func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
31732	s.MetricName = &v
31733	return s
31734}
31735
31736// SetPeriod sets the Period field's value.
31737func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
31738	s.Period = &v
31739	return s
31740}
31741
31742// SetStartTime sets the StartTime field's value.
31743func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
31744	s.StartTime = &v
31745	return s
31746}
31747
31748// SetStatistics sets the Statistics field's value.
31749func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
31750	s.Statistics = v
31751	return s
31752}
31753
31754// SetUnit sets the Unit field's value.
31755func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
31756	s.Unit = &v
31757	return s
31758}
31759
31760type GetLoadBalancerMetricDataOutput struct {
31761	_ struct{} `type:"structure"`
31762
31763	// An array of objects that describe the metric data returned.
31764	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
31765
31766	// The name of the metric returned.
31767	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
31768}
31769
31770// String returns the string representation.
31771//
31772// API parameter values that are decorated as "sensitive" in the API will not
31773// be included in the string output. The member name will be present, but the
31774// value will be replaced with "sensitive".
31775func (s GetLoadBalancerMetricDataOutput) String() string {
31776	return awsutil.Prettify(s)
31777}
31778
31779// GoString returns the string representation.
31780//
31781// API parameter values that are decorated as "sensitive" in the API will not
31782// be included in the string output. The member name will be present, but the
31783// value will be replaced with "sensitive".
31784func (s GetLoadBalancerMetricDataOutput) GoString() string {
31785	return s.String()
31786}
31787
31788// SetMetricData sets the MetricData field's value.
31789func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
31790	s.MetricData = v
31791	return s
31792}
31793
31794// SetMetricName sets the MetricName field's value.
31795func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
31796	s.MetricName = &v
31797	return s
31798}
31799
31800type GetLoadBalancerOutput struct {
31801	_ struct{} `type:"structure"`
31802
31803	// An object containing information about your load balancer.
31804	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
31805}
31806
31807// String returns the string representation.
31808//
31809// API parameter values that are decorated as "sensitive" in the API will not
31810// be included in the string output. The member name will be present, but the
31811// value will be replaced with "sensitive".
31812func (s GetLoadBalancerOutput) String() string {
31813	return awsutil.Prettify(s)
31814}
31815
31816// GoString returns the string representation.
31817//
31818// API parameter values that are decorated as "sensitive" in the API will not
31819// be included in the string output. The member name will be present, but the
31820// value will be replaced with "sensitive".
31821func (s GetLoadBalancerOutput) GoString() string {
31822	return s.String()
31823}
31824
31825// SetLoadBalancer sets the LoadBalancer field's value.
31826func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
31827	s.LoadBalancer = v
31828	return s
31829}
31830
31831type GetLoadBalancerTlsCertificatesInput struct {
31832	_ struct{} `type:"structure"`
31833
31834	// The name of the load balancer you associated with your SSL/TLS certificate.
31835	//
31836	// LoadBalancerName is a required field
31837	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
31838}
31839
31840// String returns the string representation.
31841//
31842// API parameter values that are decorated as "sensitive" in the API will not
31843// be included in the string output. The member name will be present, but the
31844// value will be replaced with "sensitive".
31845func (s GetLoadBalancerTlsCertificatesInput) String() string {
31846	return awsutil.Prettify(s)
31847}
31848
31849// GoString returns the string representation.
31850//
31851// API parameter values that are decorated as "sensitive" in the API will not
31852// be included in the string output. The member name will be present, but the
31853// value will be replaced with "sensitive".
31854func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
31855	return s.String()
31856}
31857
31858// Validate inspects the fields of the type to determine if they are valid.
31859func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
31860	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
31861	if s.LoadBalancerName == nil {
31862		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
31863	}
31864
31865	if invalidParams.Len() > 0 {
31866		return invalidParams
31867	}
31868	return nil
31869}
31870
31871// SetLoadBalancerName sets the LoadBalancerName field's value.
31872func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
31873	s.LoadBalancerName = &v
31874	return s
31875}
31876
31877type GetLoadBalancerTlsCertificatesOutput struct {
31878	_ struct{} `type:"structure"`
31879
31880	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
31881	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
31882}
31883
31884// String returns the string representation.
31885//
31886// API parameter values that are decorated as "sensitive" in the API will not
31887// be included in the string output. The member name will be present, but the
31888// value will be replaced with "sensitive".
31889func (s GetLoadBalancerTlsCertificatesOutput) String() string {
31890	return awsutil.Prettify(s)
31891}
31892
31893// GoString returns the string representation.
31894//
31895// API parameter values that are decorated as "sensitive" in the API will not
31896// be included in the string output. The member name will be present, but the
31897// value will be replaced with "sensitive".
31898func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
31899	return s.String()
31900}
31901
31902// SetTlsCertificates sets the TlsCertificates field's value.
31903func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
31904	s.TlsCertificates = v
31905	return s
31906}
31907
31908type GetLoadBalancersInput struct {
31909	_ struct{} `type:"structure"`
31910
31911	// The token to advance to the next page of results from your request.
31912	//
31913	// To get a page token, perform an initial GetLoadBalancers request. If your
31914	// results are paginated, the response will return a next page token that you
31915	// can specify as the page token in a subsequent request.
31916	PageToken *string `locationName:"pageToken" type:"string"`
31917}
31918
31919// String returns the string representation.
31920//
31921// API parameter values that are decorated as "sensitive" in the API will not
31922// be included in the string output. The member name will be present, but the
31923// value will be replaced with "sensitive".
31924func (s GetLoadBalancersInput) String() string {
31925	return awsutil.Prettify(s)
31926}
31927
31928// GoString returns the string representation.
31929//
31930// API parameter values that are decorated as "sensitive" in the API will not
31931// be included in the string output. The member name will be present, but the
31932// value will be replaced with "sensitive".
31933func (s GetLoadBalancersInput) GoString() string {
31934	return s.String()
31935}
31936
31937// SetPageToken sets the PageToken field's value.
31938func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
31939	s.PageToken = &v
31940	return s
31941}
31942
31943type GetLoadBalancersOutput struct {
31944	_ struct{} `type:"structure"`
31945
31946	// An array of LoadBalancer objects describing your load balancers.
31947	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
31948
31949	// The token to advance to the next page of results from your request.
31950	//
31951	// A next page token is not returned if there are no more results to display.
31952	//
31953	// To get the next page of results, perform another GetLoadBalancers request
31954	// and specify the next page token using the pageToken parameter.
31955	NextPageToken *string `locationName:"nextPageToken" type:"string"`
31956}
31957
31958// String returns the string representation.
31959//
31960// API parameter values that are decorated as "sensitive" in the API will not
31961// be included in the string output. The member name will be present, but the
31962// value will be replaced with "sensitive".
31963func (s GetLoadBalancersOutput) String() string {
31964	return awsutil.Prettify(s)
31965}
31966
31967// GoString returns the string representation.
31968//
31969// API parameter values that are decorated as "sensitive" in the API will not
31970// be included in the string output. The member name will be present, but the
31971// value will be replaced with "sensitive".
31972func (s GetLoadBalancersOutput) GoString() string {
31973	return s.String()
31974}
31975
31976// SetLoadBalancers sets the LoadBalancers field's value.
31977func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
31978	s.LoadBalancers = v
31979	return s
31980}
31981
31982// SetNextPageToken sets the NextPageToken field's value.
31983func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
31984	s.NextPageToken = &v
31985	return s
31986}
31987
31988type GetOperationInput struct {
31989	_ struct{} `type:"structure"`
31990
31991	// A GUID used to identify the operation.
31992	//
31993	// OperationId is a required field
31994	OperationId *string `locationName:"operationId" type:"string" required:"true"`
31995}
31996
31997// String returns the string representation.
31998//
31999// API parameter values that are decorated as "sensitive" in the API will not
32000// be included in the string output. The member name will be present, but the
32001// value will be replaced with "sensitive".
32002func (s GetOperationInput) String() string {
32003	return awsutil.Prettify(s)
32004}
32005
32006// GoString returns the string representation.
32007//
32008// API parameter values that are decorated as "sensitive" in the API will not
32009// be included in the string output. The member name will be present, but the
32010// value will be replaced with "sensitive".
32011func (s GetOperationInput) GoString() string {
32012	return s.String()
32013}
32014
32015// Validate inspects the fields of the type to determine if they are valid.
32016func (s *GetOperationInput) Validate() error {
32017	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
32018	if s.OperationId == nil {
32019		invalidParams.Add(request.NewErrParamRequired("OperationId"))
32020	}
32021
32022	if invalidParams.Len() > 0 {
32023		return invalidParams
32024	}
32025	return nil
32026}
32027
32028// SetOperationId sets the OperationId field's value.
32029func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
32030	s.OperationId = &v
32031	return s
32032}
32033
32034type GetOperationOutput struct {
32035	_ struct{} `type:"structure"`
32036
32037	// An array of objects that describe the result of the action, such as the status
32038	// of the request, the timestamp of the request, and the resources affected
32039	// by the request.
32040	Operation *Operation `locationName:"operation" type:"structure"`
32041}
32042
32043// String returns the string representation.
32044//
32045// API parameter values that are decorated as "sensitive" in the API will not
32046// be included in the string output. The member name will be present, but the
32047// value will be replaced with "sensitive".
32048func (s GetOperationOutput) String() string {
32049	return awsutil.Prettify(s)
32050}
32051
32052// GoString returns the string representation.
32053//
32054// API parameter values that are decorated as "sensitive" in the API will not
32055// be included in the string output. The member name will be present, but the
32056// value will be replaced with "sensitive".
32057func (s GetOperationOutput) GoString() string {
32058	return s.String()
32059}
32060
32061// SetOperation sets the Operation field's value.
32062func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
32063	s.Operation = v
32064	return s
32065}
32066
32067type GetOperationsForResourceInput struct {
32068	_ struct{} `type:"structure"`
32069
32070	// The token to advance to the next page of results from your request.
32071	//
32072	// To get a page token, perform an initial GetOperationsForResource request.
32073	// If your results are paginated, the response will return a next page token
32074	// that you can specify as the page token in a subsequent request.
32075	PageToken *string `locationName:"pageToken" type:"string"`
32076
32077	// The name of the resource for which you are requesting information.
32078	//
32079	// ResourceName is a required field
32080	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
32081}
32082
32083// String returns the string representation.
32084//
32085// API parameter values that are decorated as "sensitive" in the API will not
32086// be included in the string output. The member name will be present, but the
32087// value will be replaced with "sensitive".
32088func (s GetOperationsForResourceInput) String() string {
32089	return awsutil.Prettify(s)
32090}
32091
32092// GoString returns the string representation.
32093//
32094// API parameter values that are decorated as "sensitive" in the API will not
32095// be included in the string output. The member name will be present, but the
32096// value will be replaced with "sensitive".
32097func (s GetOperationsForResourceInput) GoString() string {
32098	return s.String()
32099}
32100
32101// Validate inspects the fields of the type to determine if they are valid.
32102func (s *GetOperationsForResourceInput) Validate() error {
32103	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
32104	if s.ResourceName == nil {
32105		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
32106	}
32107
32108	if invalidParams.Len() > 0 {
32109		return invalidParams
32110	}
32111	return nil
32112}
32113
32114// SetPageToken sets the PageToken field's value.
32115func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
32116	s.PageToken = &v
32117	return s
32118}
32119
32120// SetResourceName sets the ResourceName field's value.
32121func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
32122	s.ResourceName = &v
32123	return s
32124}
32125
32126type GetOperationsForResourceOutput struct {
32127	_ struct{} `type:"structure"`
32128
32129	// (Deprecated) Returns the number of pages of results that remain.
32130	//
32131	// In releases prior to June 12, 2017, this parameter returned null by the API.
32132	// It is now deprecated, and the API returns the next page token parameter instead.
32133	//
32134	// Deprecated: NextPageCount has been deprecated
32135	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
32136
32137	// The token to advance to the next page of results from your request.
32138	//
32139	// A next page token is not returned if there are no more results to display.
32140	//
32141	// To get the next page of results, perform another GetOperationsForResource
32142	// request and specify the next page token using the pageToken parameter.
32143	NextPageToken *string `locationName:"nextPageToken" type:"string"`
32144
32145	// An array of objects that describe the result of the action, such as the status
32146	// of the request, the timestamp of the request, and the resources affected
32147	// by the request.
32148	Operations []*Operation `locationName:"operations" type:"list"`
32149}
32150
32151// String returns the string representation.
32152//
32153// API parameter values that are decorated as "sensitive" in the API will not
32154// be included in the string output. The member name will be present, but the
32155// value will be replaced with "sensitive".
32156func (s GetOperationsForResourceOutput) String() string {
32157	return awsutil.Prettify(s)
32158}
32159
32160// GoString returns the string representation.
32161//
32162// API parameter values that are decorated as "sensitive" in the API will not
32163// be included in the string output. The member name will be present, but the
32164// value will be replaced with "sensitive".
32165func (s GetOperationsForResourceOutput) GoString() string {
32166	return s.String()
32167}
32168
32169// SetNextPageCount sets the NextPageCount field's value.
32170func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
32171	s.NextPageCount = &v
32172	return s
32173}
32174
32175// SetNextPageToken sets the NextPageToken field's value.
32176func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
32177	s.NextPageToken = &v
32178	return s
32179}
32180
32181// SetOperations sets the Operations field's value.
32182func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
32183	s.Operations = v
32184	return s
32185}
32186
32187type GetOperationsInput struct {
32188	_ struct{} `type:"structure"`
32189
32190	// The token to advance to the next page of results from your request.
32191	//
32192	// To get a page token, perform an initial GetOperations request. If your results
32193	// are paginated, the response will return a next page token that you can specify
32194	// as the page token in a subsequent request.
32195	PageToken *string `locationName:"pageToken" type:"string"`
32196}
32197
32198// String returns the string representation.
32199//
32200// API parameter values that are decorated as "sensitive" in the API will not
32201// be included in the string output. The member name will be present, but the
32202// value will be replaced with "sensitive".
32203func (s GetOperationsInput) String() string {
32204	return awsutil.Prettify(s)
32205}
32206
32207// GoString returns the string representation.
32208//
32209// API parameter values that are decorated as "sensitive" in the API will not
32210// be included in the string output. The member name will be present, but the
32211// value will be replaced with "sensitive".
32212func (s GetOperationsInput) GoString() string {
32213	return s.String()
32214}
32215
32216// SetPageToken sets the PageToken field's value.
32217func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
32218	s.PageToken = &v
32219	return s
32220}
32221
32222type GetOperationsOutput struct {
32223	_ struct{} `type:"structure"`
32224
32225	// The token to advance to the next page of results from your request.
32226	//
32227	// A next page token is not returned if there are no more results to display.
32228	//
32229	// To get the next page of results, perform another GetOperations request and
32230	// specify the next page token using the pageToken parameter.
32231	NextPageToken *string `locationName:"nextPageToken" type:"string"`
32232
32233	// An array of objects that describe the result of the action, such as the status
32234	// of the request, the timestamp of the request, and the resources affected
32235	// by the request.
32236	Operations []*Operation `locationName:"operations" type:"list"`
32237}
32238
32239// String returns the string representation.
32240//
32241// API parameter values that are decorated as "sensitive" in the API will not
32242// be included in the string output. The member name will be present, but the
32243// value will be replaced with "sensitive".
32244func (s GetOperationsOutput) String() string {
32245	return awsutil.Prettify(s)
32246}
32247
32248// GoString returns the string representation.
32249//
32250// API parameter values that are decorated as "sensitive" in the API will not
32251// be included in the string output. The member name will be present, but the
32252// value will be replaced with "sensitive".
32253func (s GetOperationsOutput) GoString() string {
32254	return s.String()
32255}
32256
32257// SetNextPageToken sets the NextPageToken field's value.
32258func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
32259	s.NextPageToken = &v
32260	return s
32261}
32262
32263// SetOperations sets the Operations field's value.
32264func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
32265	s.Operations = v
32266	return s
32267}
32268
32269type GetRegionsInput struct {
32270	_ struct{} `type:"structure"`
32271
32272	// A Boolean value indicating whether to also include Availability Zones in
32273	// your get regions request. Availability Zones are indicated with a letter:
32274	// e.g., us-east-2a.
32275	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
32276
32277	// A Boolean value indicating whether to also include Availability Zones for
32278	// databases in your get regions request. Availability Zones are indicated with
32279	// a letter (e.g., us-east-2a).
32280	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
32281}
32282
32283// String returns the string representation.
32284//
32285// API parameter values that are decorated as "sensitive" in the API will not
32286// be included in the string output. The member name will be present, but the
32287// value will be replaced with "sensitive".
32288func (s GetRegionsInput) String() string {
32289	return awsutil.Prettify(s)
32290}
32291
32292// GoString returns the string representation.
32293//
32294// API parameter values that are decorated as "sensitive" in the API will not
32295// be included in the string output. The member name will be present, but the
32296// value will be replaced with "sensitive".
32297func (s GetRegionsInput) GoString() string {
32298	return s.String()
32299}
32300
32301// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
32302func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
32303	s.IncludeAvailabilityZones = &v
32304	return s
32305}
32306
32307// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
32308func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
32309	s.IncludeRelationalDatabaseAvailabilityZones = &v
32310	return s
32311}
32312
32313type GetRegionsOutput struct {
32314	_ struct{} `type:"structure"`
32315
32316	// An array of key-value pairs containing information about your get regions
32317	// request.
32318	Regions []*Region `locationName:"regions" type:"list"`
32319}
32320
32321// String returns the string representation.
32322//
32323// API parameter values that are decorated as "sensitive" in the API will not
32324// be included in the string output. The member name will be present, but the
32325// value will be replaced with "sensitive".
32326func (s GetRegionsOutput) String() string {
32327	return awsutil.Prettify(s)
32328}
32329
32330// GoString returns the string representation.
32331//
32332// API parameter values that are decorated as "sensitive" in the API will not
32333// be included in the string output. The member name will be present, but the
32334// value will be replaced with "sensitive".
32335func (s GetRegionsOutput) GoString() string {
32336	return s.String()
32337}
32338
32339// SetRegions sets the Regions field's value.
32340func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
32341	s.Regions = v
32342	return s
32343}
32344
32345type GetRelationalDatabaseBlueprintsInput struct {
32346	_ struct{} `type:"structure"`
32347
32348	// The token to advance to the next page of results from your request.
32349	//
32350	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
32351	// If your results are paginated, the response will return a next page token
32352	// that you can specify as the page token in a subsequent request.
32353	PageToken *string `locationName:"pageToken" type:"string"`
32354}
32355
32356// String returns the string representation.
32357//
32358// API parameter values that are decorated as "sensitive" in the API will not
32359// be included in the string output. The member name will be present, but the
32360// value will be replaced with "sensitive".
32361func (s GetRelationalDatabaseBlueprintsInput) String() string {
32362	return awsutil.Prettify(s)
32363}
32364
32365// GoString returns the string representation.
32366//
32367// API parameter values that are decorated as "sensitive" in the API will not
32368// be included in the string output. The member name will be present, but the
32369// value will be replaced with "sensitive".
32370func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
32371	return s.String()
32372}
32373
32374// SetPageToken sets the PageToken field's value.
32375func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
32376	s.PageToken = &v
32377	return s
32378}
32379
32380type GetRelationalDatabaseBlueprintsOutput struct {
32381	_ struct{} `type:"structure"`
32382
32383	// An object describing the result of your get relational database blueprints
32384	// request.
32385	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
32386
32387	// The token to advance to the next page of results from your request.
32388	//
32389	// A next page token is not returned if there are no more results to display.
32390	//
32391	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
32392	// request and specify the next page token using the pageToken parameter.
32393	NextPageToken *string `locationName:"nextPageToken" type:"string"`
32394}
32395
32396// String returns the string representation.
32397//
32398// API parameter values that are decorated as "sensitive" in the API will not
32399// be included in the string output. The member name will be present, but the
32400// value will be replaced with "sensitive".
32401func (s GetRelationalDatabaseBlueprintsOutput) String() string {
32402	return awsutil.Prettify(s)
32403}
32404
32405// GoString returns the string representation.
32406//
32407// API parameter values that are decorated as "sensitive" in the API will not
32408// be included in the string output. The member name will be present, but the
32409// value will be replaced with "sensitive".
32410func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
32411	return s.String()
32412}
32413
32414// SetBlueprints sets the Blueprints field's value.
32415func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
32416	s.Blueprints = v
32417	return s
32418}
32419
32420// SetNextPageToken sets the NextPageToken field's value.
32421func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
32422	s.NextPageToken = &v
32423	return s
32424}
32425
32426type GetRelationalDatabaseBundlesInput struct {
32427	_ struct{} `type:"structure"`
32428
32429	// The token to advance to the next page of results from your request.
32430	//
32431	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
32432	// If your results are paginated, the response will return a next page token
32433	// that you can specify as the page token in a subsequent request.
32434	PageToken *string `locationName:"pageToken" type:"string"`
32435}
32436
32437// String returns the string representation.
32438//
32439// API parameter values that are decorated as "sensitive" in the API will not
32440// be included in the string output. The member name will be present, but the
32441// value will be replaced with "sensitive".
32442func (s GetRelationalDatabaseBundlesInput) String() string {
32443	return awsutil.Prettify(s)
32444}
32445
32446// GoString returns the string representation.
32447//
32448// API parameter values that are decorated as "sensitive" in the API will not
32449// be included in the string output. The member name will be present, but the
32450// value will be replaced with "sensitive".
32451func (s GetRelationalDatabaseBundlesInput) GoString() string {
32452	return s.String()
32453}
32454
32455// SetPageToken sets the PageToken field's value.
32456func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
32457	s.PageToken = &v
32458	return s
32459}
32460
32461type GetRelationalDatabaseBundlesOutput struct {
32462	_ struct{} `type:"structure"`
32463
32464	// An object describing the result of your get relational database bundles request.
32465	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
32466
32467	// The token to advance to the next page of results from your request.
32468	//
32469	// A next page token is not returned if there are no more results to display.
32470	//
32471	// To get the next page of results, perform another GetRelationalDatabaseBundles
32472	// request and specify the next page token using the pageToken parameter.
32473	NextPageToken *string `locationName:"nextPageToken" type:"string"`
32474}
32475
32476// String returns the string representation.
32477//
32478// API parameter values that are decorated as "sensitive" in the API will not
32479// be included in the string output. The member name will be present, but the
32480// value will be replaced with "sensitive".
32481func (s GetRelationalDatabaseBundlesOutput) String() string {
32482	return awsutil.Prettify(s)
32483}
32484
32485// GoString returns the string representation.
32486//
32487// API parameter values that are decorated as "sensitive" in the API will not
32488// be included in the string output. The member name will be present, but the
32489// value will be replaced with "sensitive".
32490func (s GetRelationalDatabaseBundlesOutput) GoString() string {
32491	return s.String()
32492}
32493
32494// SetBundles sets the Bundles field's value.
32495func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
32496	s.Bundles = v
32497	return s
32498}
32499
32500// SetNextPageToken sets the NextPageToken field's value.
32501func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
32502	s.NextPageToken = &v
32503	return s
32504}
32505
32506type GetRelationalDatabaseEventsInput struct {
32507	_ struct{} `type:"structure"`
32508
32509	// The number of minutes in the past from which to retrieve events. For example,
32510	// to get all events from the past 2 hours, enter 120.
32511	//
32512	// Default: 60
32513	//
32514	// The minimum is 1 and the maximum is 14 days (20160 minutes).
32515	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
32516
32517	// The token to advance to the next page of results from your request.
32518	//
32519	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
32520	// If your results are paginated, the response will return a next page token
32521	// that you can specify as the page token in a subsequent request.
32522	PageToken *string `locationName:"pageToken" type:"string"`
32523
32524	// The name of the database from which to get events.
32525	//
32526	// RelationalDatabaseName is a required field
32527	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32528}
32529
32530// String returns the string representation.
32531//
32532// API parameter values that are decorated as "sensitive" in the API will not
32533// be included in the string output. The member name will be present, but the
32534// value will be replaced with "sensitive".
32535func (s GetRelationalDatabaseEventsInput) String() string {
32536	return awsutil.Prettify(s)
32537}
32538
32539// GoString returns the string representation.
32540//
32541// API parameter values that are decorated as "sensitive" in the API will not
32542// be included in the string output. The member name will be present, but the
32543// value will be replaced with "sensitive".
32544func (s GetRelationalDatabaseEventsInput) GoString() string {
32545	return s.String()
32546}
32547
32548// Validate inspects the fields of the type to determine if they are valid.
32549func (s *GetRelationalDatabaseEventsInput) Validate() error {
32550	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
32551	if s.RelationalDatabaseName == nil {
32552		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32553	}
32554
32555	if invalidParams.Len() > 0 {
32556		return invalidParams
32557	}
32558	return nil
32559}
32560
32561// SetDurationInMinutes sets the DurationInMinutes field's value.
32562func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
32563	s.DurationInMinutes = &v
32564	return s
32565}
32566
32567// SetPageToken sets the PageToken field's value.
32568func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
32569	s.PageToken = &v
32570	return s
32571}
32572
32573// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32574func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
32575	s.RelationalDatabaseName = &v
32576	return s
32577}
32578
32579type GetRelationalDatabaseEventsOutput struct {
32580	_ struct{} `type:"structure"`
32581
32582	// The token to advance to the next page of results from your request.
32583	//
32584	// A next page token is not returned if there are no more results to display.
32585	//
32586	// To get the next page of results, perform another GetRelationalDatabaseEvents
32587	// request and specify the next page token using the pageToken parameter.
32588	NextPageToken *string `locationName:"nextPageToken" type:"string"`
32589
32590	// An object describing the result of your get relational database events request.
32591	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
32592}
32593
32594// String returns the string representation.
32595//
32596// API parameter values that are decorated as "sensitive" in the API will not
32597// be included in the string output. The member name will be present, but the
32598// value will be replaced with "sensitive".
32599func (s GetRelationalDatabaseEventsOutput) String() string {
32600	return awsutil.Prettify(s)
32601}
32602
32603// GoString returns the string representation.
32604//
32605// API parameter values that are decorated as "sensitive" in the API will not
32606// be included in the string output. The member name will be present, but the
32607// value will be replaced with "sensitive".
32608func (s GetRelationalDatabaseEventsOutput) GoString() string {
32609	return s.String()
32610}
32611
32612// SetNextPageToken sets the NextPageToken field's value.
32613func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
32614	s.NextPageToken = &v
32615	return s
32616}
32617
32618// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
32619func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
32620	s.RelationalDatabaseEvents = v
32621	return s
32622}
32623
32624type GetRelationalDatabaseInput struct {
32625	_ struct{} `type:"structure"`
32626
32627	// The name of the database that you are looking up.
32628	//
32629	// RelationalDatabaseName is a required field
32630	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32631}
32632
32633// String returns the string representation.
32634//
32635// API parameter values that are decorated as "sensitive" in the API will not
32636// be included in the string output. The member name will be present, but the
32637// value will be replaced with "sensitive".
32638func (s GetRelationalDatabaseInput) String() string {
32639	return awsutil.Prettify(s)
32640}
32641
32642// GoString returns the string representation.
32643//
32644// API parameter values that are decorated as "sensitive" in the API will not
32645// be included in the string output. The member name will be present, but the
32646// value will be replaced with "sensitive".
32647func (s GetRelationalDatabaseInput) GoString() string {
32648	return s.String()
32649}
32650
32651// Validate inspects the fields of the type to determine if they are valid.
32652func (s *GetRelationalDatabaseInput) Validate() error {
32653	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
32654	if s.RelationalDatabaseName == nil {
32655		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32656	}
32657
32658	if invalidParams.Len() > 0 {
32659		return invalidParams
32660	}
32661	return nil
32662}
32663
32664// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32665func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
32666	s.RelationalDatabaseName = &v
32667	return s
32668}
32669
32670type GetRelationalDatabaseLogEventsInput struct {
32671	_ struct{} `type:"structure"`
32672
32673	// The end of the time interval from which to get log events.
32674	//
32675	// Constraints:
32676	//
32677	//    * Specified in Coordinated Universal Time (UTC).
32678	//
32679	//    * Specified in the Unix time format. For example, if you wish to use an
32680	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
32681	//    the end time.
32682	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
32683
32684	// The name of the log stream.
32685	//
32686	// Use the get relational database log streams operation to get a list of available
32687	// log streams.
32688	//
32689	// LogStreamName is a required field
32690	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
32691
32692	// The token to advance to the next or previous page of results from your request.
32693	//
32694	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
32695	// If your results are paginated, the response will return a next forward token
32696	// and/or next backward token that you can specify as the page token in a subsequent
32697	// request.
32698	PageToken *string `locationName:"pageToken" type:"string"`
32699
32700	// The name of your database for which to get log events.
32701	//
32702	// RelationalDatabaseName is a required field
32703	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32704
32705	// Parameter to specify if the log should start from head or tail. If true is
32706	// specified, the log event starts from the head of the log. If false is specified,
32707	// the log event starts from the tail of the log.
32708	//
32709	// For PostgreSQL, the default value of false is the only option available.
32710	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
32711
32712	// The start of the time interval from which to get log events.
32713	//
32714	// Constraints:
32715	//
32716	//    * Specified in Coordinated Universal Time (UTC).
32717	//
32718	//    * Specified in the Unix time format. For example, if you wish to use a
32719	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
32720	//    as the start time.
32721	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
32722}
32723
32724// String returns the string representation.
32725//
32726// API parameter values that are decorated as "sensitive" in the API will not
32727// be included in the string output. The member name will be present, but the
32728// value will be replaced with "sensitive".
32729func (s GetRelationalDatabaseLogEventsInput) String() string {
32730	return awsutil.Prettify(s)
32731}
32732
32733// GoString returns the string representation.
32734//
32735// API parameter values that are decorated as "sensitive" in the API will not
32736// be included in the string output. The member name will be present, but the
32737// value will be replaced with "sensitive".
32738func (s GetRelationalDatabaseLogEventsInput) GoString() string {
32739	return s.String()
32740}
32741
32742// Validate inspects the fields of the type to determine if they are valid.
32743func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
32744	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
32745	if s.LogStreamName == nil {
32746		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
32747	}
32748	if s.RelationalDatabaseName == nil {
32749		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32750	}
32751
32752	if invalidParams.Len() > 0 {
32753		return invalidParams
32754	}
32755	return nil
32756}
32757
32758// SetEndTime sets the EndTime field's value.
32759func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
32760	s.EndTime = &v
32761	return s
32762}
32763
32764// SetLogStreamName sets the LogStreamName field's value.
32765func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
32766	s.LogStreamName = &v
32767	return s
32768}
32769
32770// SetPageToken sets the PageToken field's value.
32771func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
32772	s.PageToken = &v
32773	return s
32774}
32775
32776// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32777func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
32778	s.RelationalDatabaseName = &v
32779	return s
32780}
32781
32782// SetStartFromHead sets the StartFromHead field's value.
32783func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
32784	s.StartFromHead = &v
32785	return s
32786}
32787
32788// SetStartTime sets the StartTime field's value.
32789func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
32790	s.StartTime = &v
32791	return s
32792}
32793
32794type GetRelationalDatabaseLogEventsOutput struct {
32795	_ struct{} `type:"structure"`
32796
32797	// A token used for advancing to the previous page of results from your get
32798	// relational database log events request.
32799	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
32800
32801	// A token used for advancing to the next page of results from your get relational
32802	// database log events request.
32803	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
32804
32805	// An object describing the result of your get relational database log events
32806	// request.
32807	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
32808}
32809
32810// String returns the string representation.
32811//
32812// API parameter values that are decorated as "sensitive" in the API will not
32813// be included in the string output. The member name will be present, but the
32814// value will be replaced with "sensitive".
32815func (s GetRelationalDatabaseLogEventsOutput) String() string {
32816	return awsutil.Prettify(s)
32817}
32818
32819// GoString returns the string representation.
32820//
32821// API parameter values that are decorated as "sensitive" in the API will not
32822// be included in the string output. The member name will be present, but the
32823// value will be replaced with "sensitive".
32824func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
32825	return s.String()
32826}
32827
32828// SetNextBackwardToken sets the NextBackwardToken field's value.
32829func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
32830	s.NextBackwardToken = &v
32831	return s
32832}
32833
32834// SetNextForwardToken sets the NextForwardToken field's value.
32835func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
32836	s.NextForwardToken = &v
32837	return s
32838}
32839
32840// SetResourceLogEvents sets the ResourceLogEvents field's value.
32841func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
32842	s.ResourceLogEvents = v
32843	return s
32844}
32845
32846type GetRelationalDatabaseLogStreamsInput struct {
32847	_ struct{} `type:"structure"`
32848
32849	// The name of your database for which to get log streams.
32850	//
32851	// RelationalDatabaseName is a required field
32852	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32853}
32854
32855// String returns the string representation.
32856//
32857// API parameter values that are decorated as "sensitive" in the API will not
32858// be included in the string output. The member name will be present, but the
32859// value will be replaced with "sensitive".
32860func (s GetRelationalDatabaseLogStreamsInput) String() string {
32861	return awsutil.Prettify(s)
32862}
32863
32864// GoString returns the string representation.
32865//
32866// API parameter values that are decorated as "sensitive" in the API will not
32867// be included in the string output. The member name will be present, but the
32868// value will be replaced with "sensitive".
32869func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
32870	return s.String()
32871}
32872
32873// Validate inspects the fields of the type to determine if they are valid.
32874func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
32875	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
32876	if s.RelationalDatabaseName == nil {
32877		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32878	}
32879
32880	if invalidParams.Len() > 0 {
32881		return invalidParams
32882	}
32883	return nil
32884}
32885
32886// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32887func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
32888	s.RelationalDatabaseName = &v
32889	return s
32890}
32891
32892type GetRelationalDatabaseLogStreamsOutput struct {
32893	_ struct{} `type:"structure"`
32894
32895	// An object describing the result of your get relational database log streams
32896	// request.
32897	LogStreams []*string `locationName:"logStreams" type:"list"`
32898}
32899
32900// String returns the string representation.
32901//
32902// API parameter values that are decorated as "sensitive" in the API will not
32903// be included in the string output. The member name will be present, but the
32904// value will be replaced with "sensitive".
32905func (s GetRelationalDatabaseLogStreamsOutput) String() string {
32906	return awsutil.Prettify(s)
32907}
32908
32909// GoString returns the string representation.
32910//
32911// API parameter values that are decorated as "sensitive" in the API will not
32912// be included in the string output. The member name will be present, but the
32913// value will be replaced with "sensitive".
32914func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
32915	return s.String()
32916}
32917
32918// SetLogStreams sets the LogStreams field's value.
32919func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
32920	s.LogStreams = v
32921	return s
32922}
32923
32924type GetRelationalDatabaseMasterUserPasswordInput struct {
32925	_ struct{} `type:"structure"`
32926
32927	// The password version to return.
32928	//
32929	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
32930	// respectively. Specifying PENDING returns the newest version of the password
32931	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
32932	// the PENDING password is no longer available.
32933	//
32934	// Default: CURRENT
32935	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
32936
32937	// The name of your database for which to get the master user password.
32938	//
32939	// RelationalDatabaseName is a required field
32940	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32941}
32942
32943// String returns the string representation.
32944//
32945// API parameter values that are decorated as "sensitive" in the API will not
32946// be included in the string output. The member name will be present, but the
32947// value will be replaced with "sensitive".
32948func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
32949	return awsutil.Prettify(s)
32950}
32951
32952// GoString returns the string representation.
32953//
32954// API parameter values that are decorated as "sensitive" in the API will not
32955// be included in the string output. The member name will be present, but the
32956// value will be replaced with "sensitive".
32957func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
32958	return s.String()
32959}
32960
32961// Validate inspects the fields of the type to determine if they are valid.
32962func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
32963	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
32964	if s.RelationalDatabaseName == nil {
32965		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32966	}
32967
32968	if invalidParams.Len() > 0 {
32969		return invalidParams
32970	}
32971	return nil
32972}
32973
32974// SetPasswordVersion sets the PasswordVersion field's value.
32975func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
32976	s.PasswordVersion = &v
32977	return s
32978}
32979
32980// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32981func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
32982	s.RelationalDatabaseName = &v
32983	return s
32984}
32985
32986type GetRelationalDatabaseMasterUserPasswordOutput struct {
32987	_ struct{} `type:"structure"`
32988
32989	// The timestamp when the specified version of the master user password was
32990	// created.
32991	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
32992
32993	// The master user password for the password version specified.
32994	//
32995	// MasterUserPassword is a sensitive parameter and its value will be
32996	// replaced with "sensitive" in string returned by GetRelationalDatabaseMasterUserPasswordOutput's
32997	// String and GoString methods.
32998	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
32999}
33000
33001// String returns the string representation.
33002//
33003// API parameter values that are decorated as "sensitive" in the API will not
33004// be included in the string output. The member name will be present, but the
33005// value will be replaced with "sensitive".
33006func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
33007	return awsutil.Prettify(s)
33008}
33009
33010// GoString returns the string representation.
33011//
33012// API parameter values that are decorated as "sensitive" in the API will not
33013// be included in the string output. The member name will be present, but the
33014// value will be replaced with "sensitive".
33015func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
33016	return s.String()
33017}
33018
33019// SetCreatedAt sets the CreatedAt field's value.
33020func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
33021	s.CreatedAt = &v
33022	return s
33023}
33024
33025// SetMasterUserPassword sets the MasterUserPassword field's value.
33026func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
33027	s.MasterUserPassword = &v
33028	return s
33029}
33030
33031type GetRelationalDatabaseMetricDataInput struct {
33032	_ struct{} `type:"structure"`
33033
33034	// The end of the time interval from which to get metric data.
33035	//
33036	// Constraints:
33037	//
33038	//    * Specified in Coordinated Universal Time (UTC).
33039	//
33040	//    * Specified in the Unix time format. For example, if you wish to use an
33041	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
33042	//    the end time.
33043	//
33044	// EndTime is a required field
33045	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
33046
33047	// The metric for which you want to return information.
33048	//
33049	// Valid relational database metric names are listed below, along with the most
33050	// useful statistics to include in your request, and the published unit value.
33051	// All relational database metric data is available in 1-minute (60 seconds)
33052	// granularity.
33053	//
33054	//    * CPUUtilization - The percentage of CPU utilization currently in use
33055	//    on the database. Statistics: The most useful statistics are Maximum and
33056	//    Average. Unit: The published unit is Percent.
33057	//
33058	//    * DatabaseConnections - The number of database connections in use. Statistics:
33059	//    The most useful statistics are Maximum and Sum. Unit: The published unit
33060	//    is Count.
33061	//
33062	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
33063	//    that are waiting to access the disk. Statistics: The most useful statistic
33064	//    is Sum. Unit: The published unit is Count.
33065	//
33066	//    * FreeStorageSpace - The amount of available storage space. Statistics:
33067	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
33068	//
33069	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
33070	//    the database, including both customer database traffic and AWS traffic
33071	//    used for monitoring and replication. Statistics: The most useful statistic
33072	//    is Average. Unit: The published unit is Bytes/Second.
33073	//
33074	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
33075	//    on the database, including both customer database traffic and AWS traffic
33076	//    used for monitoring and replication. Statistics: The most useful statistic
33077	//    is Average. Unit: The published unit is Bytes/Second.
33078	//
33079	// MetricName is a required field
33080	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
33081
33082	// The granularity, in seconds, of the returned data points.
33083	//
33084	// All relational database metric data is available in 1-minute (60 seconds)
33085	// granularity.
33086	//
33087	// Period is a required field
33088	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
33089
33090	// The name of your database from which to get metric data.
33091	//
33092	// RelationalDatabaseName is a required field
33093	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
33094
33095	// The start of the time interval from which to get metric data.
33096	//
33097	// Constraints:
33098	//
33099	//    * Specified in Coordinated Universal Time (UTC).
33100	//
33101	//    * Specified in the Unix time format. For example, if you wish to use a
33102	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
33103	//    as the start time.
33104	//
33105	// StartTime is a required field
33106	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
33107
33108	// The statistic for the metric.
33109	//
33110	// The following statistics are available:
33111	//
33112	//    * Minimum - The lowest value observed during the specified period. Use
33113	//    this value to determine low volumes of activity for your application.
33114	//
33115	//    * Maximum - The highest value observed during the specified period. Use
33116	//    this value to determine high volumes of activity for your application.
33117	//
33118	//    * Sum - All values submitted for the matching metric added together. You
33119	//    can use this statistic to determine the total volume of a metric.
33120	//
33121	//    * Average - The value of Sum / SampleCount during the specified period.
33122	//    By comparing this statistic with the Minimum and Maximum values, you can
33123	//    determine the full scope of a metric and how close the average use is
33124	//    to the Minimum and Maximum values. This comparison helps you to know when
33125	//    to increase or decrease your resources.
33126	//
33127	//    * SampleCount - The count, or number, of data points used for the statistical
33128	//    calculation.
33129	//
33130	// Statistics is a required field
33131	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
33132
33133	// The unit for the metric data request. Valid units depend on the metric data
33134	// being requested. For the valid units with each available metric, see the
33135	// metricName parameter.
33136	//
33137	// Unit is a required field
33138	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
33139}
33140
33141// String returns the string representation.
33142//
33143// API parameter values that are decorated as "sensitive" in the API will not
33144// be included in the string output. The member name will be present, but the
33145// value will be replaced with "sensitive".
33146func (s GetRelationalDatabaseMetricDataInput) String() string {
33147	return awsutil.Prettify(s)
33148}
33149
33150// GoString returns the string representation.
33151//
33152// API parameter values that are decorated as "sensitive" in the API will not
33153// be included in the string output. The member name will be present, but the
33154// value will be replaced with "sensitive".
33155func (s GetRelationalDatabaseMetricDataInput) GoString() string {
33156	return s.String()
33157}
33158
33159// Validate inspects the fields of the type to determine if they are valid.
33160func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
33161	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
33162	if s.EndTime == nil {
33163		invalidParams.Add(request.NewErrParamRequired("EndTime"))
33164	}
33165	if s.MetricName == nil {
33166		invalidParams.Add(request.NewErrParamRequired("MetricName"))
33167	}
33168	if s.Period == nil {
33169		invalidParams.Add(request.NewErrParamRequired("Period"))
33170	}
33171	if s.Period != nil && *s.Period < 60 {
33172		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
33173	}
33174	if s.RelationalDatabaseName == nil {
33175		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
33176	}
33177	if s.StartTime == nil {
33178		invalidParams.Add(request.NewErrParamRequired("StartTime"))
33179	}
33180	if s.Statistics == nil {
33181		invalidParams.Add(request.NewErrParamRequired("Statistics"))
33182	}
33183	if s.Unit == nil {
33184		invalidParams.Add(request.NewErrParamRequired("Unit"))
33185	}
33186
33187	if invalidParams.Len() > 0 {
33188		return invalidParams
33189	}
33190	return nil
33191}
33192
33193// SetEndTime sets the EndTime field's value.
33194func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
33195	s.EndTime = &v
33196	return s
33197}
33198
33199// SetMetricName sets the MetricName field's value.
33200func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
33201	s.MetricName = &v
33202	return s
33203}
33204
33205// SetPeriod sets the Period field's value.
33206func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
33207	s.Period = &v
33208	return s
33209}
33210
33211// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
33212func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
33213	s.RelationalDatabaseName = &v
33214	return s
33215}
33216
33217// SetStartTime sets the StartTime field's value.
33218func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
33219	s.StartTime = &v
33220	return s
33221}
33222
33223// SetStatistics sets the Statistics field's value.
33224func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
33225	s.Statistics = v
33226	return s
33227}
33228
33229// SetUnit sets the Unit field's value.
33230func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
33231	s.Unit = &v
33232	return s
33233}
33234
33235type GetRelationalDatabaseMetricDataOutput struct {
33236	_ struct{} `type:"structure"`
33237
33238	// An array of objects that describe the metric data returned.
33239	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
33240
33241	// The name of the metric returned.
33242	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
33243}
33244
33245// String returns the string representation.
33246//
33247// API parameter values that are decorated as "sensitive" in the API will not
33248// be included in the string output. The member name will be present, but the
33249// value will be replaced with "sensitive".
33250func (s GetRelationalDatabaseMetricDataOutput) String() string {
33251	return awsutil.Prettify(s)
33252}
33253
33254// GoString returns the string representation.
33255//
33256// API parameter values that are decorated as "sensitive" in the API will not
33257// be included in the string output. The member name will be present, but the
33258// value will be replaced with "sensitive".
33259func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
33260	return s.String()
33261}
33262
33263// SetMetricData sets the MetricData field's value.
33264func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
33265	s.MetricData = v
33266	return s
33267}
33268
33269// SetMetricName sets the MetricName field's value.
33270func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
33271	s.MetricName = &v
33272	return s
33273}
33274
33275type GetRelationalDatabaseOutput struct {
33276	_ struct{} `type:"structure"`
33277
33278	// An object describing the specified database.
33279	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
33280}
33281
33282// String returns the string representation.
33283//
33284// API parameter values that are decorated as "sensitive" in the API will not
33285// be included in the string output. The member name will be present, but the
33286// value will be replaced with "sensitive".
33287func (s GetRelationalDatabaseOutput) String() string {
33288	return awsutil.Prettify(s)
33289}
33290
33291// GoString returns the string representation.
33292//
33293// API parameter values that are decorated as "sensitive" in the API will not
33294// be included in the string output. The member name will be present, but the
33295// value will be replaced with "sensitive".
33296func (s GetRelationalDatabaseOutput) GoString() string {
33297	return s.String()
33298}
33299
33300// SetRelationalDatabase sets the RelationalDatabase field's value.
33301func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
33302	s.RelationalDatabase = v
33303	return s
33304}
33305
33306type GetRelationalDatabaseParametersInput struct {
33307	_ struct{} `type:"structure"`
33308
33309	// The token to advance to the next page of results from your request.
33310	//
33311	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
33312	// If your results are paginated, the response will return a next page token
33313	// that you can specify as the page token in a subsequent request.
33314	PageToken *string `locationName:"pageToken" type:"string"`
33315
33316	// The name of your database for which to get parameters.
33317	//
33318	// RelationalDatabaseName is a required field
33319	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
33320}
33321
33322// String returns the string representation.
33323//
33324// API parameter values that are decorated as "sensitive" in the API will not
33325// be included in the string output. The member name will be present, but the
33326// value will be replaced with "sensitive".
33327func (s GetRelationalDatabaseParametersInput) String() string {
33328	return awsutil.Prettify(s)
33329}
33330
33331// GoString returns the string representation.
33332//
33333// API parameter values that are decorated as "sensitive" in the API will not
33334// be included in the string output. The member name will be present, but the
33335// value will be replaced with "sensitive".
33336func (s GetRelationalDatabaseParametersInput) GoString() string {
33337	return s.String()
33338}
33339
33340// Validate inspects the fields of the type to determine if they are valid.
33341func (s *GetRelationalDatabaseParametersInput) Validate() error {
33342	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
33343	if s.RelationalDatabaseName == nil {
33344		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
33345	}
33346
33347	if invalidParams.Len() > 0 {
33348		return invalidParams
33349	}
33350	return nil
33351}
33352
33353// SetPageToken sets the PageToken field's value.
33354func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
33355	s.PageToken = &v
33356	return s
33357}
33358
33359// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
33360func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
33361	s.RelationalDatabaseName = &v
33362	return s
33363}
33364
33365type GetRelationalDatabaseParametersOutput struct {
33366	_ struct{} `type:"structure"`
33367
33368	// The token to advance to the next page of results from your request.
33369	//
33370	// A next page token is not returned if there are no more results to display.
33371	//
33372	// To get the next page of results, perform another GetRelationalDatabaseParameters
33373	// request and specify the next page token using the pageToken parameter.
33374	NextPageToken *string `locationName:"nextPageToken" type:"string"`
33375
33376	// An object describing the result of your get relational database parameters
33377	// request.
33378	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
33379}
33380
33381// String returns the string representation.
33382//
33383// API parameter values that are decorated as "sensitive" in the API will not
33384// be included in the string output. The member name will be present, but the
33385// value will be replaced with "sensitive".
33386func (s GetRelationalDatabaseParametersOutput) String() string {
33387	return awsutil.Prettify(s)
33388}
33389
33390// GoString returns the string representation.
33391//
33392// API parameter values that are decorated as "sensitive" in the API will not
33393// be included in the string output. The member name will be present, but the
33394// value will be replaced with "sensitive".
33395func (s GetRelationalDatabaseParametersOutput) GoString() string {
33396	return s.String()
33397}
33398
33399// SetNextPageToken sets the NextPageToken field's value.
33400func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
33401	s.NextPageToken = &v
33402	return s
33403}
33404
33405// SetParameters sets the Parameters field's value.
33406func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
33407	s.Parameters = v
33408	return s
33409}
33410
33411type GetRelationalDatabaseSnapshotInput struct {
33412	_ struct{} `type:"structure"`
33413
33414	// The name of the database snapshot for which to get information.
33415	//
33416	// RelationalDatabaseSnapshotName is a required field
33417	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
33418}
33419
33420// String returns the string representation.
33421//
33422// API parameter values that are decorated as "sensitive" in the API will not
33423// be included in the string output. The member name will be present, but the
33424// value will be replaced with "sensitive".
33425func (s GetRelationalDatabaseSnapshotInput) String() string {
33426	return awsutil.Prettify(s)
33427}
33428
33429// GoString returns the string representation.
33430//
33431// API parameter values that are decorated as "sensitive" in the API will not
33432// be included in the string output. The member name will be present, but the
33433// value will be replaced with "sensitive".
33434func (s GetRelationalDatabaseSnapshotInput) GoString() string {
33435	return s.String()
33436}
33437
33438// Validate inspects the fields of the type to determine if they are valid.
33439func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
33440	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
33441	if s.RelationalDatabaseSnapshotName == nil {
33442		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
33443	}
33444
33445	if invalidParams.Len() > 0 {
33446		return invalidParams
33447	}
33448	return nil
33449}
33450
33451// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
33452func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
33453	s.RelationalDatabaseSnapshotName = &v
33454	return s
33455}
33456
33457type GetRelationalDatabaseSnapshotOutput struct {
33458	_ struct{} `type:"structure"`
33459
33460	// An object describing the specified database snapshot.
33461	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
33462}
33463
33464// String returns the string representation.
33465//
33466// API parameter values that are decorated as "sensitive" in the API will not
33467// be included in the string output. The member name will be present, but the
33468// value will be replaced with "sensitive".
33469func (s GetRelationalDatabaseSnapshotOutput) String() string {
33470	return awsutil.Prettify(s)
33471}
33472
33473// GoString returns the string representation.
33474//
33475// API parameter values that are decorated as "sensitive" in the API will not
33476// be included in the string output. The member name will be present, but the
33477// value will be replaced with "sensitive".
33478func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
33479	return s.String()
33480}
33481
33482// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
33483func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
33484	s.RelationalDatabaseSnapshot = v
33485	return s
33486}
33487
33488type GetRelationalDatabaseSnapshotsInput struct {
33489	_ struct{} `type:"structure"`
33490
33491	// The token to advance to the next page of results from your request.
33492	//
33493	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
33494	// If your results are paginated, the response will return a next page token
33495	// that you can specify as the page token in a subsequent request.
33496	PageToken *string `locationName:"pageToken" type:"string"`
33497}
33498
33499// String returns the string representation.
33500//
33501// API parameter values that are decorated as "sensitive" in the API will not
33502// be included in the string output. The member name will be present, but the
33503// value will be replaced with "sensitive".
33504func (s GetRelationalDatabaseSnapshotsInput) String() string {
33505	return awsutil.Prettify(s)
33506}
33507
33508// GoString returns the string representation.
33509//
33510// API parameter values that are decorated as "sensitive" in the API will not
33511// be included in the string output. The member name will be present, but the
33512// value will be replaced with "sensitive".
33513func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
33514	return s.String()
33515}
33516
33517// SetPageToken sets the PageToken field's value.
33518func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
33519	s.PageToken = &v
33520	return s
33521}
33522
33523type GetRelationalDatabaseSnapshotsOutput struct {
33524	_ struct{} `type:"structure"`
33525
33526	// The token to advance to the next page of results from your request.
33527	//
33528	// A next page token is not returned if there are no more results to display.
33529	//
33530	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
33531	// request and specify the next page token using the pageToken parameter.
33532	NextPageToken *string `locationName:"nextPageToken" type:"string"`
33533
33534	// An object describing the result of your get relational database snapshots
33535	// request.
33536	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
33537}
33538
33539// String returns the string representation.
33540//
33541// API parameter values that are decorated as "sensitive" in the API will not
33542// be included in the string output. The member name will be present, but the
33543// value will be replaced with "sensitive".
33544func (s GetRelationalDatabaseSnapshotsOutput) String() string {
33545	return awsutil.Prettify(s)
33546}
33547
33548// GoString returns the string representation.
33549//
33550// API parameter values that are decorated as "sensitive" in the API will not
33551// be included in the string output. The member name will be present, but the
33552// value will be replaced with "sensitive".
33553func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
33554	return s.String()
33555}
33556
33557// SetNextPageToken sets the NextPageToken field's value.
33558func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
33559	s.NextPageToken = &v
33560	return s
33561}
33562
33563// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
33564func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
33565	s.RelationalDatabaseSnapshots = v
33566	return s
33567}
33568
33569type GetRelationalDatabasesInput struct {
33570	_ struct{} `type:"structure"`
33571
33572	// The token to advance to the next page of results from your request.
33573	//
33574	// To get a page token, perform an initial GetRelationalDatabases request. If
33575	// your results are paginated, the response will return a next page token that
33576	// you can specify as the page token in a subsequent request.
33577	PageToken *string `locationName:"pageToken" type:"string"`
33578}
33579
33580// String returns the string representation.
33581//
33582// API parameter values that are decorated as "sensitive" in the API will not
33583// be included in the string output. The member name will be present, but the
33584// value will be replaced with "sensitive".
33585func (s GetRelationalDatabasesInput) String() string {
33586	return awsutil.Prettify(s)
33587}
33588
33589// GoString returns the string representation.
33590//
33591// API parameter values that are decorated as "sensitive" in the API will not
33592// be included in the string output. The member name will be present, but the
33593// value will be replaced with "sensitive".
33594func (s GetRelationalDatabasesInput) GoString() string {
33595	return s.String()
33596}
33597
33598// SetPageToken sets the PageToken field's value.
33599func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
33600	s.PageToken = &v
33601	return s
33602}
33603
33604type GetRelationalDatabasesOutput struct {
33605	_ struct{} `type:"structure"`
33606
33607	// The token to advance to the next page of results from your request.
33608	//
33609	// A next page token is not returned if there are no more results to display.
33610	//
33611	// To get the next page of results, perform another GetRelationalDatabases request
33612	// and specify the next page token using the pageToken parameter.
33613	NextPageToken *string `locationName:"nextPageToken" type:"string"`
33614
33615	// An object describing the result of your get relational databases request.
33616	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
33617}
33618
33619// String returns the string representation.
33620//
33621// API parameter values that are decorated as "sensitive" in the API will not
33622// be included in the string output. The member name will be present, but the
33623// value will be replaced with "sensitive".
33624func (s GetRelationalDatabasesOutput) String() string {
33625	return awsutil.Prettify(s)
33626}
33627
33628// GoString returns the string representation.
33629//
33630// API parameter values that are decorated as "sensitive" in the API will not
33631// be included in the string output. The member name will be present, but the
33632// value will be replaced with "sensitive".
33633func (s GetRelationalDatabasesOutput) GoString() string {
33634	return s.String()
33635}
33636
33637// SetNextPageToken sets the NextPageToken field's value.
33638func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
33639	s.NextPageToken = &v
33640	return s
33641}
33642
33643// SetRelationalDatabases sets the RelationalDatabases field's value.
33644func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
33645	s.RelationalDatabases = v
33646	return s
33647}
33648
33649type GetStaticIpInput struct {
33650	_ struct{} `type:"structure"`
33651
33652	// The name of the static IP in Lightsail.
33653	//
33654	// StaticIpName is a required field
33655	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
33656}
33657
33658// String returns the string representation.
33659//
33660// API parameter values that are decorated as "sensitive" in the API will not
33661// be included in the string output. The member name will be present, but the
33662// value will be replaced with "sensitive".
33663func (s GetStaticIpInput) String() string {
33664	return awsutil.Prettify(s)
33665}
33666
33667// GoString returns the string representation.
33668//
33669// API parameter values that are decorated as "sensitive" in the API will not
33670// be included in the string output. The member name will be present, but the
33671// value will be replaced with "sensitive".
33672func (s GetStaticIpInput) GoString() string {
33673	return s.String()
33674}
33675
33676// Validate inspects the fields of the type to determine if they are valid.
33677func (s *GetStaticIpInput) Validate() error {
33678	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
33679	if s.StaticIpName == nil {
33680		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
33681	}
33682
33683	if invalidParams.Len() > 0 {
33684		return invalidParams
33685	}
33686	return nil
33687}
33688
33689// SetStaticIpName sets the StaticIpName field's value.
33690func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
33691	s.StaticIpName = &v
33692	return s
33693}
33694
33695type GetStaticIpOutput struct {
33696	_ struct{} `type:"structure"`
33697
33698	// An array of key-value pairs containing information about the requested static
33699	// IP.
33700	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
33701}
33702
33703// String returns the string representation.
33704//
33705// API parameter values that are decorated as "sensitive" in the API will not
33706// be included in the string output. The member name will be present, but the
33707// value will be replaced with "sensitive".
33708func (s GetStaticIpOutput) String() string {
33709	return awsutil.Prettify(s)
33710}
33711
33712// GoString returns the string representation.
33713//
33714// API parameter values that are decorated as "sensitive" in the API will not
33715// be included in the string output. The member name will be present, but the
33716// value will be replaced with "sensitive".
33717func (s GetStaticIpOutput) GoString() string {
33718	return s.String()
33719}
33720
33721// SetStaticIp sets the StaticIp field's value.
33722func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
33723	s.StaticIp = v
33724	return s
33725}
33726
33727type GetStaticIpsInput struct {
33728	_ struct{} `type:"structure"`
33729
33730	// The token to advance to the next page of results from your request.
33731	//
33732	// To get a page token, perform an initial GetStaticIps request. If your results
33733	// are paginated, the response will return a next page token that you can specify
33734	// as the page token in a subsequent request.
33735	PageToken *string `locationName:"pageToken" type:"string"`
33736}
33737
33738// String returns the string representation.
33739//
33740// API parameter values that are decorated as "sensitive" in the API will not
33741// be included in the string output. The member name will be present, but the
33742// value will be replaced with "sensitive".
33743func (s GetStaticIpsInput) String() string {
33744	return awsutil.Prettify(s)
33745}
33746
33747// GoString returns the string representation.
33748//
33749// API parameter values that are decorated as "sensitive" in the API will not
33750// be included in the string output. The member name will be present, but the
33751// value will be replaced with "sensitive".
33752func (s GetStaticIpsInput) GoString() string {
33753	return s.String()
33754}
33755
33756// SetPageToken sets the PageToken field's value.
33757func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
33758	s.PageToken = &v
33759	return s
33760}
33761
33762type GetStaticIpsOutput struct {
33763	_ struct{} `type:"structure"`
33764
33765	// The token to advance to the next page of results from your request.
33766	//
33767	// A next page token is not returned if there are no more results to display.
33768	//
33769	// To get the next page of results, perform another GetStaticIps request and
33770	// specify the next page token using the pageToken parameter.
33771	NextPageToken *string `locationName:"nextPageToken" type:"string"`
33772
33773	// An array of key-value pairs containing information about your get static
33774	// IPs request.
33775	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
33776}
33777
33778// String returns the string representation.
33779//
33780// API parameter values that are decorated as "sensitive" in the API will not
33781// be included in the string output. The member name will be present, but the
33782// value will be replaced with "sensitive".
33783func (s GetStaticIpsOutput) String() string {
33784	return awsutil.Prettify(s)
33785}
33786
33787// GoString returns the string representation.
33788//
33789// API parameter values that are decorated as "sensitive" in the API will not
33790// be included in the string output. The member name will be present, but the
33791// value will be replaced with "sensitive".
33792func (s GetStaticIpsOutput) GoString() string {
33793	return s.String()
33794}
33795
33796// SetNextPageToken sets the NextPageToken field's value.
33797func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
33798	s.NextPageToken = &v
33799	return s
33800}
33801
33802// SetStaticIps sets the StaticIps field's value.
33803func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
33804	s.StaticIps = v
33805	return s
33806}
33807
33808// Describes the request headers that a Lightsail distribution bases caching
33809// on.
33810//
33811// For the headers that you specify, your distribution caches separate versions
33812// of the specified content based on the header values in viewer requests. For
33813// example, suppose viewer requests for logo.jpg contain a custom product header
33814// that has a value of either acme or apex, and you configure your distribution
33815// to cache your content based on values in the product header. Your distribution
33816// forwards the product header to the origin and caches the response from the
33817// origin once for each header value.
33818type HeaderObject struct {
33819	_ struct{} `type:"structure"`
33820
33821	// The specific headers to forward to your distribution's origin.
33822	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
33823
33824	// The headers that you want your distribution to forward to your origin and
33825	// base caching on.
33826	//
33827	// You can configure your distribution to do one of the following:
33828	//
33829	//    * all - Forward all headers to your origin.
33830	//
33831	//    * none - Forward only the default headers.
33832	//
33833	//    * allow-list - Forward only the headers you specify using the headersAllowList
33834	//    parameter.
33835	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
33836}
33837
33838// String returns the string representation.
33839//
33840// API parameter values that are decorated as "sensitive" in the API will not
33841// be included in the string output. The member name will be present, but the
33842// value will be replaced with "sensitive".
33843func (s HeaderObject) String() string {
33844	return awsutil.Prettify(s)
33845}
33846
33847// GoString returns the string representation.
33848//
33849// API parameter values that are decorated as "sensitive" in the API will not
33850// be included in the string output. The member name will be present, but the
33851// value will be replaced with "sensitive".
33852func (s HeaderObject) GoString() string {
33853	return s.String()
33854}
33855
33856// SetHeadersAllowList sets the HeadersAllowList field's value.
33857func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
33858	s.HeadersAllowList = v
33859	return s
33860}
33861
33862// SetOption sets the Option field's value.
33863func (s *HeaderObject) SetOption(v string) *HeaderObject {
33864	s.Option = &v
33865	return s
33866}
33867
33868// Describes the public SSH host keys or the RDP certificate.
33869type HostKeyAttributes struct {
33870	_ struct{} `type:"structure"`
33871
33872	// The SSH host key algorithm or the RDP certificate format.
33873	//
33874	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
33875	// etc. For RDP certificates, the algorithm is always x509-cert.
33876	Algorithm *string `locationName:"algorithm" type:"string"`
33877
33878	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
33879	//
33880	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
33881	//
33882	//    * 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
33883	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
33884
33885	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
33886	//
33887	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
33888	//
33889	//    * 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
33890	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
33891
33892	// The returned RDP certificate is not valid after this point in time.
33893	//
33894	// This value is listed only for RDP certificates.
33895	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
33896
33897	// The returned RDP certificate is valid after this point in time.
33898	//
33899	// This value is listed only for RDP certificates.
33900	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
33901
33902	// The public SSH host key or the RDP certificate.
33903	PublicKey *string `locationName:"publicKey" type:"string"`
33904
33905	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
33906	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
33907}
33908
33909// String returns the string representation.
33910//
33911// API parameter values that are decorated as "sensitive" in the API will not
33912// be included in the string output. The member name will be present, but the
33913// value will be replaced with "sensitive".
33914func (s HostKeyAttributes) String() string {
33915	return awsutil.Prettify(s)
33916}
33917
33918// GoString returns the string representation.
33919//
33920// API parameter values that are decorated as "sensitive" in the API will not
33921// be included in the string output. The member name will be present, but the
33922// value will be replaced with "sensitive".
33923func (s HostKeyAttributes) GoString() string {
33924	return s.String()
33925}
33926
33927// SetAlgorithm sets the Algorithm field's value.
33928func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
33929	s.Algorithm = &v
33930	return s
33931}
33932
33933// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
33934func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
33935	s.FingerprintSHA1 = &v
33936	return s
33937}
33938
33939// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
33940func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
33941	s.FingerprintSHA256 = &v
33942	return s
33943}
33944
33945// SetNotValidAfter sets the NotValidAfter field's value.
33946func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
33947	s.NotValidAfter = &v
33948	return s
33949}
33950
33951// SetNotValidBefore sets the NotValidBefore field's value.
33952func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
33953	s.NotValidBefore = &v
33954	return s
33955}
33956
33957// SetPublicKey sets the PublicKey field's value.
33958func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
33959	s.PublicKey = &v
33960	return s
33961}
33962
33963// SetWitnessedAt sets the WitnessedAt field's value.
33964func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
33965	s.WitnessedAt = &v
33966	return s
33967}
33968
33969type ImportKeyPairInput struct {
33970	_ struct{} `type:"structure"`
33971
33972	// The name of the key pair for which you want to import the public key.
33973	//
33974	// KeyPairName is a required field
33975	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
33976
33977	// A base64-encoded public key of the ssh-rsa type.
33978	//
33979	// PublicKeyBase64 is a required field
33980	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
33981}
33982
33983// String returns the string representation.
33984//
33985// API parameter values that are decorated as "sensitive" in the API will not
33986// be included in the string output. The member name will be present, but the
33987// value will be replaced with "sensitive".
33988func (s ImportKeyPairInput) String() string {
33989	return awsutil.Prettify(s)
33990}
33991
33992// GoString returns the string representation.
33993//
33994// API parameter values that are decorated as "sensitive" in the API will not
33995// be included in the string output. The member name will be present, but the
33996// value will be replaced with "sensitive".
33997func (s ImportKeyPairInput) GoString() string {
33998	return s.String()
33999}
34000
34001// Validate inspects the fields of the type to determine if they are valid.
34002func (s *ImportKeyPairInput) Validate() error {
34003	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
34004	if s.KeyPairName == nil {
34005		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
34006	}
34007	if s.PublicKeyBase64 == nil {
34008		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
34009	}
34010
34011	if invalidParams.Len() > 0 {
34012		return invalidParams
34013	}
34014	return nil
34015}
34016
34017// SetKeyPairName sets the KeyPairName field's value.
34018func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
34019	s.KeyPairName = &v
34020	return s
34021}
34022
34023// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
34024func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
34025	s.PublicKeyBase64 = &v
34026	return s
34027}
34028
34029type ImportKeyPairOutput struct {
34030	_ struct{} `type:"structure"`
34031
34032	// An array of objects that describe the result of the action, such as the status
34033	// of the request, the timestamp of the request, and the resources affected
34034	// by the request.
34035	Operation *Operation `locationName:"operation" type:"structure"`
34036}
34037
34038// String returns the string representation.
34039//
34040// API parameter values that are decorated as "sensitive" in the API will not
34041// be included in the string output. The member name will be present, but the
34042// value will be replaced with "sensitive".
34043func (s ImportKeyPairOutput) String() string {
34044	return awsutil.Prettify(s)
34045}
34046
34047// GoString returns the string representation.
34048//
34049// API parameter values that are decorated as "sensitive" in the API will not
34050// be included in the string output. The member name will be present, but the
34051// value will be replaced with "sensitive".
34052func (s ImportKeyPairOutput) GoString() string {
34053	return s.String()
34054}
34055
34056// SetOperation sets the Operation field's value.
34057func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
34058	s.Operation = v
34059	return s
34060}
34061
34062// Describes the origin resource of an Amazon Lightsail content delivery network
34063// (CDN) distribution.
34064//
34065// An origin can be a Lightsail instance or load balancer. A distribution pulls
34066// content from an origin, caches it, and serves it to viewers via a worldwide
34067// network of edge servers.
34068type InputOrigin struct {
34069	_ struct{} `type:"structure"`
34070
34071	// The name of the origin resource.
34072	Name *string `locationName:"name" type:"string"`
34073
34074	// The protocol that your Amazon Lightsail distribution uses when establishing
34075	// a connection with your origin to pull content.
34076	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
34077
34078	// The AWS Region name of the origin resource.
34079	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
34080}
34081
34082// String returns the string representation.
34083//
34084// API parameter values that are decorated as "sensitive" in the API will not
34085// be included in the string output. The member name will be present, but the
34086// value will be replaced with "sensitive".
34087func (s InputOrigin) String() string {
34088	return awsutil.Prettify(s)
34089}
34090
34091// GoString returns the string representation.
34092//
34093// API parameter values that are decorated as "sensitive" in the API will not
34094// be included in the string output. The member name will be present, but the
34095// value will be replaced with "sensitive".
34096func (s InputOrigin) GoString() string {
34097	return s.String()
34098}
34099
34100// SetName sets the Name field's value.
34101func (s *InputOrigin) SetName(v string) *InputOrigin {
34102	s.Name = &v
34103	return s
34104}
34105
34106// SetProtocolPolicy sets the ProtocolPolicy field's value.
34107func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
34108	s.ProtocolPolicy = &v
34109	return s
34110}
34111
34112// SetRegionName sets the RegionName field's value.
34113func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
34114	s.RegionName = &v
34115	return s
34116}
34117
34118// Describes an instance (a virtual private server).
34119type Instance struct {
34120	_ struct{} `type:"structure"`
34121
34122	// An array of objects representing the add-ons enabled on the instance.
34123	AddOns []*AddOn `locationName:"addOns" type:"list"`
34124
34125	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
34126	Arn *string `locationName:"arn" type:"string"`
34127
34128	// The blueprint ID (e.g., os_amlinux_2016_03).
34129	BlueprintId *string `locationName:"blueprintId" type:"string"`
34130
34131	// The friendly name of the blueprint (e.g., Amazon Linux).
34132	BlueprintName *string `locationName:"blueprintName" type:"string"`
34133
34134	// The bundle for the instance (e.g., micro_1_0).
34135	BundleId *string `locationName:"bundleId" type:"string"`
34136
34137	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
34138	// time format.
34139	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
34140
34141	// The size of the vCPU and the amount of RAM for the instance.
34142	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
34143
34144	// The IP address type of the instance.
34145	//
34146	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
34147	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
34148
34149	// The IPv6 addresses of the instance.
34150	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
34151
34152	// A Boolean value indicating whether this instance has a static IP assigned
34153	// to it.
34154	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
34155
34156	// The region name and Availability Zone where the instance is located.
34157	Location *ResourceLocation `locationName:"location" type:"structure"`
34158
34159	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
34160	Name *string `locationName:"name" type:"string"`
34161
34162	// Information about the public ports and monthly data transfer rates for the
34163	// instance.
34164	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
34165
34166	// The private IP address of the instance.
34167	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
34168
34169	// The public IP address of the instance.
34170	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
34171
34172	// The type of resource (usually Instance).
34173	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34174
34175	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
34176	SshKeyName *string `locationName:"sshKeyName" type:"string"`
34177
34178	// The status code and the state (e.g., running) for the instance.
34179	State *InstanceState `locationName:"state" type:"structure"`
34180
34181	// The support code. Include this code in your email to support when you have
34182	// questions about an instance or another resource in Lightsail. This code enables
34183	// our support team to look up your Lightsail information more easily.
34184	SupportCode *string `locationName:"supportCode" type:"string"`
34185
34186	// The tag keys and optional values for the resource. For more information about
34187	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
34188	Tags []*Tag `locationName:"tags" type:"list"`
34189
34190	// The user name for connecting to the instance (e.g., ec2-user).
34191	Username *string `locationName:"username" type:"string"`
34192}
34193
34194// String returns the string representation.
34195//
34196// API parameter values that are decorated as "sensitive" in the API will not
34197// be included in the string output. The member name will be present, but the
34198// value will be replaced with "sensitive".
34199func (s Instance) String() string {
34200	return awsutil.Prettify(s)
34201}
34202
34203// GoString returns the string representation.
34204//
34205// API parameter values that are decorated as "sensitive" in the API will not
34206// be included in the string output. The member name will be present, but the
34207// value will be replaced with "sensitive".
34208func (s Instance) GoString() string {
34209	return s.String()
34210}
34211
34212// SetAddOns sets the AddOns field's value.
34213func (s *Instance) SetAddOns(v []*AddOn) *Instance {
34214	s.AddOns = v
34215	return s
34216}
34217
34218// SetArn sets the Arn field's value.
34219func (s *Instance) SetArn(v string) *Instance {
34220	s.Arn = &v
34221	return s
34222}
34223
34224// SetBlueprintId sets the BlueprintId field's value.
34225func (s *Instance) SetBlueprintId(v string) *Instance {
34226	s.BlueprintId = &v
34227	return s
34228}
34229
34230// SetBlueprintName sets the BlueprintName field's value.
34231func (s *Instance) SetBlueprintName(v string) *Instance {
34232	s.BlueprintName = &v
34233	return s
34234}
34235
34236// SetBundleId sets the BundleId field's value.
34237func (s *Instance) SetBundleId(v string) *Instance {
34238	s.BundleId = &v
34239	return s
34240}
34241
34242// SetCreatedAt sets the CreatedAt field's value.
34243func (s *Instance) SetCreatedAt(v time.Time) *Instance {
34244	s.CreatedAt = &v
34245	return s
34246}
34247
34248// SetHardware sets the Hardware field's value.
34249func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
34250	s.Hardware = v
34251	return s
34252}
34253
34254// SetIpAddressType sets the IpAddressType field's value.
34255func (s *Instance) SetIpAddressType(v string) *Instance {
34256	s.IpAddressType = &v
34257	return s
34258}
34259
34260// SetIpv6Addresses sets the Ipv6Addresses field's value.
34261func (s *Instance) SetIpv6Addresses(v []*string) *Instance {
34262	s.Ipv6Addresses = v
34263	return s
34264}
34265
34266// SetIsStaticIp sets the IsStaticIp field's value.
34267func (s *Instance) SetIsStaticIp(v bool) *Instance {
34268	s.IsStaticIp = &v
34269	return s
34270}
34271
34272// SetLocation sets the Location field's value.
34273func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
34274	s.Location = v
34275	return s
34276}
34277
34278// SetName sets the Name field's value.
34279func (s *Instance) SetName(v string) *Instance {
34280	s.Name = &v
34281	return s
34282}
34283
34284// SetNetworking sets the Networking field's value.
34285func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
34286	s.Networking = v
34287	return s
34288}
34289
34290// SetPrivateIpAddress sets the PrivateIpAddress field's value.
34291func (s *Instance) SetPrivateIpAddress(v string) *Instance {
34292	s.PrivateIpAddress = &v
34293	return s
34294}
34295
34296// SetPublicIpAddress sets the PublicIpAddress field's value.
34297func (s *Instance) SetPublicIpAddress(v string) *Instance {
34298	s.PublicIpAddress = &v
34299	return s
34300}
34301
34302// SetResourceType sets the ResourceType field's value.
34303func (s *Instance) SetResourceType(v string) *Instance {
34304	s.ResourceType = &v
34305	return s
34306}
34307
34308// SetSshKeyName sets the SshKeyName field's value.
34309func (s *Instance) SetSshKeyName(v string) *Instance {
34310	s.SshKeyName = &v
34311	return s
34312}
34313
34314// SetState sets the State field's value.
34315func (s *Instance) SetState(v *InstanceState) *Instance {
34316	s.State = v
34317	return s
34318}
34319
34320// SetSupportCode sets the SupportCode field's value.
34321func (s *Instance) SetSupportCode(v string) *Instance {
34322	s.SupportCode = &v
34323	return s
34324}
34325
34326// SetTags sets the Tags field's value.
34327func (s *Instance) SetTags(v []*Tag) *Instance {
34328	s.Tags = v
34329	return s
34330}
34331
34332// SetUsername sets the Username field's value.
34333func (s *Instance) SetUsername(v string) *Instance {
34334	s.Username = &v
34335	return s
34336}
34337
34338// The parameters for gaining temporary access to one of your Amazon Lightsail
34339// instances.
34340type InstanceAccessDetails struct {
34341	_ struct{} `type:"structure"`
34342
34343	// For SSH access, the public key to use when accessing your instance For OpenSSH
34344	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
34345	CertKey *string `locationName:"certKey" type:"string"`
34346
34347	// For SSH access, the date on which the temporary keys expire.
34348	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
34349
34350	// Describes the public SSH host keys or the RDP certificate.
34351	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
34352
34353	// The name of this Amazon Lightsail instance.
34354	InstanceName *string `locationName:"instanceName" type:"string"`
34355
34356	// The public IP address of the Amazon Lightsail instance.
34357	IpAddress *string `locationName:"ipAddress" type:"string"`
34358
34359	// For RDP access, the password for your Amazon Lightsail instance. Password
34360	// will be an empty string if the password for your new instance is not ready
34361	// yet. When you create an instance, it can take up to 15 minutes for the instance
34362	// to be ready.
34363	//
34364	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
34365	// password will always be an empty string.
34366	//
34367	// If you change the Administrator password on the instance, Lightsail will
34368	// continue to return the original password value. When accessing the instance
34369	// using RDP, you need to manually enter the Administrator password after changing
34370	// it from the default.
34371	Password *string `locationName:"password" type:"string"`
34372
34373	// For a Windows Server-based instance, an object with the data you can use
34374	// to retrieve your password. This is only needed if password is empty and the
34375	// instance is not new (and therefore the password is not ready yet). When you
34376	// create an instance, it can take up to 15 minutes for the instance to be ready.
34377	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
34378
34379	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
34380	// line SSH), you should save this value to tempkey).
34381	PrivateKey *string `locationName:"privateKey" type:"string"`
34382
34383	// The protocol for these Amazon Lightsail instance access details.
34384	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
34385
34386	// The user name to use when logging in to the Amazon Lightsail instance.
34387	Username *string `locationName:"username" type:"string"`
34388}
34389
34390// String returns the string representation.
34391//
34392// API parameter values that are decorated as "sensitive" in the API will not
34393// be included in the string output. The member name will be present, but the
34394// value will be replaced with "sensitive".
34395func (s InstanceAccessDetails) String() string {
34396	return awsutil.Prettify(s)
34397}
34398
34399// GoString returns the string representation.
34400//
34401// API parameter values that are decorated as "sensitive" in the API will not
34402// be included in the string output. The member name will be present, but the
34403// value will be replaced with "sensitive".
34404func (s InstanceAccessDetails) GoString() string {
34405	return s.String()
34406}
34407
34408// SetCertKey sets the CertKey field's value.
34409func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
34410	s.CertKey = &v
34411	return s
34412}
34413
34414// SetExpiresAt sets the ExpiresAt field's value.
34415func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
34416	s.ExpiresAt = &v
34417	return s
34418}
34419
34420// SetHostKeys sets the HostKeys field's value.
34421func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
34422	s.HostKeys = v
34423	return s
34424}
34425
34426// SetInstanceName sets the InstanceName field's value.
34427func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
34428	s.InstanceName = &v
34429	return s
34430}
34431
34432// SetIpAddress sets the IpAddress field's value.
34433func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
34434	s.IpAddress = &v
34435	return s
34436}
34437
34438// SetPassword sets the Password field's value.
34439func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
34440	s.Password = &v
34441	return s
34442}
34443
34444// SetPasswordData sets the PasswordData field's value.
34445func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
34446	s.PasswordData = v
34447	return s
34448}
34449
34450// SetPrivateKey sets the PrivateKey field's value.
34451func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
34452	s.PrivateKey = &v
34453	return s
34454}
34455
34456// SetProtocol sets the Protocol field's value.
34457func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
34458	s.Protocol = &v
34459	return s
34460}
34461
34462// SetUsername sets the Username field's value.
34463func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
34464	s.Username = &v
34465	return s
34466}
34467
34468// Describes the Amazon Elastic Compute Cloud instance and related resources
34469// to be created using the create cloud formation stack operation.
34470type InstanceEntry struct {
34471	_ struct{} `type:"structure"`
34472
34473	// The Availability Zone for the new Amazon EC2 instance.
34474	//
34475	// AvailabilityZone is a required field
34476	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
34477
34478	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
34479	//
34480	// InstanceType is a required field
34481	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
34482
34483	// The port configuration to use for the new Amazon EC2 instance.
34484	//
34485	// The following configuration options are available:
34486	//
34487	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
34488	//    blueprint. If this is specified, then IPv4 and IPv6 will be configured
34489	//    for the new instance that is created in Amazon EC2.
34490	//
34491	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
34492	//    instance. If this is specified, the new instance that is created in Amazon
34493	//    EC2 will be configured to match the configuration of the source Lightsail
34494	//    instance. For example, if the source instance is configured for dual-stack
34495	//    (IPv4 and IPv6), then IPv4 and IPv6 will be configured for the new instance
34496	//    that is created in Amazon EC2. If the source instance is configured for
34497	//    IPv4 only, then only IPv4 will be configured for the new instance that
34498	//    is created in Amazon EC2.
34499	//
34500	//    * NONE - Use the default Amazon EC2 security group. If this is specified,
34501	//    then only IPv4 will be configured for the new instance that is created
34502	//    in Amazon EC2.
34503	//
34504	//    * CLOSED - All ports closed. If this is specified, then only IPv4 will
34505	//    be configured for the new instance that is created in Amazon EC2.
34506	//
34507	// If you configured lightsail-connect as a cidrListAliases on your instance,
34508	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
34509	// connect to your instance, that configuration is not carried over to your
34510	// new Amazon EC2 instance.
34511	//
34512	// PortInfoSource is a required field
34513	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
34514
34515	// The name of the export snapshot record, which contains the exported Lightsail
34516	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
34517	//
34518	// Use the get export snapshot records operation to get a list of export snapshot
34519	// records that you can use to create a CloudFormation stack.
34520	//
34521	// SourceName is a required field
34522	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
34523
34524	// A launch script you can create that configures a server with additional user
34525	// data. For example, you might want to run apt-get -y update.
34526	//
34527	// Depending on the machine image you choose, the command to get software on
34528	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
34529	// use apt-get, and FreeBSD uses pkg.
34530	UserData *string `locationName:"userData" type:"string"`
34531}
34532
34533// String returns the string representation.
34534//
34535// API parameter values that are decorated as "sensitive" in the API will not
34536// be included in the string output. The member name will be present, but the
34537// value will be replaced with "sensitive".
34538func (s InstanceEntry) String() string {
34539	return awsutil.Prettify(s)
34540}
34541
34542// GoString returns the string representation.
34543//
34544// API parameter values that are decorated as "sensitive" in the API will not
34545// be included in the string output. The member name will be present, but the
34546// value will be replaced with "sensitive".
34547func (s InstanceEntry) GoString() string {
34548	return s.String()
34549}
34550
34551// Validate inspects the fields of the type to determine if they are valid.
34552func (s *InstanceEntry) Validate() error {
34553	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
34554	if s.AvailabilityZone == nil {
34555		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
34556	}
34557	if s.InstanceType == nil {
34558		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
34559	}
34560	if s.PortInfoSource == nil {
34561		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
34562	}
34563	if s.SourceName == nil {
34564		invalidParams.Add(request.NewErrParamRequired("SourceName"))
34565	}
34566
34567	if invalidParams.Len() > 0 {
34568		return invalidParams
34569	}
34570	return nil
34571}
34572
34573// SetAvailabilityZone sets the AvailabilityZone field's value.
34574func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
34575	s.AvailabilityZone = &v
34576	return s
34577}
34578
34579// SetInstanceType sets the InstanceType field's value.
34580func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
34581	s.InstanceType = &v
34582	return s
34583}
34584
34585// SetPortInfoSource sets the PortInfoSource field's value.
34586func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
34587	s.PortInfoSource = &v
34588	return s
34589}
34590
34591// SetSourceName sets the SourceName field's value.
34592func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
34593	s.SourceName = &v
34594	return s
34595}
34596
34597// SetUserData sets the UserData field's value.
34598func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
34599	s.UserData = &v
34600	return s
34601}
34602
34603// Describes the hardware for the instance.
34604type InstanceHardware struct {
34605	_ struct{} `type:"structure"`
34606
34607	// The number of vCPUs the instance has.
34608	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
34609
34610	// The disks attached to the instance.
34611	Disks []*Disk `locationName:"disks" type:"list"`
34612
34613	// The amount of RAM in GB on the instance (e.g., 1.0).
34614	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
34615}
34616
34617// String returns the string representation.
34618//
34619// API parameter values that are decorated as "sensitive" in the API will not
34620// be included in the string output. The member name will be present, but the
34621// value will be replaced with "sensitive".
34622func (s InstanceHardware) String() string {
34623	return awsutil.Prettify(s)
34624}
34625
34626// GoString returns the string representation.
34627//
34628// API parameter values that are decorated as "sensitive" in the API will not
34629// be included in the string output. The member name will be present, but the
34630// value will be replaced with "sensitive".
34631func (s InstanceHardware) GoString() string {
34632	return s.String()
34633}
34634
34635// SetCpuCount sets the CpuCount field's value.
34636func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
34637	s.CpuCount = &v
34638	return s
34639}
34640
34641// SetDisks sets the Disks field's value.
34642func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
34643	s.Disks = v
34644	return s
34645}
34646
34647// SetRamSizeInGb sets the RamSizeInGb field's value.
34648func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
34649	s.RamSizeInGb = &v
34650	return s
34651}
34652
34653// Describes information about the health of the instance.
34654type InstanceHealthSummary struct {
34655	_ struct{} `type:"structure"`
34656
34657	// Describes the overall instance health. Valid values are below.
34658	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
34659
34660	// More information about the instance health. If the instanceHealth is healthy,
34661	// then an instanceHealthReason value is not provided.
34662	//
34663	// If instanceHealth is initial, the instanceHealthReason value can be one of
34664	// the following:
34665	//
34666	//    * Lb.RegistrationInProgress - The target instance is in the process of
34667	//    being registered with the load balancer.
34668	//
34669	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
34670	//    the target instance the minimum number of health checks required to determine
34671	//    its health status.
34672	//
34673	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
34674	// of the following:
34675	//
34676	//    * Instance.ResponseCodeMismatch - The health checks did not return an
34677	//    expected HTTP code.
34678	//
34679	//    * Instance.Timeout - The health check requests timed out.
34680	//
34681	//    * Instance.FailedHealthChecks - The health checks failed because the connection
34682	//    to the target instance timed out, the target instance response was malformed,
34683	//    or the target instance failed the health check for an unknown reason.
34684	//
34685	//    * Lb.InternalError - The health checks failed due to an internal error.
34686	//
34687	// If instanceHealth is unused, the instanceHealthReason value can be one of
34688	// the following:
34689	//
34690	//    * Instance.NotRegistered - The target instance is not registered with
34691	//    the target group.
34692	//
34693	//    * Instance.NotInUse - The target group is not used by any load balancer,
34694	//    or the target instance is in an Availability Zone that is not enabled
34695	//    for its load balancer.
34696	//
34697	//    * Instance.IpUnusable - The target IP address is reserved for use by a
34698	//    Lightsail load balancer.
34699	//
34700	//    * Instance.InvalidState - The target is in the stopped or terminated state.
34701	//
34702	// If instanceHealth is draining, the instanceHealthReason value can be one
34703	// of the following:
34704	//
34705	//    * Instance.DeregistrationInProgress - The target instance is in the process
34706	//    of being deregistered and the deregistration delay period has not expired.
34707	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
34708
34709	// The name of the Lightsail instance for which you are requesting health check
34710	// data.
34711	InstanceName *string `locationName:"instanceName" type:"string"`
34712}
34713
34714// String returns the string representation.
34715//
34716// API parameter values that are decorated as "sensitive" in the API will not
34717// be included in the string output. The member name will be present, but the
34718// value will be replaced with "sensitive".
34719func (s InstanceHealthSummary) String() string {
34720	return awsutil.Prettify(s)
34721}
34722
34723// GoString returns the string representation.
34724//
34725// API parameter values that are decorated as "sensitive" in the API will not
34726// be included in the string output. The member name will be present, but the
34727// value will be replaced with "sensitive".
34728func (s InstanceHealthSummary) GoString() string {
34729	return s.String()
34730}
34731
34732// SetInstanceHealth sets the InstanceHealth field's value.
34733func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
34734	s.InstanceHealth = &v
34735	return s
34736}
34737
34738// SetInstanceHealthReason sets the InstanceHealthReason field's value.
34739func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
34740	s.InstanceHealthReason = &v
34741	return s
34742}
34743
34744// SetInstanceName sets the InstanceName field's value.
34745func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
34746	s.InstanceName = &v
34747	return s
34748}
34749
34750// Describes monthly data transfer rates and port information for an instance.
34751type InstanceNetworking struct {
34752	_ struct{} `type:"structure"`
34753
34754	// The amount of data in GB allocated for monthly data transfers.
34755	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
34756
34757	// An array of key-value pairs containing information about the ports on the
34758	// instance.
34759	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
34760}
34761
34762// String returns the string representation.
34763//
34764// API parameter values that are decorated as "sensitive" in the API will not
34765// be included in the string output. The member name will be present, but the
34766// value will be replaced with "sensitive".
34767func (s InstanceNetworking) String() string {
34768	return awsutil.Prettify(s)
34769}
34770
34771// GoString returns the string representation.
34772//
34773// API parameter values that are decorated as "sensitive" in the API will not
34774// be included in the string output. The member name will be present, but the
34775// value will be replaced with "sensitive".
34776func (s InstanceNetworking) GoString() string {
34777	return s.String()
34778}
34779
34780// SetMonthlyTransfer sets the MonthlyTransfer field's value.
34781func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
34782	s.MonthlyTransfer = v
34783	return s
34784}
34785
34786// SetPorts sets the Ports field's value.
34787func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
34788	s.Ports = v
34789	return s
34790}
34791
34792// Describes information about ports for an Amazon Lightsail instance.
34793type InstancePortInfo struct {
34794	_ struct{} `type:"structure"`
34795
34796	// The access direction (inbound or outbound).
34797	//
34798	// Lightsail currently supports only inbound access direction.
34799	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
34800
34801	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
34802	// or Custom if a specific IP address or range of IP addresses is allowed.
34803	AccessFrom *string `locationName:"accessFrom" type:"string"`
34804
34805	// The type of access (Public or Private).
34806	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
34807
34808	// An alias that defines access for a preconfigured range of IP addresses.
34809	//
34810	// The only alias currently supported is lightsail-connect, which allows IP
34811	// addresses of the browser-based RDP/SSH client in the Lightsail console to
34812	// connect to your instance.
34813	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
34814
34815	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
34816	// allowed to connect to an instance through the ports, and the protocol.
34817	//
34818	// The ipv6Cidrs parameter lists the IPv6 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	Cidrs []*string `locationName:"cidrs" type:"list"`
34825
34826	// The common name of the port information.
34827	CommonName *string `locationName:"commonName" type:"string"`
34828
34829	// The first port in a range of open ports on an instance.
34830	//
34831	// Allowed ports:
34832	//
34833	//    * TCP and UDP - 0 to 65535
34834	//
34835	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
34836	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
34837	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
34838	//    on Wikipedia.
34839	//
34840	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
34841	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
34842	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
34843	FromPort *int64 `locationName:"fromPort" type:"integer"`
34844
34845	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
34846	// allowed to connect to an instance through the ports, and the protocol. Only
34847	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
34848	// IPv4 should be used.
34849	//
34850	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
34851	// to an instance.
34852	//
34853	// For more information about CIDR block notation, see Classless Inter-Domain
34854	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
34855	// on Wikipedia.
34856	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
34857
34858	// The IP protocol name.
34859	//
34860	// The name can be one of the following:
34861	//
34862	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
34863	//    and error-checked delivery of streamed data between applications running
34864	//    on hosts communicating by an IP network. If you have an application that
34865	//    doesn't require reliable data stream service, use UDP instead.
34866	//
34867	//    * all - All transport layer protocol types. For more general information,
34868	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
34869	//    Wikipedia.
34870	//
34871	//    * udp - With User Datagram Protocol (UDP), computer applications can send
34872	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
34873	//    Prior communications are not required to set up transmission channels
34874	//    or data paths. Applications that don't require reliable data stream service
34875	//    can use UDP, which provides a connectionless datagram service that emphasizes
34876	//    reduced latency over reliability. If you do require reliable data stream
34877	//    service, use TCP instead.
34878	//
34879	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
34880	//    messages and operational information indicating success or failure when
34881	//    communicating with an instance. For example, an error is indicated when
34882	//    an instance could not be reached. When you specify icmp as the protocol,
34883	//    you must specify the ICMP type using the fromPort parameter, and ICMP
34884	//    code using the toPort parameter.
34885	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
34886
34887	// The last port in a range of open ports on an instance.
34888	//
34889	// Allowed ports:
34890	//
34891	//    * TCP and UDP - 0 to 65535
34892	//
34893	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
34894	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
34895	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
34896	//    on Wikipedia.
34897	//
34898	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
34899	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
34900	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
34901	ToPort *int64 `locationName:"toPort" type:"integer"`
34902}
34903
34904// String returns the string representation.
34905//
34906// API parameter values that are decorated as "sensitive" in the API will not
34907// be included in the string output. The member name will be present, but the
34908// value will be replaced with "sensitive".
34909func (s InstancePortInfo) String() string {
34910	return awsutil.Prettify(s)
34911}
34912
34913// GoString returns the string representation.
34914//
34915// API parameter values that are decorated as "sensitive" in the API will not
34916// be included in the string output. The member name will be present, but the
34917// value will be replaced with "sensitive".
34918func (s InstancePortInfo) GoString() string {
34919	return s.String()
34920}
34921
34922// SetAccessDirection sets the AccessDirection field's value.
34923func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
34924	s.AccessDirection = &v
34925	return s
34926}
34927
34928// SetAccessFrom sets the AccessFrom field's value.
34929func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
34930	s.AccessFrom = &v
34931	return s
34932}
34933
34934// SetAccessType sets the AccessType field's value.
34935func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
34936	s.AccessType = &v
34937	return s
34938}
34939
34940// SetCidrListAliases sets the CidrListAliases field's value.
34941func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
34942	s.CidrListAliases = v
34943	return s
34944}
34945
34946// SetCidrs sets the Cidrs field's value.
34947func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
34948	s.Cidrs = v
34949	return s
34950}
34951
34952// SetCommonName sets the CommonName field's value.
34953func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
34954	s.CommonName = &v
34955	return s
34956}
34957
34958// SetFromPort sets the FromPort field's value.
34959func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
34960	s.FromPort = &v
34961	return s
34962}
34963
34964// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
34965func (s *InstancePortInfo) SetIpv6Cidrs(v []*string) *InstancePortInfo {
34966	s.Ipv6Cidrs = v
34967	return s
34968}
34969
34970// SetProtocol sets the Protocol field's value.
34971func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
34972	s.Protocol = &v
34973	return s
34974}
34975
34976// SetToPort sets the ToPort field's value.
34977func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
34978	s.ToPort = &v
34979	return s
34980}
34981
34982// Describes open ports on an instance, the IP addresses allowed to connect
34983// to the instance through the ports, and the protocol.
34984type InstancePortState struct {
34985	_ struct{} `type:"structure"`
34986
34987	// An alias that defines access for a preconfigured range of IP addresses.
34988	//
34989	// The only alias currently supported is lightsail-connect, which allows IP
34990	// addresses of the browser-based RDP/SSH client in the Lightsail console to
34991	// connect to your instance.
34992	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
34993
34994	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
34995	// allowed to connect to an instance through the ports, and the protocol.
34996	//
34997	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
34998	// to an instance.
34999	//
35000	// For more information about CIDR block notation, see Classless Inter-Domain
35001	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
35002	// on Wikipedia.
35003	Cidrs []*string `locationName:"cidrs" type:"list"`
35004
35005	// The first port in a range of open ports on an instance.
35006	//
35007	// Allowed ports:
35008	//
35009	//    * TCP and UDP - 0 to 65535
35010	//
35011	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
35012	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
35013	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
35014	//    on Wikipedia.
35015	//
35016	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
35017	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
35018	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
35019	FromPort *int64 `locationName:"fromPort" type:"integer"`
35020
35021	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
35022	// allowed to connect to an instance through the ports, and the protocol. Only
35023	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
35024	// IPv4 should be used.
35025	//
35026	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
35027	// to an instance.
35028	//
35029	// For more information about CIDR block notation, see Classless Inter-Domain
35030	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
35031	// on Wikipedia.
35032	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
35033
35034	// The IP protocol name.
35035	//
35036	// The name can be one of the following:
35037	//
35038	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
35039	//    and error-checked delivery of streamed data between applications running
35040	//    on hosts communicating by an IP network. If you have an application that
35041	//    doesn't require reliable data stream service, use UDP instead.
35042	//
35043	//    * all - All transport layer protocol types. For more general information,
35044	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
35045	//    Wikipedia.
35046	//
35047	//    * udp - With User Datagram Protocol (UDP), computer applications can send
35048	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
35049	//    Prior communications are not required to set up transmission channels
35050	//    or data paths. Applications that don't require reliable data stream service
35051	//    can use UDP, which provides a connectionless datagram service that emphasizes
35052	//    reduced latency over reliability. If you do require reliable data stream
35053	//    service, use TCP instead.
35054	//
35055	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
35056	//    messages and operational information indicating success or failure when
35057	//    communicating with an instance. For example, an error is indicated when
35058	//    an instance could not be reached. When you specify icmp as the protocol,
35059	//    you must specify the ICMP type using the fromPort parameter, and ICMP
35060	//    code using the toPort parameter.
35061	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
35062
35063	// Specifies whether the instance port is open or closed.
35064	//
35065	// The port state for Lightsail instances is always open.
35066	State *string `locationName:"state" type:"string" enum:"PortState"`
35067
35068	// The last port in a range of open ports on an instance.
35069	//
35070	// Allowed ports:
35071	//
35072	//    * TCP and UDP - 0 to 65535
35073	//
35074	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
35075	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
35076	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
35077	//    on Wikipedia.
35078	//
35079	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
35080	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
35081	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
35082	ToPort *int64 `locationName:"toPort" type:"integer"`
35083}
35084
35085// String returns the string representation.
35086//
35087// API parameter values that are decorated as "sensitive" in the API will not
35088// be included in the string output. The member name will be present, but the
35089// value will be replaced with "sensitive".
35090func (s InstancePortState) String() string {
35091	return awsutil.Prettify(s)
35092}
35093
35094// GoString returns the string representation.
35095//
35096// API parameter values that are decorated as "sensitive" in the API will not
35097// be included in the string output. The member name will be present, but the
35098// value will be replaced with "sensitive".
35099func (s InstancePortState) GoString() string {
35100	return s.String()
35101}
35102
35103// SetCidrListAliases sets the CidrListAliases field's value.
35104func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
35105	s.CidrListAliases = v
35106	return s
35107}
35108
35109// SetCidrs sets the Cidrs field's value.
35110func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
35111	s.Cidrs = v
35112	return s
35113}
35114
35115// SetFromPort sets the FromPort field's value.
35116func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
35117	s.FromPort = &v
35118	return s
35119}
35120
35121// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
35122func (s *InstancePortState) SetIpv6Cidrs(v []*string) *InstancePortState {
35123	s.Ipv6Cidrs = v
35124	return s
35125}
35126
35127// SetProtocol sets the Protocol field's value.
35128func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
35129	s.Protocol = &v
35130	return s
35131}
35132
35133// SetState sets the State field's value.
35134func (s *InstancePortState) SetState(v string) *InstancePortState {
35135	s.State = &v
35136	return s
35137}
35138
35139// SetToPort sets the ToPort field's value.
35140func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
35141	s.ToPort = &v
35142	return s
35143}
35144
35145// Describes an instance snapshot.
35146type InstanceSnapshot struct {
35147	_ struct{} `type:"structure"`
35148
35149	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
35150	Arn *string `locationName:"arn" type:"string"`
35151
35152	// The timestamp when the snapshot was created (e.g., 1479907467.024).
35153	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
35154
35155	// An array of disk objects containing information about all block storage disks.
35156	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
35157
35158	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
35159	// A blueprint is a virtual private server (or instance) image used to create
35160	// instances quickly.
35161	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
35162
35163	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
35164	FromBundleId *string `locationName:"fromBundleId" type:"string"`
35165
35166	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
35167	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
35168	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
35169
35170	// The instance from which the snapshot was created.
35171	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
35172
35173	// A Boolean value indicating whether the snapshot was created from an automatic
35174	// snapshot.
35175	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
35176
35177	// The region name and Availability Zone where you created the snapshot.
35178	Location *ResourceLocation `locationName:"location" type:"structure"`
35179
35180	// The name of the snapshot.
35181	Name *string `locationName:"name" type:"string"`
35182
35183	// The progress of the snapshot.
35184	//
35185	// This is populated only for disk snapshots, and is null for instance snapshots.
35186	Progress *string `locationName:"progress" type:"string"`
35187
35188	// The type of resource (usually InstanceSnapshot).
35189	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
35190
35191	// The size in GB of the SSD.
35192	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
35193
35194	// The state the snapshot is in.
35195	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
35196
35197	// The support code. Include this code in your email to support when you have
35198	// questions about an instance or another resource in Lightsail. This code enables
35199	// our support team to look up your Lightsail information more easily.
35200	SupportCode *string `locationName:"supportCode" type:"string"`
35201
35202	// The tag keys and optional values for the resource. For more information about
35203	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
35204	Tags []*Tag `locationName:"tags" type:"list"`
35205}
35206
35207// String returns the string representation.
35208//
35209// API parameter values that are decorated as "sensitive" in the API will not
35210// be included in the string output. The member name will be present, but the
35211// value will be replaced with "sensitive".
35212func (s InstanceSnapshot) String() string {
35213	return awsutil.Prettify(s)
35214}
35215
35216// GoString returns the string representation.
35217//
35218// API parameter values that are decorated as "sensitive" in the API will not
35219// be included in the string output. The member name will be present, but the
35220// value will be replaced with "sensitive".
35221func (s InstanceSnapshot) GoString() string {
35222	return s.String()
35223}
35224
35225// SetArn sets the Arn field's value.
35226func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
35227	s.Arn = &v
35228	return s
35229}
35230
35231// SetCreatedAt sets the CreatedAt field's value.
35232func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
35233	s.CreatedAt = &v
35234	return s
35235}
35236
35237// SetFromAttachedDisks sets the FromAttachedDisks field's value.
35238func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
35239	s.FromAttachedDisks = v
35240	return s
35241}
35242
35243// SetFromBlueprintId sets the FromBlueprintId field's value.
35244func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
35245	s.FromBlueprintId = &v
35246	return s
35247}
35248
35249// SetFromBundleId sets the FromBundleId field's value.
35250func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
35251	s.FromBundleId = &v
35252	return s
35253}
35254
35255// SetFromInstanceArn sets the FromInstanceArn field's value.
35256func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
35257	s.FromInstanceArn = &v
35258	return s
35259}
35260
35261// SetFromInstanceName sets the FromInstanceName field's value.
35262func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
35263	s.FromInstanceName = &v
35264	return s
35265}
35266
35267// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
35268func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
35269	s.IsFromAutoSnapshot = &v
35270	return s
35271}
35272
35273// SetLocation sets the Location field's value.
35274func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
35275	s.Location = v
35276	return s
35277}
35278
35279// SetName sets the Name field's value.
35280func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
35281	s.Name = &v
35282	return s
35283}
35284
35285// SetProgress sets the Progress field's value.
35286func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
35287	s.Progress = &v
35288	return s
35289}
35290
35291// SetResourceType sets the ResourceType field's value.
35292func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
35293	s.ResourceType = &v
35294	return s
35295}
35296
35297// SetSizeInGb sets the SizeInGb field's value.
35298func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
35299	s.SizeInGb = &v
35300	return s
35301}
35302
35303// SetState sets the State field's value.
35304func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
35305	s.State = &v
35306	return s
35307}
35308
35309// SetSupportCode sets the SupportCode field's value.
35310func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
35311	s.SupportCode = &v
35312	return s
35313}
35314
35315// SetTags sets the Tags field's value.
35316func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
35317	s.Tags = v
35318	return s
35319}
35320
35321// Describes an instance snapshot.
35322type InstanceSnapshotInfo struct {
35323	_ struct{} `type:"structure"`
35324
35325	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
35326	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
35327
35328	// The bundle ID from which the source instance was created (e.g., micro_1_0).
35329	FromBundleId *string `locationName:"fromBundleId" type:"string"`
35330
35331	// A list of objects describing the disks that were attached to the source instance.
35332	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
35333}
35334
35335// String returns the string representation.
35336//
35337// API parameter values that are decorated as "sensitive" in the API will not
35338// be included in the string output. The member name will be present, but the
35339// value will be replaced with "sensitive".
35340func (s InstanceSnapshotInfo) String() string {
35341	return awsutil.Prettify(s)
35342}
35343
35344// GoString returns the string representation.
35345//
35346// API parameter values that are decorated as "sensitive" in the API will not
35347// be included in the string output. The member name will be present, but the
35348// value will be replaced with "sensitive".
35349func (s InstanceSnapshotInfo) GoString() string {
35350	return s.String()
35351}
35352
35353// SetFromBlueprintId sets the FromBlueprintId field's value.
35354func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
35355	s.FromBlueprintId = &v
35356	return s
35357}
35358
35359// SetFromBundleId sets the FromBundleId field's value.
35360func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
35361	s.FromBundleId = &v
35362	return s
35363}
35364
35365// SetFromDiskInfo sets the FromDiskInfo field's value.
35366func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
35367	s.FromDiskInfo = v
35368	return s
35369}
35370
35371// Describes the virtual private server (or instance) status.
35372type InstanceState struct {
35373	_ struct{} `type:"structure"`
35374
35375	// The status code for the instance.
35376	Code *int64 `locationName:"code" type:"integer"`
35377
35378	// The state of the instance (e.g., running or pending).
35379	Name *string `locationName:"name" type:"string"`
35380}
35381
35382// String returns the string representation.
35383//
35384// API parameter values that are decorated as "sensitive" in the API will not
35385// be included in the string output. The member name will be present, but the
35386// value will be replaced with "sensitive".
35387func (s InstanceState) String() string {
35388	return awsutil.Prettify(s)
35389}
35390
35391// GoString returns the string representation.
35392//
35393// API parameter values that are decorated as "sensitive" in the API will not
35394// be included in the string output. The member name will be present, but the
35395// value will be replaced with "sensitive".
35396func (s InstanceState) GoString() string {
35397	return s.String()
35398}
35399
35400// SetCode sets the Code field's value.
35401func (s *InstanceState) SetCode(v int64) *InstanceState {
35402	s.Code = &v
35403	return s
35404}
35405
35406// SetName sets the Name field's value.
35407func (s *InstanceState) SetName(v string) *InstanceState {
35408	s.Name = &v
35409	return s
35410}
35411
35412// Lightsail throws this exception when user input does not conform to the validation
35413// rules of an input field.
35414//
35415// Domain and distribution APIs are only available in the N. Virginia (us-east-1)
35416// AWS Region. Please set your AWS Region configuration to us-east-1 to create,
35417// view, or edit these resources.
35418type InvalidInputException struct {
35419	_            struct{}                  `type:"structure"`
35420	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35421
35422	Code_ *string `locationName:"code" type:"string"`
35423
35424	Docs *string `locationName:"docs" type:"string"`
35425
35426	Message_ *string `locationName:"message" type:"string"`
35427
35428	Tip *string `locationName:"tip" type:"string"`
35429}
35430
35431// String returns the string representation.
35432//
35433// API parameter values that are decorated as "sensitive" in the API will not
35434// be included in the string output. The member name will be present, but the
35435// value will be replaced with "sensitive".
35436func (s InvalidInputException) String() string {
35437	return awsutil.Prettify(s)
35438}
35439
35440// GoString returns the string representation.
35441//
35442// API parameter values that are decorated as "sensitive" in the API will not
35443// be included in the string output. The member name will be present, but the
35444// value will be replaced with "sensitive".
35445func (s InvalidInputException) GoString() string {
35446	return s.String()
35447}
35448
35449func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
35450	return &InvalidInputException{
35451		RespMetadata: v,
35452	}
35453}
35454
35455// Code returns the exception type name.
35456func (s *InvalidInputException) Code() string {
35457	return "InvalidInputException"
35458}
35459
35460// Message returns the exception's message.
35461func (s *InvalidInputException) Message() string {
35462	if s.Message_ != nil {
35463		return *s.Message_
35464	}
35465	return ""
35466}
35467
35468// OrigErr always returns nil, satisfies awserr.Error interface.
35469func (s *InvalidInputException) OrigErr() error {
35470	return nil
35471}
35472
35473func (s *InvalidInputException) Error() string {
35474	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
35475}
35476
35477// Status code returns the HTTP status code for the request's response error.
35478func (s *InvalidInputException) StatusCode() int {
35479	return s.RespMetadata.StatusCode
35480}
35481
35482// RequestID returns the service's response RequestID for request.
35483func (s *InvalidInputException) RequestID() string {
35484	return s.RespMetadata.RequestID
35485}
35486
35487type IsVpcPeeredInput struct {
35488	_ struct{} `type:"structure"`
35489}
35490
35491// String returns the string representation.
35492//
35493// API parameter values that are decorated as "sensitive" in the API will not
35494// be included in the string output. The member name will be present, but the
35495// value will be replaced with "sensitive".
35496func (s IsVpcPeeredInput) String() string {
35497	return awsutil.Prettify(s)
35498}
35499
35500// GoString returns the string representation.
35501//
35502// API parameter values that are decorated as "sensitive" in the API will not
35503// be included in the string output. The member name will be present, but the
35504// value will be replaced with "sensitive".
35505func (s IsVpcPeeredInput) GoString() string {
35506	return s.String()
35507}
35508
35509type IsVpcPeeredOutput struct {
35510	_ struct{} `type:"structure"`
35511
35512	// Returns true if the Lightsail VPC is peered; otherwise, false.
35513	IsPeered *bool `locationName:"isPeered" type:"boolean"`
35514}
35515
35516// String returns the string representation.
35517//
35518// API parameter values that are decorated as "sensitive" in the API will not
35519// be included in the string output. The member name will be present, but the
35520// value will be replaced with "sensitive".
35521func (s IsVpcPeeredOutput) String() string {
35522	return awsutil.Prettify(s)
35523}
35524
35525// GoString returns the string representation.
35526//
35527// API parameter values that are decorated as "sensitive" in the API will not
35528// be included in the string output. The member name will be present, but the
35529// value will be replaced with "sensitive".
35530func (s IsVpcPeeredOutput) GoString() string {
35531	return s.String()
35532}
35533
35534// SetIsPeered sets the IsPeered field's value.
35535func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
35536	s.IsPeered = &v
35537	return s
35538}
35539
35540// Describes an SSH key pair.
35541type KeyPair struct {
35542	_ struct{} `type:"structure"`
35543
35544	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
35545	Arn *string `locationName:"arn" type:"string"`
35546
35547	// The timestamp when the key pair was created (e.g., 1479816991.349).
35548	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
35549
35550	// The RSA fingerprint of the key pair.
35551	Fingerprint *string `locationName:"fingerprint" type:"string"`
35552
35553	// The region name and Availability Zone where the key pair was created.
35554	Location *ResourceLocation `locationName:"location" type:"structure"`
35555
35556	// The friendly name of the SSH key pair.
35557	Name *string `locationName:"name" type:"string"`
35558
35559	// The resource type (usually KeyPair).
35560	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
35561
35562	// The support code. Include this code in your email to support when you have
35563	// questions about an instance or another resource in Lightsail. This code enables
35564	// our support team to look up your Lightsail information more easily.
35565	SupportCode *string `locationName:"supportCode" type:"string"`
35566
35567	// The tag keys and optional values for the resource. For more information about
35568	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
35569	Tags []*Tag `locationName:"tags" type:"list"`
35570}
35571
35572// String returns the string representation.
35573//
35574// API parameter values that are decorated as "sensitive" in the API will not
35575// be included in the string output. The member name will be present, but the
35576// value will be replaced with "sensitive".
35577func (s KeyPair) String() string {
35578	return awsutil.Prettify(s)
35579}
35580
35581// GoString returns the string representation.
35582//
35583// API parameter values that are decorated as "sensitive" in the API will not
35584// be included in the string output. The member name will be present, but the
35585// value will be replaced with "sensitive".
35586func (s KeyPair) GoString() string {
35587	return s.String()
35588}
35589
35590// SetArn sets the Arn field's value.
35591func (s *KeyPair) SetArn(v string) *KeyPair {
35592	s.Arn = &v
35593	return s
35594}
35595
35596// SetCreatedAt sets the CreatedAt field's value.
35597func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
35598	s.CreatedAt = &v
35599	return s
35600}
35601
35602// SetFingerprint sets the Fingerprint field's value.
35603func (s *KeyPair) SetFingerprint(v string) *KeyPair {
35604	s.Fingerprint = &v
35605	return s
35606}
35607
35608// SetLocation sets the Location field's value.
35609func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
35610	s.Location = v
35611	return s
35612}
35613
35614// SetName sets the Name field's value.
35615func (s *KeyPair) SetName(v string) *KeyPair {
35616	s.Name = &v
35617	return s
35618}
35619
35620// SetResourceType sets the ResourceType field's value.
35621func (s *KeyPair) SetResourceType(v string) *KeyPair {
35622	s.ResourceType = &v
35623	return s
35624}
35625
35626// SetSupportCode sets the SupportCode field's value.
35627func (s *KeyPair) SetSupportCode(v string) *KeyPair {
35628	s.SupportCode = &v
35629	return s
35630}
35631
35632// SetTags sets the Tags field's value.
35633func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
35634	s.Tags = v
35635	return s
35636}
35637
35638// Describes an Amazon Lightsail content delivery network (CDN) distribution.
35639type LightsailDistribution struct {
35640	_ struct{} `type:"structure"`
35641
35642	// Indicates whether the bundle that is currently applied to your distribution,
35643	// specified using the distributionName parameter, can be changed to another
35644	// bundle.
35645	//
35646	// Use the UpdateDistributionBundle action to change your distribution's bundle.
35647	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
35648
35649	// The alternate domain names of the distribution.
35650	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
35651
35652	// The Amazon Resource Name (ARN) of the distribution.
35653	Arn *string `locationName:"arn" type:"string"`
35654
35655	// The ID of the bundle currently applied to the distribution.
35656	BundleId *string `locationName:"bundleId" type:"string"`
35657
35658	// An object that describes the cache behavior settings of the distribution.
35659	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
35660
35661	// An array of objects that describe the per-path cache behavior of the distribution.
35662	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
35663
35664	// The name of the SSL/TLS certificate attached to the distribution, if any.
35665	CertificateName *string `locationName:"certificateName" type:"string"`
35666
35667	// The timestamp when the distribution was created.
35668	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
35669
35670	// An object that describes the default cache behavior of the distribution.
35671	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
35672
35673	// The domain name of the distribution.
35674	DomainName *string `locationName:"domainName" type:"string"`
35675
35676	// The IP address type of the distribution.
35677	//
35678	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
35679	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
35680
35681	// Indicates whether the distribution is enabled.
35682	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
35683
35684	// An object that describes the location of the distribution, such as the AWS
35685	// Region and Availability Zone.
35686	//
35687	// Lightsail distributions are global resources that can reference an origin
35688	// in any AWS Region, and distribute its content globally. However, all distributions
35689	// are located in the us-east-1 Region.
35690	Location *ResourceLocation `locationName:"location" type:"structure"`
35691
35692	// The name of the distribution.
35693	Name *string `locationName:"name" type:"string"`
35694
35695	// An object that describes the origin resource of the distribution, such as
35696	// a Lightsail instance or load balancer.
35697	//
35698	// The distribution pulls, caches, and serves content from the origin.
35699	Origin *Origin `locationName:"origin" type:"structure"`
35700
35701	// The public DNS of the origin.
35702	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
35703
35704	// The Lightsail resource type (e.g., Distribution).
35705	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
35706
35707	// The status of the distribution.
35708	Status *string `locationName:"status" type:"string"`
35709
35710	// The support code. Include this code in your email to support when you have
35711	// questions about your Lightsail distribution. This code enables our support
35712	// team to look up your Lightsail information more easily.
35713	SupportCode *string `locationName:"supportCode" type:"string"`
35714
35715	// The tag keys and optional values for the resource. For more information about
35716	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
35717	Tags []*Tag `locationName:"tags" type:"list"`
35718}
35719
35720// String returns the string representation.
35721//
35722// API parameter values that are decorated as "sensitive" in the API will not
35723// be included in the string output. The member name will be present, but the
35724// value will be replaced with "sensitive".
35725func (s LightsailDistribution) String() string {
35726	return awsutil.Prettify(s)
35727}
35728
35729// GoString returns the string representation.
35730//
35731// API parameter values that are decorated as "sensitive" in the API will not
35732// be included in the string output. The member name will be present, but the
35733// value will be replaced with "sensitive".
35734func (s LightsailDistribution) GoString() string {
35735	return s.String()
35736}
35737
35738// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
35739func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
35740	s.AbleToUpdateBundle = &v
35741	return s
35742}
35743
35744// SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
35745func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
35746	s.AlternativeDomainNames = v
35747	return s
35748}
35749
35750// SetArn sets the Arn field's value.
35751func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
35752	s.Arn = &v
35753	return s
35754}
35755
35756// SetBundleId sets the BundleId field's value.
35757func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
35758	s.BundleId = &v
35759	return s
35760}
35761
35762// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
35763func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
35764	s.CacheBehaviorSettings = v
35765	return s
35766}
35767
35768// SetCacheBehaviors sets the CacheBehaviors field's value.
35769func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
35770	s.CacheBehaviors = v
35771	return s
35772}
35773
35774// SetCertificateName sets the CertificateName field's value.
35775func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
35776	s.CertificateName = &v
35777	return s
35778}
35779
35780// SetCreatedAt sets the CreatedAt field's value.
35781func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
35782	s.CreatedAt = &v
35783	return s
35784}
35785
35786// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
35787func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
35788	s.DefaultCacheBehavior = v
35789	return s
35790}
35791
35792// SetDomainName sets the DomainName field's value.
35793func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
35794	s.DomainName = &v
35795	return s
35796}
35797
35798// SetIpAddressType sets the IpAddressType field's value.
35799func (s *LightsailDistribution) SetIpAddressType(v string) *LightsailDistribution {
35800	s.IpAddressType = &v
35801	return s
35802}
35803
35804// SetIsEnabled sets the IsEnabled field's value.
35805func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
35806	s.IsEnabled = &v
35807	return s
35808}
35809
35810// SetLocation sets the Location field's value.
35811func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
35812	s.Location = v
35813	return s
35814}
35815
35816// SetName sets the Name field's value.
35817func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
35818	s.Name = &v
35819	return s
35820}
35821
35822// SetOrigin sets the Origin field's value.
35823func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
35824	s.Origin = v
35825	return s
35826}
35827
35828// SetOriginPublicDNS sets the OriginPublicDNS field's value.
35829func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
35830	s.OriginPublicDNS = &v
35831	return s
35832}
35833
35834// SetResourceType sets the ResourceType field's value.
35835func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
35836	s.ResourceType = &v
35837	return s
35838}
35839
35840// SetStatus sets the Status field's value.
35841func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
35842	s.Status = &v
35843	return s
35844}
35845
35846// SetSupportCode sets the SupportCode field's value.
35847func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
35848	s.SupportCode = &v
35849	return s
35850}
35851
35852// SetTags sets the Tags field's value.
35853func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
35854	s.Tags = v
35855	return s
35856}
35857
35858// Describes a load balancer.
35859type LoadBalancer struct {
35860	_ struct{} `type:"structure"`
35861
35862	// The Amazon Resource Name (ARN) of the load balancer.
35863	Arn *string `locationName:"arn" type:"string"`
35864
35865	// A string to string map of the configuration options for your load balancer.
35866	// Valid values are listed below.
35867	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
35868
35869	// The date when your load balancer was created.
35870	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
35871
35872	// The DNS name of your Lightsail load balancer.
35873	DnsName *string `locationName:"dnsName" type:"string"`
35874
35875	// The path you specified to perform your health checks. If no path is specified,
35876	// the load balancer tries to make a request to the default (root) page.
35877	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
35878
35879	// An array of InstanceHealthSummary objects describing the health of the load
35880	// balancer.
35881	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
35882
35883	// The port where the load balancer will direct traffic to your Lightsail instances.
35884	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
35885	InstancePort *int64 `locationName:"instancePort" type:"integer"`
35886
35887	// The IP address type of the load balancer.
35888	//
35889	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
35890	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
35891
35892	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
35893	// automatically creates your load balancer across Availability Zones.
35894	Location *ResourceLocation `locationName:"location" type:"structure"`
35895
35896	// The name of the load balancer (e.g., my-load-balancer).
35897	Name *string `locationName:"name" type:"string"`
35898
35899	// The protocol you have enabled for your load balancer. Valid values are below.
35900	//
35901	// You can't just have HTTP_HTTPS, but you can have just HTTP.
35902	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
35903
35904	// An array of public port settings for your load balancer. For HTTP, use port
35905	// 80. For HTTPS, use port 443.
35906	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
35907
35908	// The resource type (e.g., LoadBalancer.
35909	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
35910
35911	// The status of your load balancer. Valid values are below.
35912	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
35913
35914	// The support code. Include this code in your email to support when you have
35915	// questions about your Lightsail load balancer. This code enables our support
35916	// team to look up your Lightsail information more easily.
35917	SupportCode *string `locationName:"supportCode" type:"string"`
35918
35919	// The tag keys and optional values for the resource. For more information about
35920	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
35921	Tags []*Tag `locationName:"tags" type:"list"`
35922
35923	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
35924	// information about the SSL/TLS certificates. For example, if true, the certificate
35925	// is attached to the load balancer.
35926	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
35927}
35928
35929// String returns the string representation.
35930//
35931// API parameter values that are decorated as "sensitive" in the API will not
35932// be included in the string output. The member name will be present, but the
35933// value will be replaced with "sensitive".
35934func (s LoadBalancer) String() string {
35935	return awsutil.Prettify(s)
35936}
35937
35938// GoString returns the string representation.
35939//
35940// API parameter values that are decorated as "sensitive" in the API will not
35941// be included in the string output. The member name will be present, but the
35942// value will be replaced with "sensitive".
35943func (s LoadBalancer) GoString() string {
35944	return s.String()
35945}
35946
35947// SetArn sets the Arn field's value.
35948func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
35949	s.Arn = &v
35950	return s
35951}
35952
35953// SetConfigurationOptions sets the ConfigurationOptions field's value.
35954func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
35955	s.ConfigurationOptions = v
35956	return s
35957}
35958
35959// SetCreatedAt sets the CreatedAt field's value.
35960func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
35961	s.CreatedAt = &v
35962	return s
35963}
35964
35965// SetDnsName sets the DnsName field's value.
35966func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
35967	s.DnsName = &v
35968	return s
35969}
35970
35971// SetHealthCheckPath sets the HealthCheckPath field's value.
35972func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
35973	s.HealthCheckPath = &v
35974	return s
35975}
35976
35977// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
35978func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
35979	s.InstanceHealthSummary = v
35980	return s
35981}
35982
35983// SetInstancePort sets the InstancePort field's value.
35984func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
35985	s.InstancePort = &v
35986	return s
35987}
35988
35989// SetIpAddressType sets the IpAddressType field's value.
35990func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
35991	s.IpAddressType = &v
35992	return s
35993}
35994
35995// SetLocation sets the Location field's value.
35996func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
35997	s.Location = v
35998	return s
35999}
36000
36001// SetName sets the Name field's value.
36002func (s *LoadBalancer) SetName(v string) *LoadBalancer {
36003	s.Name = &v
36004	return s
36005}
36006
36007// SetProtocol sets the Protocol field's value.
36008func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
36009	s.Protocol = &v
36010	return s
36011}
36012
36013// SetPublicPorts sets the PublicPorts field's value.
36014func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
36015	s.PublicPorts = v
36016	return s
36017}
36018
36019// SetResourceType sets the ResourceType field's value.
36020func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
36021	s.ResourceType = &v
36022	return s
36023}
36024
36025// SetState sets the State field's value.
36026func (s *LoadBalancer) SetState(v string) *LoadBalancer {
36027	s.State = &v
36028	return s
36029}
36030
36031// SetSupportCode sets the SupportCode field's value.
36032func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
36033	s.SupportCode = &v
36034	return s
36035}
36036
36037// SetTags sets the Tags field's value.
36038func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
36039	s.Tags = v
36040	return s
36041}
36042
36043// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
36044func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
36045	s.TlsCertificateSummaries = v
36046	return s
36047}
36048
36049// Describes a load balancer SSL/TLS certificate.
36050//
36051// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
36052type LoadBalancerTlsCertificate struct {
36053	_ struct{} `type:"structure"`
36054
36055	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
36056	Arn *string `locationName:"arn" type:"string"`
36057
36058	// The time when you created your SSL/TLS certificate.
36059	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
36060
36061	// The domain name for your SSL/TLS certificate.
36062	DomainName *string `locationName:"domainName" type:"string"`
36063
36064	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
36065	// the records.
36066	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
36067
36068	// The validation failure reason, if any, of the certificate.
36069	//
36070	// The following failure reasons are possible:
36071	//
36072	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
36073	//    is not available for Lightsail certificates.
36074	//
36075	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
36076	//    to process this certificate request. This can happen as a fraud-protection
36077	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
36078	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
36079	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
36080	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
36081	//    elasticbeanstalk.com.
36082	//
36083	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
36084	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
36085	//    To correct the problem, search for your domain name on the VirusTotal
36086	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
36087	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
36088	//    to learn what you can do. If you believe that the result is a false positive,
36089	//    notify the organization that is reporting the domain. VirusTotal is an
36090	//    aggregate of several antivirus and URL scanners and cannot remove your
36091	//    domain from a block list itself. After you correct the problem and the
36092	//    VirusTotal registry has been updated, request a new certificate. If you
36093	//    see this error and your domain is not included in the VirusTotal list,
36094	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
36095	//    and create a case.
36096	//
36097	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
36098	//    request is not valid. Typically, this is because a domain name in the
36099	//    request is not a valid top-level domain. Try to request a certificate
36100	//    again, correcting any spelling errors or typos that were in the failed
36101	//    request, and ensure that all domain names in the request are for valid
36102	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
36103	//    because invalidpublicdomain is not a valid top-level domain.
36104	//
36105	//    * OTHER - Typically, this failure occurs when there is a typographical
36106	//    error in one or more of the domain names in the certificate request. Try
36107	//    to request a certificate again, correcting any spelling errors or typos
36108	//    that were in the failed request.
36109	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
36110
36111	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
36112	IsAttached *bool `locationName:"isAttached" type:"boolean"`
36113
36114	// The time when the SSL/TLS certificate was issued.
36115	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
36116
36117	// The issuer of the certificate.
36118	Issuer *string `locationName:"issuer" type:"string"`
36119
36120	// The algorithm used to generate the key pair (the public and private key).
36121	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
36122
36123	// The load balancer name where your SSL/TLS certificate is attached.
36124	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
36125
36126	// The AWS Region and Availability Zone where you created your certificate.
36127	Location *ResourceLocation `locationName:"location" type:"structure"`
36128
36129	// The name of the SSL/TLS certificate (e.g., my-certificate).
36130	Name *string `locationName:"name" type:"string"`
36131
36132	// The timestamp when the SSL/TLS certificate expires.
36133	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
36134
36135	// The timestamp when the SSL/TLS certificate is first valid.
36136	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
36137
36138	// An object that describes the status of the certificate renewal managed by
36139	// Lightsail.
36140	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
36141
36142	// The resource type (e.g., LoadBalancerTlsCertificate).
36143	//
36144	//    * Instance - A Lightsail instance (a virtual private server)
36145	//
36146	//    * StaticIp - A static IP address
36147	//
36148	//    * KeyPair - The key pair used to connect to a Lightsail instance
36149	//
36150	//    * InstanceSnapshot - A Lightsail instance snapshot
36151	//
36152	//    * Domain - A DNS zone
36153	//
36154	//    * PeeredVpc - A peered VPC
36155	//
36156	//    * LoadBalancer - A Lightsail load balancer
36157	//
36158	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
36159	//    a Lightsail load balancer
36160	//
36161	//    * Disk - A Lightsail block storage disk
36162	//
36163	//    * DiskSnapshot - A block storage disk snapshot
36164	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
36165
36166	// The reason the certificate was revoked. This value is present only when the
36167	// certificate status is REVOKED.
36168	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
36169
36170	// The timestamp when the certificate was revoked. This value is present only
36171	// when the certificate status is REVOKED.
36172	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
36173
36174	// The serial number of the certificate.
36175	Serial *string `locationName:"serial" type:"string"`
36176
36177	// The algorithm that was used to sign the certificate.
36178	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
36179
36180	// The validation status of the SSL/TLS certificate. Valid values are below.
36181	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
36182
36183	// The name of the entity that is associated with the public key contained in
36184	// the certificate.
36185	Subject *string `locationName:"subject" type:"string"`
36186
36187	// An array of strings that specify the alternate domains (e.g., example2.com)
36188	// and subdomains (e.g., blog.example.com) for the certificate.
36189	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
36190
36191	// The support code. Include this code in your email to support when you have
36192	// questions about your Lightsail load balancer or SSL/TLS certificate. This
36193	// code enables our support team to look up your Lightsail information more
36194	// easily.
36195	SupportCode *string `locationName:"supportCode" type:"string"`
36196
36197	// The tag keys and optional values for the resource. For more information about
36198	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
36199	Tags []*Tag `locationName:"tags" type:"list"`
36200}
36201
36202// String returns the string representation.
36203//
36204// API parameter values that are decorated as "sensitive" in the API will not
36205// be included in the string output. The member name will be present, but the
36206// value will be replaced with "sensitive".
36207func (s LoadBalancerTlsCertificate) String() string {
36208	return awsutil.Prettify(s)
36209}
36210
36211// GoString returns the string representation.
36212//
36213// API parameter values that are decorated as "sensitive" in the API will not
36214// be included in the string output. The member name will be present, but the
36215// value will be replaced with "sensitive".
36216func (s LoadBalancerTlsCertificate) GoString() string {
36217	return s.String()
36218}
36219
36220// SetArn sets the Arn field's value.
36221func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
36222	s.Arn = &v
36223	return s
36224}
36225
36226// SetCreatedAt sets the CreatedAt field's value.
36227func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
36228	s.CreatedAt = &v
36229	return s
36230}
36231
36232// SetDomainName sets the DomainName field's value.
36233func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
36234	s.DomainName = &v
36235	return s
36236}
36237
36238// SetDomainValidationRecords sets the DomainValidationRecords field's value.
36239func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
36240	s.DomainValidationRecords = v
36241	return s
36242}
36243
36244// SetFailureReason sets the FailureReason field's value.
36245func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
36246	s.FailureReason = &v
36247	return s
36248}
36249
36250// SetIsAttached sets the IsAttached field's value.
36251func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
36252	s.IsAttached = &v
36253	return s
36254}
36255
36256// SetIssuedAt sets the IssuedAt field's value.
36257func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
36258	s.IssuedAt = &v
36259	return s
36260}
36261
36262// SetIssuer sets the Issuer field's value.
36263func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
36264	s.Issuer = &v
36265	return s
36266}
36267
36268// SetKeyAlgorithm sets the KeyAlgorithm field's value.
36269func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
36270	s.KeyAlgorithm = &v
36271	return s
36272}
36273
36274// SetLoadBalancerName sets the LoadBalancerName field's value.
36275func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
36276	s.LoadBalancerName = &v
36277	return s
36278}
36279
36280// SetLocation sets the Location field's value.
36281func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
36282	s.Location = v
36283	return s
36284}
36285
36286// SetName sets the Name field's value.
36287func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
36288	s.Name = &v
36289	return s
36290}
36291
36292// SetNotAfter sets the NotAfter field's value.
36293func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
36294	s.NotAfter = &v
36295	return s
36296}
36297
36298// SetNotBefore sets the NotBefore field's value.
36299func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
36300	s.NotBefore = &v
36301	return s
36302}
36303
36304// SetRenewalSummary sets the RenewalSummary field's value.
36305func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
36306	s.RenewalSummary = v
36307	return s
36308}
36309
36310// SetResourceType sets the ResourceType field's value.
36311func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
36312	s.ResourceType = &v
36313	return s
36314}
36315
36316// SetRevocationReason sets the RevocationReason field's value.
36317func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
36318	s.RevocationReason = &v
36319	return s
36320}
36321
36322// SetRevokedAt sets the RevokedAt field's value.
36323func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
36324	s.RevokedAt = &v
36325	return s
36326}
36327
36328// SetSerial sets the Serial field's value.
36329func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
36330	s.Serial = &v
36331	return s
36332}
36333
36334// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
36335func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
36336	s.SignatureAlgorithm = &v
36337	return s
36338}
36339
36340// SetStatus sets the Status field's value.
36341func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
36342	s.Status = &v
36343	return s
36344}
36345
36346// SetSubject sets the Subject field's value.
36347func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
36348	s.Subject = &v
36349	return s
36350}
36351
36352// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
36353func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
36354	s.SubjectAlternativeNames = v
36355	return s
36356}
36357
36358// SetSupportCode sets the SupportCode field's value.
36359func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
36360	s.SupportCode = &v
36361	return s
36362}
36363
36364// SetTags sets the Tags field's value.
36365func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
36366	s.Tags = v
36367	return s
36368}
36369
36370// Contains information about the domain names on an SSL/TLS certificate that
36371// you will use to validate domain ownership.
36372type LoadBalancerTlsCertificateDomainValidationOption struct {
36373	_ struct{} `type:"structure"`
36374
36375	// The fully qualified domain name in the certificate request.
36376	DomainName *string `locationName:"domainName" type:"string"`
36377
36378	// The status of the domain validation. Valid values are listed below.
36379	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
36380}
36381
36382// String returns the string representation.
36383//
36384// API parameter values that are decorated as "sensitive" in the API will not
36385// be included in the string output. The member name will be present, but the
36386// value will be replaced with "sensitive".
36387func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
36388	return awsutil.Prettify(s)
36389}
36390
36391// GoString returns the string representation.
36392//
36393// API parameter values that are decorated as "sensitive" in the API will not
36394// be included in the string output. The member name will be present, but the
36395// value will be replaced with "sensitive".
36396func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
36397	return s.String()
36398}
36399
36400// SetDomainName sets the DomainName field's value.
36401func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
36402	s.DomainName = &v
36403	return s
36404}
36405
36406// SetValidationStatus sets the ValidationStatus field's value.
36407func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
36408	s.ValidationStatus = &v
36409	return s
36410}
36411
36412// Describes the validation record of each domain name in the SSL/TLS certificate.
36413type LoadBalancerTlsCertificateDomainValidationRecord struct {
36414	_ struct{} `type:"structure"`
36415
36416	// The domain name against which your SSL/TLS certificate was validated.
36417	DomainName *string `locationName:"domainName" type:"string"`
36418
36419	// A fully qualified domain name in the certificate. For example, example.com.
36420	Name *string `locationName:"name" type:"string"`
36421
36422	// The type of validation record. For example, CNAME for domain validation.
36423	Type *string `locationName:"type" type:"string"`
36424
36425	// The validation status. Valid values are listed below.
36426	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
36427
36428	// The value for that type.
36429	Value *string `locationName:"value" type:"string"`
36430}
36431
36432// String returns the string representation.
36433//
36434// API parameter values that are decorated as "sensitive" in the API will not
36435// be included in the string output. The member name will be present, but the
36436// value will be replaced with "sensitive".
36437func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
36438	return awsutil.Prettify(s)
36439}
36440
36441// GoString returns the string representation.
36442//
36443// API parameter values that are decorated as "sensitive" in the API will not
36444// be included in the string output. The member name will be present, but the
36445// value will be replaced with "sensitive".
36446func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
36447	return s.String()
36448}
36449
36450// SetDomainName sets the DomainName field's value.
36451func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
36452	s.DomainName = &v
36453	return s
36454}
36455
36456// SetName sets the Name field's value.
36457func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
36458	s.Name = &v
36459	return s
36460}
36461
36462// SetType sets the Type field's value.
36463func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
36464	s.Type = &v
36465	return s
36466}
36467
36468// SetValidationStatus sets the ValidationStatus field's value.
36469func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
36470	s.ValidationStatus = &v
36471	return s
36472}
36473
36474// SetValue sets the Value field's value.
36475func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
36476	s.Value = &v
36477	return s
36478}
36479
36480// Contains information about the status of Lightsail's managed renewal for
36481// the certificate.
36482//
36483// The renewal status of the certificate.
36484//
36485// The following renewal status are possible:
36486//
36487//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
36488//    the domain names in the certificate. No further action is required.
36489//
36490//    * PendingValidation - Lightsail couldn't automatically validate one or
36491//    more domain names in the certificate. You must take action to validate
36492//    these domain names or the certificate won't be renewed. If you used DNS
36493//    validation, check to make sure your certificate's domain validation records
36494//    exist in your domain's DNS, and that your certificate remains in use.
36495//
36496//    * Success - All domain names in the certificate are validated, and Lightsail
36497//    renewed the certificate. No further action is required.
36498//
36499//    * Failed - One or more domain names were not validated before the certificate
36500//    expired, and Lightsail did not renew the certificate. You can request
36501//    a new certificate using the CreateCertificate action.
36502type LoadBalancerTlsCertificateRenewalSummary struct {
36503	_ struct{} `type:"structure"`
36504
36505	// Contains information about the validation of each domain name in the certificate,
36506	// as it pertains to Lightsail's managed renewal. This is different from the
36507	// initial validation that occurs as a result of the RequestCertificate request.
36508	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
36509
36510	// The renewal status of the certificate.
36511	//
36512	// The following renewal status are possible:
36513	//
36514	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
36515	//    the domain names of the certificate. No further action is required.
36516	//
36517	//    * PendingValidation - Lightsail couldn't automatically validate one or
36518	//    more domain names of the certificate. You must take action to validate
36519	//    these domain names or the certificate won't be renewed. Check to make
36520	//    sure your certificate's domain validation records exist in your domain's
36521	//    DNS, and that your certificate remains in use.
36522	//
36523	//    * Success - All domain names in the certificate are validated, and Lightsail
36524	//    renewed the certificate. No further action is required.
36525	//
36526	//    * Failed - One or more domain names were not validated before the certificate
36527	//    expired, and Lightsail did not renew the certificate. You can request
36528	//    a new certificate using the CreateCertificate action.
36529	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
36530}
36531
36532// String returns the string representation.
36533//
36534// API parameter values that are decorated as "sensitive" in the API will not
36535// be included in the string output. The member name will be present, but the
36536// value will be replaced with "sensitive".
36537func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
36538	return awsutil.Prettify(s)
36539}
36540
36541// GoString returns the string representation.
36542//
36543// API parameter values that are decorated as "sensitive" in the API will not
36544// be included in the string output. The member name will be present, but the
36545// value will be replaced with "sensitive".
36546func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
36547	return s.String()
36548}
36549
36550// SetDomainValidationOptions sets the DomainValidationOptions field's value.
36551func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
36552	s.DomainValidationOptions = v
36553	return s
36554}
36555
36556// SetRenewalStatus sets the RenewalStatus field's value.
36557func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
36558	s.RenewalStatus = &v
36559	return s
36560}
36561
36562// Provides a summary of SSL/TLS certificate metadata.
36563type LoadBalancerTlsCertificateSummary struct {
36564	_ struct{} `type:"structure"`
36565
36566	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
36567	IsAttached *bool `locationName:"isAttached" type:"boolean"`
36568
36569	// The name of the SSL/TLS certificate.
36570	Name *string `locationName:"name" type:"string"`
36571}
36572
36573// String returns the string representation.
36574//
36575// API parameter values that are decorated as "sensitive" in the API will not
36576// be included in the string output. The member name will be present, but the
36577// value will be replaced with "sensitive".
36578func (s LoadBalancerTlsCertificateSummary) String() string {
36579	return awsutil.Prettify(s)
36580}
36581
36582// GoString returns the string representation.
36583//
36584// API parameter values that are decorated as "sensitive" in the API will not
36585// be included in the string output. The member name will be present, but the
36586// value will be replaced with "sensitive".
36587func (s LoadBalancerTlsCertificateSummary) GoString() string {
36588	return s.String()
36589}
36590
36591// SetIsAttached sets the IsAttached field's value.
36592func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
36593	s.IsAttached = &v
36594	return s
36595}
36596
36597// SetName sets the Name field's value.
36598func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
36599	s.Name = &v
36600	return s
36601}
36602
36603// Describes a database log event.
36604type LogEvent struct {
36605	_ struct{} `type:"structure"`
36606
36607	// The timestamp when the database log event was created.
36608	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
36609
36610	// The message of the database log event.
36611	Message *string `locationName:"message" type:"string"`
36612}
36613
36614// String returns the string representation.
36615//
36616// API parameter values that are decorated as "sensitive" in the API will not
36617// be included in the string output. The member name will be present, but the
36618// value will be replaced with "sensitive".
36619func (s LogEvent) String() string {
36620	return awsutil.Prettify(s)
36621}
36622
36623// GoString returns the string representation.
36624//
36625// API parameter values that are decorated as "sensitive" in the API will not
36626// be included in the string output. The member name will be present, but the
36627// value will be replaced with "sensitive".
36628func (s LogEvent) GoString() string {
36629	return s.String()
36630}
36631
36632// SetCreatedAt sets the CreatedAt field's value.
36633func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
36634	s.CreatedAt = &v
36635	return s
36636}
36637
36638// SetMessage sets the Message field's value.
36639func (s *LogEvent) SetMessage(v string) *LogEvent {
36640	s.Message = &v
36641	return s
36642}
36643
36644// Describes the metric data point.
36645type MetricDatapoint struct {
36646	_ struct{} `type:"structure"`
36647
36648	// The average.
36649	Average *float64 `locationName:"average" type:"double"`
36650
36651	// The maximum.
36652	Maximum *float64 `locationName:"maximum" type:"double"`
36653
36654	// The minimum.
36655	Minimum *float64 `locationName:"minimum" type:"double"`
36656
36657	// The sample count.
36658	SampleCount *float64 `locationName:"sampleCount" type:"double"`
36659
36660	// The sum.
36661	Sum *float64 `locationName:"sum" type:"double"`
36662
36663	// The timestamp (e.g., 1479816991.349).
36664	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
36665
36666	// The unit.
36667	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
36668}
36669
36670// String returns the string representation.
36671//
36672// API parameter values that are decorated as "sensitive" in the API will not
36673// be included in the string output. The member name will be present, but the
36674// value will be replaced with "sensitive".
36675func (s MetricDatapoint) String() string {
36676	return awsutil.Prettify(s)
36677}
36678
36679// GoString returns the string representation.
36680//
36681// API parameter values that are decorated as "sensitive" in the API will not
36682// be included in the string output. The member name will be present, but the
36683// value will be replaced with "sensitive".
36684func (s MetricDatapoint) GoString() string {
36685	return s.String()
36686}
36687
36688// SetAverage sets the Average field's value.
36689func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
36690	s.Average = &v
36691	return s
36692}
36693
36694// SetMaximum sets the Maximum field's value.
36695func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
36696	s.Maximum = &v
36697	return s
36698}
36699
36700// SetMinimum sets the Minimum field's value.
36701func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
36702	s.Minimum = &v
36703	return s
36704}
36705
36706// SetSampleCount sets the SampleCount field's value.
36707func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
36708	s.SampleCount = &v
36709	return s
36710}
36711
36712// SetSum sets the Sum field's value.
36713func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
36714	s.Sum = &v
36715	return s
36716}
36717
36718// SetTimestamp sets the Timestamp field's value.
36719func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
36720	s.Timestamp = &v
36721	return s
36722}
36723
36724// SetUnit sets the Unit field's value.
36725func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
36726	s.Unit = &v
36727	return s
36728}
36729
36730// Describes resource being monitored by an alarm.
36731//
36732// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
36733// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
36734type MonitoredResourceInfo struct {
36735	_ struct{} `type:"structure"`
36736
36737	// The Amazon Resource Name (ARN) of the resource being monitored.
36738	Arn *string `locationName:"arn" type:"string"`
36739
36740	// The name of the Lightsail resource being monitored.
36741	Name *string `locationName:"name" type:"string"`
36742
36743	// The Lightsail resource type of the resource being monitored.
36744	//
36745	// Instances, load balancers, and relational databases are the only Lightsail
36746	// resources that can currently be monitored by alarms.
36747	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
36748}
36749
36750// String returns the string representation.
36751//
36752// API parameter values that are decorated as "sensitive" in the API will not
36753// be included in the string output. The member name will be present, but the
36754// value will be replaced with "sensitive".
36755func (s MonitoredResourceInfo) String() string {
36756	return awsutil.Prettify(s)
36757}
36758
36759// GoString returns the string representation.
36760//
36761// API parameter values that are decorated as "sensitive" in the API will not
36762// be included in the string output. The member name will be present, but the
36763// value will be replaced with "sensitive".
36764func (s MonitoredResourceInfo) GoString() string {
36765	return s.String()
36766}
36767
36768// SetArn sets the Arn field's value.
36769func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
36770	s.Arn = &v
36771	return s
36772}
36773
36774// SetName sets the Name field's value.
36775func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
36776	s.Name = &v
36777	return s
36778}
36779
36780// SetResourceType sets the ResourceType field's value.
36781func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
36782	s.ResourceType = &v
36783	return s
36784}
36785
36786// Describes the monthly data transfer in and out of your virtual private server
36787// (or instance).
36788type MonthlyTransfer struct {
36789	_ struct{} `type:"structure"`
36790
36791	// The amount allocated per month (in GB).
36792	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
36793}
36794
36795// String returns the string representation.
36796//
36797// API parameter values that are decorated as "sensitive" in the API will not
36798// be included in the string output. The member name will be present, but the
36799// value will be replaced with "sensitive".
36800func (s MonthlyTransfer) String() string {
36801	return awsutil.Prettify(s)
36802}
36803
36804// GoString returns the string representation.
36805//
36806// API parameter values that are decorated as "sensitive" in the API will not
36807// be included in the string output. The member name will be present, but the
36808// value will be replaced with "sensitive".
36809func (s MonthlyTransfer) GoString() string {
36810	return s.String()
36811}
36812
36813// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
36814func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
36815	s.GbPerMonthAllocated = &v
36816	return s
36817}
36818
36819// Lightsail throws this exception when it cannot find a resource.
36820type NotFoundException struct {
36821	_            struct{}                  `type:"structure"`
36822	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36823
36824	Code_ *string `locationName:"code" type:"string"`
36825
36826	Docs *string `locationName:"docs" type:"string"`
36827
36828	Message_ *string `locationName:"message" type:"string"`
36829
36830	Tip *string `locationName:"tip" type:"string"`
36831}
36832
36833// String returns the string representation.
36834//
36835// API parameter values that are decorated as "sensitive" in the API will not
36836// be included in the string output. The member name will be present, but the
36837// value will be replaced with "sensitive".
36838func (s NotFoundException) String() string {
36839	return awsutil.Prettify(s)
36840}
36841
36842// GoString returns the string representation.
36843//
36844// API parameter values that are decorated as "sensitive" in the API will not
36845// be included in the string output. The member name will be present, but the
36846// value will be replaced with "sensitive".
36847func (s NotFoundException) GoString() string {
36848	return s.String()
36849}
36850
36851func newErrorNotFoundException(v protocol.ResponseMetadata) error {
36852	return &NotFoundException{
36853		RespMetadata: v,
36854	}
36855}
36856
36857// Code returns the exception type name.
36858func (s *NotFoundException) Code() string {
36859	return "NotFoundException"
36860}
36861
36862// Message returns the exception's message.
36863func (s *NotFoundException) Message() string {
36864	if s.Message_ != nil {
36865		return *s.Message_
36866	}
36867	return ""
36868}
36869
36870// OrigErr always returns nil, satisfies awserr.Error interface.
36871func (s *NotFoundException) OrigErr() error {
36872	return nil
36873}
36874
36875func (s *NotFoundException) Error() string {
36876	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
36877}
36878
36879// Status code returns the HTTP status code for the request's response error.
36880func (s *NotFoundException) StatusCode() int {
36881	return s.RespMetadata.StatusCode
36882}
36883
36884// RequestID returns the service's response RequestID for request.
36885func (s *NotFoundException) RequestID() string {
36886	return s.RespMetadata.RequestID
36887}
36888
36889type OpenInstancePublicPortsInput struct {
36890	_ struct{} `type:"structure"`
36891
36892	// The name of the instance for which to open ports.
36893	//
36894	// InstanceName is a required field
36895	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
36896
36897	// An object to describe the ports to open for the specified instance.
36898	//
36899	// PortInfo is a required field
36900	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
36901}
36902
36903// String returns the string representation.
36904//
36905// API parameter values that are decorated as "sensitive" in the API will not
36906// be included in the string output. The member name will be present, but the
36907// value will be replaced with "sensitive".
36908func (s OpenInstancePublicPortsInput) String() string {
36909	return awsutil.Prettify(s)
36910}
36911
36912// GoString returns the string representation.
36913//
36914// API parameter values that are decorated as "sensitive" in the API will not
36915// be included in the string output. The member name will be present, but the
36916// value will be replaced with "sensitive".
36917func (s OpenInstancePublicPortsInput) GoString() string {
36918	return s.String()
36919}
36920
36921// Validate inspects the fields of the type to determine if they are valid.
36922func (s *OpenInstancePublicPortsInput) Validate() error {
36923	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
36924	if s.InstanceName == nil {
36925		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
36926	}
36927	if s.PortInfo == nil {
36928		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
36929	}
36930	if s.PortInfo != nil {
36931		if err := s.PortInfo.Validate(); err != nil {
36932			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
36933		}
36934	}
36935
36936	if invalidParams.Len() > 0 {
36937		return invalidParams
36938	}
36939	return nil
36940}
36941
36942// SetInstanceName sets the InstanceName field's value.
36943func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
36944	s.InstanceName = &v
36945	return s
36946}
36947
36948// SetPortInfo sets the PortInfo field's value.
36949func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
36950	s.PortInfo = v
36951	return s
36952}
36953
36954type OpenInstancePublicPortsOutput struct {
36955	_ struct{} `type:"structure"`
36956
36957	// An array of objects that describe the result of the action, such as the status
36958	// of the request, the timestamp of the request, and the resources affected
36959	// by the request.
36960	Operation *Operation `locationName:"operation" type:"structure"`
36961}
36962
36963// String returns the string representation.
36964//
36965// API parameter values that are decorated as "sensitive" in the API will not
36966// be included in the string output. The member name will be present, but the
36967// value will be replaced with "sensitive".
36968func (s OpenInstancePublicPortsOutput) String() string {
36969	return awsutil.Prettify(s)
36970}
36971
36972// GoString returns the string representation.
36973//
36974// API parameter values that are decorated as "sensitive" in the API will not
36975// be included in the string output. The member name will be present, but the
36976// value will be replaced with "sensitive".
36977func (s OpenInstancePublicPortsOutput) GoString() string {
36978	return s.String()
36979}
36980
36981// SetOperation sets the Operation field's value.
36982func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
36983	s.Operation = v
36984	return s
36985}
36986
36987// Describes the API operation.
36988type Operation struct {
36989	_ struct{} `type:"structure"`
36990
36991	// The timestamp when the operation was initialized (e.g., 1479816991.349).
36992	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
36993
36994	// The error code.
36995	ErrorCode *string `locationName:"errorCode" type:"string"`
36996
36997	// The error details.
36998	ErrorDetails *string `locationName:"errorDetails" type:"string"`
36999
37000	// The ID of the operation.
37001	Id *string `locationName:"id" type:"string"`
37002
37003	// A Boolean value indicating whether the operation is terminal.
37004	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
37005
37006	// The AWS Region and Availability Zone.
37007	Location *ResourceLocation `locationName:"location" type:"structure"`
37008
37009	// Details about the operation (e.g., Debian-1GB-Ohio-1).
37010	OperationDetails *string `locationName:"operationDetails" type:"string"`
37011
37012	// The type of operation.
37013	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
37014
37015	// The resource name.
37016	ResourceName *string `locationName:"resourceName" type:"string"`
37017
37018	// The resource type.
37019	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
37020
37021	// The status of the operation.
37022	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
37023
37024	// The timestamp when the status was changed (e.g., 1479816991.349).
37025	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
37026}
37027
37028// String returns the string representation.
37029//
37030// API parameter values that are decorated as "sensitive" in the API will not
37031// be included in the string output. The member name will be present, but the
37032// value will be replaced with "sensitive".
37033func (s Operation) String() string {
37034	return awsutil.Prettify(s)
37035}
37036
37037// GoString returns the string representation.
37038//
37039// API parameter values that are decorated as "sensitive" in the API will not
37040// be included in the string output. The member name will be present, but the
37041// value will be replaced with "sensitive".
37042func (s Operation) GoString() string {
37043	return s.String()
37044}
37045
37046// SetCreatedAt sets the CreatedAt field's value.
37047func (s *Operation) SetCreatedAt(v time.Time) *Operation {
37048	s.CreatedAt = &v
37049	return s
37050}
37051
37052// SetErrorCode sets the ErrorCode field's value.
37053func (s *Operation) SetErrorCode(v string) *Operation {
37054	s.ErrorCode = &v
37055	return s
37056}
37057
37058// SetErrorDetails sets the ErrorDetails field's value.
37059func (s *Operation) SetErrorDetails(v string) *Operation {
37060	s.ErrorDetails = &v
37061	return s
37062}
37063
37064// SetId sets the Id field's value.
37065func (s *Operation) SetId(v string) *Operation {
37066	s.Id = &v
37067	return s
37068}
37069
37070// SetIsTerminal sets the IsTerminal field's value.
37071func (s *Operation) SetIsTerminal(v bool) *Operation {
37072	s.IsTerminal = &v
37073	return s
37074}
37075
37076// SetLocation sets the Location field's value.
37077func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
37078	s.Location = v
37079	return s
37080}
37081
37082// SetOperationDetails sets the OperationDetails field's value.
37083func (s *Operation) SetOperationDetails(v string) *Operation {
37084	s.OperationDetails = &v
37085	return s
37086}
37087
37088// SetOperationType sets the OperationType field's value.
37089func (s *Operation) SetOperationType(v string) *Operation {
37090	s.OperationType = &v
37091	return s
37092}
37093
37094// SetResourceName sets the ResourceName field's value.
37095func (s *Operation) SetResourceName(v string) *Operation {
37096	s.ResourceName = &v
37097	return s
37098}
37099
37100// SetResourceType sets the ResourceType field's value.
37101func (s *Operation) SetResourceType(v string) *Operation {
37102	s.ResourceType = &v
37103	return s
37104}
37105
37106// SetStatus sets the Status field's value.
37107func (s *Operation) SetStatus(v string) *Operation {
37108	s.Status = &v
37109	return s
37110}
37111
37112// SetStatusChangedAt sets the StatusChangedAt field's value.
37113func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
37114	s.StatusChangedAt = &v
37115	return s
37116}
37117
37118// Lightsail throws this exception when an operation fails to execute.
37119type OperationFailureException struct {
37120	_            struct{}                  `type:"structure"`
37121	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37122
37123	Code_ *string `locationName:"code" type:"string"`
37124
37125	Docs *string `locationName:"docs" type:"string"`
37126
37127	Message_ *string `locationName:"message" type:"string"`
37128
37129	Tip *string `locationName:"tip" type:"string"`
37130}
37131
37132// String returns the string representation.
37133//
37134// API parameter values that are decorated as "sensitive" in the API will not
37135// be included in the string output. The member name will be present, but the
37136// value will be replaced with "sensitive".
37137func (s OperationFailureException) String() string {
37138	return awsutil.Prettify(s)
37139}
37140
37141// GoString returns the string representation.
37142//
37143// API parameter values that are decorated as "sensitive" in the API will not
37144// be included in the string output. The member name will be present, but the
37145// value will be replaced with "sensitive".
37146func (s OperationFailureException) GoString() string {
37147	return s.String()
37148}
37149
37150func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
37151	return &OperationFailureException{
37152		RespMetadata: v,
37153	}
37154}
37155
37156// Code returns the exception type name.
37157func (s *OperationFailureException) Code() string {
37158	return "OperationFailureException"
37159}
37160
37161// Message returns the exception's message.
37162func (s *OperationFailureException) Message() string {
37163	if s.Message_ != nil {
37164		return *s.Message_
37165	}
37166	return ""
37167}
37168
37169// OrigErr always returns nil, satisfies awserr.Error interface.
37170func (s *OperationFailureException) OrigErr() error {
37171	return nil
37172}
37173
37174func (s *OperationFailureException) Error() string {
37175	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
37176}
37177
37178// Status code returns the HTTP status code for the request's response error.
37179func (s *OperationFailureException) StatusCode() int {
37180	return s.RespMetadata.StatusCode
37181}
37182
37183// RequestID returns the service's response RequestID for request.
37184func (s *OperationFailureException) RequestID() string {
37185	return s.RespMetadata.RequestID
37186}
37187
37188// Describes the origin resource of an Amazon Lightsail content delivery network
37189// (CDN) distribution.
37190//
37191// An origin can be a Lightsail instance or load balancer. A distribution pulls
37192// content from an origin, caches it, and serves it to viewers via a worldwide
37193// network of edge servers.
37194type Origin struct {
37195	_ struct{} `type:"structure"`
37196
37197	// The name of the origin resource.
37198	Name *string `locationName:"name" type:"string"`
37199
37200	// The protocol that your Amazon Lightsail distribution uses when establishing
37201	// a connection with your origin to pull content.
37202	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
37203
37204	// The AWS Region name of the origin resource.
37205	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
37206
37207	// The resource type of the origin resource (e.g., Instance).
37208	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
37209}
37210
37211// String returns the string representation.
37212//
37213// API parameter values that are decorated as "sensitive" in the API will not
37214// be included in the string output. The member name will be present, but the
37215// value will be replaced with "sensitive".
37216func (s Origin) String() string {
37217	return awsutil.Prettify(s)
37218}
37219
37220// GoString returns the string representation.
37221//
37222// API parameter values that are decorated as "sensitive" in the API will not
37223// be included in the string output. The member name will be present, but the
37224// value will be replaced with "sensitive".
37225func (s Origin) GoString() string {
37226	return s.String()
37227}
37228
37229// SetName sets the Name field's value.
37230func (s *Origin) SetName(v string) *Origin {
37231	s.Name = &v
37232	return s
37233}
37234
37235// SetProtocolPolicy sets the ProtocolPolicy field's value.
37236func (s *Origin) SetProtocolPolicy(v string) *Origin {
37237	s.ProtocolPolicy = &v
37238	return s
37239}
37240
37241// SetRegionName sets the RegionName field's value.
37242func (s *Origin) SetRegionName(v string) *Origin {
37243	s.RegionName = &v
37244	return s
37245}
37246
37247// SetResourceType sets the ResourceType field's value.
37248func (s *Origin) SetResourceType(v string) *Origin {
37249	s.ResourceType = &v
37250	return s
37251}
37252
37253// The password data for the Windows Server-based instance, including the ciphertext
37254// and the key pair name.
37255type PasswordData struct {
37256	_ struct{} `type:"structure"`
37257
37258	// The encrypted password. Ciphertext will be an empty string if access to your
37259	// new instance is not ready yet. When you create an instance, it can take up
37260	// to 15 minutes for the instance to be ready.
37261	//
37262	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
37263	// password will be available in the password field.
37264	//
37265	// If you are using a custom key pair, you need to use your own means of decryption.
37266	//
37267	// If you change the Administrator password on the instance, Lightsail will
37268	// continue to return the original ciphertext value. When accessing the instance
37269	// using RDP, you need to manually enter the Administrator password after changing
37270	// it from the default.
37271	Ciphertext *string `locationName:"ciphertext" type:"string"`
37272
37273	// The name of the key pair that you used when creating your instance. If no
37274	// key pair name was specified when creating the instance, Lightsail uses the
37275	// default key pair (LightsailDefaultKeyPair).
37276	//
37277	// If you are using a custom key pair, you need to use your own means of decrypting
37278	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
37279	// your password with the public key part of this key pair.
37280	KeyPairName *string `locationName:"keyPairName" type:"string"`
37281}
37282
37283// String returns the string representation.
37284//
37285// API parameter values that are decorated as "sensitive" in the API will not
37286// be included in the string output. The member name will be present, but the
37287// value will be replaced with "sensitive".
37288func (s PasswordData) String() string {
37289	return awsutil.Prettify(s)
37290}
37291
37292// GoString returns the string representation.
37293//
37294// API parameter values that are decorated as "sensitive" in the API will not
37295// be included in the string output. The member name will be present, but the
37296// value will be replaced with "sensitive".
37297func (s PasswordData) GoString() string {
37298	return s.String()
37299}
37300
37301// SetCiphertext sets the Ciphertext field's value.
37302func (s *PasswordData) SetCiphertext(v string) *PasswordData {
37303	s.Ciphertext = &v
37304	return s
37305}
37306
37307// SetKeyPairName sets the KeyPairName field's value.
37308func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
37309	s.KeyPairName = &v
37310	return s
37311}
37312
37313type PeerVpcInput struct {
37314	_ struct{} `type:"structure"`
37315}
37316
37317// String returns the string representation.
37318//
37319// API parameter values that are decorated as "sensitive" in the API will not
37320// be included in the string output. The member name will be present, but the
37321// value will be replaced with "sensitive".
37322func (s PeerVpcInput) String() string {
37323	return awsutil.Prettify(s)
37324}
37325
37326// GoString returns the string representation.
37327//
37328// API parameter values that are decorated as "sensitive" in the API will not
37329// be included in the string output. The member name will be present, but the
37330// value will be replaced with "sensitive".
37331func (s PeerVpcInput) GoString() string {
37332	return s.String()
37333}
37334
37335type PeerVpcOutput struct {
37336	_ struct{} `type:"structure"`
37337
37338	// An array of objects that describe the result of the action, such as the status
37339	// of the request, the timestamp of the request, and the resources affected
37340	// by the request.
37341	Operation *Operation `locationName:"operation" type:"structure"`
37342}
37343
37344// String returns the string representation.
37345//
37346// API parameter values that are decorated as "sensitive" in the API will not
37347// be included in the string output. The member name will be present, but the
37348// value will be replaced with "sensitive".
37349func (s PeerVpcOutput) String() string {
37350	return awsutil.Prettify(s)
37351}
37352
37353// GoString returns the string representation.
37354//
37355// API parameter values that are decorated as "sensitive" in the API will not
37356// be included in the string output. The member name will be present, but the
37357// value will be replaced with "sensitive".
37358func (s PeerVpcOutput) GoString() string {
37359	return s.String()
37360}
37361
37362// SetOperation sets the Operation field's value.
37363func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
37364	s.Operation = v
37365	return s
37366}
37367
37368// Describes a pending database maintenance action.
37369type PendingMaintenanceAction struct {
37370	_ struct{} `type:"structure"`
37371
37372	// The type of pending database maintenance action.
37373	Action *string `locationName:"action" type:"string"`
37374
37375	// The effective date of the pending database maintenance action.
37376	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
37377
37378	// Additional detail about the pending database maintenance action.
37379	Description *string `locationName:"description" type:"string"`
37380}
37381
37382// String returns the string representation.
37383//
37384// API parameter values that are decorated as "sensitive" in the API will not
37385// be included in the string output. The member name will be present, but the
37386// value will be replaced with "sensitive".
37387func (s PendingMaintenanceAction) String() string {
37388	return awsutil.Prettify(s)
37389}
37390
37391// GoString returns the string representation.
37392//
37393// API parameter values that are decorated as "sensitive" in the API will not
37394// be included in the string output. The member name will be present, but the
37395// value will be replaced with "sensitive".
37396func (s PendingMaintenanceAction) GoString() string {
37397	return s.String()
37398}
37399
37400// SetAction sets the Action field's value.
37401func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
37402	s.Action = &v
37403	return s
37404}
37405
37406// SetCurrentApplyDate sets the CurrentApplyDate field's value.
37407func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
37408	s.CurrentApplyDate = &v
37409	return s
37410}
37411
37412// SetDescription sets the Description field's value.
37413func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
37414	s.Description = &v
37415	return s
37416}
37417
37418// Describes a pending database value modification.
37419type PendingModifiedRelationalDatabaseValues struct {
37420	_ struct{} `type:"structure"`
37421
37422	// A Boolean value indicating whether automated backup retention is enabled.
37423	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
37424
37425	// The database engine version.
37426	EngineVersion *string `locationName:"engineVersion" type:"string"`
37427
37428	// The password for the master user of the database.
37429	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
37430}
37431
37432// String returns the string representation.
37433//
37434// API parameter values that are decorated as "sensitive" in the API will not
37435// be included in the string output. The member name will be present, but the
37436// value will be replaced with "sensitive".
37437func (s PendingModifiedRelationalDatabaseValues) String() string {
37438	return awsutil.Prettify(s)
37439}
37440
37441// GoString returns the string representation.
37442//
37443// API parameter values that are decorated as "sensitive" in the API will not
37444// be included in the string output. The member name will be present, but the
37445// value will be replaced with "sensitive".
37446func (s PendingModifiedRelationalDatabaseValues) GoString() string {
37447	return s.String()
37448}
37449
37450// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
37451func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
37452	s.BackupRetentionEnabled = &v
37453	return s
37454}
37455
37456// SetEngineVersion sets the EngineVersion field's value.
37457func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
37458	s.EngineVersion = &v
37459	return s
37460}
37461
37462// SetMasterUserPassword sets the MasterUserPassword field's value.
37463func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
37464	s.MasterUserPassword = &v
37465	return s
37466}
37467
37468// Describes ports to open on an instance, the IP addresses allowed to connect
37469// to the instance through the ports, and the protocol.
37470type PortInfo struct {
37471	_ struct{} `type:"structure"`
37472
37473	// An alias that defines access for a preconfigured range of IP addresses.
37474	//
37475	// The only alias currently supported is lightsail-connect, which allows IP
37476	// addresses of the browser-based RDP/SSH client in the Lightsail console to
37477	// connect to your instance.
37478	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
37479
37480	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
37481	// allowed to connect to an instance through the ports, and the protocol.
37482	//
37483	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
37484	// to an instance.
37485	//
37486	// Examples:
37487	//
37488	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
37489	//
37490	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
37491	//
37492	// For more information about CIDR block notation, see Classless Inter-Domain
37493	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
37494	// on Wikipedia.
37495	Cidrs []*string `locationName:"cidrs" type:"list"`
37496
37497	// The first port in a range of open ports on an instance.
37498	//
37499	// Allowed ports:
37500	//
37501	//    * TCP and UDP - 0 to 65535
37502	//
37503	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
37504	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
37505	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
37506	//    on Wikipedia.
37507	//
37508	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
37509	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
37510	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
37511	FromPort *int64 `locationName:"fromPort" type:"integer"`
37512
37513	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
37514	// allowed to connect to an instance through the ports, and the protocol. Only
37515	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
37516	// IPv4 should be used.
37517	//
37518	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
37519	// to an instance.
37520	//
37521	// For more information about CIDR block notation, see Classless Inter-Domain
37522	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
37523	// on Wikipedia.
37524	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
37525
37526	// The IP protocol name.
37527	//
37528	// The name can be one of the following:
37529	//
37530	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
37531	//    and error-checked delivery of streamed data between applications running
37532	//    on hosts communicating by an IP network. If you have an application that
37533	//    doesn't require reliable data stream service, use UDP instead.
37534	//
37535	//    * all - All transport layer protocol types. For more general information,
37536	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
37537	//    Wikipedia.
37538	//
37539	//    * udp - With User Datagram Protocol (UDP), computer applications can send
37540	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
37541	//    Prior communications are not required to set up transmission channels
37542	//    or data paths. Applications that don't require reliable data stream service
37543	//    can use UDP, which provides a connectionless datagram service that emphasizes
37544	//    reduced latency over reliability. If you do require reliable data stream
37545	//    service, use TCP instead.
37546	//
37547	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
37548	//    messages and operational information indicating success or failure when
37549	//    communicating with an instance. For example, an error is indicated when
37550	//    an instance could not be reached. When you specify icmp as the protocol,
37551	//    you must specify the ICMP type using the fromPort parameter, and ICMP
37552	//    code using the toPort parameter.
37553	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
37554
37555	// The last port in a range of open ports on an instance.
37556	//
37557	// Allowed ports:
37558	//
37559	//    * TCP and UDP - 0 to 65535
37560	//
37561	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
37562	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
37563	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
37564	//    on Wikipedia.
37565	//
37566	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
37567	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
37568	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
37569	ToPort *int64 `locationName:"toPort" type:"integer"`
37570}
37571
37572// String returns the string representation.
37573//
37574// API parameter values that are decorated as "sensitive" in the API will not
37575// be included in the string output. The member name will be present, but the
37576// value will be replaced with "sensitive".
37577func (s PortInfo) String() string {
37578	return awsutil.Prettify(s)
37579}
37580
37581// GoString returns the string representation.
37582//
37583// API parameter values that are decorated as "sensitive" in the API will not
37584// be included in the string output. The member name will be present, but the
37585// value will be replaced with "sensitive".
37586func (s PortInfo) GoString() string {
37587	return s.String()
37588}
37589
37590// Validate inspects the fields of the type to determine if they are valid.
37591func (s *PortInfo) Validate() error {
37592	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
37593	if s.FromPort != nil && *s.FromPort < -1 {
37594		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
37595	}
37596	if s.ToPort != nil && *s.ToPort < -1 {
37597		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
37598	}
37599
37600	if invalidParams.Len() > 0 {
37601		return invalidParams
37602	}
37603	return nil
37604}
37605
37606// SetCidrListAliases sets the CidrListAliases field's value.
37607func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
37608	s.CidrListAliases = v
37609	return s
37610}
37611
37612// SetCidrs sets the Cidrs field's value.
37613func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
37614	s.Cidrs = v
37615	return s
37616}
37617
37618// SetFromPort sets the FromPort field's value.
37619func (s *PortInfo) SetFromPort(v int64) *PortInfo {
37620	s.FromPort = &v
37621	return s
37622}
37623
37624// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
37625func (s *PortInfo) SetIpv6Cidrs(v []*string) *PortInfo {
37626	s.Ipv6Cidrs = v
37627	return s
37628}
37629
37630// SetProtocol sets the Protocol field's value.
37631func (s *PortInfo) SetProtocol(v string) *PortInfo {
37632	s.Protocol = &v
37633	return s
37634}
37635
37636// SetToPort sets the ToPort field's value.
37637func (s *PortInfo) SetToPort(v int64) *PortInfo {
37638	s.ToPort = &v
37639	return s
37640}
37641
37642type PutAlarmInput struct {
37643	_ struct{} `type:"structure"`
37644
37645	// The name for the alarm. Specify the name of an existing alarm to update,
37646	// and overwrite the previous configuration of the alarm.
37647	//
37648	// AlarmName is a required field
37649	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
37650
37651	// The arithmetic operation to use when comparing the specified statistic to
37652	// the threshold. The specified statistic value is used as the first operand.
37653	//
37654	// ComparisonOperator is a required field
37655	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
37656
37657	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
37658	// or both.
37659	//
37660	// A notification is sent via the specified contact protocol if notifications
37661	// are enabled for the alarm, and when the alarm is triggered.
37662	//
37663	// A notification is not sent if a contact protocol is not specified, if the
37664	// specified contact protocol is not configured in the AWS Region, or if notifications
37665	// are not enabled for the alarm using the notificationEnabled paramater.
37666	//
37667	// Use the CreateContactMethod action to configure a contact protocol in an
37668	// AWS Region.
37669	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
37670
37671	// The number of data points that must be not within the specified threshold
37672	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
37673	// (datapointsToAlarm) is the M.
37674	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
37675
37676	// The number of most recent periods over which data is compared to the specified
37677	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
37678	// is the N.
37679	//
37680	// If you are setting an alarm that requires that a number of consecutive data
37681	// points be breaching to trigger the alarm, this value specifies the rolling
37682	// period of time in which data points are evaluated.
37683	//
37684	// Each evaluation period is five minutes long. For example, specify an evaluation
37685	// period of 24 to evaluate a metric over a rolling period of two hours.
37686	//
37687	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
37688	// evaluation period of 288 (24 hours).
37689	//
37690	// EvaluationPeriods is a required field
37691	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
37692
37693	// The name of the metric to associate with the alarm.
37694	//
37695	// You can configure up to two alarms per metric.
37696	//
37697	// The following metrics are available for each resource type:
37698	//
37699	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
37700	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
37701	//    and StatusCheckFailed_System.
37702	//
37703	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
37704	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
37705	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
37706	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
37707	//
37708	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
37709	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
37710	//
37711	// For more information about these metrics, see Metrics available in Lightsail
37712	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
37713	//
37714	// MetricName is a required field
37715	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
37716
37717	// The name of the Lightsail resource that will be monitored.
37718	//
37719	// Instances, load balancers, and relational databases are the only Lightsail
37720	// resources that can currently be monitored by alarms.
37721	//
37722	// MonitoredResourceName is a required field
37723	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
37724
37725	// Indicates whether the alarm is enabled.
37726	//
37727	// Notifications are enabled by default if you don't specify this parameter.
37728	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
37729
37730	// The alarm states that trigger a notification.
37731	//
37732	// An alarm has the following possible states:
37733	//
37734	//    * ALARM - The metric is outside of the defined threshold.
37735	//
37736	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
37737	//    or not enough data is available for the metric to determine the alarm
37738	//    state.
37739	//
37740	//    * OK - The metric is within the defined threshold.
37741	//
37742	// When you specify a notification trigger, the ALARM state must be specified.
37743	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
37744	// state.
37745	//
37746	//    * If you specify OK as an alarm trigger, a notification is sent when the
37747	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
37748	//    state. This can be thought of as an all clear alarm notification.
37749	//
37750	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
37751	//    is sent when the alarm switches from an OK or ALARM alarm state to an
37752	//    INSUFFICIENT_DATA state.
37753	//
37754	// The notification trigger defaults to ALARM if you don't specify this parameter.
37755	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
37756
37757	// The value against which the specified statistic is compared.
37758	//
37759	// Threshold is a required field
37760	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
37761
37762	// Sets how this alarm will handle missing data points.
37763	//
37764	// An alarm can treat missing data in the following ways:
37765	//
37766	//    * breaching - Assume the missing data is not within the threshold. Missing
37767	//    data counts towards the number of times the metric is not within the threshold.
37768	//
37769	//    * notBreaching - Assume the missing data is within the threshold. Missing
37770	//    data does not count towards the number of times the metric is not within
37771	//    the threshold.
37772	//
37773	//    * ignore - Ignore the missing data. Maintains the current alarm state.
37774	//
37775	//    * missing - Missing data is treated as missing.
37776	//
37777	// If treatMissingData is not specified, the default behavior of missing is
37778	// used.
37779	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
37780}
37781
37782// String returns the string representation.
37783//
37784// API parameter values that are decorated as "sensitive" in the API will not
37785// be included in the string output. The member name will be present, but the
37786// value will be replaced with "sensitive".
37787func (s PutAlarmInput) String() string {
37788	return awsutil.Prettify(s)
37789}
37790
37791// GoString returns the string representation.
37792//
37793// API parameter values that are decorated as "sensitive" in the API will not
37794// be included in the string output. The member name will be present, but the
37795// value will be replaced with "sensitive".
37796func (s PutAlarmInput) GoString() string {
37797	return s.String()
37798}
37799
37800// Validate inspects the fields of the type to determine if they are valid.
37801func (s *PutAlarmInput) Validate() error {
37802	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
37803	if s.AlarmName == nil {
37804		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
37805	}
37806	if s.ComparisonOperator == nil {
37807		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
37808	}
37809	if s.EvaluationPeriods == nil {
37810		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
37811	}
37812	if s.MetricName == nil {
37813		invalidParams.Add(request.NewErrParamRequired("MetricName"))
37814	}
37815	if s.MonitoredResourceName == nil {
37816		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
37817	}
37818	if s.Threshold == nil {
37819		invalidParams.Add(request.NewErrParamRequired("Threshold"))
37820	}
37821
37822	if invalidParams.Len() > 0 {
37823		return invalidParams
37824	}
37825	return nil
37826}
37827
37828// SetAlarmName sets the AlarmName field's value.
37829func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
37830	s.AlarmName = &v
37831	return s
37832}
37833
37834// SetComparisonOperator sets the ComparisonOperator field's value.
37835func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
37836	s.ComparisonOperator = &v
37837	return s
37838}
37839
37840// SetContactProtocols sets the ContactProtocols field's value.
37841func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
37842	s.ContactProtocols = v
37843	return s
37844}
37845
37846// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
37847func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
37848	s.DatapointsToAlarm = &v
37849	return s
37850}
37851
37852// SetEvaluationPeriods sets the EvaluationPeriods field's value.
37853func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
37854	s.EvaluationPeriods = &v
37855	return s
37856}
37857
37858// SetMetricName sets the MetricName field's value.
37859func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
37860	s.MetricName = &v
37861	return s
37862}
37863
37864// SetMonitoredResourceName sets the MonitoredResourceName field's value.
37865func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
37866	s.MonitoredResourceName = &v
37867	return s
37868}
37869
37870// SetNotificationEnabled sets the NotificationEnabled field's value.
37871func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
37872	s.NotificationEnabled = &v
37873	return s
37874}
37875
37876// SetNotificationTriggers sets the NotificationTriggers field's value.
37877func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
37878	s.NotificationTriggers = v
37879	return s
37880}
37881
37882// SetThreshold sets the Threshold field's value.
37883func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
37884	s.Threshold = &v
37885	return s
37886}
37887
37888// SetTreatMissingData sets the TreatMissingData field's value.
37889func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
37890	s.TreatMissingData = &v
37891	return s
37892}
37893
37894type PutAlarmOutput struct {
37895	_ struct{} `type:"structure"`
37896
37897	// An array of objects that describe the result of the action, such as the status
37898	// of the request, the timestamp of the request, and the resources affected
37899	// by the request.
37900	Operations []*Operation `locationName:"operations" type:"list"`
37901}
37902
37903// String returns the string representation.
37904//
37905// API parameter values that are decorated as "sensitive" in the API will not
37906// be included in the string output. The member name will be present, but the
37907// value will be replaced with "sensitive".
37908func (s PutAlarmOutput) String() string {
37909	return awsutil.Prettify(s)
37910}
37911
37912// GoString returns the string representation.
37913//
37914// API parameter values that are decorated as "sensitive" in the API will not
37915// be included in the string output. The member name will be present, but the
37916// value will be replaced with "sensitive".
37917func (s PutAlarmOutput) GoString() string {
37918	return s.String()
37919}
37920
37921// SetOperations sets the Operations field's value.
37922func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
37923	s.Operations = v
37924	return s
37925}
37926
37927type PutInstancePublicPortsInput struct {
37928	_ struct{} `type:"structure"`
37929
37930	// The name of the instance for which to open ports.
37931	//
37932	// InstanceName is a required field
37933	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
37934
37935	// An array of objects to describe the ports to open for the specified instance.
37936	//
37937	// PortInfos is a required field
37938	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
37939}
37940
37941// String returns the string representation.
37942//
37943// API parameter values that are decorated as "sensitive" in the API will not
37944// be included in the string output. The member name will be present, but the
37945// value will be replaced with "sensitive".
37946func (s PutInstancePublicPortsInput) String() string {
37947	return awsutil.Prettify(s)
37948}
37949
37950// GoString returns the string representation.
37951//
37952// API parameter values that are decorated as "sensitive" in the API will not
37953// be included in the string output. The member name will be present, but the
37954// value will be replaced with "sensitive".
37955func (s PutInstancePublicPortsInput) GoString() string {
37956	return s.String()
37957}
37958
37959// Validate inspects the fields of the type to determine if they are valid.
37960func (s *PutInstancePublicPortsInput) Validate() error {
37961	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
37962	if s.InstanceName == nil {
37963		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
37964	}
37965	if s.PortInfos == nil {
37966		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
37967	}
37968	if s.PortInfos != nil {
37969		for i, v := range s.PortInfos {
37970			if v == nil {
37971				continue
37972			}
37973			if err := v.Validate(); err != nil {
37974				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
37975			}
37976		}
37977	}
37978
37979	if invalidParams.Len() > 0 {
37980		return invalidParams
37981	}
37982	return nil
37983}
37984
37985// SetInstanceName sets the InstanceName field's value.
37986func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
37987	s.InstanceName = &v
37988	return s
37989}
37990
37991// SetPortInfos sets the PortInfos field's value.
37992func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
37993	s.PortInfos = v
37994	return s
37995}
37996
37997type PutInstancePublicPortsOutput struct {
37998	_ struct{} `type:"structure"`
37999
38000	// An array of objects that describe the result of the action, such as the status
38001	// of the request, the timestamp of the request, and the resources affected
38002	// by the request.
38003	Operation *Operation `locationName:"operation" type:"structure"`
38004}
38005
38006// String returns the string representation.
38007//
38008// API parameter values that are decorated as "sensitive" in the API will not
38009// be included in the string output. The member name will be present, but the
38010// value will be replaced with "sensitive".
38011func (s PutInstancePublicPortsOutput) String() string {
38012	return awsutil.Prettify(s)
38013}
38014
38015// GoString returns the string representation.
38016//
38017// API parameter values that are decorated as "sensitive" in the API will not
38018// be included in the string output. The member name will be present, but the
38019// value will be replaced with "sensitive".
38020func (s PutInstancePublicPortsOutput) GoString() string {
38021	return s.String()
38022}
38023
38024// SetOperation sets the Operation field's value.
38025func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
38026	s.Operation = v
38027	return s
38028}
38029
38030// Describes the query string parameters that an Amazon Lightsail content delivery
38031// network (CDN) distribution to bases caching on.
38032//
38033// For the query strings that you specify, your distribution caches separate
38034// versions of the specified content based on the query string values in viewer
38035// requests.
38036type QueryStringObject struct {
38037	_ struct{} `type:"structure"`
38038
38039	// Indicates whether the distribution forwards and caches based on query strings.
38040	Option *bool `locationName:"option" type:"boolean"`
38041
38042	// The specific query strings that the distribution forwards to the origin.
38043	//
38044	// Your distribution will cache content based on the specified query strings.
38045	//
38046	// If the option parameter is true, then your distribution forwards all query
38047	// strings, regardless of what you specify using the queryStringsAllowList parameter.
38048	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
38049}
38050
38051// String returns the string representation.
38052//
38053// API parameter values that are decorated as "sensitive" in the API will not
38054// be included in the string output. The member name will be present, but the
38055// value will be replaced with "sensitive".
38056func (s QueryStringObject) String() string {
38057	return awsutil.Prettify(s)
38058}
38059
38060// GoString returns the string representation.
38061//
38062// API parameter values that are decorated as "sensitive" in the API will not
38063// be included in the string output. The member name will be present, but the
38064// value will be replaced with "sensitive".
38065func (s QueryStringObject) GoString() string {
38066	return s.String()
38067}
38068
38069// SetOption sets the Option field's value.
38070func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
38071	s.Option = &v
38072	return s
38073}
38074
38075// SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
38076func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
38077	s.QueryStringsAllowList = v
38078	return s
38079}
38080
38081type RebootInstanceInput struct {
38082	_ struct{} `type:"structure"`
38083
38084	// The name of the instance to reboot.
38085	//
38086	// InstanceName is a required field
38087	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
38088}
38089
38090// String returns the string representation.
38091//
38092// API parameter values that are decorated as "sensitive" in the API will not
38093// be included in the string output. The member name will be present, but the
38094// value will be replaced with "sensitive".
38095func (s RebootInstanceInput) String() string {
38096	return awsutil.Prettify(s)
38097}
38098
38099// GoString returns the string representation.
38100//
38101// API parameter values that are decorated as "sensitive" in the API will not
38102// be included in the string output. The member name will be present, but the
38103// value will be replaced with "sensitive".
38104func (s RebootInstanceInput) GoString() string {
38105	return s.String()
38106}
38107
38108// Validate inspects the fields of the type to determine if they are valid.
38109func (s *RebootInstanceInput) Validate() error {
38110	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
38111	if s.InstanceName == nil {
38112		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
38113	}
38114
38115	if invalidParams.Len() > 0 {
38116		return invalidParams
38117	}
38118	return nil
38119}
38120
38121// SetInstanceName sets the InstanceName field's value.
38122func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
38123	s.InstanceName = &v
38124	return s
38125}
38126
38127type RebootInstanceOutput struct {
38128	_ struct{} `type:"structure"`
38129
38130	// An array of objects that describe the result of the action, such as the status
38131	// of the request, the timestamp of the request, and the resources affected
38132	// by the request.
38133	Operations []*Operation `locationName:"operations" type:"list"`
38134}
38135
38136// String returns the string representation.
38137//
38138// API parameter values that are decorated as "sensitive" in the API will not
38139// be included in the string output. The member name will be present, but the
38140// value will be replaced with "sensitive".
38141func (s RebootInstanceOutput) String() string {
38142	return awsutil.Prettify(s)
38143}
38144
38145// GoString returns the string representation.
38146//
38147// API parameter values that are decorated as "sensitive" in the API will not
38148// be included in the string output. The member name will be present, but the
38149// value will be replaced with "sensitive".
38150func (s RebootInstanceOutput) GoString() string {
38151	return s.String()
38152}
38153
38154// SetOperations sets the Operations field's value.
38155func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
38156	s.Operations = v
38157	return s
38158}
38159
38160type RebootRelationalDatabaseInput struct {
38161	_ struct{} `type:"structure"`
38162
38163	// The name of your database to reboot.
38164	//
38165	// RelationalDatabaseName is a required field
38166	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
38167}
38168
38169// String returns the string representation.
38170//
38171// API parameter values that are decorated as "sensitive" in the API will not
38172// be included in the string output. The member name will be present, but the
38173// value will be replaced with "sensitive".
38174func (s RebootRelationalDatabaseInput) String() string {
38175	return awsutil.Prettify(s)
38176}
38177
38178// GoString returns the string representation.
38179//
38180// API parameter values that are decorated as "sensitive" in the API will not
38181// be included in the string output. The member name will be present, but the
38182// value will be replaced with "sensitive".
38183func (s RebootRelationalDatabaseInput) GoString() string {
38184	return s.String()
38185}
38186
38187// Validate inspects the fields of the type to determine if they are valid.
38188func (s *RebootRelationalDatabaseInput) Validate() error {
38189	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
38190	if s.RelationalDatabaseName == nil {
38191		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
38192	}
38193
38194	if invalidParams.Len() > 0 {
38195		return invalidParams
38196	}
38197	return nil
38198}
38199
38200// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
38201func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
38202	s.RelationalDatabaseName = &v
38203	return s
38204}
38205
38206type RebootRelationalDatabaseOutput struct {
38207	_ struct{} `type:"structure"`
38208
38209	// An array of objects that describe the result of the action, such as the status
38210	// of the request, the timestamp of the request, and the resources affected
38211	// by the request.
38212	Operations []*Operation `locationName:"operations" type:"list"`
38213}
38214
38215// String returns the string representation.
38216//
38217// API parameter values that are decorated as "sensitive" in the API will not
38218// be included in the string output. The member name will be present, but the
38219// value will be replaced with "sensitive".
38220func (s RebootRelationalDatabaseOutput) String() string {
38221	return awsutil.Prettify(s)
38222}
38223
38224// GoString returns the string representation.
38225//
38226// API parameter values that are decorated as "sensitive" in the API will not
38227// be included in the string output. The member name will be present, but the
38228// value will be replaced with "sensitive".
38229func (s RebootRelationalDatabaseOutput) GoString() string {
38230	return s.String()
38231}
38232
38233// SetOperations sets the Operations field's value.
38234func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
38235	s.Operations = v
38236	return s
38237}
38238
38239// Describes the AWS Region.
38240type Region struct {
38241	_ struct{} `type:"structure"`
38242
38243	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
38244	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
38245
38246	// The continent code (e.g., NA, meaning North America).
38247	ContinentCode *string `locationName:"continentCode" type:"string"`
38248
38249	// The description of the AWS Region (e.g., This region is recommended to serve
38250	// users in the eastern United States and eastern Canada).
38251	Description *string `locationName:"description" type:"string"`
38252
38253	// The display name (e.g., Ohio).
38254	DisplayName *string `locationName:"displayName" type:"string"`
38255
38256	// The region name (e.g., us-east-2).
38257	Name *string `locationName:"name" type:"string" enum:"RegionName"`
38258
38259	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
38260	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
38261}
38262
38263// String returns the string representation.
38264//
38265// API parameter values that are decorated as "sensitive" in the API will not
38266// be included in the string output. The member name will be present, but the
38267// value will be replaced with "sensitive".
38268func (s Region) String() string {
38269	return awsutil.Prettify(s)
38270}
38271
38272// GoString returns the string representation.
38273//
38274// API parameter values that are decorated as "sensitive" in the API will not
38275// be included in the string output. The member name will be present, but the
38276// value will be replaced with "sensitive".
38277func (s Region) GoString() string {
38278	return s.String()
38279}
38280
38281// SetAvailabilityZones sets the AvailabilityZones field's value.
38282func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
38283	s.AvailabilityZones = v
38284	return s
38285}
38286
38287// SetContinentCode sets the ContinentCode field's value.
38288func (s *Region) SetContinentCode(v string) *Region {
38289	s.ContinentCode = &v
38290	return s
38291}
38292
38293// SetDescription sets the Description field's value.
38294func (s *Region) SetDescription(v string) *Region {
38295	s.Description = &v
38296	return s
38297}
38298
38299// SetDisplayName sets the DisplayName field's value.
38300func (s *Region) SetDisplayName(v string) *Region {
38301	s.DisplayName = &v
38302	return s
38303}
38304
38305// SetName sets the Name field's value.
38306func (s *Region) SetName(v string) *Region {
38307	s.Name = &v
38308	return s
38309}
38310
38311// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
38312func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
38313	s.RelationalDatabaseAvailabilityZones = v
38314	return s
38315}
38316
38317type RegisterContainerImageInput struct {
38318	_ struct{} `type:"structure"`
38319
38320	// The digest of the container image to be registered.
38321	//
38322	// Digest is a required field
38323	Digest *string `locationName:"digest" type:"string" required:"true"`
38324
38325	// The label for the container image when it's registered to the container service.
38326	//
38327	// Use a descriptive label that you can use to track the different versions
38328	// of your registered container images.
38329	//
38330	// Use the GetContainerImages action to return the container images registered
38331	// to a Lightsail container service. The label is the <imagelabel> portion of
38332	// the following image name example:
38333	//
38334	//    * :container-service-1.<imagelabel>.1
38335	//
38336	// If the name of your container service is mycontainerservice, and the label
38337	// that you specify is mystaticwebsite, then the name of the registered container
38338	// image will be :mycontainerservice.mystaticwebsite.1.
38339	//
38340	// The number at the end of these image name examples represents the version
38341	// of the registered container image. If you push and register another container
38342	// image to the same Lightsail container service, with the same label, then
38343	// the version number for the new registered container image will be 2. If you
38344	// push and register another container image, the version number will be 3,
38345	// and so on.
38346	//
38347	// Label is a required field
38348	Label *string `locationName:"label" min:"1" type:"string" required:"true"`
38349
38350	// The name of the container service for which to register a container image.
38351	//
38352	// ServiceName is a required field
38353	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
38354}
38355
38356// String returns the string representation.
38357//
38358// API parameter values that are decorated as "sensitive" in the API will not
38359// be included in the string output. The member name will be present, but the
38360// value will be replaced with "sensitive".
38361func (s RegisterContainerImageInput) String() string {
38362	return awsutil.Prettify(s)
38363}
38364
38365// GoString returns the string representation.
38366//
38367// API parameter values that are decorated as "sensitive" in the API will not
38368// be included in the string output. The member name will be present, but the
38369// value will be replaced with "sensitive".
38370func (s RegisterContainerImageInput) GoString() string {
38371	return s.String()
38372}
38373
38374// Validate inspects the fields of the type to determine if they are valid.
38375func (s *RegisterContainerImageInput) Validate() error {
38376	invalidParams := request.ErrInvalidParams{Context: "RegisterContainerImageInput"}
38377	if s.Digest == nil {
38378		invalidParams.Add(request.NewErrParamRequired("Digest"))
38379	}
38380	if s.Label == nil {
38381		invalidParams.Add(request.NewErrParamRequired("Label"))
38382	}
38383	if s.Label != nil && len(*s.Label) < 1 {
38384		invalidParams.Add(request.NewErrParamMinLen("Label", 1))
38385	}
38386	if s.ServiceName == nil {
38387		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
38388	}
38389	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
38390		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
38391	}
38392
38393	if invalidParams.Len() > 0 {
38394		return invalidParams
38395	}
38396	return nil
38397}
38398
38399// SetDigest sets the Digest field's value.
38400func (s *RegisterContainerImageInput) SetDigest(v string) *RegisterContainerImageInput {
38401	s.Digest = &v
38402	return s
38403}
38404
38405// SetLabel sets the Label field's value.
38406func (s *RegisterContainerImageInput) SetLabel(v string) *RegisterContainerImageInput {
38407	s.Label = &v
38408	return s
38409}
38410
38411// SetServiceName sets the ServiceName field's value.
38412func (s *RegisterContainerImageInput) SetServiceName(v string) *RegisterContainerImageInput {
38413	s.ServiceName = &v
38414	return s
38415}
38416
38417type RegisterContainerImageOutput struct {
38418	_ struct{} `type:"structure"`
38419
38420	// Describes a container image that is registered to an Amazon Lightsail container
38421	// service.
38422	ContainerImage *ContainerImage `locationName:"containerImage" type:"structure"`
38423}
38424
38425// String returns the string representation.
38426//
38427// API parameter values that are decorated as "sensitive" in the API will not
38428// be included in the string output. The member name will be present, but the
38429// value will be replaced with "sensitive".
38430func (s RegisterContainerImageOutput) String() string {
38431	return awsutil.Prettify(s)
38432}
38433
38434// GoString returns the string representation.
38435//
38436// API parameter values that are decorated as "sensitive" in the API will not
38437// be included in the string output. The member name will be present, but the
38438// value will be replaced with "sensitive".
38439func (s RegisterContainerImageOutput) GoString() string {
38440	return s.String()
38441}
38442
38443// SetContainerImage sets the ContainerImage field's value.
38444func (s *RegisterContainerImageOutput) SetContainerImage(v *ContainerImage) *RegisterContainerImageOutput {
38445	s.ContainerImage = v
38446	return s
38447}
38448
38449// Describes a database.
38450type RelationalDatabase struct {
38451	_ struct{} `type:"structure"`
38452
38453	// The Amazon Resource Name (ARN) of the database.
38454	Arn *string `locationName:"arn" type:"string"`
38455
38456	// A Boolean value indicating whether automated backup retention is enabled
38457	// for the database.
38458	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
38459
38460	// The certificate associated with the database.
38461	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
38462
38463	// The timestamp when the database was created. Formatted in Unix time.
38464	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
38465
38466	// The database software (for example, MySQL).
38467	Engine *string `locationName:"engine" type:"string"`
38468
38469	// The database engine version (for example, 5.7.23).
38470	EngineVersion *string `locationName:"engineVersion" type:"string"`
38471
38472	// Describes the hardware of the database.
38473	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
38474
38475	// The latest point in time to which the database can be restored. Formatted
38476	// in Unix time.
38477	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
38478
38479	// The Region name and Availability Zone where the database is located.
38480	Location *ResourceLocation `locationName:"location" type:"structure"`
38481
38482	// The name of the master database created when the Lightsail database resource
38483	// is created.
38484	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
38485
38486	// The master endpoint for the database.
38487	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
38488
38489	// The master user name of the database.
38490	MasterUsername *string `locationName:"masterUsername" type:"string"`
38491
38492	// The unique name of the database resource in Lightsail.
38493	Name *string `locationName:"name" type:"string"`
38494
38495	// The status of parameter updates for the database.
38496	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
38497
38498	// Describes the pending maintenance actions for the database.
38499	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
38500
38501	// Describes pending database value modifications.
38502	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
38503
38504	// The daily time range during which automated backups are created for the database
38505	// (for example, 16:00-16:30).
38506	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
38507
38508	// The weekly time range during which system maintenance can occur on the database.
38509	//
38510	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
38511	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
38512
38513	// A Boolean value indicating whether the database is publicly accessible.
38514	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
38515
38516	// The blueprint ID for the database. A blueprint describes the major engine
38517	// version of a database.
38518	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
38519
38520	// The bundle ID for the database. A bundle describes the performance specifications
38521	// for your database.
38522	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
38523
38524	// The Lightsail resource type for the database (for example, RelationalDatabase).
38525	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
38526
38527	// Describes the secondary Availability Zone of a high availability database.
38528	//
38529	// The secondary database is used for failover support of a high availability
38530	// database.
38531	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
38532
38533	// Describes the current state of the database.
38534	State *string `locationName:"state" type:"string"`
38535
38536	// The support code for the database. Include this code in your email to support
38537	// when you have questions about a database in Lightsail. This code enables
38538	// our support team to look up your Lightsail information more easily.
38539	SupportCode *string `locationName:"supportCode" type:"string"`
38540
38541	// The tag keys and optional values for the resource. For more information about
38542	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
38543	Tags []*Tag `locationName:"tags" type:"list"`
38544}
38545
38546// String returns the string representation.
38547//
38548// API parameter values that are decorated as "sensitive" in the API will not
38549// be included in the string output. The member name will be present, but the
38550// value will be replaced with "sensitive".
38551func (s RelationalDatabase) String() string {
38552	return awsutil.Prettify(s)
38553}
38554
38555// GoString returns the string representation.
38556//
38557// API parameter values that are decorated as "sensitive" in the API will not
38558// be included in the string output. The member name will be present, but the
38559// value will be replaced with "sensitive".
38560func (s RelationalDatabase) GoString() string {
38561	return s.String()
38562}
38563
38564// SetArn sets the Arn field's value.
38565func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
38566	s.Arn = &v
38567	return s
38568}
38569
38570// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
38571func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
38572	s.BackupRetentionEnabled = &v
38573	return s
38574}
38575
38576// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
38577func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
38578	s.CaCertificateIdentifier = &v
38579	return s
38580}
38581
38582// SetCreatedAt sets the CreatedAt field's value.
38583func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
38584	s.CreatedAt = &v
38585	return s
38586}
38587
38588// SetEngine sets the Engine field's value.
38589func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
38590	s.Engine = &v
38591	return s
38592}
38593
38594// SetEngineVersion sets the EngineVersion field's value.
38595func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
38596	s.EngineVersion = &v
38597	return s
38598}
38599
38600// SetHardware sets the Hardware field's value.
38601func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
38602	s.Hardware = v
38603	return s
38604}
38605
38606// SetLatestRestorableTime sets the LatestRestorableTime field's value.
38607func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
38608	s.LatestRestorableTime = &v
38609	return s
38610}
38611
38612// SetLocation sets the Location field's value.
38613func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
38614	s.Location = v
38615	return s
38616}
38617
38618// SetMasterDatabaseName sets the MasterDatabaseName field's value.
38619func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
38620	s.MasterDatabaseName = &v
38621	return s
38622}
38623
38624// SetMasterEndpoint sets the MasterEndpoint field's value.
38625func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
38626	s.MasterEndpoint = v
38627	return s
38628}
38629
38630// SetMasterUsername sets the MasterUsername field's value.
38631func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
38632	s.MasterUsername = &v
38633	return s
38634}
38635
38636// SetName sets the Name field's value.
38637func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
38638	s.Name = &v
38639	return s
38640}
38641
38642// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
38643func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
38644	s.ParameterApplyStatus = &v
38645	return s
38646}
38647
38648// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
38649func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
38650	s.PendingMaintenanceActions = v
38651	return s
38652}
38653
38654// SetPendingModifiedValues sets the PendingModifiedValues field's value.
38655func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
38656	s.PendingModifiedValues = v
38657	return s
38658}
38659
38660// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
38661func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
38662	s.PreferredBackupWindow = &v
38663	return s
38664}
38665
38666// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
38667func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
38668	s.PreferredMaintenanceWindow = &v
38669	return s
38670}
38671
38672// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38673func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
38674	s.PubliclyAccessible = &v
38675	return s
38676}
38677
38678// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
38679func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
38680	s.RelationalDatabaseBlueprintId = &v
38681	return s
38682}
38683
38684// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
38685func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
38686	s.RelationalDatabaseBundleId = &v
38687	return s
38688}
38689
38690// SetResourceType sets the ResourceType field's value.
38691func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
38692	s.ResourceType = &v
38693	return s
38694}
38695
38696// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
38697func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
38698	s.SecondaryAvailabilityZone = &v
38699	return s
38700}
38701
38702// SetState sets the State field's value.
38703func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
38704	s.State = &v
38705	return s
38706}
38707
38708// SetSupportCode sets the SupportCode field's value.
38709func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
38710	s.SupportCode = &v
38711	return s
38712}
38713
38714// SetTags sets the Tags field's value.
38715func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
38716	s.Tags = v
38717	return s
38718}
38719
38720// Describes a database image, or blueprint. A blueprint describes the major
38721// engine version of a database.
38722type RelationalDatabaseBlueprint struct {
38723	_ struct{} `type:"structure"`
38724
38725	// The ID for the database blueprint.
38726	BlueprintId *string `locationName:"blueprintId" type:"string"`
38727
38728	// The database software of the database blueprint (for example, MySQL).
38729	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
38730
38731	// The description of the database engine for the database blueprint.
38732	EngineDescription *string `locationName:"engineDescription" type:"string"`
38733
38734	// The database engine version for the database blueprint (for example, 5.7.23).
38735	EngineVersion *string `locationName:"engineVersion" type:"string"`
38736
38737	// The description of the database engine version for the database blueprint.
38738	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
38739
38740	// A Boolean value indicating whether the engine version is the default for
38741	// the database blueprint.
38742	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
38743}
38744
38745// String returns the string representation.
38746//
38747// API parameter values that are decorated as "sensitive" in the API will not
38748// be included in the string output. The member name will be present, but the
38749// value will be replaced with "sensitive".
38750func (s RelationalDatabaseBlueprint) String() string {
38751	return awsutil.Prettify(s)
38752}
38753
38754// GoString returns the string representation.
38755//
38756// API parameter values that are decorated as "sensitive" in the API will not
38757// be included in the string output. The member name will be present, but the
38758// value will be replaced with "sensitive".
38759func (s RelationalDatabaseBlueprint) GoString() string {
38760	return s.String()
38761}
38762
38763// SetBlueprintId sets the BlueprintId field's value.
38764func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
38765	s.BlueprintId = &v
38766	return s
38767}
38768
38769// SetEngine sets the Engine field's value.
38770func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
38771	s.Engine = &v
38772	return s
38773}
38774
38775// SetEngineDescription sets the EngineDescription field's value.
38776func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
38777	s.EngineDescription = &v
38778	return s
38779}
38780
38781// SetEngineVersion sets the EngineVersion field's value.
38782func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
38783	s.EngineVersion = &v
38784	return s
38785}
38786
38787// SetEngineVersionDescription sets the EngineVersionDescription field's value.
38788func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
38789	s.EngineVersionDescription = &v
38790	return s
38791}
38792
38793// SetIsEngineDefault sets the IsEngineDefault field's value.
38794func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
38795	s.IsEngineDefault = &v
38796	return s
38797}
38798
38799// Describes a database bundle. A bundle describes the performance specifications
38800// of the database.
38801type RelationalDatabaseBundle struct {
38802	_ struct{} `type:"structure"`
38803
38804	// The ID for the database bundle.
38805	BundleId *string `locationName:"bundleId" type:"string"`
38806
38807	// The number of virtual CPUs (vCPUs) for the database bundle.
38808	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
38809
38810	// The size of the disk for the database bundle.
38811	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
38812
38813	// A Boolean value indicating whether the database bundle is active.
38814	IsActive *bool `locationName:"isActive" type:"boolean"`
38815
38816	// A Boolean value indicating whether the database bundle is encrypted.
38817	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
38818
38819	// The name for the database bundle.
38820	Name *string `locationName:"name" type:"string"`
38821
38822	// The cost of the database bundle in US currency.
38823	Price *float64 `locationName:"price" type:"float"`
38824
38825	// The amount of RAM in GB (for example, 2.0) for the database bundle.
38826	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
38827
38828	// The data transfer rate per month in GB for the database bundle.
38829	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
38830}
38831
38832// String returns the string representation.
38833//
38834// API parameter values that are decorated as "sensitive" in the API will not
38835// be included in the string output. The member name will be present, but the
38836// value will be replaced with "sensitive".
38837func (s RelationalDatabaseBundle) String() string {
38838	return awsutil.Prettify(s)
38839}
38840
38841// GoString returns the string representation.
38842//
38843// API parameter values that are decorated as "sensitive" in the API will not
38844// be included in the string output. The member name will be present, but the
38845// value will be replaced with "sensitive".
38846func (s RelationalDatabaseBundle) GoString() string {
38847	return s.String()
38848}
38849
38850// SetBundleId sets the BundleId field's value.
38851func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
38852	s.BundleId = &v
38853	return s
38854}
38855
38856// SetCpuCount sets the CpuCount field's value.
38857func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
38858	s.CpuCount = &v
38859	return s
38860}
38861
38862// SetDiskSizeInGb sets the DiskSizeInGb field's value.
38863func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
38864	s.DiskSizeInGb = &v
38865	return s
38866}
38867
38868// SetIsActive sets the IsActive field's value.
38869func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
38870	s.IsActive = &v
38871	return s
38872}
38873
38874// SetIsEncrypted sets the IsEncrypted field's value.
38875func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
38876	s.IsEncrypted = &v
38877	return s
38878}
38879
38880// SetName sets the Name field's value.
38881func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
38882	s.Name = &v
38883	return s
38884}
38885
38886// SetPrice sets the Price field's value.
38887func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
38888	s.Price = &v
38889	return s
38890}
38891
38892// SetRamSizeInGb sets the RamSizeInGb field's value.
38893func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
38894	s.RamSizeInGb = &v
38895	return s
38896}
38897
38898// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
38899func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
38900	s.TransferPerMonthInGb = &v
38901	return s
38902}
38903
38904// Describes an endpoint for a database.
38905type RelationalDatabaseEndpoint struct {
38906	_ struct{} `type:"structure"`
38907
38908	// Specifies the DNS address of the database.
38909	Address *string `locationName:"address" type:"string"`
38910
38911	// Specifies the port that the database is listening on.
38912	Port *int64 `locationName:"port" type:"integer"`
38913}
38914
38915// String returns the string representation.
38916//
38917// API parameter values that are decorated as "sensitive" in the API will not
38918// be included in the string output. The member name will be present, but the
38919// value will be replaced with "sensitive".
38920func (s RelationalDatabaseEndpoint) String() string {
38921	return awsutil.Prettify(s)
38922}
38923
38924// GoString returns the string representation.
38925//
38926// API parameter values that are decorated as "sensitive" in the API will not
38927// be included in the string output. The member name will be present, but the
38928// value will be replaced with "sensitive".
38929func (s RelationalDatabaseEndpoint) GoString() string {
38930	return s.String()
38931}
38932
38933// SetAddress sets the Address field's value.
38934func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
38935	s.Address = &v
38936	return s
38937}
38938
38939// SetPort sets the Port field's value.
38940func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
38941	s.Port = &v
38942	return s
38943}
38944
38945// Describes an event for a database.
38946type RelationalDatabaseEvent struct {
38947	_ struct{} `type:"structure"`
38948
38949	// The timestamp when the database event was created.
38950	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
38951
38952	// The category that the database event belongs to.
38953	EventCategories []*string `locationName:"eventCategories" type:"list"`
38954
38955	// The message of the database event.
38956	Message *string `locationName:"message" type:"string"`
38957
38958	// The database that the database event relates to.
38959	Resource *string `locationName:"resource" type:"string"`
38960}
38961
38962// String returns the string representation.
38963//
38964// API parameter values that are decorated as "sensitive" in the API will not
38965// be included in the string output. The member name will be present, but the
38966// value will be replaced with "sensitive".
38967func (s RelationalDatabaseEvent) String() string {
38968	return awsutil.Prettify(s)
38969}
38970
38971// GoString returns the string representation.
38972//
38973// API parameter values that are decorated as "sensitive" in the API will not
38974// be included in the string output. The member name will be present, but the
38975// value will be replaced with "sensitive".
38976func (s RelationalDatabaseEvent) GoString() string {
38977	return s.String()
38978}
38979
38980// SetCreatedAt sets the CreatedAt field's value.
38981func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
38982	s.CreatedAt = &v
38983	return s
38984}
38985
38986// SetEventCategories sets the EventCategories field's value.
38987func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
38988	s.EventCategories = v
38989	return s
38990}
38991
38992// SetMessage sets the Message field's value.
38993func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
38994	s.Message = &v
38995	return s
38996}
38997
38998// SetResource sets the Resource field's value.
38999func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
39000	s.Resource = &v
39001	return s
39002}
39003
39004// Describes the hardware of a database.
39005type RelationalDatabaseHardware struct {
39006	_ struct{} `type:"structure"`
39007
39008	// The number of vCPUs for the database.
39009	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
39010
39011	// The size of the disk for the database.
39012	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
39013
39014	// The amount of RAM in GB for the database.
39015	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
39016}
39017
39018// String returns the string representation.
39019//
39020// API parameter values that are decorated as "sensitive" in the API will not
39021// be included in the string output. The member name will be present, but the
39022// value will be replaced with "sensitive".
39023func (s RelationalDatabaseHardware) String() string {
39024	return awsutil.Prettify(s)
39025}
39026
39027// GoString returns the string representation.
39028//
39029// API parameter values that are decorated as "sensitive" in the API will not
39030// be included in the string output. The member name will be present, but the
39031// value will be replaced with "sensitive".
39032func (s RelationalDatabaseHardware) GoString() string {
39033	return s.String()
39034}
39035
39036// SetCpuCount sets the CpuCount field's value.
39037func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
39038	s.CpuCount = &v
39039	return s
39040}
39041
39042// SetDiskSizeInGb sets the DiskSizeInGb field's value.
39043func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
39044	s.DiskSizeInGb = &v
39045	return s
39046}
39047
39048// SetRamSizeInGb sets the RamSizeInGb field's value.
39049func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
39050	s.RamSizeInGb = &v
39051	return s
39052}
39053
39054// Describes the parameters of a database.
39055type RelationalDatabaseParameter struct {
39056	_ struct{} `type:"structure"`
39057
39058	// Specifies the valid range of values for the parameter.
39059	AllowedValues *string `locationName:"allowedValues" type:"string"`
39060
39061	// Indicates when parameter updates are applied.
39062	//
39063	// Can be immediate or pending-reboot.
39064	ApplyMethod *string `locationName:"applyMethod" type:"string"`
39065
39066	// Specifies the engine-specific parameter type.
39067	ApplyType *string `locationName:"applyType" type:"string"`
39068
39069	// Specifies the valid data type for the parameter.
39070	DataType *string `locationName:"dataType" type:"string"`
39071
39072	// Provides a description of the parameter.
39073	Description *string `locationName:"description" type:"string"`
39074
39075	// A Boolean value indicating whether the parameter can be modified.
39076	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
39077
39078	// Specifies the name of the parameter.
39079	ParameterName *string `locationName:"parameterName" type:"string"`
39080
39081	// Specifies the value of the parameter.
39082	ParameterValue *string `locationName:"parameterValue" type:"string"`
39083}
39084
39085// String returns the string representation.
39086//
39087// API parameter values that are decorated as "sensitive" in the API will not
39088// be included in the string output. The member name will be present, but the
39089// value will be replaced with "sensitive".
39090func (s RelationalDatabaseParameter) String() string {
39091	return awsutil.Prettify(s)
39092}
39093
39094// GoString returns the string representation.
39095//
39096// API parameter values that are decorated as "sensitive" in the API will not
39097// be included in the string output. The member name will be present, but the
39098// value will be replaced with "sensitive".
39099func (s RelationalDatabaseParameter) GoString() string {
39100	return s.String()
39101}
39102
39103// SetAllowedValues sets the AllowedValues field's value.
39104func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
39105	s.AllowedValues = &v
39106	return s
39107}
39108
39109// SetApplyMethod sets the ApplyMethod field's value.
39110func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
39111	s.ApplyMethod = &v
39112	return s
39113}
39114
39115// SetApplyType sets the ApplyType field's value.
39116func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
39117	s.ApplyType = &v
39118	return s
39119}
39120
39121// SetDataType sets the DataType field's value.
39122func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
39123	s.DataType = &v
39124	return s
39125}
39126
39127// SetDescription sets the Description field's value.
39128func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
39129	s.Description = &v
39130	return s
39131}
39132
39133// SetIsModifiable sets the IsModifiable field's value.
39134func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
39135	s.IsModifiable = &v
39136	return s
39137}
39138
39139// SetParameterName sets the ParameterName field's value.
39140func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
39141	s.ParameterName = &v
39142	return s
39143}
39144
39145// SetParameterValue sets the ParameterValue field's value.
39146func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
39147	s.ParameterValue = &v
39148	return s
39149}
39150
39151// Describes a database snapshot.
39152type RelationalDatabaseSnapshot struct {
39153	_ struct{} `type:"structure"`
39154
39155	// The Amazon Resource Name (ARN) of the database snapshot.
39156	Arn *string `locationName:"arn" type:"string"`
39157
39158	// The timestamp when the database snapshot was created.
39159	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
39160
39161	// The software of the database snapshot (for example, MySQL)
39162	Engine *string `locationName:"engine" type:"string"`
39163
39164	// The database engine version for the database snapshot (for example, 5.7.23).
39165	EngineVersion *string `locationName:"engineVersion" type:"string"`
39166
39167	// The Amazon Resource Name (ARN) of the database from which the database snapshot
39168	// was created.
39169	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
39170
39171	// The blueprint ID of the database from which the database snapshot was created.
39172	// A blueprint describes the major engine version of a database.
39173	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
39174
39175	// The bundle ID of the database from which the database snapshot was created.
39176	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
39177
39178	// The name of the source database from which the database snapshot was created.
39179	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
39180
39181	// The Region name and Availability Zone where the database snapshot is located.
39182	Location *ResourceLocation `locationName:"location" type:"structure"`
39183
39184	// The name of the database snapshot.
39185	Name *string `locationName:"name" type:"string"`
39186
39187	// The Lightsail resource type.
39188	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
39189
39190	// The size of the disk in GB (for example, 32) for the database snapshot.
39191	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
39192
39193	// The state of the database snapshot.
39194	State *string `locationName:"state" type:"string"`
39195
39196	// The support code for the database snapshot. Include this code in your email
39197	// to support when you have questions about a database snapshot in Lightsail.
39198	// This code enables our support team to look up your Lightsail information
39199	// more easily.
39200	SupportCode *string `locationName:"supportCode" type:"string"`
39201
39202	// The tag keys and optional values for the resource. For more information about
39203	// tags in Lightsail, see the Amazon Lightsail Developer Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
39204	Tags []*Tag `locationName:"tags" type:"list"`
39205}
39206
39207// String returns the string representation.
39208//
39209// API parameter values that are decorated as "sensitive" in the API will not
39210// be included in the string output. The member name will be present, but the
39211// value will be replaced with "sensitive".
39212func (s RelationalDatabaseSnapshot) String() string {
39213	return awsutil.Prettify(s)
39214}
39215
39216// GoString returns the string representation.
39217//
39218// API parameter values that are decorated as "sensitive" in the API will not
39219// be included in the string output. The member name will be present, but the
39220// value will be replaced with "sensitive".
39221func (s RelationalDatabaseSnapshot) GoString() string {
39222	return s.String()
39223}
39224
39225// SetArn sets the Arn field's value.
39226func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
39227	s.Arn = &v
39228	return s
39229}
39230
39231// SetCreatedAt sets the CreatedAt field's value.
39232func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
39233	s.CreatedAt = &v
39234	return s
39235}
39236
39237// SetEngine sets the Engine field's value.
39238func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
39239	s.Engine = &v
39240	return s
39241}
39242
39243// SetEngineVersion sets the EngineVersion field's value.
39244func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
39245	s.EngineVersion = &v
39246	return s
39247}
39248
39249// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
39250func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
39251	s.FromRelationalDatabaseArn = &v
39252	return s
39253}
39254
39255// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
39256func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
39257	s.FromRelationalDatabaseBlueprintId = &v
39258	return s
39259}
39260
39261// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
39262func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
39263	s.FromRelationalDatabaseBundleId = &v
39264	return s
39265}
39266
39267// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
39268func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
39269	s.FromRelationalDatabaseName = &v
39270	return s
39271}
39272
39273// SetLocation sets the Location field's value.
39274func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
39275	s.Location = v
39276	return s
39277}
39278
39279// SetName sets the Name field's value.
39280func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
39281	s.Name = &v
39282	return s
39283}
39284
39285// SetResourceType sets the ResourceType field's value.
39286func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
39287	s.ResourceType = &v
39288	return s
39289}
39290
39291// SetSizeInGb sets the SizeInGb field's value.
39292func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
39293	s.SizeInGb = &v
39294	return s
39295}
39296
39297// SetState sets the State field's value.
39298func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
39299	s.State = &v
39300	return s
39301}
39302
39303// SetSupportCode sets the SupportCode field's value.
39304func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
39305	s.SupportCode = &v
39306	return s
39307}
39308
39309// SetTags sets the Tags field's value.
39310func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
39311	s.Tags = v
39312	return s
39313}
39314
39315type ReleaseStaticIpInput struct {
39316	_ struct{} `type:"structure"`
39317
39318	// The name of the static IP to delete.
39319	//
39320	// StaticIpName is a required field
39321	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
39322}
39323
39324// String returns the string representation.
39325//
39326// API parameter values that are decorated as "sensitive" in the API will not
39327// be included in the string output. The member name will be present, but the
39328// value will be replaced with "sensitive".
39329func (s ReleaseStaticIpInput) String() string {
39330	return awsutil.Prettify(s)
39331}
39332
39333// GoString returns the string representation.
39334//
39335// API parameter values that are decorated as "sensitive" in the API will not
39336// be included in the string output. The member name will be present, but the
39337// value will be replaced with "sensitive".
39338func (s ReleaseStaticIpInput) GoString() string {
39339	return s.String()
39340}
39341
39342// Validate inspects the fields of the type to determine if they are valid.
39343func (s *ReleaseStaticIpInput) Validate() error {
39344	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
39345	if s.StaticIpName == nil {
39346		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
39347	}
39348
39349	if invalidParams.Len() > 0 {
39350		return invalidParams
39351	}
39352	return nil
39353}
39354
39355// SetStaticIpName sets the StaticIpName field's value.
39356func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
39357	s.StaticIpName = &v
39358	return s
39359}
39360
39361type ReleaseStaticIpOutput struct {
39362	_ struct{} `type:"structure"`
39363
39364	// An array of objects that describe the result of the action, such as the status
39365	// of the request, the timestamp of the request, and the resources affected
39366	// by the request.
39367	Operations []*Operation `locationName:"operations" type:"list"`
39368}
39369
39370// String returns the string representation.
39371//
39372// API parameter values that are decorated as "sensitive" in the API will not
39373// be included in the string output. The member name will be present, but the
39374// value will be replaced with "sensitive".
39375func (s ReleaseStaticIpOutput) String() string {
39376	return awsutil.Prettify(s)
39377}
39378
39379// GoString returns the string representation.
39380//
39381// API parameter values that are decorated as "sensitive" in the API will not
39382// be included in the string output. The member name will be present, but the
39383// value will be replaced with "sensitive".
39384func (s ReleaseStaticIpOutput) GoString() string {
39385	return s.String()
39386}
39387
39388// SetOperations sets the Operations field's value.
39389func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
39390	s.Operations = v
39391	return s
39392}
39393
39394// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
39395type RenewalSummary struct {
39396	_ struct{} `type:"structure"`
39397
39398	// An array of objects that describe the domain validation records of the certificate.
39399	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
39400
39401	// The renewal status of the certificate.
39402	//
39403	// The following renewal status are possible:
39404	//
39405	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
39406	//    the domain names of the certificate. No further action is required.
39407	//
39408	//    * PendingValidation - Lightsail couldn't automatically validate one or
39409	//    more domain names of the certificate. You must take action to validate
39410	//    these domain names or the certificate won't be renewed. Check to make
39411	//    sure your certificate's domain validation records exist in your domain's
39412	//    DNS, and that your certificate remains in use.
39413	//
39414	//    * Success - All domain names in the certificate are validated, and Lightsail
39415	//    renewed the certificate. No further action is required.
39416	//
39417	//    * Failed - One or more domain names were not validated before the certificate
39418	//    expired, and Lightsail did not renew the certificate. You can request
39419	//    a new certificate using the CreateCertificate action.
39420	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
39421
39422	// The reason for the renewal status of the certificate.
39423	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
39424
39425	// The timestamp when the certificate was last updated.
39426	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
39427}
39428
39429// String returns the string representation.
39430//
39431// API parameter values that are decorated as "sensitive" in the API will not
39432// be included in the string output. The member name will be present, but the
39433// value will be replaced with "sensitive".
39434func (s RenewalSummary) String() string {
39435	return awsutil.Prettify(s)
39436}
39437
39438// GoString returns the string representation.
39439//
39440// API parameter values that are decorated as "sensitive" in the API will not
39441// be included in the string output. The member name will be present, but the
39442// value will be replaced with "sensitive".
39443func (s RenewalSummary) GoString() string {
39444	return s.String()
39445}
39446
39447// SetDomainValidationRecords sets the DomainValidationRecords field's value.
39448func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
39449	s.DomainValidationRecords = v
39450	return s
39451}
39452
39453// SetRenewalStatus sets the RenewalStatus field's value.
39454func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
39455	s.RenewalStatus = &v
39456	return s
39457}
39458
39459// SetRenewalStatusReason sets the RenewalStatusReason field's value.
39460func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
39461	s.RenewalStatusReason = &v
39462	return s
39463}
39464
39465// SetUpdatedAt sets the UpdatedAt field's value.
39466func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
39467	s.UpdatedAt = &v
39468	return s
39469}
39470
39471type ResetDistributionCacheInput struct {
39472	_ struct{} `type:"structure"`
39473
39474	// The name of the distribution for which to reset cache.
39475	//
39476	// Use the GetDistributions action to get a list of distribution names that
39477	// you can specify.
39478	DistributionName *string `locationName:"distributionName" type:"string"`
39479}
39480
39481// String returns the string representation.
39482//
39483// API parameter values that are decorated as "sensitive" in the API will not
39484// be included in the string output. The member name will be present, but the
39485// value will be replaced with "sensitive".
39486func (s ResetDistributionCacheInput) String() string {
39487	return awsutil.Prettify(s)
39488}
39489
39490// GoString returns the string representation.
39491//
39492// API parameter values that are decorated as "sensitive" in the API will not
39493// be included in the string output. The member name will be present, but the
39494// value will be replaced with "sensitive".
39495func (s ResetDistributionCacheInput) GoString() string {
39496	return s.String()
39497}
39498
39499// SetDistributionName sets the DistributionName field's value.
39500func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
39501	s.DistributionName = &v
39502	return s
39503}
39504
39505type ResetDistributionCacheOutput struct {
39506	_ struct{} `type:"structure"`
39507
39508	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
39509	// format.
39510	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
39511
39512	// An array of objects that describe the result of the action, such as the status
39513	// of the request, the timestamp of the request, and the resources affected
39514	// by the request.
39515	Operation *Operation `locationName:"operation" type:"structure"`
39516
39517	// The status of the reset cache request.
39518	Status *string `locationName:"status" type:"string"`
39519}
39520
39521// String returns the string representation.
39522//
39523// API parameter values that are decorated as "sensitive" in the API will not
39524// be included in the string output. The member name will be present, but the
39525// value will be replaced with "sensitive".
39526func (s ResetDistributionCacheOutput) String() string {
39527	return awsutil.Prettify(s)
39528}
39529
39530// GoString returns the string representation.
39531//
39532// API parameter values that are decorated as "sensitive" in the API will not
39533// be included in the string output. The member name will be present, but the
39534// value will be replaced with "sensitive".
39535func (s ResetDistributionCacheOutput) GoString() string {
39536	return s.String()
39537}
39538
39539// SetCreateTime sets the CreateTime field's value.
39540func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
39541	s.CreateTime = &v
39542	return s
39543}
39544
39545// SetOperation sets the Operation field's value.
39546func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
39547	s.Operation = v
39548	return s
39549}
39550
39551// SetStatus sets the Status field's value.
39552func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
39553	s.Status = &v
39554	return s
39555}
39556
39557// Describes the resource location.
39558type ResourceLocation struct {
39559	_ struct{} `type:"structure"`
39560
39561	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
39562	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
39563
39564	// The AWS Region name.
39565	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
39566}
39567
39568// String returns the string representation.
39569//
39570// API parameter values that are decorated as "sensitive" in the API will not
39571// be included in the string output. The member name will be present, but the
39572// value will be replaced with "sensitive".
39573func (s ResourceLocation) String() string {
39574	return awsutil.Prettify(s)
39575}
39576
39577// GoString returns the string representation.
39578//
39579// API parameter values that are decorated as "sensitive" in the API will not
39580// be included in the string output. The member name will be present, but the
39581// value will be replaced with "sensitive".
39582func (s ResourceLocation) GoString() string {
39583	return s.String()
39584}
39585
39586// SetAvailabilityZone sets the AvailabilityZone field's value.
39587func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
39588	s.AvailabilityZone = &v
39589	return s
39590}
39591
39592// SetRegionName sets the RegionName field's value.
39593func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
39594	s.RegionName = &v
39595	return s
39596}
39597
39598// Describes an Amazon Lightsail instance that has access to a Lightsail bucket.
39599type ResourceReceivingAccess struct {
39600	_ struct{} `type:"structure"`
39601
39602	// The name of the Lightsail instance.
39603	Name *string `locationName:"name" type:"string"`
39604
39605	// The Lightsail resource type (for example, Instance).
39606	ResourceType *string `locationName:"resourceType" type:"string"`
39607}
39608
39609// String returns the string representation.
39610//
39611// API parameter values that are decorated as "sensitive" in the API will not
39612// be included in the string output. The member name will be present, but the
39613// value will be replaced with "sensitive".
39614func (s ResourceReceivingAccess) String() string {
39615	return awsutil.Prettify(s)
39616}
39617
39618// GoString returns the string representation.
39619//
39620// API parameter values that are decorated as "sensitive" in the API will not
39621// be included in the string output. The member name will be present, but the
39622// value will be replaced with "sensitive".
39623func (s ResourceReceivingAccess) GoString() string {
39624	return s.String()
39625}
39626
39627// SetName sets the Name field's value.
39628func (s *ResourceReceivingAccess) SetName(v string) *ResourceReceivingAccess {
39629	s.Name = &v
39630	return s
39631}
39632
39633// SetResourceType sets the ResourceType field's value.
39634func (s *ResourceReceivingAccess) SetResourceType(v string) *ResourceReceivingAccess {
39635	s.ResourceType = &v
39636	return s
39637}
39638
39639// Describes the domain name system (DNS) records to add to your domain's DNS
39640// to validate it for an Amazon Lightsail certificate.
39641type ResourceRecord struct {
39642	_ struct{} `type:"structure"`
39643
39644	// The name of the record.
39645	Name *string `locationName:"name" type:"string"`
39646
39647	// The DNS record type.
39648	Type *string `locationName:"type" type:"string"`
39649
39650	// The value for the DNS record.
39651	Value *string `locationName:"value" type:"string"`
39652}
39653
39654// String returns the string representation.
39655//
39656// API parameter values that are decorated as "sensitive" in the API will not
39657// be included in the string output. The member name will be present, but the
39658// value will be replaced with "sensitive".
39659func (s ResourceRecord) String() string {
39660	return awsutil.Prettify(s)
39661}
39662
39663// GoString returns the string representation.
39664//
39665// API parameter values that are decorated as "sensitive" in the API will not
39666// be included in the string output. The member name will be present, but the
39667// value will be replaced with "sensitive".
39668func (s ResourceRecord) GoString() string {
39669	return s.String()
39670}
39671
39672// SetName sets the Name field's value.
39673func (s *ResourceRecord) SetName(v string) *ResourceRecord {
39674	s.Name = &v
39675	return s
39676}
39677
39678// SetType sets the Type field's value.
39679func (s *ResourceRecord) SetType(v string) *ResourceRecord {
39680	s.Type = &v
39681	return s
39682}
39683
39684// SetValue sets the Value field's value.
39685func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
39686	s.Value = &v
39687	return s
39688}
39689
39690type SendContactMethodVerificationInput struct {
39691	_ struct{} `type:"structure"`
39692
39693	// The protocol to verify, such as Email or SMS (text messaging).
39694	//
39695	// Protocol is a required field
39696	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
39697}
39698
39699// String returns the string representation.
39700//
39701// API parameter values that are decorated as "sensitive" in the API will not
39702// be included in the string output. The member name will be present, but the
39703// value will be replaced with "sensitive".
39704func (s SendContactMethodVerificationInput) String() string {
39705	return awsutil.Prettify(s)
39706}
39707
39708// GoString returns the string representation.
39709//
39710// API parameter values that are decorated as "sensitive" in the API will not
39711// be included in the string output. The member name will be present, but the
39712// value will be replaced with "sensitive".
39713func (s SendContactMethodVerificationInput) GoString() string {
39714	return s.String()
39715}
39716
39717// Validate inspects the fields of the type to determine if they are valid.
39718func (s *SendContactMethodVerificationInput) Validate() error {
39719	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
39720	if s.Protocol == nil {
39721		invalidParams.Add(request.NewErrParamRequired("Protocol"))
39722	}
39723
39724	if invalidParams.Len() > 0 {
39725		return invalidParams
39726	}
39727	return nil
39728}
39729
39730// SetProtocol sets the Protocol field's value.
39731func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
39732	s.Protocol = &v
39733	return s
39734}
39735
39736type SendContactMethodVerificationOutput struct {
39737	_ struct{} `type:"structure"`
39738
39739	// An array of objects that describe the result of the action, such as the status
39740	// of the request, the timestamp of the request, and the resources affected
39741	// by the request.
39742	Operations []*Operation `locationName:"operations" type:"list"`
39743}
39744
39745// String returns the string representation.
39746//
39747// API parameter values that are decorated as "sensitive" in the API will not
39748// be included in the string output. The member name will be present, but the
39749// value will be replaced with "sensitive".
39750func (s SendContactMethodVerificationOutput) String() string {
39751	return awsutil.Prettify(s)
39752}
39753
39754// GoString returns the string representation.
39755//
39756// API parameter values that are decorated as "sensitive" in the API will not
39757// be included in the string output. The member name will be present, but the
39758// value will be replaced with "sensitive".
39759func (s SendContactMethodVerificationOutput) GoString() string {
39760	return s.String()
39761}
39762
39763// SetOperations sets the Operations field's value.
39764func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
39765	s.Operations = v
39766	return s
39767}
39768
39769// A general service exception.
39770type ServiceException struct {
39771	_            struct{}                  `type:"structure"`
39772	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
39773
39774	Code_ *string `locationName:"code" type:"string"`
39775
39776	Docs *string `locationName:"docs" type:"string"`
39777
39778	Message_ *string `locationName:"message" type:"string"`
39779
39780	Tip *string `locationName:"tip" type:"string"`
39781}
39782
39783// String returns the string representation.
39784//
39785// API parameter values that are decorated as "sensitive" in the API will not
39786// be included in the string output. The member name will be present, but the
39787// value will be replaced with "sensitive".
39788func (s ServiceException) String() string {
39789	return awsutil.Prettify(s)
39790}
39791
39792// GoString returns the string representation.
39793//
39794// API parameter values that are decorated as "sensitive" in the API will not
39795// be included in the string output. The member name will be present, but the
39796// value will be replaced with "sensitive".
39797func (s ServiceException) GoString() string {
39798	return s.String()
39799}
39800
39801func newErrorServiceException(v protocol.ResponseMetadata) error {
39802	return &ServiceException{
39803		RespMetadata: v,
39804	}
39805}
39806
39807// Code returns the exception type name.
39808func (s *ServiceException) Code() string {
39809	return "ServiceException"
39810}
39811
39812// Message returns the exception's message.
39813func (s *ServiceException) Message() string {
39814	if s.Message_ != nil {
39815		return *s.Message_
39816	}
39817	return ""
39818}
39819
39820// OrigErr always returns nil, satisfies awserr.Error interface.
39821func (s *ServiceException) OrigErr() error {
39822	return nil
39823}
39824
39825func (s *ServiceException) Error() string {
39826	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
39827}
39828
39829// Status code returns the HTTP status code for the request's response error.
39830func (s *ServiceException) StatusCode() int {
39831	return s.RespMetadata.StatusCode
39832}
39833
39834// RequestID returns the service's response RequestID for request.
39835func (s *ServiceException) RequestID() string {
39836	return s.RespMetadata.RequestID
39837}
39838
39839type SetIpAddressTypeInput struct {
39840	_ struct{} `type:"structure"`
39841
39842	// The IP address type to set for the specified resource.
39843	//
39844	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
39845	//
39846	// IpAddressType is a required field
39847	IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"`
39848
39849	// The name of the resource for which to set the IP address type.
39850	//
39851	// ResourceName is a required field
39852	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
39853
39854	// The resource type.
39855	//
39856	// The possible values are Distribution, Instance, and LoadBalancer.
39857	//
39858	// Distribution-related APIs are available only in the N. Virginia (us-east-1)
39859	// AWS Region. Set your AWS Region configuration to us-east-1 to create, view,
39860	// or edit distributions.
39861	//
39862	// ResourceType is a required field
39863	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
39864}
39865
39866// String returns the string representation.
39867//
39868// API parameter values that are decorated as "sensitive" in the API will not
39869// be included in the string output. The member name will be present, but the
39870// value will be replaced with "sensitive".
39871func (s SetIpAddressTypeInput) String() string {
39872	return awsutil.Prettify(s)
39873}
39874
39875// GoString returns the string representation.
39876//
39877// API parameter values that are decorated as "sensitive" in the API will not
39878// be included in the string output. The member name will be present, but the
39879// value will be replaced with "sensitive".
39880func (s SetIpAddressTypeInput) GoString() string {
39881	return s.String()
39882}
39883
39884// Validate inspects the fields of the type to determine if they are valid.
39885func (s *SetIpAddressTypeInput) Validate() error {
39886	invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
39887	if s.IpAddressType == nil {
39888		invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
39889	}
39890	if s.ResourceName == nil {
39891		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
39892	}
39893	if s.ResourceType == nil {
39894		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
39895	}
39896
39897	if invalidParams.Len() > 0 {
39898		return invalidParams
39899	}
39900	return nil
39901}
39902
39903// SetIpAddressType sets the IpAddressType field's value.
39904func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
39905	s.IpAddressType = &v
39906	return s
39907}
39908
39909// SetResourceName sets the ResourceName field's value.
39910func (s *SetIpAddressTypeInput) SetResourceName(v string) *SetIpAddressTypeInput {
39911	s.ResourceName = &v
39912	return s
39913}
39914
39915// SetResourceType sets the ResourceType field's value.
39916func (s *SetIpAddressTypeInput) SetResourceType(v string) *SetIpAddressTypeInput {
39917	s.ResourceType = &v
39918	return s
39919}
39920
39921type SetIpAddressTypeOutput struct {
39922	_ struct{} `type:"structure"`
39923
39924	// An array of objects that describe the result of the action, such as the status
39925	// of the request, the timestamp of the request, and the resources affected
39926	// by the request.
39927	Operations []*Operation `locationName:"operations" type:"list"`
39928}
39929
39930// String returns the string representation.
39931//
39932// API parameter values that are decorated as "sensitive" in the API will not
39933// be included in the string output. The member name will be present, but the
39934// value will be replaced with "sensitive".
39935func (s SetIpAddressTypeOutput) String() string {
39936	return awsutil.Prettify(s)
39937}
39938
39939// GoString returns the string representation.
39940//
39941// API parameter values that are decorated as "sensitive" in the API will not
39942// be included in the string output. The member name will be present, but the
39943// value will be replaced with "sensitive".
39944func (s SetIpAddressTypeOutput) GoString() string {
39945	return s.String()
39946}
39947
39948// SetOperations sets the Operations field's value.
39949func (s *SetIpAddressTypeOutput) SetOperations(v []*Operation) *SetIpAddressTypeOutput {
39950	s.Operations = v
39951	return s
39952}
39953
39954type SetResourceAccessForBucketInput struct {
39955	_ struct{} `type:"structure"`
39956
39957	// The access setting.
39958	//
39959	// The following access settings are available:
39960	//
39961	//    * allow - Allows access to the bucket and its objects.
39962	//
39963	//    * deny - Denies access to the bucket and its objects. Use this setting
39964	//    to remove access for a resource previously set to allow.
39965	//
39966	// Access is a required field
39967	Access *string `locationName:"access" type:"string" required:"true" enum:"ResourceBucketAccess"`
39968
39969	// The name of the bucket for which to set access to another Lightsail resource.
39970	//
39971	// BucketName is a required field
39972	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
39973
39974	// The name of the Lightsail instance for which to set bucket access. The instance
39975	// must be in a running or stopped state.
39976	//
39977	// ResourceName is a required field
39978	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
39979}
39980
39981// String returns the string representation.
39982//
39983// API parameter values that are decorated as "sensitive" in the API will not
39984// be included in the string output. The member name will be present, but the
39985// value will be replaced with "sensitive".
39986func (s SetResourceAccessForBucketInput) String() string {
39987	return awsutil.Prettify(s)
39988}
39989
39990// GoString returns the string representation.
39991//
39992// API parameter values that are decorated as "sensitive" in the API will not
39993// be included in the string output. The member name will be present, but the
39994// value will be replaced with "sensitive".
39995func (s SetResourceAccessForBucketInput) GoString() string {
39996	return s.String()
39997}
39998
39999// Validate inspects the fields of the type to determine if they are valid.
40000func (s *SetResourceAccessForBucketInput) Validate() error {
40001	invalidParams := request.ErrInvalidParams{Context: "SetResourceAccessForBucketInput"}
40002	if s.Access == nil {
40003		invalidParams.Add(request.NewErrParamRequired("Access"))
40004	}
40005	if s.BucketName == nil {
40006		invalidParams.Add(request.NewErrParamRequired("BucketName"))
40007	}
40008	if s.BucketName != nil && len(*s.BucketName) < 3 {
40009		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
40010	}
40011	if s.ResourceName == nil {
40012		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
40013	}
40014
40015	if invalidParams.Len() > 0 {
40016		return invalidParams
40017	}
40018	return nil
40019}
40020
40021// SetAccess sets the Access field's value.
40022func (s *SetResourceAccessForBucketInput) SetAccess(v string) *SetResourceAccessForBucketInput {
40023	s.Access = &v
40024	return s
40025}
40026
40027// SetBucketName sets the BucketName field's value.
40028func (s *SetResourceAccessForBucketInput) SetBucketName(v string) *SetResourceAccessForBucketInput {
40029	s.BucketName = &v
40030	return s
40031}
40032
40033// SetResourceName sets the ResourceName field's value.
40034func (s *SetResourceAccessForBucketInput) SetResourceName(v string) *SetResourceAccessForBucketInput {
40035	s.ResourceName = &v
40036	return s
40037}
40038
40039type SetResourceAccessForBucketOutput struct {
40040	_ struct{} `type:"structure"`
40041
40042	// An array of objects that describe the result of the action, such as the status
40043	// of the request, the timestamp of the request, and the resources affected
40044	// by the request.
40045	Operations []*Operation `locationName:"operations" type:"list"`
40046}
40047
40048// String returns the string representation.
40049//
40050// API parameter values that are decorated as "sensitive" in the API will not
40051// be included in the string output. The member name will be present, but the
40052// value will be replaced with "sensitive".
40053func (s SetResourceAccessForBucketOutput) String() string {
40054	return awsutil.Prettify(s)
40055}
40056
40057// GoString returns the string representation.
40058//
40059// API parameter values that are decorated as "sensitive" in the API will not
40060// be included in the string output. The member name will be present, but the
40061// value will be replaced with "sensitive".
40062func (s SetResourceAccessForBucketOutput) GoString() string {
40063	return s.String()
40064}
40065
40066// SetOperations sets the Operations field's value.
40067func (s *SetResourceAccessForBucketOutput) SetOperations(v []*Operation) *SetResourceAccessForBucketOutput {
40068	s.Operations = v
40069	return s
40070}
40071
40072type StartInstanceInput struct {
40073	_ struct{} `type:"structure"`
40074
40075	// The name of the instance (a virtual private server) to start.
40076	//
40077	// InstanceName is a required field
40078	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
40079}
40080
40081// String returns the string representation.
40082//
40083// API parameter values that are decorated as "sensitive" in the API will not
40084// be included in the string output. The member name will be present, but the
40085// value will be replaced with "sensitive".
40086func (s StartInstanceInput) String() string {
40087	return awsutil.Prettify(s)
40088}
40089
40090// GoString returns the string representation.
40091//
40092// API parameter values that are decorated as "sensitive" in the API will not
40093// be included in the string output. The member name will be present, but the
40094// value will be replaced with "sensitive".
40095func (s StartInstanceInput) GoString() string {
40096	return s.String()
40097}
40098
40099// Validate inspects the fields of the type to determine if they are valid.
40100func (s *StartInstanceInput) Validate() error {
40101	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
40102	if s.InstanceName == nil {
40103		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
40104	}
40105
40106	if invalidParams.Len() > 0 {
40107		return invalidParams
40108	}
40109	return nil
40110}
40111
40112// SetInstanceName sets the InstanceName field's value.
40113func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
40114	s.InstanceName = &v
40115	return s
40116}
40117
40118type StartInstanceOutput struct {
40119	_ struct{} `type:"structure"`
40120
40121	// An array of objects that describe the result of the action, such as the status
40122	// of the request, the timestamp of the request, and the resources affected
40123	// by the request.
40124	Operations []*Operation `locationName:"operations" type:"list"`
40125}
40126
40127// String returns the string representation.
40128//
40129// API parameter values that are decorated as "sensitive" in the API will not
40130// be included in the string output. The member name will be present, but the
40131// value will be replaced with "sensitive".
40132func (s StartInstanceOutput) String() string {
40133	return awsutil.Prettify(s)
40134}
40135
40136// GoString returns the string representation.
40137//
40138// API parameter values that are decorated as "sensitive" in the API will not
40139// be included in the string output. The member name will be present, but the
40140// value will be replaced with "sensitive".
40141func (s StartInstanceOutput) GoString() string {
40142	return s.String()
40143}
40144
40145// SetOperations sets the Operations field's value.
40146func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
40147	s.Operations = v
40148	return s
40149}
40150
40151type StartRelationalDatabaseInput struct {
40152	_ struct{} `type:"structure"`
40153
40154	// The name of your database to start.
40155	//
40156	// RelationalDatabaseName is a required field
40157	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
40158}
40159
40160// String returns the string representation.
40161//
40162// API parameter values that are decorated as "sensitive" in the API will not
40163// be included in the string output. The member name will be present, but the
40164// value will be replaced with "sensitive".
40165func (s StartRelationalDatabaseInput) String() string {
40166	return awsutil.Prettify(s)
40167}
40168
40169// GoString returns the string representation.
40170//
40171// API parameter values that are decorated as "sensitive" in the API will not
40172// be included in the string output. The member name will be present, but the
40173// value will be replaced with "sensitive".
40174func (s StartRelationalDatabaseInput) GoString() string {
40175	return s.String()
40176}
40177
40178// Validate inspects the fields of the type to determine if they are valid.
40179func (s *StartRelationalDatabaseInput) Validate() error {
40180	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
40181	if s.RelationalDatabaseName == nil {
40182		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
40183	}
40184
40185	if invalidParams.Len() > 0 {
40186		return invalidParams
40187	}
40188	return nil
40189}
40190
40191// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
40192func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
40193	s.RelationalDatabaseName = &v
40194	return s
40195}
40196
40197type StartRelationalDatabaseOutput struct {
40198	_ struct{} `type:"structure"`
40199
40200	// An array of objects that describe the result of the action, such as the status
40201	// of the request, the timestamp of the request, and the resources affected
40202	// by the request.
40203	Operations []*Operation `locationName:"operations" type:"list"`
40204}
40205
40206// String returns the string representation.
40207//
40208// API parameter values that are decorated as "sensitive" in the API will not
40209// be included in the string output. The member name will be present, but the
40210// value will be replaced with "sensitive".
40211func (s StartRelationalDatabaseOutput) String() string {
40212	return awsutil.Prettify(s)
40213}
40214
40215// GoString returns the string representation.
40216//
40217// API parameter values that are decorated as "sensitive" in the API will not
40218// be included in the string output. The member name will be present, but the
40219// value will be replaced with "sensitive".
40220func (s StartRelationalDatabaseOutput) GoString() string {
40221	return s.String()
40222}
40223
40224// SetOperations sets the Operations field's value.
40225func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
40226	s.Operations = v
40227	return s
40228}
40229
40230// Describes a static IP.
40231type StaticIp struct {
40232	_ struct{} `type:"structure"`
40233
40234	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
40235	Arn *string `locationName:"arn" type:"string"`
40236
40237	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
40238	AttachedTo *string `locationName:"attachedTo" type:"string"`
40239
40240	// The timestamp when the static IP was created (e.g., 1479735304.222).
40241	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
40242
40243	// The static IP address.
40244	IpAddress *string `locationName:"ipAddress" type:"string"`
40245
40246	// A Boolean value indicating whether the static IP is attached.
40247	IsAttached *bool `locationName:"isAttached" type:"boolean"`
40248
40249	// The region and Availability Zone where the static IP was created.
40250	Location *ResourceLocation `locationName:"location" type:"structure"`
40251
40252	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
40253	Name *string `locationName:"name" type:"string"`
40254
40255	// The resource type (usually StaticIp).
40256	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
40257
40258	// The support code. Include this code in your email to support when you have
40259	// questions about an instance or another resource in Lightsail. This code enables
40260	// our support team to look up your Lightsail information more easily.
40261	SupportCode *string `locationName:"supportCode" type:"string"`
40262}
40263
40264// String returns the string representation.
40265//
40266// API parameter values that are decorated as "sensitive" in the API will not
40267// be included in the string output. The member name will be present, but the
40268// value will be replaced with "sensitive".
40269func (s StaticIp) String() string {
40270	return awsutil.Prettify(s)
40271}
40272
40273// GoString returns the string representation.
40274//
40275// API parameter values that are decorated as "sensitive" in the API will not
40276// be included in the string output. The member name will be present, but the
40277// value will be replaced with "sensitive".
40278func (s StaticIp) GoString() string {
40279	return s.String()
40280}
40281
40282// SetArn sets the Arn field's value.
40283func (s *StaticIp) SetArn(v string) *StaticIp {
40284	s.Arn = &v
40285	return s
40286}
40287
40288// SetAttachedTo sets the AttachedTo field's value.
40289func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
40290	s.AttachedTo = &v
40291	return s
40292}
40293
40294// SetCreatedAt sets the CreatedAt field's value.
40295func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
40296	s.CreatedAt = &v
40297	return s
40298}
40299
40300// SetIpAddress sets the IpAddress field's value.
40301func (s *StaticIp) SetIpAddress(v string) *StaticIp {
40302	s.IpAddress = &v
40303	return s
40304}
40305
40306// SetIsAttached sets the IsAttached field's value.
40307func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
40308	s.IsAttached = &v
40309	return s
40310}
40311
40312// SetLocation sets the Location field's value.
40313func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
40314	s.Location = v
40315	return s
40316}
40317
40318// SetName sets the Name field's value.
40319func (s *StaticIp) SetName(v string) *StaticIp {
40320	s.Name = &v
40321	return s
40322}
40323
40324// SetResourceType sets the ResourceType field's value.
40325func (s *StaticIp) SetResourceType(v string) *StaticIp {
40326	s.ResourceType = &v
40327	return s
40328}
40329
40330// SetSupportCode sets the SupportCode field's value.
40331func (s *StaticIp) SetSupportCode(v string) *StaticIp {
40332	s.SupportCode = &v
40333	return s
40334}
40335
40336type StopInstanceInput struct {
40337	_ struct{} `type:"structure"`
40338
40339	// When set to True, forces a Lightsail instance that is stuck in a stopping
40340	// state to stop.
40341	//
40342	// Only use the force parameter if your instance is stuck in the stopping state.
40343	// In any other state, your instance should stop normally without adding this
40344	// parameter to your API request.
40345	Force *bool `locationName:"force" type:"boolean"`
40346
40347	// The name of the instance (a virtual private server) to stop.
40348	//
40349	// InstanceName is a required field
40350	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
40351}
40352
40353// String returns the string representation.
40354//
40355// API parameter values that are decorated as "sensitive" in the API will not
40356// be included in the string output. The member name will be present, but the
40357// value will be replaced with "sensitive".
40358func (s StopInstanceInput) String() string {
40359	return awsutil.Prettify(s)
40360}
40361
40362// GoString returns the string representation.
40363//
40364// API parameter values that are decorated as "sensitive" in the API will not
40365// be included in the string output. The member name will be present, but the
40366// value will be replaced with "sensitive".
40367func (s StopInstanceInput) GoString() string {
40368	return s.String()
40369}
40370
40371// Validate inspects the fields of the type to determine if they are valid.
40372func (s *StopInstanceInput) Validate() error {
40373	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
40374	if s.InstanceName == nil {
40375		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
40376	}
40377
40378	if invalidParams.Len() > 0 {
40379		return invalidParams
40380	}
40381	return nil
40382}
40383
40384// SetForce sets the Force field's value.
40385func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
40386	s.Force = &v
40387	return s
40388}
40389
40390// SetInstanceName sets the InstanceName field's value.
40391func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
40392	s.InstanceName = &v
40393	return s
40394}
40395
40396type StopInstanceOutput struct {
40397	_ struct{} `type:"structure"`
40398
40399	// An array of objects that describe the result of the action, such as the status
40400	// of the request, the timestamp of the request, and the resources affected
40401	// by the request.
40402	Operations []*Operation `locationName:"operations" type:"list"`
40403}
40404
40405// String returns the string representation.
40406//
40407// API parameter values that are decorated as "sensitive" in the API will not
40408// be included in the string output. The member name will be present, but the
40409// value will be replaced with "sensitive".
40410func (s StopInstanceOutput) String() string {
40411	return awsutil.Prettify(s)
40412}
40413
40414// GoString returns the string representation.
40415//
40416// API parameter values that are decorated as "sensitive" in the API will not
40417// be included in the string output. The member name will be present, but the
40418// value will be replaced with "sensitive".
40419func (s StopInstanceOutput) GoString() string {
40420	return s.String()
40421}
40422
40423// SetOperations sets the Operations field's value.
40424func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
40425	s.Operations = v
40426	return s
40427}
40428
40429type StopRelationalDatabaseInput struct {
40430	_ struct{} `type:"structure"`
40431
40432	// The name of your database to stop.
40433	//
40434	// RelationalDatabaseName is a required field
40435	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
40436
40437	// The name of your new database snapshot to be created before stopping your
40438	// database.
40439	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
40440}
40441
40442// String returns the string representation.
40443//
40444// API parameter values that are decorated as "sensitive" in the API will not
40445// be included in the string output. The member name will be present, but the
40446// value will be replaced with "sensitive".
40447func (s StopRelationalDatabaseInput) String() string {
40448	return awsutil.Prettify(s)
40449}
40450
40451// GoString returns the string representation.
40452//
40453// API parameter values that are decorated as "sensitive" in the API will not
40454// be included in the string output. The member name will be present, but the
40455// value will be replaced with "sensitive".
40456func (s StopRelationalDatabaseInput) GoString() string {
40457	return s.String()
40458}
40459
40460// Validate inspects the fields of the type to determine if they are valid.
40461func (s *StopRelationalDatabaseInput) Validate() error {
40462	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
40463	if s.RelationalDatabaseName == nil {
40464		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
40465	}
40466
40467	if invalidParams.Len() > 0 {
40468		return invalidParams
40469	}
40470	return nil
40471}
40472
40473// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
40474func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
40475	s.RelationalDatabaseName = &v
40476	return s
40477}
40478
40479// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
40480func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
40481	s.RelationalDatabaseSnapshotName = &v
40482	return s
40483}
40484
40485type StopRelationalDatabaseOutput struct {
40486	_ struct{} `type:"structure"`
40487
40488	// An array of objects that describe the result of the action, such as the status
40489	// of the request, the timestamp of the request, and the resources affected
40490	// by the request.
40491	Operations []*Operation `locationName:"operations" type:"list"`
40492}
40493
40494// String returns the string representation.
40495//
40496// API parameter values that are decorated as "sensitive" in the API will not
40497// be included in the string output. The member name will be present, but the
40498// value will be replaced with "sensitive".
40499func (s StopRelationalDatabaseOutput) String() string {
40500	return awsutil.Prettify(s)
40501}
40502
40503// GoString returns the string representation.
40504//
40505// API parameter values that are decorated as "sensitive" in the API will not
40506// be included in the string output. The member name will be present, but the
40507// value will be replaced with "sensitive".
40508func (s StopRelationalDatabaseOutput) GoString() string {
40509	return s.String()
40510}
40511
40512// SetOperations sets the Operations field's value.
40513func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
40514	s.Operations = v
40515	return s
40516}
40517
40518// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
40519//
40520// For more information about tags in Lightsail, see the Amazon Lightsail Developer
40521// Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-tags).
40522type Tag struct {
40523	_ struct{} `type:"structure"`
40524
40525	// The key of the tag.
40526	//
40527	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
40528	// UTF-8, or the following characters: + - = . _ : / @
40529	Key *string `locationName:"key" type:"string"`
40530
40531	// The value of the tag.
40532	//
40533	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
40534	// in UTF-8, or the following characters: + - = . _ : / @
40535	Value *string `locationName:"value" type:"string"`
40536}
40537
40538// String returns the string representation.
40539//
40540// API parameter values that are decorated as "sensitive" in the API will not
40541// be included in the string output. The member name will be present, but the
40542// value will be replaced with "sensitive".
40543func (s Tag) String() string {
40544	return awsutil.Prettify(s)
40545}
40546
40547// GoString returns the string representation.
40548//
40549// API parameter values that are decorated as "sensitive" in the API will not
40550// be included in the string output. The member name will be present, but the
40551// value will be replaced with "sensitive".
40552func (s Tag) GoString() string {
40553	return s.String()
40554}
40555
40556// SetKey sets the Key field's value.
40557func (s *Tag) SetKey(v string) *Tag {
40558	s.Key = &v
40559	return s
40560}
40561
40562// SetValue sets the Value field's value.
40563func (s *Tag) SetValue(v string) *Tag {
40564	s.Value = &v
40565	return s
40566}
40567
40568type TagResourceInput struct {
40569	_ struct{} `type:"structure"`
40570
40571	// The Amazon Resource Name (ARN) of the resource to which you want to add a
40572	// tag.
40573	ResourceArn *string `locationName:"resourceArn" type:"string"`
40574
40575	// The name of the resource to which you are adding tags.
40576	//
40577	// ResourceName is a required field
40578	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
40579
40580	// The tag key and optional value.
40581	//
40582	// Tags is a required field
40583	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
40584}
40585
40586// String returns the string representation.
40587//
40588// API parameter values that are decorated as "sensitive" in the API will not
40589// be included in the string output. The member name will be present, but the
40590// value will be replaced with "sensitive".
40591func (s TagResourceInput) String() string {
40592	return awsutil.Prettify(s)
40593}
40594
40595// GoString returns the string representation.
40596//
40597// API parameter values that are decorated as "sensitive" in the API will not
40598// be included in the string output. The member name will be present, but the
40599// value will be replaced with "sensitive".
40600func (s TagResourceInput) GoString() string {
40601	return s.String()
40602}
40603
40604// Validate inspects the fields of the type to determine if they are valid.
40605func (s *TagResourceInput) Validate() error {
40606	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
40607	if s.ResourceName == nil {
40608		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
40609	}
40610	if s.Tags == nil {
40611		invalidParams.Add(request.NewErrParamRequired("Tags"))
40612	}
40613
40614	if invalidParams.Len() > 0 {
40615		return invalidParams
40616	}
40617	return nil
40618}
40619
40620// SetResourceArn sets the ResourceArn field's value.
40621func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
40622	s.ResourceArn = &v
40623	return s
40624}
40625
40626// SetResourceName sets the ResourceName field's value.
40627func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
40628	s.ResourceName = &v
40629	return s
40630}
40631
40632// SetTags sets the Tags field's value.
40633func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
40634	s.Tags = v
40635	return s
40636}
40637
40638type TagResourceOutput struct {
40639	_ struct{} `type:"structure"`
40640
40641	// An array of objects that describe the result of the action, such as the status
40642	// of the request, the timestamp of the request, and the resources affected
40643	// by the request.
40644	Operations []*Operation `locationName:"operations" type:"list"`
40645}
40646
40647// String returns the string representation.
40648//
40649// API parameter values that are decorated as "sensitive" in the API will not
40650// be included in the string output. The member name will be present, but the
40651// value will be replaced with "sensitive".
40652func (s TagResourceOutput) String() string {
40653	return awsutil.Prettify(s)
40654}
40655
40656// GoString returns the string representation.
40657//
40658// API parameter values that are decorated as "sensitive" in the API will not
40659// be included in the string output. The member name will be present, but the
40660// value will be replaced with "sensitive".
40661func (s TagResourceOutput) GoString() string {
40662	return s.String()
40663}
40664
40665// SetOperations sets the Operations field's value.
40666func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
40667	s.Operations = v
40668	return s
40669}
40670
40671type TestAlarmInput struct {
40672	_ struct{} `type:"structure"`
40673
40674	// The name of the alarm to test.
40675	//
40676	// AlarmName is a required field
40677	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
40678
40679	// The alarm state to test.
40680	//
40681	// An alarm has the following possible states that can be tested:
40682	//
40683	//    * ALARM - The metric is outside of the defined threshold.
40684	//
40685	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
40686	//    or not enough data is available for the metric to determine the alarm
40687	//    state.
40688	//
40689	//    * OK - The metric is within the defined threshold.
40690	//
40691	// State is a required field
40692	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
40693}
40694
40695// String returns the string representation.
40696//
40697// API parameter values that are decorated as "sensitive" in the API will not
40698// be included in the string output. The member name will be present, but the
40699// value will be replaced with "sensitive".
40700func (s TestAlarmInput) String() string {
40701	return awsutil.Prettify(s)
40702}
40703
40704// GoString returns the string representation.
40705//
40706// API parameter values that are decorated as "sensitive" in the API will not
40707// be included in the string output. The member name will be present, but the
40708// value will be replaced with "sensitive".
40709func (s TestAlarmInput) GoString() string {
40710	return s.String()
40711}
40712
40713// Validate inspects the fields of the type to determine if they are valid.
40714func (s *TestAlarmInput) Validate() error {
40715	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
40716	if s.AlarmName == nil {
40717		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
40718	}
40719	if s.State == nil {
40720		invalidParams.Add(request.NewErrParamRequired("State"))
40721	}
40722
40723	if invalidParams.Len() > 0 {
40724		return invalidParams
40725	}
40726	return nil
40727}
40728
40729// SetAlarmName sets the AlarmName field's value.
40730func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
40731	s.AlarmName = &v
40732	return s
40733}
40734
40735// SetState sets the State field's value.
40736func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
40737	s.State = &v
40738	return s
40739}
40740
40741type TestAlarmOutput struct {
40742	_ struct{} `type:"structure"`
40743
40744	// An array of objects that describe the result of the action, such as the status
40745	// of the request, the timestamp of the request, and the resources affected
40746	// by the request.
40747	Operations []*Operation `locationName:"operations" type:"list"`
40748}
40749
40750// String returns the string representation.
40751//
40752// API parameter values that are decorated as "sensitive" in the API will not
40753// be included in the string output. The member name will be present, but the
40754// value will be replaced with "sensitive".
40755func (s TestAlarmOutput) String() string {
40756	return awsutil.Prettify(s)
40757}
40758
40759// GoString returns the string representation.
40760//
40761// API parameter values that are decorated as "sensitive" in the API will not
40762// be included in the string output. The member name will be present, but the
40763// value will be replaced with "sensitive".
40764func (s TestAlarmOutput) GoString() string {
40765	return s.String()
40766}
40767
40768// SetOperations sets the Operations field's value.
40769func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
40770	s.Operations = v
40771	return s
40772}
40773
40774// Lightsail throws this exception when the user has not been authenticated.
40775type UnauthenticatedException struct {
40776	_            struct{}                  `type:"structure"`
40777	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
40778
40779	Code_ *string `locationName:"code" type:"string"`
40780
40781	Docs *string `locationName:"docs" type:"string"`
40782
40783	Message_ *string `locationName:"message" type:"string"`
40784
40785	Tip *string `locationName:"tip" type:"string"`
40786}
40787
40788// String returns the string representation.
40789//
40790// API parameter values that are decorated as "sensitive" in the API will not
40791// be included in the string output. The member name will be present, but the
40792// value will be replaced with "sensitive".
40793func (s UnauthenticatedException) String() string {
40794	return awsutil.Prettify(s)
40795}
40796
40797// GoString returns the string representation.
40798//
40799// API parameter values that are decorated as "sensitive" in the API will not
40800// be included in the string output. The member name will be present, but the
40801// value will be replaced with "sensitive".
40802func (s UnauthenticatedException) GoString() string {
40803	return s.String()
40804}
40805
40806func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
40807	return &UnauthenticatedException{
40808		RespMetadata: v,
40809	}
40810}
40811
40812// Code returns the exception type name.
40813func (s *UnauthenticatedException) Code() string {
40814	return "UnauthenticatedException"
40815}
40816
40817// Message returns the exception's message.
40818func (s *UnauthenticatedException) Message() string {
40819	if s.Message_ != nil {
40820		return *s.Message_
40821	}
40822	return ""
40823}
40824
40825// OrigErr always returns nil, satisfies awserr.Error interface.
40826func (s *UnauthenticatedException) OrigErr() error {
40827	return nil
40828}
40829
40830func (s *UnauthenticatedException) Error() string {
40831	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
40832}
40833
40834// Status code returns the HTTP status code for the request's response error.
40835func (s *UnauthenticatedException) StatusCode() int {
40836	return s.RespMetadata.StatusCode
40837}
40838
40839// RequestID returns the service's response RequestID for request.
40840func (s *UnauthenticatedException) RequestID() string {
40841	return s.RespMetadata.RequestID
40842}
40843
40844type UnpeerVpcInput struct {
40845	_ struct{} `type:"structure"`
40846}
40847
40848// String returns the string representation.
40849//
40850// API parameter values that are decorated as "sensitive" in the API will not
40851// be included in the string output. The member name will be present, but the
40852// value will be replaced with "sensitive".
40853func (s UnpeerVpcInput) String() string {
40854	return awsutil.Prettify(s)
40855}
40856
40857// GoString returns the string representation.
40858//
40859// API parameter values that are decorated as "sensitive" in the API will not
40860// be included in the string output. The member name will be present, but the
40861// value will be replaced with "sensitive".
40862func (s UnpeerVpcInput) GoString() string {
40863	return s.String()
40864}
40865
40866type UnpeerVpcOutput struct {
40867	_ struct{} `type:"structure"`
40868
40869	// An array of objects that describe the result of the action, such as the status
40870	// of the request, the timestamp of the request, and the resources affected
40871	// by the request.
40872	Operation *Operation `locationName:"operation" type:"structure"`
40873}
40874
40875// String returns the string representation.
40876//
40877// API parameter values that are decorated as "sensitive" in the API will not
40878// be included in the string output. The member name will be present, but the
40879// value will be replaced with "sensitive".
40880func (s UnpeerVpcOutput) String() string {
40881	return awsutil.Prettify(s)
40882}
40883
40884// GoString returns the string representation.
40885//
40886// API parameter values that are decorated as "sensitive" in the API will not
40887// be included in the string output. The member name will be present, but the
40888// value will be replaced with "sensitive".
40889func (s UnpeerVpcOutput) GoString() string {
40890	return s.String()
40891}
40892
40893// SetOperation sets the Operation field's value.
40894func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
40895	s.Operation = v
40896	return s
40897}
40898
40899type UntagResourceInput struct {
40900	_ struct{} `type:"structure"`
40901
40902	// The Amazon Resource Name (ARN) of the resource from which you want to remove
40903	// a tag.
40904	ResourceArn *string `locationName:"resourceArn" type:"string"`
40905
40906	// The name of the resource from which you are removing a tag.
40907	//
40908	// ResourceName is a required field
40909	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
40910
40911	// The tag keys to delete from the specified resource.
40912	//
40913	// TagKeys is a required field
40914	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
40915}
40916
40917// String returns the string representation.
40918//
40919// API parameter values that are decorated as "sensitive" in the API will not
40920// be included in the string output. The member name will be present, but the
40921// value will be replaced with "sensitive".
40922func (s UntagResourceInput) String() string {
40923	return awsutil.Prettify(s)
40924}
40925
40926// GoString returns the string representation.
40927//
40928// API parameter values that are decorated as "sensitive" in the API will not
40929// be included in the string output. The member name will be present, but the
40930// value will be replaced with "sensitive".
40931func (s UntagResourceInput) GoString() string {
40932	return s.String()
40933}
40934
40935// Validate inspects the fields of the type to determine if they are valid.
40936func (s *UntagResourceInput) Validate() error {
40937	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
40938	if s.ResourceName == nil {
40939		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
40940	}
40941	if s.TagKeys == nil {
40942		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
40943	}
40944
40945	if invalidParams.Len() > 0 {
40946		return invalidParams
40947	}
40948	return nil
40949}
40950
40951// SetResourceArn sets the ResourceArn field's value.
40952func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
40953	s.ResourceArn = &v
40954	return s
40955}
40956
40957// SetResourceName sets the ResourceName field's value.
40958func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
40959	s.ResourceName = &v
40960	return s
40961}
40962
40963// SetTagKeys sets the TagKeys field's value.
40964func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
40965	s.TagKeys = v
40966	return s
40967}
40968
40969type UntagResourceOutput struct {
40970	_ struct{} `type:"structure"`
40971
40972	// An array of objects that describe the result of the action, such as the status
40973	// of the request, the timestamp of the request, and the resources affected
40974	// by the request.
40975	Operations []*Operation `locationName:"operations" type:"list"`
40976}
40977
40978// String returns the string representation.
40979//
40980// API parameter values that are decorated as "sensitive" in the API will not
40981// be included in the string output. The member name will be present, but the
40982// value will be replaced with "sensitive".
40983func (s UntagResourceOutput) String() string {
40984	return awsutil.Prettify(s)
40985}
40986
40987// GoString returns the string representation.
40988//
40989// API parameter values that are decorated as "sensitive" in the API will not
40990// be included in the string output. The member name will be present, but the
40991// value will be replaced with "sensitive".
40992func (s UntagResourceOutput) GoString() string {
40993	return s.String()
40994}
40995
40996// SetOperations sets the Operations field's value.
40997func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
40998	s.Operations = v
40999	return s
41000}
41001
41002type UpdateBucketBundleInput struct {
41003	_ struct{} `type:"structure"`
41004
41005	// The name of the bucket for which to update the bundle.
41006	//
41007	// BucketName is a required field
41008	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
41009
41010	// The ID of the new bundle to apply to the bucket.
41011	//
41012	// Use the GetBucketBundles action to get a list of bundle IDs that you can
41013	// specify.
41014	//
41015	// BundleId is a required field
41016	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
41017}
41018
41019// String returns the string representation.
41020//
41021// API parameter values that are decorated as "sensitive" in the API will not
41022// be included in the string output. The member name will be present, but the
41023// value will be replaced with "sensitive".
41024func (s UpdateBucketBundleInput) String() string {
41025	return awsutil.Prettify(s)
41026}
41027
41028// GoString returns the string representation.
41029//
41030// API parameter values that are decorated as "sensitive" in the API will not
41031// be included in the string output. The member name will be present, but the
41032// value will be replaced with "sensitive".
41033func (s UpdateBucketBundleInput) GoString() string {
41034	return s.String()
41035}
41036
41037// Validate inspects the fields of the type to determine if they are valid.
41038func (s *UpdateBucketBundleInput) Validate() error {
41039	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketBundleInput"}
41040	if s.BucketName == nil {
41041		invalidParams.Add(request.NewErrParamRequired("BucketName"))
41042	}
41043	if s.BucketName != nil && len(*s.BucketName) < 3 {
41044		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
41045	}
41046	if s.BundleId == nil {
41047		invalidParams.Add(request.NewErrParamRequired("BundleId"))
41048	}
41049
41050	if invalidParams.Len() > 0 {
41051		return invalidParams
41052	}
41053	return nil
41054}
41055
41056// SetBucketName sets the BucketName field's value.
41057func (s *UpdateBucketBundleInput) SetBucketName(v string) *UpdateBucketBundleInput {
41058	s.BucketName = &v
41059	return s
41060}
41061
41062// SetBundleId sets the BundleId field's value.
41063func (s *UpdateBucketBundleInput) SetBundleId(v string) *UpdateBucketBundleInput {
41064	s.BundleId = &v
41065	return s
41066}
41067
41068type UpdateBucketBundleOutput struct {
41069	_ struct{} `type:"structure"`
41070
41071	// An array of objects that describe the result of the action, such as the status
41072	// of the request, the timestamp of the request, and the resources affected
41073	// by the request.
41074	Operations []*Operation `locationName:"operations" type:"list"`
41075}
41076
41077// String returns the string representation.
41078//
41079// API parameter values that are decorated as "sensitive" in the API will not
41080// be included in the string output. The member name will be present, but the
41081// value will be replaced with "sensitive".
41082func (s UpdateBucketBundleOutput) String() string {
41083	return awsutil.Prettify(s)
41084}
41085
41086// GoString returns the string representation.
41087//
41088// API parameter values that are decorated as "sensitive" in the API will not
41089// be included in the string output. The member name will be present, but the
41090// value will be replaced with "sensitive".
41091func (s UpdateBucketBundleOutput) GoString() string {
41092	return s.String()
41093}
41094
41095// SetOperations sets the Operations field's value.
41096func (s *UpdateBucketBundleOutput) SetOperations(v []*Operation) *UpdateBucketBundleOutput {
41097	s.Operations = v
41098	return s
41099}
41100
41101type UpdateBucketInput struct {
41102	_ struct{} `type:"structure"`
41103
41104	// An object that sets the public accessibility of objects in the specified
41105	// bucket.
41106	AccessRules *AccessRules `locationName:"accessRules" type:"structure"`
41107
41108	// The name of the bucket to update.
41109	//
41110	// BucketName is a required field
41111	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
41112
41113	// An array of strings to specify the AWS account IDs that can access the bucket.
41114	//
41115	// You can give a maximum of 10 AWS accounts access to a bucket.
41116	ReadonlyAccessAccounts []*string `locationName:"readonlyAccessAccounts" type:"list"`
41117
41118	// Specifies whether to enable or suspend versioning of objects in the bucket.
41119	//
41120	// The following options can be specified:
41121	//
41122	//    * Enabled - Enables versioning of objects in the specified bucket.
41123	//
41124	//    * Suspended - Suspends versioning of objects in the specified bucket.
41125	//    Existing object versions are retained.
41126	Versioning *string `locationName:"versioning" type:"string"`
41127}
41128
41129// String returns the string representation.
41130//
41131// API parameter values that are decorated as "sensitive" in the API will not
41132// be included in the string output. The member name will be present, but the
41133// value will be replaced with "sensitive".
41134func (s UpdateBucketInput) String() string {
41135	return awsutil.Prettify(s)
41136}
41137
41138// GoString returns the string representation.
41139//
41140// API parameter values that are decorated as "sensitive" in the API will not
41141// be included in the string output. The member name will be present, but the
41142// value will be replaced with "sensitive".
41143func (s UpdateBucketInput) GoString() string {
41144	return s.String()
41145}
41146
41147// Validate inspects the fields of the type to determine if they are valid.
41148func (s *UpdateBucketInput) Validate() error {
41149	invalidParams := request.ErrInvalidParams{Context: "UpdateBucketInput"}
41150	if s.BucketName == nil {
41151		invalidParams.Add(request.NewErrParamRequired("BucketName"))
41152	}
41153	if s.BucketName != nil && len(*s.BucketName) < 3 {
41154		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
41155	}
41156
41157	if invalidParams.Len() > 0 {
41158		return invalidParams
41159	}
41160	return nil
41161}
41162
41163// SetAccessRules sets the AccessRules field's value.
41164func (s *UpdateBucketInput) SetAccessRules(v *AccessRules) *UpdateBucketInput {
41165	s.AccessRules = v
41166	return s
41167}
41168
41169// SetBucketName sets the BucketName field's value.
41170func (s *UpdateBucketInput) SetBucketName(v string) *UpdateBucketInput {
41171	s.BucketName = &v
41172	return s
41173}
41174
41175// SetReadonlyAccessAccounts sets the ReadonlyAccessAccounts field's value.
41176func (s *UpdateBucketInput) SetReadonlyAccessAccounts(v []*string) *UpdateBucketInput {
41177	s.ReadonlyAccessAccounts = v
41178	return s
41179}
41180
41181// SetVersioning sets the Versioning field's value.
41182func (s *UpdateBucketInput) SetVersioning(v string) *UpdateBucketInput {
41183	s.Versioning = &v
41184	return s
41185}
41186
41187type UpdateBucketOutput struct {
41188	_ struct{} `type:"structure"`
41189
41190	// An object that describes the bucket that is updated.
41191	Bucket *Bucket `locationName:"bucket" type:"structure"`
41192
41193	// An array of objects that describe the result of the action, such as the status
41194	// of the request, the timestamp of the request, and the resources affected
41195	// by the request.
41196	Operations []*Operation `locationName:"operations" type:"list"`
41197}
41198
41199// String returns the string representation.
41200//
41201// API parameter values that are decorated as "sensitive" in the API will not
41202// be included in the string output. The member name will be present, but the
41203// value will be replaced with "sensitive".
41204func (s UpdateBucketOutput) String() string {
41205	return awsutil.Prettify(s)
41206}
41207
41208// GoString returns the string representation.
41209//
41210// API parameter values that are decorated as "sensitive" in the API will not
41211// be included in the string output. The member name will be present, but the
41212// value will be replaced with "sensitive".
41213func (s UpdateBucketOutput) GoString() string {
41214	return s.String()
41215}
41216
41217// SetBucket sets the Bucket field's value.
41218func (s *UpdateBucketOutput) SetBucket(v *Bucket) *UpdateBucketOutput {
41219	s.Bucket = v
41220	return s
41221}
41222
41223// SetOperations sets the Operations field's value.
41224func (s *UpdateBucketOutput) SetOperations(v []*Operation) *UpdateBucketOutput {
41225	s.Operations = v
41226	return s
41227}
41228
41229type UpdateContainerServiceInput struct {
41230	_ struct{} `type:"structure"`
41231
41232	// A Boolean value to indicate whether the container service is disabled.
41233	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
41234
41235	// The power for the container service.
41236	//
41237	// The power specifies the amount of memory, vCPUs, and base monthly cost of
41238	// each node of the container service. The power and scale of a container service
41239	// makes up its configured capacity. To determine the monthly price of your
41240	// container service, multiply the base price of the power with the scale (the
41241	// number of nodes) of the service.
41242	//
41243	// Use the GetContainerServicePowers action to view the specifications of each
41244	// power option.
41245	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
41246
41247	// The public domain names to use with the container service, such as example.com
41248	// and www.example.com.
41249	//
41250	// You can specify up to four public domain names for a container service. The
41251	// domain names that you specify are used when you create a deployment with
41252	// a container configured as the public endpoint of your container service.
41253	//
41254	// If you don't specify public domain names, then you can use the default domain
41255	// of the container service.
41256	//
41257	// You must create and validate an SSL/TLS certificate before you can use public
41258	// domain names with your container service. Use the CreateCertificate action
41259	// to create a certificate for the public domain names you want to use with
41260	// your container service.
41261	//
41262	// You can specify public domain names using a string to array map as shown
41263	// in the example later on this page.
41264	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
41265
41266	// The scale for the container service.
41267	//
41268	// The scale specifies the allocated compute nodes of the container service.
41269	// The power and scale of a container service makes up its configured capacity.
41270	// To determine the monthly price of your container service, multiply the base
41271	// price of the power with the scale (the number of nodes) of the service.
41272	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
41273
41274	// The name of the container service to update.
41275	//
41276	// ServiceName is a required field
41277	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
41278}
41279
41280// String returns the string representation.
41281//
41282// API parameter values that are decorated as "sensitive" in the API will not
41283// be included in the string output. The member name will be present, but the
41284// value will be replaced with "sensitive".
41285func (s UpdateContainerServiceInput) String() string {
41286	return awsutil.Prettify(s)
41287}
41288
41289// GoString returns the string representation.
41290//
41291// API parameter values that are decorated as "sensitive" in the API will not
41292// be included in the string output. The member name will be present, but the
41293// value will be replaced with "sensitive".
41294func (s UpdateContainerServiceInput) GoString() string {
41295	return s.String()
41296}
41297
41298// Validate inspects the fields of the type to determine if they are valid.
41299func (s *UpdateContainerServiceInput) Validate() error {
41300	invalidParams := request.ErrInvalidParams{Context: "UpdateContainerServiceInput"}
41301	if s.Scale != nil && *s.Scale < 1 {
41302		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
41303	}
41304	if s.ServiceName == nil {
41305		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
41306	}
41307	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
41308		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
41309	}
41310
41311	if invalidParams.Len() > 0 {
41312		return invalidParams
41313	}
41314	return nil
41315}
41316
41317// SetIsDisabled sets the IsDisabled field's value.
41318func (s *UpdateContainerServiceInput) SetIsDisabled(v bool) *UpdateContainerServiceInput {
41319	s.IsDisabled = &v
41320	return s
41321}
41322
41323// SetPower sets the Power field's value.
41324func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerServiceInput {
41325	s.Power = &v
41326	return s
41327}
41328
41329// SetPublicDomainNames sets the PublicDomainNames field's value.
41330func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput {
41331	s.PublicDomainNames = v
41332	return s
41333}
41334
41335// SetScale sets the Scale field's value.
41336func (s *UpdateContainerServiceInput) SetScale(v int64) *UpdateContainerServiceInput {
41337	s.Scale = &v
41338	return s
41339}
41340
41341// SetServiceName sets the ServiceName field's value.
41342func (s *UpdateContainerServiceInput) SetServiceName(v string) *UpdateContainerServiceInput {
41343	s.ServiceName = &v
41344	return s
41345}
41346
41347type UpdateContainerServiceOutput struct {
41348	_ struct{} `type:"structure"`
41349
41350	// An object that describes a container service.
41351	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
41352}
41353
41354// String returns the string representation.
41355//
41356// API parameter values that are decorated as "sensitive" in the API will not
41357// be included in the string output. The member name will be present, but the
41358// value will be replaced with "sensitive".
41359func (s UpdateContainerServiceOutput) String() string {
41360	return awsutil.Prettify(s)
41361}
41362
41363// GoString returns the string representation.
41364//
41365// API parameter values that are decorated as "sensitive" in the API will not
41366// be included in the string output. The member name will be present, but the
41367// value will be replaced with "sensitive".
41368func (s UpdateContainerServiceOutput) GoString() string {
41369	return s.String()
41370}
41371
41372// SetContainerService sets the ContainerService field's value.
41373func (s *UpdateContainerServiceOutput) SetContainerService(v *ContainerService) *UpdateContainerServiceOutput {
41374	s.ContainerService = v
41375	return s
41376}
41377
41378type UpdateDistributionBundleInput struct {
41379	_ struct{} `type:"structure"`
41380
41381	// The bundle ID of the new bundle to apply to your distribution.
41382	//
41383	// Use the GetDistributionBundles action to get a list of distribution bundle
41384	// IDs that you can specify.
41385	BundleId *string `locationName:"bundleId" type:"string"`
41386
41387	// The name of the distribution for which to update the bundle.
41388	//
41389	// Use the GetDistributions action to get a list of distribution names that
41390	// you can specify.
41391	DistributionName *string `locationName:"distributionName" type:"string"`
41392}
41393
41394// String returns the string representation.
41395//
41396// API parameter values that are decorated as "sensitive" in the API will not
41397// be included in the string output. The member name will be present, but the
41398// value will be replaced with "sensitive".
41399func (s UpdateDistributionBundleInput) String() string {
41400	return awsutil.Prettify(s)
41401}
41402
41403// GoString returns the string representation.
41404//
41405// API parameter values that are decorated as "sensitive" in the API will not
41406// be included in the string output. The member name will be present, but the
41407// value will be replaced with "sensitive".
41408func (s UpdateDistributionBundleInput) GoString() string {
41409	return s.String()
41410}
41411
41412// SetBundleId sets the BundleId field's value.
41413func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
41414	s.BundleId = &v
41415	return s
41416}
41417
41418// SetDistributionName sets the DistributionName field's value.
41419func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
41420	s.DistributionName = &v
41421	return s
41422}
41423
41424type UpdateDistributionBundleOutput struct {
41425	_ struct{} `type:"structure"`
41426
41427	// Describes the API operation.
41428	Operation *Operation `locationName:"operation" type:"structure"`
41429}
41430
41431// String returns the string representation.
41432//
41433// API parameter values that are decorated as "sensitive" in the API will not
41434// be included in the string output. The member name will be present, but the
41435// value will be replaced with "sensitive".
41436func (s UpdateDistributionBundleOutput) String() string {
41437	return awsutil.Prettify(s)
41438}
41439
41440// GoString returns the string representation.
41441//
41442// API parameter values that are decorated as "sensitive" in the API will not
41443// be included in the string output. The member name will be present, but the
41444// value will be replaced with "sensitive".
41445func (s UpdateDistributionBundleOutput) GoString() string {
41446	return s.String()
41447}
41448
41449// SetOperation sets the Operation field's value.
41450func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
41451	s.Operation = v
41452	return s
41453}
41454
41455type UpdateDistributionInput struct {
41456	_ struct{} `type:"structure"`
41457
41458	// An object that describes the cache behavior settings for the distribution.
41459	//
41460	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
41461	// replace your distribution's existing settings.
41462	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
41463
41464	// An array of objects that describe the per-path cache behavior for the distribution.
41465	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
41466
41467	// An object that describes the default cache behavior for the distribution.
41468	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
41469
41470	// The name of the distribution to update.
41471	//
41472	// Use the GetDistributions action to get a list of distribution names that
41473	// you can specify.
41474	//
41475	// DistributionName is a required field
41476	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
41477
41478	// Indicates whether to enable the distribution.
41479	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
41480
41481	// An object that describes the origin resource for the distribution, such as
41482	// a Lightsail instance or load balancer.
41483	//
41484	// The distribution pulls, caches, and serves content from the origin.
41485	Origin *InputOrigin `locationName:"origin" type:"structure"`
41486}
41487
41488// String returns the string representation.
41489//
41490// API parameter values that are decorated as "sensitive" in the API will not
41491// be included in the string output. The member name will be present, but the
41492// value will be replaced with "sensitive".
41493func (s UpdateDistributionInput) String() string {
41494	return awsutil.Prettify(s)
41495}
41496
41497// GoString returns the string representation.
41498//
41499// API parameter values that are decorated as "sensitive" in the API will not
41500// be included in the string output. The member name will be present, but the
41501// value will be replaced with "sensitive".
41502func (s UpdateDistributionInput) GoString() string {
41503	return s.String()
41504}
41505
41506// Validate inspects the fields of the type to determine if they are valid.
41507func (s *UpdateDistributionInput) Validate() error {
41508	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
41509	if s.DistributionName == nil {
41510		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
41511	}
41512
41513	if invalidParams.Len() > 0 {
41514		return invalidParams
41515	}
41516	return nil
41517}
41518
41519// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
41520func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
41521	s.CacheBehaviorSettings = v
41522	return s
41523}
41524
41525// SetCacheBehaviors sets the CacheBehaviors field's value.
41526func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
41527	s.CacheBehaviors = v
41528	return s
41529}
41530
41531// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
41532func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
41533	s.DefaultCacheBehavior = v
41534	return s
41535}
41536
41537// SetDistributionName sets the DistributionName field's value.
41538func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
41539	s.DistributionName = &v
41540	return s
41541}
41542
41543// SetIsEnabled sets the IsEnabled field's value.
41544func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
41545	s.IsEnabled = &v
41546	return s
41547}
41548
41549// SetOrigin sets the Origin field's value.
41550func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
41551	s.Origin = v
41552	return s
41553}
41554
41555type UpdateDistributionOutput struct {
41556	_ struct{} `type:"structure"`
41557
41558	// An array of objects that describe the result of the action, such as the status
41559	// of the request, the timestamp of the request, and the resources affected
41560	// by the request.
41561	Operation *Operation `locationName:"operation" type:"structure"`
41562}
41563
41564// String returns the string representation.
41565//
41566// API parameter values that are decorated as "sensitive" in the API will not
41567// be included in the string output. The member name will be present, but the
41568// value will be replaced with "sensitive".
41569func (s UpdateDistributionOutput) String() string {
41570	return awsutil.Prettify(s)
41571}
41572
41573// GoString returns the string representation.
41574//
41575// API parameter values that are decorated as "sensitive" in the API will not
41576// be included in the string output. The member name will be present, but the
41577// value will be replaced with "sensitive".
41578func (s UpdateDistributionOutput) GoString() string {
41579	return s.String()
41580}
41581
41582// SetOperation sets the Operation field's value.
41583func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
41584	s.Operation = v
41585	return s
41586}
41587
41588type UpdateDomainEntryInput struct {
41589	_ struct{} `type:"structure"`
41590
41591	// An array of key-value pairs containing information about the domain entry.
41592	//
41593	// DomainEntry is a required field
41594	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
41595
41596	// The name of the domain recordset to update.
41597	//
41598	// DomainName is a required field
41599	DomainName *string `locationName:"domainName" type:"string" required:"true"`
41600}
41601
41602// String returns the string representation.
41603//
41604// API parameter values that are decorated as "sensitive" in the API will not
41605// be included in the string output. The member name will be present, but the
41606// value will be replaced with "sensitive".
41607func (s UpdateDomainEntryInput) String() string {
41608	return awsutil.Prettify(s)
41609}
41610
41611// GoString returns the string representation.
41612//
41613// API parameter values that are decorated as "sensitive" in the API will not
41614// be included in the string output. The member name will be present, but the
41615// value will be replaced with "sensitive".
41616func (s UpdateDomainEntryInput) GoString() string {
41617	return s.String()
41618}
41619
41620// Validate inspects the fields of the type to determine if they are valid.
41621func (s *UpdateDomainEntryInput) Validate() error {
41622	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
41623	if s.DomainEntry == nil {
41624		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
41625	}
41626	if s.DomainName == nil {
41627		invalidParams.Add(request.NewErrParamRequired("DomainName"))
41628	}
41629
41630	if invalidParams.Len() > 0 {
41631		return invalidParams
41632	}
41633	return nil
41634}
41635
41636// SetDomainEntry sets the DomainEntry field's value.
41637func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
41638	s.DomainEntry = v
41639	return s
41640}
41641
41642// SetDomainName sets the DomainName field's value.
41643func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
41644	s.DomainName = &v
41645	return s
41646}
41647
41648type UpdateDomainEntryOutput struct {
41649	_ struct{} `type:"structure"`
41650
41651	// An array of objects that describe the result of the action, such as the status
41652	// of the request, the timestamp of the request, and the resources affected
41653	// by the request.
41654	Operations []*Operation `locationName:"operations" type:"list"`
41655}
41656
41657// String returns the string representation.
41658//
41659// API parameter values that are decorated as "sensitive" in the API will not
41660// be included in the string output. The member name will be present, but the
41661// value will be replaced with "sensitive".
41662func (s UpdateDomainEntryOutput) String() string {
41663	return awsutil.Prettify(s)
41664}
41665
41666// GoString returns the string representation.
41667//
41668// API parameter values that are decorated as "sensitive" in the API will not
41669// be included in the string output. The member name will be present, but the
41670// value will be replaced with "sensitive".
41671func (s UpdateDomainEntryOutput) GoString() string {
41672	return s.String()
41673}
41674
41675// SetOperations sets the Operations field's value.
41676func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
41677	s.Operations = v
41678	return s
41679}
41680
41681type UpdateLoadBalancerAttributeInput struct {
41682	_ struct{} `type:"structure"`
41683
41684	// The name of the attribute you want to update. Valid values are below.
41685	//
41686	// AttributeName is a required field
41687	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
41688
41689	// The value that you want to specify for the attribute name.
41690	//
41691	// AttributeValue is a required field
41692	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
41693
41694	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
41695	//
41696	// LoadBalancerName is a required field
41697	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
41698}
41699
41700// String returns the string representation.
41701//
41702// API parameter values that are decorated as "sensitive" in the API will not
41703// be included in the string output. The member name will be present, but the
41704// value will be replaced with "sensitive".
41705func (s UpdateLoadBalancerAttributeInput) String() string {
41706	return awsutil.Prettify(s)
41707}
41708
41709// GoString returns the string representation.
41710//
41711// API parameter values that are decorated as "sensitive" in the API will not
41712// be included in the string output. The member name will be present, but the
41713// value will be replaced with "sensitive".
41714func (s UpdateLoadBalancerAttributeInput) GoString() string {
41715	return s.String()
41716}
41717
41718// Validate inspects the fields of the type to determine if they are valid.
41719func (s *UpdateLoadBalancerAttributeInput) Validate() error {
41720	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
41721	if s.AttributeName == nil {
41722		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
41723	}
41724	if s.AttributeValue == nil {
41725		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
41726	}
41727	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
41728		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
41729	}
41730	if s.LoadBalancerName == nil {
41731		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
41732	}
41733
41734	if invalidParams.Len() > 0 {
41735		return invalidParams
41736	}
41737	return nil
41738}
41739
41740// SetAttributeName sets the AttributeName field's value.
41741func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
41742	s.AttributeName = &v
41743	return s
41744}
41745
41746// SetAttributeValue sets the AttributeValue field's value.
41747func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
41748	s.AttributeValue = &v
41749	return s
41750}
41751
41752// SetLoadBalancerName sets the LoadBalancerName field's value.
41753func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
41754	s.LoadBalancerName = &v
41755	return s
41756}
41757
41758type UpdateLoadBalancerAttributeOutput struct {
41759	_ struct{} `type:"structure"`
41760
41761	// An array of objects that describe the result of the action, such as the status
41762	// of the request, the timestamp of the request, and the resources affected
41763	// by the request.
41764	Operations []*Operation `locationName:"operations" type:"list"`
41765}
41766
41767// String returns the string representation.
41768//
41769// API parameter values that are decorated as "sensitive" in the API will not
41770// be included in the string output. The member name will be present, but the
41771// value will be replaced with "sensitive".
41772func (s UpdateLoadBalancerAttributeOutput) String() string {
41773	return awsutil.Prettify(s)
41774}
41775
41776// GoString returns the string representation.
41777//
41778// API parameter values that are decorated as "sensitive" in the API will not
41779// be included in the string output. The member name will be present, but the
41780// value will be replaced with "sensitive".
41781func (s UpdateLoadBalancerAttributeOutput) GoString() string {
41782	return s.String()
41783}
41784
41785// SetOperations sets the Operations field's value.
41786func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
41787	s.Operations = v
41788	return s
41789}
41790
41791type UpdateRelationalDatabaseInput struct {
41792	_ struct{} `type:"structure"`
41793
41794	// When true, applies changes immediately. When false, applies changes during
41795	// the preferred maintenance window. Some changes may cause an outage.
41796	//
41797	// Default: false
41798	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
41799
41800	// Indicates the certificate that needs to be associated with the database.
41801	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
41802
41803	// When true, disables automated backup retention for your database.
41804	//
41805	// Disabling backup retention deletes all automated database backups. Before
41806	// disabling this, you may want to create a snapshot of your database using
41807	// the create relational database snapshot operation.
41808	//
41809	// Updates are applied during the next maintenance window because this can result
41810	// in an outage.
41811	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
41812
41813	// When true, enables automated backup retention for your database.
41814	//
41815	// Updates are applied during the next maintenance window because this can result
41816	// in an outage.
41817	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
41818
41819	// The password for the master user. The password can include any printable
41820	// ASCII character except "/", """, or "@".
41821	//
41822	// MySQL
41823	//
41824	// Constraints: Must contain from 8 to 41 characters.
41825	//
41826	// PostgreSQL
41827	//
41828	// Constraints: Must contain from 8 to 128 characters.
41829	//
41830	// MasterUserPassword is a sensitive parameter and its value will be
41831	// replaced with "sensitive" in string returned by UpdateRelationalDatabaseInput's
41832	// String and GoString methods.
41833	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
41834
41835	// The daily time range during which automated backups are created for your
41836	// database if automated backups are enabled.
41837	//
41838	// Constraints:
41839	//
41840	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
41841	//
41842	//    * Specified in Coordinated Universal Time (UTC).
41843	//
41844	//    * Must not conflict with the preferred maintenance window.
41845	//
41846	//    * Must be at least 30 minutes.
41847	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
41848
41849	// The weekly time range during which system maintenance can occur on your database.
41850	//
41851	// The default is a 30-minute window selected at random from an 8-hour block
41852	// of time for each AWS Region, occurring on a random day of the week.
41853	//
41854	// Constraints:
41855	//
41856	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
41857	//
41858	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
41859	//
41860	//    * Must be at least 30 minutes.
41861	//
41862	//    * Specified in Coordinated Universal Time (UTC).
41863	//
41864	//    * Example: Tue:17:00-Tue:17:30
41865	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
41866
41867	// Specifies the accessibility options for your database. A value of true specifies
41868	// a database that is available to resources outside of your Lightsail account.
41869	// A value of false specifies a database that is available only to your Lightsail
41870	// resources in the same region as your database.
41871	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
41872
41873	// The name of your Lightsail database resource to update.
41874	//
41875	// RelationalDatabaseName is a required field
41876	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
41877
41878	// When true, the master user password is changed to a new strong password generated
41879	// by Lightsail.
41880	//
41881	// Use the get relational database master user password operation to get the
41882	// new password.
41883	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
41884}
41885
41886// String returns the string representation.
41887//
41888// API parameter values that are decorated as "sensitive" in the API will not
41889// be included in the string output. The member name will be present, but the
41890// value will be replaced with "sensitive".
41891func (s UpdateRelationalDatabaseInput) String() string {
41892	return awsutil.Prettify(s)
41893}
41894
41895// GoString returns the string representation.
41896//
41897// API parameter values that are decorated as "sensitive" in the API will not
41898// be included in the string output. The member name will be present, but the
41899// value will be replaced with "sensitive".
41900func (s UpdateRelationalDatabaseInput) GoString() string {
41901	return s.String()
41902}
41903
41904// Validate inspects the fields of the type to determine if they are valid.
41905func (s *UpdateRelationalDatabaseInput) Validate() error {
41906	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
41907	if s.RelationalDatabaseName == nil {
41908		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
41909	}
41910
41911	if invalidParams.Len() > 0 {
41912		return invalidParams
41913	}
41914	return nil
41915}
41916
41917// SetApplyImmediately sets the ApplyImmediately field's value.
41918func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
41919	s.ApplyImmediately = &v
41920	return s
41921}
41922
41923// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
41924func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
41925	s.CaCertificateIdentifier = &v
41926	return s
41927}
41928
41929// SetDisableBackupRetention sets the DisableBackupRetention field's value.
41930func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
41931	s.DisableBackupRetention = &v
41932	return s
41933}
41934
41935// SetEnableBackupRetention sets the EnableBackupRetention field's value.
41936func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
41937	s.EnableBackupRetention = &v
41938	return s
41939}
41940
41941// SetMasterUserPassword sets the MasterUserPassword field's value.
41942func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
41943	s.MasterUserPassword = &v
41944	return s
41945}
41946
41947// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
41948func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
41949	s.PreferredBackupWindow = &v
41950	return s
41951}
41952
41953// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
41954func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
41955	s.PreferredMaintenanceWindow = &v
41956	return s
41957}
41958
41959// SetPubliclyAccessible sets the PubliclyAccessible field's value.
41960func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
41961	s.PubliclyAccessible = &v
41962	return s
41963}
41964
41965// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
41966func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
41967	s.RelationalDatabaseName = &v
41968	return s
41969}
41970
41971// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
41972func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
41973	s.RotateMasterUserPassword = &v
41974	return s
41975}
41976
41977type UpdateRelationalDatabaseOutput struct {
41978	_ struct{} `type:"structure"`
41979
41980	// An array of objects that describe the result of the action, such as the status
41981	// of the request, the timestamp of the request, and the resources affected
41982	// by the request.
41983	Operations []*Operation `locationName:"operations" type:"list"`
41984}
41985
41986// String returns the string representation.
41987//
41988// API parameter values that are decorated as "sensitive" in the API will not
41989// be included in the string output. The member name will be present, but the
41990// value will be replaced with "sensitive".
41991func (s UpdateRelationalDatabaseOutput) String() string {
41992	return awsutil.Prettify(s)
41993}
41994
41995// GoString returns the string representation.
41996//
41997// API parameter values that are decorated as "sensitive" in the API will not
41998// be included in the string output. The member name will be present, but the
41999// value will be replaced with "sensitive".
42000func (s UpdateRelationalDatabaseOutput) GoString() string {
42001	return s.String()
42002}
42003
42004// SetOperations sets the Operations field's value.
42005func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
42006	s.Operations = v
42007	return s
42008}
42009
42010type UpdateRelationalDatabaseParametersInput struct {
42011	_ struct{} `type:"structure"`
42012
42013	// The database parameters to update.
42014	//
42015	// Parameters is a required field
42016	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
42017
42018	// The name of your database for which to update parameters.
42019	//
42020	// RelationalDatabaseName is a required field
42021	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
42022}
42023
42024// String returns the string representation.
42025//
42026// API parameter values that are decorated as "sensitive" in the API will not
42027// be included in the string output. The member name will be present, but the
42028// value will be replaced with "sensitive".
42029func (s UpdateRelationalDatabaseParametersInput) String() string {
42030	return awsutil.Prettify(s)
42031}
42032
42033// GoString returns the string representation.
42034//
42035// API parameter values that are decorated as "sensitive" in the API will not
42036// be included in the string output. The member name will be present, but the
42037// value will be replaced with "sensitive".
42038func (s UpdateRelationalDatabaseParametersInput) GoString() string {
42039	return s.String()
42040}
42041
42042// Validate inspects the fields of the type to determine if they are valid.
42043func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
42044	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
42045	if s.Parameters == nil {
42046		invalidParams.Add(request.NewErrParamRequired("Parameters"))
42047	}
42048	if s.RelationalDatabaseName == nil {
42049		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
42050	}
42051
42052	if invalidParams.Len() > 0 {
42053		return invalidParams
42054	}
42055	return nil
42056}
42057
42058// SetParameters sets the Parameters field's value.
42059func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
42060	s.Parameters = v
42061	return s
42062}
42063
42064// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
42065func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
42066	s.RelationalDatabaseName = &v
42067	return s
42068}
42069
42070type UpdateRelationalDatabaseParametersOutput struct {
42071	_ struct{} `type:"structure"`
42072
42073	// An array of objects that describe the result of the action, such as the status
42074	// of the request, the timestamp of the request, and the resources affected
42075	// by the request.
42076	Operations []*Operation `locationName:"operations" type:"list"`
42077}
42078
42079// String returns the string representation.
42080//
42081// API parameter values that are decorated as "sensitive" in the API will not
42082// be included in the string output. The member name will be present, but the
42083// value will be replaced with "sensitive".
42084func (s UpdateRelationalDatabaseParametersOutput) String() string {
42085	return awsutil.Prettify(s)
42086}
42087
42088// GoString returns the string representation.
42089//
42090// API parameter values that are decorated as "sensitive" in the API will not
42091// be included in the string output. The member name will be present, but the
42092// value will be replaced with "sensitive".
42093func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
42094	return s.String()
42095}
42096
42097// SetOperations sets the Operations field's value.
42098func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
42099	s.Operations = v
42100	return s
42101}
42102
42103const (
42104	// AccessDirectionInbound is a AccessDirection enum value
42105	AccessDirectionInbound = "inbound"
42106
42107	// AccessDirectionOutbound is a AccessDirection enum value
42108	AccessDirectionOutbound = "outbound"
42109)
42110
42111// AccessDirection_Values returns all elements of the AccessDirection enum
42112func AccessDirection_Values() []string {
42113	return []string{
42114		AccessDirectionInbound,
42115		AccessDirectionOutbound,
42116	}
42117}
42118
42119const (
42120	// AccessTypePublic is a AccessType enum value
42121	AccessTypePublic = "public"
42122
42123	// AccessTypePrivate is a AccessType enum value
42124	AccessTypePrivate = "private"
42125)
42126
42127// AccessType_Values returns all elements of the AccessType enum
42128func AccessType_Values() []string {
42129	return []string{
42130		AccessTypePublic,
42131		AccessTypePrivate,
42132	}
42133}
42134
42135const (
42136	// AddOnTypeAutoSnapshot is a AddOnType enum value
42137	AddOnTypeAutoSnapshot = "AutoSnapshot"
42138)
42139
42140// AddOnType_Values returns all elements of the AddOnType enum
42141func AddOnType_Values() []string {
42142	return []string{
42143		AddOnTypeAutoSnapshot,
42144	}
42145}
42146
42147const (
42148	// AlarmStateOk is a AlarmState enum value
42149	AlarmStateOk = "OK"
42150
42151	// AlarmStateAlarm is a AlarmState enum value
42152	AlarmStateAlarm = "ALARM"
42153
42154	// AlarmStateInsufficientData is a AlarmState enum value
42155	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
42156)
42157
42158// AlarmState_Values returns all elements of the AlarmState enum
42159func AlarmState_Values() []string {
42160	return []string{
42161		AlarmStateOk,
42162		AlarmStateAlarm,
42163		AlarmStateInsufficientData,
42164	}
42165}
42166
42167const (
42168	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
42169	AutoSnapshotStatusSuccess = "Success"
42170
42171	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
42172	AutoSnapshotStatusFailed = "Failed"
42173
42174	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
42175	AutoSnapshotStatusInProgress = "InProgress"
42176
42177	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
42178	AutoSnapshotStatusNotFound = "NotFound"
42179)
42180
42181// AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
42182func AutoSnapshotStatus_Values() []string {
42183	return []string{
42184		AutoSnapshotStatusSuccess,
42185		AutoSnapshotStatusFailed,
42186		AutoSnapshotStatusInProgress,
42187		AutoSnapshotStatusNotFound,
42188	}
42189}
42190
42191const (
42192	// BehaviorEnumDontCache is a BehaviorEnum enum value
42193	BehaviorEnumDontCache = "dont-cache"
42194
42195	// BehaviorEnumCache is a BehaviorEnum enum value
42196	BehaviorEnumCache = "cache"
42197)
42198
42199// BehaviorEnum_Values returns all elements of the BehaviorEnum enum
42200func BehaviorEnum_Values() []string {
42201	return []string{
42202		BehaviorEnumDontCache,
42203		BehaviorEnumCache,
42204	}
42205}
42206
42207const (
42208	// BlueprintTypeOs is a BlueprintType enum value
42209	BlueprintTypeOs = "os"
42210
42211	// BlueprintTypeApp is a BlueprintType enum value
42212	BlueprintTypeApp = "app"
42213)
42214
42215// BlueprintType_Values returns all elements of the BlueprintType enum
42216func BlueprintType_Values() []string {
42217	return []string{
42218		BlueprintTypeOs,
42219		BlueprintTypeApp,
42220	}
42221}
42222
42223const (
42224	// BucketMetricNameBucketSizeBytes is a BucketMetricName enum value
42225	BucketMetricNameBucketSizeBytes = "BucketSizeBytes"
42226
42227	// BucketMetricNameNumberOfObjects is a BucketMetricName enum value
42228	BucketMetricNameNumberOfObjects = "NumberOfObjects"
42229)
42230
42231// BucketMetricName_Values returns all elements of the BucketMetricName enum
42232func BucketMetricName_Values() []string {
42233	return []string{
42234		BucketMetricNameBucketSizeBytes,
42235		BucketMetricNameNumberOfObjects,
42236	}
42237}
42238
42239const (
42240	// CertificateStatusPendingValidation is a CertificateStatus enum value
42241	CertificateStatusPendingValidation = "PENDING_VALIDATION"
42242
42243	// CertificateStatusIssued is a CertificateStatus enum value
42244	CertificateStatusIssued = "ISSUED"
42245
42246	// CertificateStatusInactive is a CertificateStatus enum value
42247	CertificateStatusInactive = "INACTIVE"
42248
42249	// CertificateStatusExpired is a CertificateStatus enum value
42250	CertificateStatusExpired = "EXPIRED"
42251
42252	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
42253	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
42254
42255	// CertificateStatusRevoked is a CertificateStatus enum value
42256	CertificateStatusRevoked = "REVOKED"
42257
42258	// CertificateStatusFailed is a CertificateStatus enum value
42259	CertificateStatusFailed = "FAILED"
42260)
42261
42262// CertificateStatus_Values returns all elements of the CertificateStatus enum
42263func CertificateStatus_Values() []string {
42264	return []string{
42265		CertificateStatusPendingValidation,
42266		CertificateStatusIssued,
42267		CertificateStatusInactive,
42268		CertificateStatusExpired,
42269		CertificateStatusValidationTimedOut,
42270		CertificateStatusRevoked,
42271		CertificateStatusFailed,
42272	}
42273}
42274
42275const (
42276	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
42277	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
42278)
42279
42280// CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
42281func CloudFormationStackRecordSourceType_Values() []string {
42282	return []string{
42283		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
42284	}
42285}
42286
42287const (
42288	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
42289	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
42290
42291	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
42292	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
42293
42294	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
42295	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
42296
42297	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
42298	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
42299)
42300
42301// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
42302func ComparisonOperator_Values() []string {
42303	return []string{
42304		ComparisonOperatorGreaterThanOrEqualToThreshold,
42305		ComparisonOperatorGreaterThanThreshold,
42306		ComparisonOperatorLessThanThreshold,
42307		ComparisonOperatorLessThanOrEqualToThreshold,
42308	}
42309}
42310
42311const (
42312	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
42313	ContactMethodStatusPendingVerification = "PendingVerification"
42314
42315	// ContactMethodStatusValid is a ContactMethodStatus enum value
42316	ContactMethodStatusValid = "Valid"
42317
42318	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
42319	ContactMethodStatusInvalid = "Invalid"
42320)
42321
42322// ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
42323func ContactMethodStatus_Values() []string {
42324	return []string{
42325		ContactMethodStatusPendingVerification,
42326		ContactMethodStatusValid,
42327		ContactMethodStatusInvalid,
42328	}
42329}
42330
42331const (
42332	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
42333	ContactMethodVerificationProtocolEmail = "Email"
42334)
42335
42336// ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
42337func ContactMethodVerificationProtocol_Values() []string {
42338	return []string{
42339		ContactMethodVerificationProtocolEmail,
42340	}
42341}
42342
42343const (
42344	// ContactProtocolEmail is a ContactProtocol enum value
42345	ContactProtocolEmail = "Email"
42346
42347	// ContactProtocolSms is a ContactProtocol enum value
42348	ContactProtocolSms = "SMS"
42349)
42350
42351// ContactProtocol_Values returns all elements of the ContactProtocol enum
42352func ContactProtocol_Values() []string {
42353	return []string{
42354		ContactProtocolEmail,
42355		ContactProtocolSms,
42356	}
42357}
42358
42359const (
42360	// ContainerServiceDeploymentStateActivating is a ContainerServiceDeploymentState enum value
42361	ContainerServiceDeploymentStateActivating = "ACTIVATING"
42362
42363	// ContainerServiceDeploymentStateActive is a ContainerServiceDeploymentState enum value
42364	ContainerServiceDeploymentStateActive = "ACTIVE"
42365
42366	// ContainerServiceDeploymentStateInactive is a ContainerServiceDeploymentState enum value
42367	ContainerServiceDeploymentStateInactive = "INACTIVE"
42368
42369	// ContainerServiceDeploymentStateFailed is a ContainerServiceDeploymentState enum value
42370	ContainerServiceDeploymentStateFailed = "FAILED"
42371)
42372
42373// ContainerServiceDeploymentState_Values returns all elements of the ContainerServiceDeploymentState enum
42374func ContainerServiceDeploymentState_Values() []string {
42375	return []string{
42376		ContainerServiceDeploymentStateActivating,
42377		ContainerServiceDeploymentStateActive,
42378		ContainerServiceDeploymentStateInactive,
42379		ContainerServiceDeploymentStateFailed,
42380	}
42381}
42382
42383const (
42384	// ContainerServiceMetricNameCpuutilization is a ContainerServiceMetricName enum value
42385	ContainerServiceMetricNameCpuutilization = "CPUUtilization"
42386
42387	// ContainerServiceMetricNameMemoryUtilization is a ContainerServiceMetricName enum value
42388	ContainerServiceMetricNameMemoryUtilization = "MemoryUtilization"
42389)
42390
42391// ContainerServiceMetricName_Values returns all elements of the ContainerServiceMetricName enum
42392func ContainerServiceMetricName_Values() []string {
42393	return []string{
42394		ContainerServiceMetricNameCpuutilization,
42395		ContainerServiceMetricNameMemoryUtilization,
42396	}
42397}
42398
42399const (
42400	// ContainerServicePowerNameNano is a ContainerServicePowerName enum value
42401	ContainerServicePowerNameNano = "nano"
42402
42403	// ContainerServicePowerNameMicro is a ContainerServicePowerName enum value
42404	ContainerServicePowerNameMicro = "micro"
42405
42406	// ContainerServicePowerNameSmall is a ContainerServicePowerName enum value
42407	ContainerServicePowerNameSmall = "small"
42408
42409	// ContainerServicePowerNameMedium is a ContainerServicePowerName enum value
42410	ContainerServicePowerNameMedium = "medium"
42411
42412	// ContainerServicePowerNameLarge is a ContainerServicePowerName enum value
42413	ContainerServicePowerNameLarge = "large"
42414
42415	// ContainerServicePowerNameXlarge is a ContainerServicePowerName enum value
42416	ContainerServicePowerNameXlarge = "xlarge"
42417)
42418
42419// ContainerServicePowerName_Values returns all elements of the ContainerServicePowerName enum
42420func ContainerServicePowerName_Values() []string {
42421	return []string{
42422		ContainerServicePowerNameNano,
42423		ContainerServicePowerNameMicro,
42424		ContainerServicePowerNameSmall,
42425		ContainerServicePowerNameMedium,
42426		ContainerServicePowerNameLarge,
42427		ContainerServicePowerNameXlarge,
42428	}
42429}
42430
42431const (
42432	// ContainerServiceProtocolHttp is a ContainerServiceProtocol enum value
42433	ContainerServiceProtocolHttp = "HTTP"
42434
42435	// ContainerServiceProtocolHttps is a ContainerServiceProtocol enum value
42436	ContainerServiceProtocolHttps = "HTTPS"
42437
42438	// ContainerServiceProtocolTcp is a ContainerServiceProtocol enum value
42439	ContainerServiceProtocolTcp = "TCP"
42440
42441	// ContainerServiceProtocolUdp is a ContainerServiceProtocol enum value
42442	ContainerServiceProtocolUdp = "UDP"
42443)
42444
42445// ContainerServiceProtocol_Values returns all elements of the ContainerServiceProtocol enum
42446func ContainerServiceProtocol_Values() []string {
42447	return []string{
42448		ContainerServiceProtocolHttp,
42449		ContainerServiceProtocolHttps,
42450		ContainerServiceProtocolTcp,
42451		ContainerServiceProtocolUdp,
42452	}
42453}
42454
42455const (
42456	// ContainerServiceStatePending is a ContainerServiceState enum value
42457	ContainerServiceStatePending = "PENDING"
42458
42459	// ContainerServiceStateReady is a ContainerServiceState enum value
42460	ContainerServiceStateReady = "READY"
42461
42462	// ContainerServiceStateRunning is a ContainerServiceState enum value
42463	ContainerServiceStateRunning = "RUNNING"
42464
42465	// ContainerServiceStateUpdating is a ContainerServiceState enum value
42466	ContainerServiceStateUpdating = "UPDATING"
42467
42468	// ContainerServiceStateDeleting is a ContainerServiceState enum value
42469	ContainerServiceStateDeleting = "DELETING"
42470
42471	// ContainerServiceStateDisabled is a ContainerServiceState enum value
42472	ContainerServiceStateDisabled = "DISABLED"
42473
42474	// ContainerServiceStateDeploying is a ContainerServiceState enum value
42475	ContainerServiceStateDeploying = "DEPLOYING"
42476)
42477
42478// ContainerServiceState_Values returns all elements of the ContainerServiceState enum
42479func ContainerServiceState_Values() []string {
42480	return []string{
42481		ContainerServiceStatePending,
42482		ContainerServiceStateReady,
42483		ContainerServiceStateRunning,
42484		ContainerServiceStateUpdating,
42485		ContainerServiceStateDeleting,
42486		ContainerServiceStateDisabled,
42487		ContainerServiceStateDeploying,
42488	}
42489}
42490
42491const (
42492	// ContainerServiceStateDetailCodeCreatingSystemResources is a ContainerServiceStateDetailCode enum value
42493	ContainerServiceStateDetailCodeCreatingSystemResources = "CREATING_SYSTEM_RESOURCES"
42494
42495	// ContainerServiceStateDetailCodeCreatingNetworkInfrastructure is a ContainerServiceStateDetailCode enum value
42496	ContainerServiceStateDetailCodeCreatingNetworkInfrastructure = "CREATING_NETWORK_INFRASTRUCTURE"
42497
42498	// ContainerServiceStateDetailCodeProvisioningCertificate is a ContainerServiceStateDetailCode enum value
42499	ContainerServiceStateDetailCodeProvisioningCertificate = "PROVISIONING_CERTIFICATE"
42500
42501	// ContainerServiceStateDetailCodeProvisioningService is a ContainerServiceStateDetailCode enum value
42502	ContainerServiceStateDetailCodeProvisioningService = "PROVISIONING_SERVICE"
42503
42504	// ContainerServiceStateDetailCodeCreatingDeployment is a ContainerServiceStateDetailCode enum value
42505	ContainerServiceStateDetailCodeCreatingDeployment = "CREATING_DEPLOYMENT"
42506
42507	// ContainerServiceStateDetailCodeEvaluatingHealthCheck is a ContainerServiceStateDetailCode enum value
42508	ContainerServiceStateDetailCodeEvaluatingHealthCheck = "EVALUATING_HEALTH_CHECK"
42509
42510	// ContainerServiceStateDetailCodeActivatingDeployment is a ContainerServiceStateDetailCode enum value
42511	ContainerServiceStateDetailCodeActivatingDeployment = "ACTIVATING_DEPLOYMENT"
42512
42513	// ContainerServiceStateDetailCodeCertificateLimitExceeded is a ContainerServiceStateDetailCode enum value
42514	ContainerServiceStateDetailCodeCertificateLimitExceeded = "CERTIFICATE_LIMIT_EXCEEDED"
42515
42516	// ContainerServiceStateDetailCodeUnknownError is a ContainerServiceStateDetailCode enum value
42517	ContainerServiceStateDetailCodeUnknownError = "UNKNOWN_ERROR"
42518)
42519
42520// ContainerServiceStateDetailCode_Values returns all elements of the ContainerServiceStateDetailCode enum
42521func ContainerServiceStateDetailCode_Values() []string {
42522	return []string{
42523		ContainerServiceStateDetailCodeCreatingSystemResources,
42524		ContainerServiceStateDetailCodeCreatingNetworkInfrastructure,
42525		ContainerServiceStateDetailCodeProvisioningCertificate,
42526		ContainerServiceStateDetailCodeProvisioningService,
42527		ContainerServiceStateDetailCodeCreatingDeployment,
42528		ContainerServiceStateDetailCodeEvaluatingHealthCheck,
42529		ContainerServiceStateDetailCodeActivatingDeployment,
42530		ContainerServiceStateDetailCodeCertificateLimitExceeded,
42531		ContainerServiceStateDetailCodeUnknownError,
42532	}
42533}
42534
42535const (
42536	// DiskSnapshotStatePending is a DiskSnapshotState enum value
42537	DiskSnapshotStatePending = "pending"
42538
42539	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
42540	DiskSnapshotStateCompleted = "completed"
42541
42542	// DiskSnapshotStateError is a DiskSnapshotState enum value
42543	DiskSnapshotStateError = "error"
42544
42545	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
42546	DiskSnapshotStateUnknown = "unknown"
42547)
42548
42549// DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
42550func DiskSnapshotState_Values() []string {
42551	return []string{
42552		DiskSnapshotStatePending,
42553		DiskSnapshotStateCompleted,
42554		DiskSnapshotStateError,
42555		DiskSnapshotStateUnknown,
42556	}
42557}
42558
42559const (
42560	// DiskStatePending is a DiskState enum value
42561	DiskStatePending = "pending"
42562
42563	// DiskStateError is a DiskState enum value
42564	DiskStateError = "error"
42565
42566	// DiskStateAvailable is a DiskState enum value
42567	DiskStateAvailable = "available"
42568
42569	// DiskStateInUse is a DiskState enum value
42570	DiskStateInUse = "in-use"
42571
42572	// DiskStateUnknown is a DiskState enum value
42573	DiskStateUnknown = "unknown"
42574)
42575
42576// DiskState_Values returns all elements of the DiskState enum
42577func DiskState_Values() []string {
42578	return []string{
42579		DiskStatePending,
42580		DiskStateError,
42581		DiskStateAvailable,
42582		DiskStateInUse,
42583		DiskStateUnknown,
42584	}
42585}
42586
42587const (
42588	// DistributionMetricNameRequests is a DistributionMetricName enum value
42589	DistributionMetricNameRequests = "Requests"
42590
42591	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
42592	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
42593
42594	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
42595	DistributionMetricNameBytesUploaded = "BytesUploaded"
42596
42597	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
42598	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
42599
42600	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
42601	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
42602
42603	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
42604	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
42605)
42606
42607// DistributionMetricName_Values returns all elements of the DistributionMetricName enum
42608func DistributionMetricName_Values() []string {
42609	return []string{
42610		DistributionMetricNameRequests,
42611		DistributionMetricNameBytesDownloaded,
42612		DistributionMetricNameBytesUploaded,
42613		DistributionMetricNameTotalErrorRate,
42614		DistributionMetricNameHttp4xxErrorRate,
42615		DistributionMetricNameHttp5xxErrorRate,
42616	}
42617}
42618
42619const (
42620	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
42621	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
42622
42623	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
42624	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
42625)
42626
42627// ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
42628func ExportSnapshotRecordSourceType_Values() []string {
42629	return []string{
42630		ExportSnapshotRecordSourceTypeInstanceSnapshot,
42631		ExportSnapshotRecordSourceTypeDiskSnapshot,
42632	}
42633}
42634
42635const (
42636	// ForwardValuesNone is a ForwardValues enum value
42637	ForwardValuesNone = "none"
42638
42639	// ForwardValuesAllowList is a ForwardValues enum value
42640	ForwardValuesAllowList = "allow-list"
42641
42642	// ForwardValuesAll is a ForwardValues enum value
42643	ForwardValuesAll = "all"
42644)
42645
42646// ForwardValues_Values returns all elements of the ForwardValues enum
42647func ForwardValues_Values() []string {
42648	return []string{
42649		ForwardValuesNone,
42650		ForwardValuesAllowList,
42651		ForwardValuesAll,
42652	}
42653}
42654
42655const (
42656	// HeaderEnumAccept is a HeaderEnum enum value
42657	HeaderEnumAccept = "Accept"
42658
42659	// HeaderEnumAcceptCharset is a HeaderEnum enum value
42660	HeaderEnumAcceptCharset = "Accept-Charset"
42661
42662	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
42663	HeaderEnumAcceptDatetime = "Accept-Datetime"
42664
42665	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
42666	HeaderEnumAcceptEncoding = "Accept-Encoding"
42667
42668	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
42669	HeaderEnumAcceptLanguage = "Accept-Language"
42670
42671	// HeaderEnumAuthorization is a HeaderEnum enum value
42672	HeaderEnumAuthorization = "Authorization"
42673
42674	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
42675	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
42676
42677	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
42678	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
42679
42680	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
42681	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
42682
42683	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
42684	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
42685
42686	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
42687	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
42688
42689	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
42690	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
42691
42692	// HeaderEnumHost is a HeaderEnum enum value
42693	HeaderEnumHost = "Host"
42694
42695	// HeaderEnumOrigin is a HeaderEnum enum value
42696	HeaderEnumOrigin = "Origin"
42697
42698	// HeaderEnumReferer is a HeaderEnum enum value
42699	HeaderEnumReferer = "Referer"
42700)
42701
42702// HeaderEnum_Values returns all elements of the HeaderEnum enum
42703func HeaderEnum_Values() []string {
42704	return []string{
42705		HeaderEnumAccept,
42706		HeaderEnumAcceptCharset,
42707		HeaderEnumAcceptDatetime,
42708		HeaderEnumAcceptEncoding,
42709		HeaderEnumAcceptLanguage,
42710		HeaderEnumAuthorization,
42711		HeaderEnumCloudFrontForwardedProto,
42712		HeaderEnumCloudFrontIsDesktopViewer,
42713		HeaderEnumCloudFrontIsMobileViewer,
42714		HeaderEnumCloudFrontIsSmartTvViewer,
42715		HeaderEnumCloudFrontIsTabletViewer,
42716		HeaderEnumCloudFrontViewerCountry,
42717		HeaderEnumHost,
42718		HeaderEnumOrigin,
42719		HeaderEnumReferer,
42720	}
42721}
42722
42723const (
42724	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
42725	InstanceAccessProtocolSsh = "ssh"
42726
42727	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
42728	InstanceAccessProtocolRdp = "rdp"
42729)
42730
42731// InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
42732func InstanceAccessProtocol_Values() []string {
42733	return []string{
42734		InstanceAccessProtocolSsh,
42735		InstanceAccessProtocolRdp,
42736	}
42737}
42738
42739const (
42740	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
42741	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
42742
42743	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
42744	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
42745
42746	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
42747	InstanceHealthReasonLbInternalError = "Lb.InternalError"
42748
42749	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
42750	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
42751
42752	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
42753	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
42754
42755	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
42756	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
42757
42758	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
42759	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
42760
42761	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
42762	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
42763
42764	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
42765	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
42766
42767	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
42768	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
42769
42770	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
42771	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
42772)
42773
42774// InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
42775func InstanceHealthReason_Values() []string {
42776	return []string{
42777		InstanceHealthReasonLbRegistrationInProgress,
42778		InstanceHealthReasonLbInitialHealthChecking,
42779		InstanceHealthReasonLbInternalError,
42780		InstanceHealthReasonInstanceResponseCodeMismatch,
42781		InstanceHealthReasonInstanceTimeout,
42782		InstanceHealthReasonInstanceFailedHealthChecks,
42783		InstanceHealthReasonInstanceNotRegistered,
42784		InstanceHealthReasonInstanceNotInUse,
42785		InstanceHealthReasonInstanceDeregistrationInProgress,
42786		InstanceHealthReasonInstanceInvalidState,
42787		InstanceHealthReasonInstanceIpUnusable,
42788	}
42789}
42790
42791const (
42792	// InstanceHealthStateInitial is a InstanceHealthState enum value
42793	InstanceHealthStateInitial = "initial"
42794
42795	// InstanceHealthStateHealthy is a InstanceHealthState enum value
42796	InstanceHealthStateHealthy = "healthy"
42797
42798	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
42799	InstanceHealthStateUnhealthy = "unhealthy"
42800
42801	// InstanceHealthStateUnused is a InstanceHealthState enum value
42802	InstanceHealthStateUnused = "unused"
42803
42804	// InstanceHealthStateDraining is a InstanceHealthState enum value
42805	InstanceHealthStateDraining = "draining"
42806
42807	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
42808	InstanceHealthStateUnavailable = "unavailable"
42809)
42810
42811// InstanceHealthState_Values returns all elements of the InstanceHealthState enum
42812func InstanceHealthState_Values() []string {
42813	return []string{
42814		InstanceHealthStateInitial,
42815		InstanceHealthStateHealthy,
42816		InstanceHealthStateUnhealthy,
42817		InstanceHealthStateUnused,
42818		InstanceHealthStateDraining,
42819		InstanceHealthStateUnavailable,
42820	}
42821}
42822
42823const (
42824	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
42825	InstanceMetricNameCpuutilization = "CPUUtilization"
42826
42827	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
42828	InstanceMetricNameNetworkIn = "NetworkIn"
42829
42830	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
42831	InstanceMetricNameNetworkOut = "NetworkOut"
42832
42833	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
42834	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
42835
42836	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
42837	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
42838
42839	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
42840	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
42841
42842	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
42843	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
42844
42845	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
42846	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
42847)
42848
42849// InstanceMetricName_Values returns all elements of the InstanceMetricName enum
42850func InstanceMetricName_Values() []string {
42851	return []string{
42852		InstanceMetricNameCpuutilization,
42853		InstanceMetricNameNetworkIn,
42854		InstanceMetricNameNetworkOut,
42855		InstanceMetricNameStatusCheckFailed,
42856		InstanceMetricNameStatusCheckFailedInstance,
42857		InstanceMetricNameStatusCheckFailedSystem,
42858		InstanceMetricNameBurstCapacityTime,
42859		InstanceMetricNameBurstCapacityPercentage,
42860	}
42861}
42862
42863const (
42864	// InstancePlatformLinuxUnix is a InstancePlatform enum value
42865	InstancePlatformLinuxUnix = "LINUX_UNIX"
42866
42867	// InstancePlatformWindows is a InstancePlatform enum value
42868	InstancePlatformWindows = "WINDOWS"
42869)
42870
42871// InstancePlatform_Values returns all elements of the InstancePlatform enum
42872func InstancePlatform_Values() []string {
42873	return []string{
42874		InstancePlatformLinuxUnix,
42875		InstancePlatformWindows,
42876	}
42877}
42878
42879const (
42880	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
42881	InstanceSnapshotStatePending = "pending"
42882
42883	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
42884	InstanceSnapshotStateError = "error"
42885
42886	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
42887	InstanceSnapshotStateAvailable = "available"
42888)
42889
42890// InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
42891func InstanceSnapshotState_Values() []string {
42892	return []string{
42893		InstanceSnapshotStatePending,
42894		InstanceSnapshotStateError,
42895		InstanceSnapshotStateAvailable,
42896	}
42897}
42898
42899const (
42900	// IpAddressTypeDualstack is a IpAddressType enum value
42901	IpAddressTypeDualstack = "dualstack"
42902
42903	// IpAddressTypeIpv4 is a IpAddressType enum value
42904	IpAddressTypeIpv4 = "ipv4"
42905)
42906
42907// IpAddressType_Values returns all elements of the IpAddressType enum
42908func IpAddressType_Values() []string {
42909	return []string{
42910		IpAddressTypeDualstack,
42911		IpAddressTypeIpv4,
42912	}
42913}
42914
42915const (
42916	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
42917	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
42918
42919	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
42920	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
42921
42922	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
42923	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
42924)
42925
42926// LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
42927func LoadBalancerAttributeName_Values() []string {
42928	return []string{
42929		LoadBalancerAttributeNameHealthCheckPath,
42930		LoadBalancerAttributeNameSessionStickinessEnabled,
42931		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
42932	}
42933}
42934
42935const (
42936	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
42937	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
42938
42939	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
42940	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
42941
42942	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
42943	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
42944
42945	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
42946	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
42947
42948	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
42949	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
42950
42951	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
42952	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
42953
42954	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
42955	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
42956
42957	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
42958	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
42959
42960	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
42961	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
42962
42963	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
42964	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
42965
42966	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
42967	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
42968
42969	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
42970	LoadBalancerMetricNameRequestCount = "RequestCount"
42971)
42972
42973// LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
42974func LoadBalancerMetricName_Values() []string {
42975	return []string{
42976		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
42977		LoadBalancerMetricNameHealthyHostCount,
42978		LoadBalancerMetricNameUnhealthyHostCount,
42979		LoadBalancerMetricNameHttpcodeLb4xxCount,
42980		LoadBalancerMetricNameHttpcodeLb5xxCount,
42981		LoadBalancerMetricNameHttpcodeInstance2xxCount,
42982		LoadBalancerMetricNameHttpcodeInstance3xxCount,
42983		LoadBalancerMetricNameHttpcodeInstance4xxCount,
42984		LoadBalancerMetricNameHttpcodeInstance5xxCount,
42985		LoadBalancerMetricNameInstanceResponseTime,
42986		LoadBalancerMetricNameRejectedConnectionCount,
42987		LoadBalancerMetricNameRequestCount,
42988	}
42989}
42990
42991const (
42992	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
42993	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
42994
42995	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
42996	LoadBalancerProtocolHttp = "HTTP"
42997)
42998
42999// LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
43000func LoadBalancerProtocol_Values() []string {
43001	return []string{
43002		LoadBalancerProtocolHttpHttps,
43003		LoadBalancerProtocolHttp,
43004	}
43005}
43006
43007const (
43008	// LoadBalancerStateActive is a LoadBalancerState enum value
43009	LoadBalancerStateActive = "active"
43010
43011	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
43012	LoadBalancerStateProvisioning = "provisioning"
43013
43014	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
43015	LoadBalancerStateActiveImpaired = "active_impaired"
43016
43017	// LoadBalancerStateFailed is a LoadBalancerState enum value
43018	LoadBalancerStateFailed = "failed"
43019
43020	// LoadBalancerStateUnknown is a LoadBalancerState enum value
43021	LoadBalancerStateUnknown = "unknown"
43022)
43023
43024// LoadBalancerState_Values returns all elements of the LoadBalancerState enum
43025func LoadBalancerState_Values() []string {
43026	return []string{
43027		LoadBalancerStateActive,
43028		LoadBalancerStateProvisioning,
43029		LoadBalancerStateActiveImpaired,
43030		LoadBalancerStateFailed,
43031		LoadBalancerStateUnknown,
43032	}
43033}
43034
43035const (
43036	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
43037	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
43038
43039	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
43040	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
43041
43042	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
43043	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
43044)
43045
43046// LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
43047func LoadBalancerTlsCertificateDomainStatus_Values() []string {
43048	return []string{
43049		LoadBalancerTlsCertificateDomainStatusPendingValidation,
43050		LoadBalancerTlsCertificateDomainStatusFailed,
43051		LoadBalancerTlsCertificateDomainStatusSuccess,
43052	}
43053}
43054
43055const (
43056	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
43057	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
43058
43059	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
43060	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
43061
43062	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
43063	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
43064
43065	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
43066	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
43067
43068	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
43069	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
43070)
43071
43072// LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
43073func LoadBalancerTlsCertificateFailureReason_Values() []string {
43074	return []string{
43075		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
43076		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
43077		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
43078		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
43079		LoadBalancerTlsCertificateFailureReasonOther,
43080	}
43081}
43082
43083const (
43084	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
43085	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
43086
43087	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
43088	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
43089
43090	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
43091	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
43092
43093	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
43094	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
43095)
43096
43097// LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
43098func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
43099	return []string{
43100		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
43101		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
43102		LoadBalancerTlsCertificateRenewalStatusSuccess,
43103		LoadBalancerTlsCertificateRenewalStatusFailed,
43104	}
43105}
43106
43107const (
43108	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
43109	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
43110
43111	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
43112	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
43113
43114	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
43115	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
43116
43117	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
43118	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
43119
43120	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
43121	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
43122
43123	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
43124	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
43125
43126	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
43127	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
43128
43129	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
43130	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
43131
43132	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
43133	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
43134
43135	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
43136	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
43137)
43138
43139// LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
43140func LoadBalancerTlsCertificateRevocationReason_Values() []string {
43141	return []string{
43142		LoadBalancerTlsCertificateRevocationReasonUnspecified,
43143		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
43144		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
43145		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
43146		LoadBalancerTlsCertificateRevocationReasonSuperceded,
43147		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
43148		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
43149		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
43150		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
43151		LoadBalancerTlsCertificateRevocationReasonAACompromise,
43152	}
43153}
43154
43155const (
43156	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
43157	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
43158
43159	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
43160	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
43161
43162	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
43163	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
43164
43165	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
43166	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
43167
43168	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
43169	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
43170
43171	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
43172	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
43173
43174	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
43175	LoadBalancerTlsCertificateStatusFailed = "FAILED"
43176
43177	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
43178	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
43179)
43180
43181// LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
43182func LoadBalancerTlsCertificateStatus_Values() []string {
43183	return []string{
43184		LoadBalancerTlsCertificateStatusPendingValidation,
43185		LoadBalancerTlsCertificateStatusIssued,
43186		LoadBalancerTlsCertificateStatusInactive,
43187		LoadBalancerTlsCertificateStatusExpired,
43188		LoadBalancerTlsCertificateStatusValidationTimedOut,
43189		LoadBalancerTlsCertificateStatusRevoked,
43190		LoadBalancerTlsCertificateStatusFailed,
43191		LoadBalancerTlsCertificateStatusUnknown,
43192	}
43193}
43194
43195const (
43196	// MetricNameCpuutilization is a MetricName enum value
43197	MetricNameCpuutilization = "CPUUtilization"
43198
43199	// MetricNameNetworkIn is a MetricName enum value
43200	MetricNameNetworkIn = "NetworkIn"
43201
43202	// MetricNameNetworkOut is a MetricName enum value
43203	MetricNameNetworkOut = "NetworkOut"
43204
43205	// MetricNameStatusCheckFailed is a MetricName enum value
43206	MetricNameStatusCheckFailed = "StatusCheckFailed"
43207
43208	// MetricNameStatusCheckFailedInstance is a MetricName enum value
43209	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
43210
43211	// MetricNameStatusCheckFailedSystem is a MetricName enum value
43212	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
43213
43214	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
43215	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
43216
43217	// MetricNameHealthyHostCount is a MetricName enum value
43218	MetricNameHealthyHostCount = "HealthyHostCount"
43219
43220	// MetricNameUnhealthyHostCount is a MetricName enum value
43221	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
43222
43223	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
43224	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
43225
43226	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
43227	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
43228
43229	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
43230	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
43231
43232	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
43233	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
43234
43235	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
43236	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
43237
43238	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
43239	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
43240
43241	// MetricNameInstanceResponseTime is a MetricName enum value
43242	MetricNameInstanceResponseTime = "InstanceResponseTime"
43243
43244	// MetricNameRejectedConnectionCount is a MetricName enum value
43245	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
43246
43247	// MetricNameRequestCount is a MetricName enum value
43248	MetricNameRequestCount = "RequestCount"
43249
43250	// MetricNameDatabaseConnections is a MetricName enum value
43251	MetricNameDatabaseConnections = "DatabaseConnections"
43252
43253	// MetricNameDiskQueueDepth is a MetricName enum value
43254	MetricNameDiskQueueDepth = "DiskQueueDepth"
43255
43256	// MetricNameFreeStorageSpace is a MetricName enum value
43257	MetricNameFreeStorageSpace = "FreeStorageSpace"
43258
43259	// MetricNameNetworkReceiveThroughput is a MetricName enum value
43260	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
43261
43262	// MetricNameNetworkTransmitThroughput is a MetricName enum value
43263	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
43264
43265	// MetricNameBurstCapacityTime is a MetricName enum value
43266	MetricNameBurstCapacityTime = "BurstCapacityTime"
43267
43268	// MetricNameBurstCapacityPercentage is a MetricName enum value
43269	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
43270)
43271
43272// MetricName_Values returns all elements of the MetricName enum
43273func MetricName_Values() []string {
43274	return []string{
43275		MetricNameCpuutilization,
43276		MetricNameNetworkIn,
43277		MetricNameNetworkOut,
43278		MetricNameStatusCheckFailed,
43279		MetricNameStatusCheckFailedInstance,
43280		MetricNameStatusCheckFailedSystem,
43281		MetricNameClientTlsnegotiationErrorCount,
43282		MetricNameHealthyHostCount,
43283		MetricNameUnhealthyHostCount,
43284		MetricNameHttpcodeLb4xxCount,
43285		MetricNameHttpcodeLb5xxCount,
43286		MetricNameHttpcodeInstance2xxCount,
43287		MetricNameHttpcodeInstance3xxCount,
43288		MetricNameHttpcodeInstance4xxCount,
43289		MetricNameHttpcodeInstance5xxCount,
43290		MetricNameInstanceResponseTime,
43291		MetricNameRejectedConnectionCount,
43292		MetricNameRequestCount,
43293		MetricNameDatabaseConnections,
43294		MetricNameDiskQueueDepth,
43295		MetricNameFreeStorageSpace,
43296		MetricNameNetworkReceiveThroughput,
43297		MetricNameNetworkTransmitThroughput,
43298		MetricNameBurstCapacityTime,
43299		MetricNameBurstCapacityPercentage,
43300	}
43301}
43302
43303const (
43304	// MetricStatisticMinimum is a MetricStatistic enum value
43305	MetricStatisticMinimum = "Minimum"
43306
43307	// MetricStatisticMaximum is a MetricStatistic enum value
43308	MetricStatisticMaximum = "Maximum"
43309
43310	// MetricStatisticSum is a MetricStatistic enum value
43311	MetricStatisticSum = "Sum"
43312
43313	// MetricStatisticAverage is a MetricStatistic enum value
43314	MetricStatisticAverage = "Average"
43315
43316	// MetricStatisticSampleCount is a MetricStatistic enum value
43317	MetricStatisticSampleCount = "SampleCount"
43318)
43319
43320// MetricStatistic_Values returns all elements of the MetricStatistic enum
43321func MetricStatistic_Values() []string {
43322	return []string{
43323		MetricStatisticMinimum,
43324		MetricStatisticMaximum,
43325		MetricStatisticSum,
43326		MetricStatisticAverage,
43327		MetricStatisticSampleCount,
43328	}
43329}
43330
43331const (
43332	// MetricUnitSeconds is a MetricUnit enum value
43333	MetricUnitSeconds = "Seconds"
43334
43335	// MetricUnitMicroseconds is a MetricUnit enum value
43336	MetricUnitMicroseconds = "Microseconds"
43337
43338	// MetricUnitMilliseconds is a MetricUnit enum value
43339	MetricUnitMilliseconds = "Milliseconds"
43340
43341	// MetricUnitBytes is a MetricUnit enum value
43342	MetricUnitBytes = "Bytes"
43343
43344	// MetricUnitKilobytes is a MetricUnit enum value
43345	MetricUnitKilobytes = "Kilobytes"
43346
43347	// MetricUnitMegabytes is a MetricUnit enum value
43348	MetricUnitMegabytes = "Megabytes"
43349
43350	// MetricUnitGigabytes is a MetricUnit enum value
43351	MetricUnitGigabytes = "Gigabytes"
43352
43353	// MetricUnitTerabytes is a MetricUnit enum value
43354	MetricUnitTerabytes = "Terabytes"
43355
43356	// MetricUnitBits is a MetricUnit enum value
43357	MetricUnitBits = "Bits"
43358
43359	// MetricUnitKilobits is a MetricUnit enum value
43360	MetricUnitKilobits = "Kilobits"
43361
43362	// MetricUnitMegabits is a MetricUnit enum value
43363	MetricUnitMegabits = "Megabits"
43364
43365	// MetricUnitGigabits is a MetricUnit enum value
43366	MetricUnitGigabits = "Gigabits"
43367
43368	// MetricUnitTerabits is a MetricUnit enum value
43369	MetricUnitTerabits = "Terabits"
43370
43371	// MetricUnitPercent is a MetricUnit enum value
43372	MetricUnitPercent = "Percent"
43373
43374	// MetricUnitCount is a MetricUnit enum value
43375	MetricUnitCount = "Count"
43376
43377	// MetricUnitBytesSecond is a MetricUnit enum value
43378	MetricUnitBytesSecond = "Bytes/Second"
43379
43380	// MetricUnitKilobytesSecond is a MetricUnit enum value
43381	MetricUnitKilobytesSecond = "Kilobytes/Second"
43382
43383	// MetricUnitMegabytesSecond is a MetricUnit enum value
43384	MetricUnitMegabytesSecond = "Megabytes/Second"
43385
43386	// MetricUnitGigabytesSecond is a MetricUnit enum value
43387	MetricUnitGigabytesSecond = "Gigabytes/Second"
43388
43389	// MetricUnitTerabytesSecond is a MetricUnit enum value
43390	MetricUnitTerabytesSecond = "Terabytes/Second"
43391
43392	// MetricUnitBitsSecond is a MetricUnit enum value
43393	MetricUnitBitsSecond = "Bits/Second"
43394
43395	// MetricUnitKilobitsSecond is a MetricUnit enum value
43396	MetricUnitKilobitsSecond = "Kilobits/Second"
43397
43398	// MetricUnitMegabitsSecond is a MetricUnit enum value
43399	MetricUnitMegabitsSecond = "Megabits/Second"
43400
43401	// MetricUnitGigabitsSecond is a MetricUnit enum value
43402	MetricUnitGigabitsSecond = "Gigabits/Second"
43403
43404	// MetricUnitTerabitsSecond is a MetricUnit enum value
43405	MetricUnitTerabitsSecond = "Terabits/Second"
43406
43407	// MetricUnitCountSecond is a MetricUnit enum value
43408	MetricUnitCountSecond = "Count/Second"
43409
43410	// MetricUnitNone is a MetricUnit enum value
43411	MetricUnitNone = "None"
43412)
43413
43414// MetricUnit_Values returns all elements of the MetricUnit enum
43415func MetricUnit_Values() []string {
43416	return []string{
43417		MetricUnitSeconds,
43418		MetricUnitMicroseconds,
43419		MetricUnitMilliseconds,
43420		MetricUnitBytes,
43421		MetricUnitKilobytes,
43422		MetricUnitMegabytes,
43423		MetricUnitGigabytes,
43424		MetricUnitTerabytes,
43425		MetricUnitBits,
43426		MetricUnitKilobits,
43427		MetricUnitMegabits,
43428		MetricUnitGigabits,
43429		MetricUnitTerabits,
43430		MetricUnitPercent,
43431		MetricUnitCount,
43432		MetricUnitBytesSecond,
43433		MetricUnitKilobytesSecond,
43434		MetricUnitMegabytesSecond,
43435		MetricUnitGigabytesSecond,
43436		MetricUnitTerabytesSecond,
43437		MetricUnitBitsSecond,
43438		MetricUnitKilobitsSecond,
43439		MetricUnitMegabitsSecond,
43440		MetricUnitGigabitsSecond,
43441		MetricUnitTerabitsSecond,
43442		MetricUnitCountSecond,
43443		MetricUnitNone,
43444	}
43445}
43446
43447const (
43448	// NetworkProtocolTcp is a NetworkProtocol enum value
43449	NetworkProtocolTcp = "tcp"
43450
43451	// NetworkProtocolAll is a NetworkProtocol enum value
43452	NetworkProtocolAll = "all"
43453
43454	// NetworkProtocolUdp is a NetworkProtocol enum value
43455	NetworkProtocolUdp = "udp"
43456
43457	// NetworkProtocolIcmp is a NetworkProtocol enum value
43458	NetworkProtocolIcmp = "icmp"
43459)
43460
43461// NetworkProtocol_Values returns all elements of the NetworkProtocol enum
43462func NetworkProtocol_Values() []string {
43463	return []string{
43464		NetworkProtocolTcp,
43465		NetworkProtocolAll,
43466		NetworkProtocolUdp,
43467		NetworkProtocolIcmp,
43468	}
43469}
43470
43471const (
43472	// OperationStatusNotStarted is a OperationStatus enum value
43473	OperationStatusNotStarted = "NotStarted"
43474
43475	// OperationStatusStarted is a OperationStatus enum value
43476	OperationStatusStarted = "Started"
43477
43478	// OperationStatusFailed is a OperationStatus enum value
43479	OperationStatusFailed = "Failed"
43480
43481	// OperationStatusCompleted is a OperationStatus enum value
43482	OperationStatusCompleted = "Completed"
43483
43484	// OperationStatusSucceeded is a OperationStatus enum value
43485	OperationStatusSucceeded = "Succeeded"
43486)
43487
43488// OperationStatus_Values returns all elements of the OperationStatus enum
43489func OperationStatus_Values() []string {
43490	return []string{
43491		OperationStatusNotStarted,
43492		OperationStatusStarted,
43493		OperationStatusFailed,
43494		OperationStatusCompleted,
43495		OperationStatusSucceeded,
43496	}
43497}
43498
43499const (
43500	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
43501	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
43502
43503	// OperationTypeDeleteInstance is a OperationType enum value
43504	OperationTypeDeleteInstance = "DeleteInstance"
43505
43506	// OperationTypeCreateInstance is a OperationType enum value
43507	OperationTypeCreateInstance = "CreateInstance"
43508
43509	// OperationTypeStopInstance is a OperationType enum value
43510	OperationTypeStopInstance = "StopInstance"
43511
43512	// OperationTypeStartInstance is a OperationType enum value
43513	OperationTypeStartInstance = "StartInstance"
43514
43515	// OperationTypeRebootInstance is a OperationType enum value
43516	OperationTypeRebootInstance = "RebootInstance"
43517
43518	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
43519	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
43520
43521	// OperationTypePutInstancePublicPorts is a OperationType enum value
43522	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
43523
43524	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
43525	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
43526
43527	// OperationTypeAllocateStaticIp is a OperationType enum value
43528	OperationTypeAllocateStaticIp = "AllocateStaticIp"
43529
43530	// OperationTypeReleaseStaticIp is a OperationType enum value
43531	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
43532
43533	// OperationTypeAttachStaticIp is a OperationType enum value
43534	OperationTypeAttachStaticIp = "AttachStaticIp"
43535
43536	// OperationTypeDetachStaticIp is a OperationType enum value
43537	OperationTypeDetachStaticIp = "DetachStaticIp"
43538
43539	// OperationTypeUpdateDomainEntry is a OperationType enum value
43540	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
43541
43542	// OperationTypeDeleteDomainEntry is a OperationType enum value
43543	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
43544
43545	// OperationTypeCreateDomain is a OperationType enum value
43546	OperationTypeCreateDomain = "CreateDomain"
43547
43548	// OperationTypeDeleteDomain is a OperationType enum value
43549	OperationTypeDeleteDomain = "DeleteDomain"
43550
43551	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
43552	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
43553
43554	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
43555	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
43556
43557	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
43558	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
43559
43560	// OperationTypeCreateLoadBalancer is a OperationType enum value
43561	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
43562
43563	// OperationTypeDeleteLoadBalancer is a OperationType enum value
43564	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
43565
43566	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
43567	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
43568
43569	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
43570	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
43571
43572	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
43573	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
43574
43575	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
43576	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
43577
43578	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
43579	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
43580
43581	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
43582	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
43583
43584	// OperationTypeCreateDisk is a OperationType enum value
43585	OperationTypeCreateDisk = "CreateDisk"
43586
43587	// OperationTypeDeleteDisk is a OperationType enum value
43588	OperationTypeDeleteDisk = "DeleteDisk"
43589
43590	// OperationTypeAttachDisk is a OperationType enum value
43591	OperationTypeAttachDisk = "AttachDisk"
43592
43593	// OperationTypeDetachDisk is a OperationType enum value
43594	OperationTypeDetachDisk = "DetachDisk"
43595
43596	// OperationTypeCreateDiskSnapshot is a OperationType enum value
43597	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
43598
43599	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
43600	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
43601
43602	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
43603	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
43604
43605	// OperationTypeCreateRelationalDatabase is a OperationType enum value
43606	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
43607
43608	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
43609	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
43610
43611	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
43612	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
43613
43614	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
43615	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
43616
43617	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
43618	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
43619
43620	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
43621	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
43622
43623	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
43624	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
43625
43626	// OperationTypeStartRelationalDatabase is a OperationType enum value
43627	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
43628
43629	// OperationTypeRebootRelationalDatabase is a OperationType enum value
43630	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
43631
43632	// OperationTypeStopRelationalDatabase is a OperationType enum value
43633	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
43634
43635	// OperationTypeEnableAddOn is a OperationType enum value
43636	OperationTypeEnableAddOn = "EnableAddOn"
43637
43638	// OperationTypeDisableAddOn is a OperationType enum value
43639	OperationTypeDisableAddOn = "DisableAddOn"
43640
43641	// OperationTypePutAlarm is a OperationType enum value
43642	OperationTypePutAlarm = "PutAlarm"
43643
43644	// OperationTypeGetAlarms is a OperationType enum value
43645	OperationTypeGetAlarms = "GetAlarms"
43646
43647	// OperationTypeDeleteAlarm is a OperationType enum value
43648	OperationTypeDeleteAlarm = "DeleteAlarm"
43649
43650	// OperationTypeTestAlarm is a OperationType enum value
43651	OperationTypeTestAlarm = "TestAlarm"
43652
43653	// OperationTypeCreateContactMethod is a OperationType enum value
43654	OperationTypeCreateContactMethod = "CreateContactMethod"
43655
43656	// OperationTypeGetContactMethods is a OperationType enum value
43657	OperationTypeGetContactMethods = "GetContactMethods"
43658
43659	// OperationTypeSendContactMethodVerification is a OperationType enum value
43660	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
43661
43662	// OperationTypeDeleteContactMethod is a OperationType enum value
43663	OperationTypeDeleteContactMethod = "DeleteContactMethod"
43664
43665	// OperationTypeCreateDistribution is a OperationType enum value
43666	OperationTypeCreateDistribution = "CreateDistribution"
43667
43668	// OperationTypeUpdateDistribution is a OperationType enum value
43669	OperationTypeUpdateDistribution = "UpdateDistribution"
43670
43671	// OperationTypeDeleteDistribution is a OperationType enum value
43672	OperationTypeDeleteDistribution = "DeleteDistribution"
43673
43674	// OperationTypeResetDistributionCache is a OperationType enum value
43675	OperationTypeResetDistributionCache = "ResetDistributionCache"
43676
43677	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
43678	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
43679
43680	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
43681	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
43682
43683	// OperationTypeUpdateDistributionBundle is a OperationType enum value
43684	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
43685
43686	// OperationTypeSetIpAddressType is a OperationType enum value
43687	OperationTypeSetIpAddressType = "SetIpAddressType"
43688
43689	// OperationTypeCreateCertificate is a OperationType enum value
43690	OperationTypeCreateCertificate = "CreateCertificate"
43691
43692	// OperationTypeDeleteCertificate is a OperationType enum value
43693	OperationTypeDeleteCertificate = "DeleteCertificate"
43694
43695	// OperationTypeCreateContainerService is a OperationType enum value
43696	OperationTypeCreateContainerService = "CreateContainerService"
43697
43698	// OperationTypeUpdateContainerService is a OperationType enum value
43699	OperationTypeUpdateContainerService = "UpdateContainerService"
43700
43701	// OperationTypeDeleteContainerService is a OperationType enum value
43702	OperationTypeDeleteContainerService = "DeleteContainerService"
43703
43704	// OperationTypeCreateContainerServiceDeployment is a OperationType enum value
43705	OperationTypeCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
43706
43707	// OperationTypeCreateContainerServiceRegistryLogin is a OperationType enum value
43708	OperationTypeCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
43709
43710	// OperationTypeRegisterContainerImage is a OperationType enum value
43711	OperationTypeRegisterContainerImage = "RegisterContainerImage"
43712
43713	// OperationTypeDeleteContainerImage is a OperationType enum value
43714	OperationTypeDeleteContainerImage = "DeleteContainerImage"
43715
43716	// OperationTypeCreateBucket is a OperationType enum value
43717	OperationTypeCreateBucket = "CreateBucket"
43718
43719	// OperationTypeDeleteBucket is a OperationType enum value
43720	OperationTypeDeleteBucket = "DeleteBucket"
43721
43722	// OperationTypeCreateBucketAccessKey is a OperationType enum value
43723	OperationTypeCreateBucketAccessKey = "CreateBucketAccessKey"
43724
43725	// OperationTypeDeleteBucketAccessKey is a OperationType enum value
43726	OperationTypeDeleteBucketAccessKey = "DeleteBucketAccessKey"
43727
43728	// OperationTypeUpdateBucketBundle is a OperationType enum value
43729	OperationTypeUpdateBucketBundle = "UpdateBucketBundle"
43730
43731	// OperationTypeUpdateBucket is a OperationType enum value
43732	OperationTypeUpdateBucket = "UpdateBucket"
43733
43734	// OperationTypeSetResourceAccessForBucket is a OperationType enum value
43735	OperationTypeSetResourceAccessForBucket = "SetResourceAccessForBucket"
43736)
43737
43738// OperationType_Values returns all elements of the OperationType enum
43739func OperationType_Values() []string {
43740	return []string{
43741		OperationTypeDeleteKnownHostKeys,
43742		OperationTypeDeleteInstance,
43743		OperationTypeCreateInstance,
43744		OperationTypeStopInstance,
43745		OperationTypeStartInstance,
43746		OperationTypeRebootInstance,
43747		OperationTypeOpenInstancePublicPorts,
43748		OperationTypePutInstancePublicPorts,
43749		OperationTypeCloseInstancePublicPorts,
43750		OperationTypeAllocateStaticIp,
43751		OperationTypeReleaseStaticIp,
43752		OperationTypeAttachStaticIp,
43753		OperationTypeDetachStaticIp,
43754		OperationTypeUpdateDomainEntry,
43755		OperationTypeDeleteDomainEntry,
43756		OperationTypeCreateDomain,
43757		OperationTypeDeleteDomain,
43758		OperationTypeCreateInstanceSnapshot,
43759		OperationTypeDeleteInstanceSnapshot,
43760		OperationTypeCreateInstancesFromSnapshot,
43761		OperationTypeCreateLoadBalancer,
43762		OperationTypeDeleteLoadBalancer,
43763		OperationTypeAttachInstancesToLoadBalancer,
43764		OperationTypeDetachInstancesFromLoadBalancer,
43765		OperationTypeUpdateLoadBalancerAttribute,
43766		OperationTypeCreateLoadBalancerTlsCertificate,
43767		OperationTypeDeleteLoadBalancerTlsCertificate,
43768		OperationTypeAttachLoadBalancerTlsCertificate,
43769		OperationTypeCreateDisk,
43770		OperationTypeDeleteDisk,
43771		OperationTypeAttachDisk,
43772		OperationTypeDetachDisk,
43773		OperationTypeCreateDiskSnapshot,
43774		OperationTypeDeleteDiskSnapshot,
43775		OperationTypeCreateDiskFromSnapshot,
43776		OperationTypeCreateRelationalDatabase,
43777		OperationTypeUpdateRelationalDatabase,
43778		OperationTypeDeleteRelationalDatabase,
43779		OperationTypeCreateRelationalDatabaseFromSnapshot,
43780		OperationTypeCreateRelationalDatabaseSnapshot,
43781		OperationTypeDeleteRelationalDatabaseSnapshot,
43782		OperationTypeUpdateRelationalDatabaseParameters,
43783		OperationTypeStartRelationalDatabase,
43784		OperationTypeRebootRelationalDatabase,
43785		OperationTypeStopRelationalDatabase,
43786		OperationTypeEnableAddOn,
43787		OperationTypeDisableAddOn,
43788		OperationTypePutAlarm,
43789		OperationTypeGetAlarms,
43790		OperationTypeDeleteAlarm,
43791		OperationTypeTestAlarm,
43792		OperationTypeCreateContactMethod,
43793		OperationTypeGetContactMethods,
43794		OperationTypeSendContactMethodVerification,
43795		OperationTypeDeleteContactMethod,
43796		OperationTypeCreateDistribution,
43797		OperationTypeUpdateDistribution,
43798		OperationTypeDeleteDistribution,
43799		OperationTypeResetDistributionCache,
43800		OperationTypeAttachCertificateToDistribution,
43801		OperationTypeDetachCertificateFromDistribution,
43802		OperationTypeUpdateDistributionBundle,
43803		OperationTypeSetIpAddressType,
43804		OperationTypeCreateCertificate,
43805		OperationTypeDeleteCertificate,
43806		OperationTypeCreateContainerService,
43807		OperationTypeUpdateContainerService,
43808		OperationTypeDeleteContainerService,
43809		OperationTypeCreateContainerServiceDeployment,
43810		OperationTypeCreateContainerServiceRegistryLogin,
43811		OperationTypeRegisterContainerImage,
43812		OperationTypeDeleteContainerImage,
43813		OperationTypeCreateBucket,
43814		OperationTypeDeleteBucket,
43815		OperationTypeCreateBucketAccessKey,
43816		OperationTypeDeleteBucketAccessKey,
43817		OperationTypeUpdateBucketBundle,
43818		OperationTypeUpdateBucket,
43819		OperationTypeSetResourceAccessForBucket,
43820	}
43821}
43822
43823const (
43824	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
43825	OriginProtocolPolicyEnumHttpOnly = "http-only"
43826
43827	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
43828	OriginProtocolPolicyEnumHttpsOnly = "https-only"
43829)
43830
43831// OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
43832func OriginProtocolPolicyEnum_Values() []string {
43833	return []string{
43834		OriginProtocolPolicyEnumHttpOnly,
43835		OriginProtocolPolicyEnumHttpsOnly,
43836	}
43837}
43838
43839const (
43840	// PortAccessTypePublic is a PortAccessType enum value
43841	PortAccessTypePublic = "Public"
43842
43843	// PortAccessTypePrivate is a PortAccessType enum value
43844	PortAccessTypePrivate = "Private"
43845)
43846
43847// PortAccessType_Values returns all elements of the PortAccessType enum
43848func PortAccessType_Values() []string {
43849	return []string{
43850		PortAccessTypePublic,
43851		PortAccessTypePrivate,
43852	}
43853}
43854
43855const (
43856	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
43857	PortInfoSourceTypeDefault = "DEFAULT"
43858
43859	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
43860	PortInfoSourceTypeInstance = "INSTANCE"
43861
43862	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
43863	PortInfoSourceTypeNone = "NONE"
43864
43865	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
43866	PortInfoSourceTypeClosed = "CLOSED"
43867)
43868
43869// PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
43870func PortInfoSourceType_Values() []string {
43871	return []string{
43872		PortInfoSourceTypeDefault,
43873		PortInfoSourceTypeInstance,
43874		PortInfoSourceTypeNone,
43875		PortInfoSourceTypeClosed,
43876	}
43877}
43878
43879const (
43880	// PortStateOpen is a PortState enum value
43881	PortStateOpen = "open"
43882
43883	// PortStateClosed is a PortState enum value
43884	PortStateClosed = "closed"
43885)
43886
43887// PortState_Values returns all elements of the PortState enum
43888func PortState_Values() []string {
43889	return []string{
43890		PortStateOpen,
43891		PortStateClosed,
43892	}
43893}
43894
43895const (
43896	// RecordStateStarted is a RecordState enum value
43897	RecordStateStarted = "Started"
43898
43899	// RecordStateSucceeded is a RecordState enum value
43900	RecordStateSucceeded = "Succeeded"
43901
43902	// RecordStateFailed is a RecordState enum value
43903	RecordStateFailed = "Failed"
43904)
43905
43906// RecordState_Values returns all elements of the RecordState enum
43907func RecordState_Values() []string {
43908	return []string{
43909		RecordStateStarted,
43910		RecordStateSucceeded,
43911		RecordStateFailed,
43912	}
43913}
43914
43915const (
43916	// RegionNameUsEast1 is a RegionName enum value
43917	RegionNameUsEast1 = "us-east-1"
43918
43919	// RegionNameUsEast2 is a RegionName enum value
43920	RegionNameUsEast2 = "us-east-2"
43921
43922	// RegionNameUsWest1 is a RegionName enum value
43923	RegionNameUsWest1 = "us-west-1"
43924
43925	// RegionNameUsWest2 is a RegionName enum value
43926	RegionNameUsWest2 = "us-west-2"
43927
43928	// RegionNameEuWest1 is a RegionName enum value
43929	RegionNameEuWest1 = "eu-west-1"
43930
43931	// RegionNameEuWest2 is a RegionName enum value
43932	RegionNameEuWest2 = "eu-west-2"
43933
43934	// RegionNameEuWest3 is a RegionName enum value
43935	RegionNameEuWest3 = "eu-west-3"
43936
43937	// RegionNameEuCentral1 is a RegionName enum value
43938	RegionNameEuCentral1 = "eu-central-1"
43939
43940	// RegionNameCaCentral1 is a RegionName enum value
43941	RegionNameCaCentral1 = "ca-central-1"
43942
43943	// RegionNameApSouth1 is a RegionName enum value
43944	RegionNameApSouth1 = "ap-south-1"
43945
43946	// RegionNameApSoutheast1 is a RegionName enum value
43947	RegionNameApSoutheast1 = "ap-southeast-1"
43948
43949	// RegionNameApSoutheast2 is a RegionName enum value
43950	RegionNameApSoutheast2 = "ap-southeast-2"
43951
43952	// RegionNameApNortheast1 is a RegionName enum value
43953	RegionNameApNortheast1 = "ap-northeast-1"
43954
43955	// RegionNameApNortheast2 is a RegionName enum value
43956	RegionNameApNortheast2 = "ap-northeast-2"
43957
43958	// RegionNameEuNorth1 is a RegionName enum value
43959	RegionNameEuNorth1 = "eu-north-1"
43960)
43961
43962// RegionName_Values returns all elements of the RegionName enum
43963func RegionName_Values() []string {
43964	return []string{
43965		RegionNameUsEast1,
43966		RegionNameUsEast2,
43967		RegionNameUsWest1,
43968		RegionNameUsWest2,
43969		RegionNameEuWest1,
43970		RegionNameEuWest2,
43971		RegionNameEuWest3,
43972		RegionNameEuCentral1,
43973		RegionNameCaCentral1,
43974		RegionNameApSouth1,
43975		RegionNameApSoutheast1,
43976		RegionNameApSoutheast2,
43977		RegionNameApNortheast1,
43978		RegionNameApNortheast2,
43979		RegionNameEuNorth1,
43980	}
43981}
43982
43983const (
43984	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
43985	RelationalDatabaseEngineMysql = "mysql"
43986)
43987
43988// RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
43989func RelationalDatabaseEngine_Values() []string {
43990	return []string{
43991		RelationalDatabaseEngineMysql,
43992	}
43993}
43994
43995const (
43996	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
43997	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
43998
43999	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
44000	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
44001
44002	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
44003	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
44004
44005	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
44006	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
44007
44008	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
44009	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
44010
44011	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
44012	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
44013)
44014
44015// RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
44016func RelationalDatabaseMetricName_Values() []string {
44017	return []string{
44018		RelationalDatabaseMetricNameCpuutilization,
44019		RelationalDatabaseMetricNameDatabaseConnections,
44020		RelationalDatabaseMetricNameDiskQueueDepth,
44021		RelationalDatabaseMetricNameFreeStorageSpace,
44022		RelationalDatabaseMetricNameNetworkReceiveThroughput,
44023		RelationalDatabaseMetricNameNetworkTransmitThroughput,
44024	}
44025}
44026
44027const (
44028	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
44029	RelationalDatabasePasswordVersionCurrent = "CURRENT"
44030
44031	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
44032	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
44033
44034	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
44035	RelationalDatabasePasswordVersionPending = "PENDING"
44036)
44037
44038// RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
44039func RelationalDatabasePasswordVersion_Values() []string {
44040	return []string{
44041		RelationalDatabasePasswordVersionCurrent,
44042		RelationalDatabasePasswordVersionPrevious,
44043		RelationalDatabasePasswordVersionPending,
44044	}
44045}
44046
44047const (
44048	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
44049	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
44050
44051	// RenewalStatusPendingValidation is a RenewalStatus enum value
44052	RenewalStatusPendingValidation = "PendingValidation"
44053
44054	// RenewalStatusSuccess is a RenewalStatus enum value
44055	RenewalStatusSuccess = "Success"
44056
44057	// RenewalStatusFailed is a RenewalStatus enum value
44058	RenewalStatusFailed = "Failed"
44059)
44060
44061// RenewalStatus_Values returns all elements of the RenewalStatus enum
44062func RenewalStatus_Values() []string {
44063	return []string{
44064		RenewalStatusPendingAutoRenewal,
44065		RenewalStatusPendingValidation,
44066		RenewalStatusSuccess,
44067		RenewalStatusFailed,
44068	}
44069}
44070
44071const (
44072	// ResourceBucketAccessAllow is a ResourceBucketAccess enum value
44073	ResourceBucketAccessAllow = "allow"
44074
44075	// ResourceBucketAccessDeny is a ResourceBucketAccess enum value
44076	ResourceBucketAccessDeny = "deny"
44077)
44078
44079// ResourceBucketAccess_Values returns all elements of the ResourceBucketAccess enum
44080func ResourceBucketAccess_Values() []string {
44081	return []string{
44082		ResourceBucketAccessAllow,
44083		ResourceBucketAccessDeny,
44084	}
44085}
44086
44087const (
44088	// ResourceTypeContainerService is a ResourceType enum value
44089	ResourceTypeContainerService = "ContainerService"
44090
44091	// ResourceTypeInstance is a ResourceType enum value
44092	ResourceTypeInstance = "Instance"
44093
44094	// ResourceTypeStaticIp is a ResourceType enum value
44095	ResourceTypeStaticIp = "StaticIp"
44096
44097	// ResourceTypeKeyPair is a ResourceType enum value
44098	ResourceTypeKeyPair = "KeyPair"
44099
44100	// ResourceTypeInstanceSnapshot is a ResourceType enum value
44101	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
44102
44103	// ResourceTypeDomain is a ResourceType enum value
44104	ResourceTypeDomain = "Domain"
44105
44106	// ResourceTypePeeredVpc is a ResourceType enum value
44107	ResourceTypePeeredVpc = "PeeredVpc"
44108
44109	// ResourceTypeLoadBalancer is a ResourceType enum value
44110	ResourceTypeLoadBalancer = "LoadBalancer"
44111
44112	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
44113	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
44114
44115	// ResourceTypeDisk is a ResourceType enum value
44116	ResourceTypeDisk = "Disk"
44117
44118	// ResourceTypeDiskSnapshot is a ResourceType enum value
44119	ResourceTypeDiskSnapshot = "DiskSnapshot"
44120
44121	// ResourceTypeRelationalDatabase is a ResourceType enum value
44122	ResourceTypeRelationalDatabase = "RelationalDatabase"
44123
44124	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
44125	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
44126
44127	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
44128	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
44129
44130	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
44131	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
44132
44133	// ResourceTypeAlarm is a ResourceType enum value
44134	ResourceTypeAlarm = "Alarm"
44135
44136	// ResourceTypeContactMethod is a ResourceType enum value
44137	ResourceTypeContactMethod = "ContactMethod"
44138
44139	// ResourceTypeDistribution is a ResourceType enum value
44140	ResourceTypeDistribution = "Distribution"
44141
44142	// ResourceTypeCertificate is a ResourceType enum value
44143	ResourceTypeCertificate = "Certificate"
44144
44145	// ResourceTypeBucket is a ResourceType enum value
44146	ResourceTypeBucket = "Bucket"
44147)
44148
44149// ResourceType_Values returns all elements of the ResourceType enum
44150func ResourceType_Values() []string {
44151	return []string{
44152		ResourceTypeContainerService,
44153		ResourceTypeInstance,
44154		ResourceTypeStaticIp,
44155		ResourceTypeKeyPair,
44156		ResourceTypeInstanceSnapshot,
44157		ResourceTypeDomain,
44158		ResourceTypePeeredVpc,
44159		ResourceTypeLoadBalancer,
44160		ResourceTypeLoadBalancerTlsCertificate,
44161		ResourceTypeDisk,
44162		ResourceTypeDiskSnapshot,
44163		ResourceTypeRelationalDatabase,
44164		ResourceTypeRelationalDatabaseSnapshot,
44165		ResourceTypeExportSnapshotRecord,
44166		ResourceTypeCloudFormationStackRecord,
44167		ResourceTypeAlarm,
44168		ResourceTypeContactMethod,
44169		ResourceTypeDistribution,
44170		ResourceTypeCertificate,
44171		ResourceTypeBucket,
44172	}
44173}
44174
44175const (
44176	// StatusTypeActive is a StatusType enum value
44177	StatusTypeActive = "Active"
44178
44179	// StatusTypeInactive is a StatusType enum value
44180	StatusTypeInactive = "Inactive"
44181)
44182
44183// StatusType_Values returns all elements of the StatusType enum
44184func StatusType_Values() []string {
44185	return []string{
44186		StatusTypeActive,
44187		StatusTypeInactive,
44188	}
44189}
44190
44191const (
44192	// TreatMissingDataBreaching is a TreatMissingData enum value
44193	TreatMissingDataBreaching = "breaching"
44194
44195	// TreatMissingDataNotBreaching is a TreatMissingData enum value
44196	TreatMissingDataNotBreaching = "notBreaching"
44197
44198	// TreatMissingDataIgnore is a TreatMissingData enum value
44199	TreatMissingDataIgnore = "ignore"
44200
44201	// TreatMissingDataMissing is a TreatMissingData enum value
44202	TreatMissingDataMissing = "missing"
44203)
44204
44205// TreatMissingData_Values returns all elements of the TreatMissingData enum
44206func TreatMissingData_Values() []string {
44207	return []string{
44208		TreatMissingDataBreaching,
44209		TreatMissingDataNotBreaching,
44210		TreatMissingDataIgnore,
44211		TreatMissingDataMissing,
44212	}
44213}
44214