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 Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/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 Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/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 Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/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 Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/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 opCreateCertificate = "CreateCertificate"
894
895// CreateCertificateRequest generates a "aws/request.Request" representing the
896// client's request for the CreateCertificate 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 CreateCertificate for more information on using the CreateCertificate
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 CreateCertificateRequest method.
911//    req, resp := client.CreateCertificateRequest(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/CreateCertificate
919func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) {
920	op := &request.Operation{
921		Name:       opCreateCertificate,
922		HTTPMethod: "POST",
923		HTTPPath:   "/",
924	}
925
926	if input == nil {
927		input = &CreateCertificateInput{}
928	}
929
930	output = &CreateCertificateOutput{}
931	req = c.newRequest(op, input, output)
932	return
933}
934
935// CreateCertificate API operation for Amazon Lightsail.
936//
937// Creates an SSL/TLS certificate for an Amazon Lightsail content delivery network
938// (CDN) distribution and a container service.
939//
940// After the certificate is valid, use the AttachCertificateToDistribution action
941// to use the certificate and its domains with your distribution. Or use the
942// UpdateContainerService action to use the certificate and its domains with
943// your container service.
944//
945// Only certificates created in the us-east-1 AWS Region can be attached to
946// Lightsail distributions. Lightsail distributions are global resources that
947// can reference an origin in any AWS Region, and distribute its content globally.
948// However, all distributions are located in the us-east-1 Region.
949//
950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
951// with awserr.Error's Code and Message methods to get detailed information about
952// the error.
953//
954// See the AWS API reference guide for Amazon Lightsail's
955// API operation CreateCertificate for usage and error information.
956//
957// Returned Error Types:
958//   * ServiceException
959//   A general service exception.
960//
961//   * InvalidInputException
962//   Lightsail throws this exception when user input does not conform to the validation
963//   rules of an input field.
964//
965//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
966//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
967//   view, or edit these resources.
968//
969//   * NotFoundException
970//   Lightsail throws this exception when it cannot find a resource.
971//
972//   * AccessDeniedException
973//   Lightsail throws this exception when the user cannot be authenticated or
974//   uses invalid credentials to access a resource.
975//
976//   * UnauthenticatedException
977//   Lightsail throws this exception when the user has not been authenticated.
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
980func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) {
981	req, out := c.CreateCertificateRequest(input)
982	return out, req.Send()
983}
984
985// CreateCertificateWithContext is the same as CreateCertificate with the addition of
986// the ability to pass a context and additional request options.
987//
988// See CreateCertificate for details on how to use this API operation.
989//
990// The context must be non-nil and will be used for request cancellation. If
991// the context is nil a panic will occur. In the future the SDK may create
992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
993// for more information on using Contexts.
994func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) {
995	req, out := c.CreateCertificateRequest(input)
996	req.SetContext(ctx)
997	req.ApplyOptions(opts...)
998	return out, req.Send()
999}
1000
1001const opCreateCloudFormationStack = "CreateCloudFormationStack"
1002
1003// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
1004// client's request for the CreateCloudFormationStack operation. The "output" return
1005// value will be populated with the request's response once the request completes
1006// successfully.
1007//
1008// Use "Send" method on the returned Request to send the API call to the service.
1009// the "output" return value is not valid until after Send returns without error.
1010//
1011// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
1012// API call, and error handling.
1013//
1014// This method is useful when you want to inject custom logic or configuration
1015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1016//
1017//
1018//    // Example sending a request using the CreateCloudFormationStackRequest method.
1019//    req, resp := client.CreateCloudFormationStackRequest(params)
1020//
1021//    err := req.Send()
1022//    if err == nil { // resp is now filled
1023//        fmt.Println(resp)
1024//    }
1025//
1026// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1027func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
1028	op := &request.Operation{
1029		Name:       opCreateCloudFormationStack,
1030		HTTPMethod: "POST",
1031		HTTPPath:   "/",
1032	}
1033
1034	if input == nil {
1035		input = &CreateCloudFormationStackInput{}
1036	}
1037
1038	output = &CreateCloudFormationStackOutput{}
1039	req = c.newRequest(op, input, output)
1040	return
1041}
1042
1043// CreateCloudFormationStack API operation for Amazon Lightsail.
1044//
1045// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
1046// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
1047// stack record that can be used to track the AWS CloudFormation stack created.
1048// Use the get cloud formation stack records operation to get a list of the
1049// CloudFormation stacks created.
1050//
1051// Wait until after your new Amazon EC2 instance is created before running the
1052// create cloud formation stack operation again with the same export snapshot
1053// record.
1054//
1055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1056// with awserr.Error's Code and Message methods to get detailed information about
1057// the error.
1058//
1059// See the AWS API reference guide for Amazon Lightsail's
1060// API operation CreateCloudFormationStack for usage and error information.
1061//
1062// Returned Error Types:
1063//   * ServiceException
1064//   A general service exception.
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//   * NotFoundException
1075//   Lightsail throws this exception when it cannot find a resource.
1076//
1077//   * OperationFailureException
1078//   Lightsail throws this exception when an operation fails to execute.
1079//
1080//   * AccessDeniedException
1081//   Lightsail throws this exception when the user cannot be authenticated or
1082//   uses invalid credentials to access a resource.
1083//
1084//   * AccountSetupInProgressException
1085//   Lightsail throws this exception when an account is still in the setup in
1086//   progress state.
1087//
1088//   * UnauthenticatedException
1089//   Lightsail throws this exception when the user has not been authenticated.
1090//
1091// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1092func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
1093	req, out := c.CreateCloudFormationStackRequest(input)
1094	return out, req.Send()
1095}
1096
1097// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
1098// the ability to pass a context and additional request options.
1099//
1100// See CreateCloudFormationStack for details on how to use this API operation.
1101//
1102// The context must be non-nil and will be used for request cancellation. If
1103// the context is nil a panic will occur. In the future the SDK may create
1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1105// for more information on using Contexts.
1106func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
1107	req, out := c.CreateCloudFormationStackRequest(input)
1108	req.SetContext(ctx)
1109	req.ApplyOptions(opts...)
1110	return out, req.Send()
1111}
1112
1113const opCreateContactMethod = "CreateContactMethod"
1114
1115// CreateContactMethodRequest generates a "aws/request.Request" representing the
1116// client's request for the CreateContactMethod operation. The "output" return
1117// value will be populated with the request's response once the request completes
1118// successfully.
1119//
1120// Use "Send" method on the returned Request to send the API call to the service.
1121// the "output" return value is not valid until after Send returns without error.
1122//
1123// See CreateContactMethod for more information on using the CreateContactMethod
1124// API call, and error handling.
1125//
1126// This method is useful when you want to inject custom logic or configuration
1127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1128//
1129//
1130//    // Example sending a request using the CreateContactMethodRequest method.
1131//    req, resp := client.CreateContactMethodRequest(params)
1132//
1133//    err := req.Send()
1134//    if err == nil { // resp is now filled
1135//        fmt.Println(resp)
1136//    }
1137//
1138// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1139func (c *Lightsail) CreateContactMethodRequest(input *CreateContactMethodInput) (req *request.Request, output *CreateContactMethodOutput) {
1140	op := &request.Operation{
1141		Name:       opCreateContactMethod,
1142		HTTPMethod: "POST",
1143		HTTPPath:   "/",
1144	}
1145
1146	if input == nil {
1147		input = &CreateContactMethodInput{}
1148	}
1149
1150	output = &CreateContactMethodOutput{}
1151	req = c.newRequest(op, input, output)
1152	return
1153}
1154
1155// CreateContactMethod API operation for Amazon Lightsail.
1156//
1157// Creates an email or SMS text message contact method.
1158//
1159// A contact method is used to send you notifications about your Amazon Lightsail
1160// resources. You can add one email address and one mobile phone number contact
1161// method in each AWS Region. However, SMS text messaging is not supported in
1162// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
1163// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
1164//
1165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1166// with awserr.Error's Code and Message methods to get detailed information about
1167// the error.
1168//
1169// See the AWS API reference guide for Amazon Lightsail's
1170// API operation CreateContactMethod for usage and error information.
1171//
1172// Returned Error Types:
1173//   * ServiceException
1174//   A general service exception.
1175//
1176//   * InvalidInputException
1177//   Lightsail throws this exception when user input does not conform to the validation
1178//   rules of an input field.
1179//
1180//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1181//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1182//   view, or edit these resources.
1183//
1184//   * NotFoundException
1185//   Lightsail throws this exception when it cannot find a resource.
1186//
1187//   * OperationFailureException
1188//   Lightsail throws this exception when an operation fails to execute.
1189//
1190//   * AccessDeniedException
1191//   Lightsail throws this exception when the user cannot be authenticated or
1192//   uses invalid credentials to access a resource.
1193//
1194//   * UnauthenticatedException
1195//   Lightsail throws this exception when the user has not been authenticated.
1196//
1197// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1198func (c *Lightsail) CreateContactMethod(input *CreateContactMethodInput) (*CreateContactMethodOutput, error) {
1199	req, out := c.CreateContactMethodRequest(input)
1200	return out, req.Send()
1201}
1202
1203// CreateContactMethodWithContext is the same as CreateContactMethod with the addition of
1204// the ability to pass a context and additional request options.
1205//
1206// See CreateContactMethod for details on how to use this API operation.
1207//
1208// The context must be non-nil and will be used for request cancellation. If
1209// the context is nil a panic will occur. In the future the SDK may create
1210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1211// for more information on using Contexts.
1212func (c *Lightsail) CreateContactMethodWithContext(ctx aws.Context, input *CreateContactMethodInput, opts ...request.Option) (*CreateContactMethodOutput, error) {
1213	req, out := c.CreateContactMethodRequest(input)
1214	req.SetContext(ctx)
1215	req.ApplyOptions(opts...)
1216	return out, req.Send()
1217}
1218
1219const opCreateContainerService = "CreateContainerService"
1220
1221// CreateContainerServiceRequest generates a "aws/request.Request" representing the
1222// client's request for the CreateContainerService operation. The "output" return
1223// value will be populated with the request's response once the request completes
1224// successfully.
1225//
1226// Use "Send" method on the returned Request to send the API call to the service.
1227// the "output" return value is not valid until after Send returns without error.
1228//
1229// See CreateContainerService for more information on using the CreateContainerService
1230// API call, and error handling.
1231//
1232// This method is useful when you want to inject custom logic or configuration
1233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1234//
1235//
1236//    // Example sending a request using the CreateContainerServiceRequest method.
1237//    req, resp := client.CreateContainerServiceRequest(params)
1238//
1239//    err := req.Send()
1240//    if err == nil { // resp is now filled
1241//        fmt.Println(resp)
1242//    }
1243//
1244// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
1245func (c *Lightsail) CreateContainerServiceRequest(input *CreateContainerServiceInput) (req *request.Request, output *CreateContainerServiceOutput) {
1246	op := &request.Operation{
1247		Name:       opCreateContainerService,
1248		HTTPMethod: "POST",
1249		HTTPPath:   "/",
1250	}
1251
1252	if input == nil {
1253		input = &CreateContainerServiceInput{}
1254	}
1255
1256	output = &CreateContainerServiceOutput{}
1257	req = c.newRequest(op, input, output)
1258	return
1259}
1260
1261// CreateContainerService API operation for Amazon Lightsail.
1262//
1263// Creates an Amazon Lightsail container service.
1264//
1265// A Lightsail container service is a compute resource to which you can deploy
1266// containers. For more information, see Container services in Amazon Lightsail
1267// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-container-services)
1268// in the Lightsail Dev Guide.
1269//
1270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1271// with awserr.Error's Code and Message methods to get detailed information about
1272// the error.
1273//
1274// See the AWS API reference guide for Amazon Lightsail's
1275// API operation CreateContainerService for usage and error information.
1276//
1277// Returned Error Types:
1278//   * ServiceException
1279//   A general service exception.
1280//
1281//   * InvalidInputException
1282//   Lightsail throws this exception when user input does not conform to the validation
1283//   rules of an input field.
1284//
1285//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1286//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1287//   view, or edit these resources.
1288//
1289//   * NotFoundException
1290//   Lightsail throws this exception when it cannot find a resource.
1291//
1292//   * AccessDeniedException
1293//   Lightsail throws this exception when the user cannot be authenticated or
1294//   uses invalid credentials to access a resource.
1295//
1296//   * UnauthenticatedException
1297//   Lightsail throws this exception when the user has not been authenticated.
1298//
1299// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerService
1300func (c *Lightsail) CreateContainerService(input *CreateContainerServiceInput) (*CreateContainerServiceOutput, error) {
1301	req, out := c.CreateContainerServiceRequest(input)
1302	return out, req.Send()
1303}
1304
1305// CreateContainerServiceWithContext is the same as CreateContainerService with the addition of
1306// the ability to pass a context and additional request options.
1307//
1308// See CreateContainerService for details on how to use this API operation.
1309//
1310// The context must be non-nil and will be used for request cancellation. If
1311// the context is nil a panic will occur. In the future the SDK may create
1312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1313// for more information on using Contexts.
1314func (c *Lightsail) CreateContainerServiceWithContext(ctx aws.Context, input *CreateContainerServiceInput, opts ...request.Option) (*CreateContainerServiceOutput, error) {
1315	req, out := c.CreateContainerServiceRequest(input)
1316	req.SetContext(ctx)
1317	req.ApplyOptions(opts...)
1318	return out, req.Send()
1319}
1320
1321const opCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
1322
1323// CreateContainerServiceDeploymentRequest generates a "aws/request.Request" representing the
1324// client's request for the CreateContainerServiceDeployment operation. The "output" return
1325// value will be populated with the request's response once the request completes
1326// successfully.
1327//
1328// Use "Send" method on the returned Request to send the API call to the service.
1329// the "output" return value is not valid until after Send returns without error.
1330//
1331// See CreateContainerServiceDeployment for more information on using the CreateContainerServiceDeployment
1332// API call, and error handling.
1333//
1334// This method is useful when you want to inject custom logic or configuration
1335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1336//
1337//
1338//    // Example sending a request using the CreateContainerServiceDeploymentRequest method.
1339//    req, resp := client.CreateContainerServiceDeploymentRequest(params)
1340//
1341//    err := req.Send()
1342//    if err == nil { // resp is now filled
1343//        fmt.Println(resp)
1344//    }
1345//
1346// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
1347func (c *Lightsail) CreateContainerServiceDeploymentRequest(input *CreateContainerServiceDeploymentInput) (req *request.Request, output *CreateContainerServiceDeploymentOutput) {
1348	op := &request.Operation{
1349		Name:       opCreateContainerServiceDeployment,
1350		HTTPMethod: "POST",
1351		HTTPPath:   "/",
1352	}
1353
1354	if input == nil {
1355		input = &CreateContainerServiceDeploymentInput{}
1356	}
1357
1358	output = &CreateContainerServiceDeploymentOutput{}
1359	req = c.newRequest(op, input, output)
1360	return
1361}
1362
1363// CreateContainerServiceDeployment API operation for Amazon Lightsail.
1364//
1365// Creates a deployment for your Amazon Lightsail container service.
1366//
1367// A deployment specifies the containers that will be launched on the container
1368// service and their settings, such as the ports to open, the environment variables
1369// to apply, and the launch command to run. It also specifies the container
1370// that will serve as the public endpoint of the deployment and its settings,
1371// such as the HTTP or HTTPS port to use, and the health check configuration.
1372//
1373// You can deploy containers to your container service using container images
1374// from a public registry like Docker Hub, or from your local machine. For more
1375// information, see Creating container images for your Amazon Lightsail container
1376// services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-creating-container-images)
1377// in the Lightsail Dev Guide.
1378//
1379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1380// with awserr.Error's Code and Message methods to get detailed information about
1381// the error.
1382//
1383// See the AWS API reference guide for Amazon Lightsail's
1384// API operation CreateContainerServiceDeployment for usage and error information.
1385//
1386// Returned Error Types:
1387//   * ServiceException
1388//   A general service exception.
1389//
1390//   * InvalidInputException
1391//   Lightsail throws this exception when user input does not conform to the validation
1392//   rules of an input field.
1393//
1394//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1395//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1396//   view, or edit these resources.
1397//
1398//   * NotFoundException
1399//   Lightsail throws this exception when it cannot find a resource.
1400//
1401//   * AccessDeniedException
1402//   Lightsail throws this exception when the user cannot be authenticated or
1403//   uses invalid credentials to access a resource.
1404//
1405//   * UnauthenticatedException
1406//   Lightsail throws this exception when the user has not been authenticated.
1407//
1408// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceDeployment
1409func (c *Lightsail) CreateContainerServiceDeployment(input *CreateContainerServiceDeploymentInput) (*CreateContainerServiceDeploymentOutput, error) {
1410	req, out := c.CreateContainerServiceDeploymentRequest(input)
1411	return out, req.Send()
1412}
1413
1414// CreateContainerServiceDeploymentWithContext is the same as CreateContainerServiceDeployment with the addition of
1415// the ability to pass a context and additional request options.
1416//
1417// See CreateContainerServiceDeployment for details on how to use this API operation.
1418//
1419// The context must be non-nil and will be used for request cancellation. If
1420// the context is nil a panic will occur. In the future the SDK may create
1421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1422// for more information on using Contexts.
1423func (c *Lightsail) CreateContainerServiceDeploymentWithContext(ctx aws.Context, input *CreateContainerServiceDeploymentInput, opts ...request.Option) (*CreateContainerServiceDeploymentOutput, error) {
1424	req, out := c.CreateContainerServiceDeploymentRequest(input)
1425	req.SetContext(ctx)
1426	req.ApplyOptions(opts...)
1427	return out, req.Send()
1428}
1429
1430const opCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
1431
1432// CreateContainerServiceRegistryLoginRequest generates a "aws/request.Request" representing the
1433// client's request for the CreateContainerServiceRegistryLogin operation. The "output" return
1434// value will be populated with the request's response once the request completes
1435// successfully.
1436//
1437// Use "Send" method on the returned Request to send the API call to the service.
1438// the "output" return value is not valid until after Send returns without error.
1439//
1440// See CreateContainerServiceRegistryLogin for more information on using the CreateContainerServiceRegistryLogin
1441// API call, and error handling.
1442//
1443// This method is useful when you want to inject custom logic or configuration
1444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1445//
1446//
1447//    // Example sending a request using the CreateContainerServiceRegistryLoginRequest method.
1448//    req, resp := client.CreateContainerServiceRegistryLoginRequest(params)
1449//
1450//    err := req.Send()
1451//    if err == nil { // resp is now filled
1452//        fmt.Println(resp)
1453//    }
1454//
1455// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
1456func (c *Lightsail) CreateContainerServiceRegistryLoginRequest(input *CreateContainerServiceRegistryLoginInput) (req *request.Request, output *CreateContainerServiceRegistryLoginOutput) {
1457	op := &request.Operation{
1458		Name:       opCreateContainerServiceRegistryLogin,
1459		HTTPMethod: "POST",
1460		HTTPPath:   "/",
1461	}
1462
1463	if input == nil {
1464		input = &CreateContainerServiceRegistryLoginInput{}
1465	}
1466
1467	output = &CreateContainerServiceRegistryLoginOutput{}
1468	req = c.newRequest(op, input, output)
1469	return
1470}
1471
1472// CreateContainerServiceRegistryLogin API operation for Amazon Lightsail.
1473//
1474// Creates a temporary set of log in credentials that you can use to log in
1475// to the Docker process on your local machine. After you're logged in, you
1476// can use the native Docker commands to push your local container images to
1477// the container image registry of your Amazon Lightsail account so that you
1478// can use them with your Lightsail container service. The log in credentials
1479// expire 12 hours after they are created, at which point you will need to create
1480// a new set of log in credentials.
1481//
1482// You can only push container images to the container service registry of your
1483// Lightsail account. You cannot pull container images or perform any other
1484// container image management actions on the container service registry.
1485//
1486// After you push your container images to the container image registry of your
1487// Lightsail account, use the RegisterContainerImage action to register the
1488// pushed images to a specific Lightsail container service.
1489//
1490// This action is not required if you install and use the Lightsail Control
1491// (lightsailctl) plugin to push container images to your Lightsail container
1492// service. For more information, see Pushing and managing container images
1493// on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
1494// in the Lightsail Dev Guide.
1495//
1496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1497// with awserr.Error's Code and Message methods to get detailed information about
1498// the error.
1499//
1500// See the AWS API reference guide for Amazon Lightsail's
1501// API operation CreateContainerServiceRegistryLogin for usage and error information.
1502//
1503// Returned Error Types:
1504//   * ServiceException
1505//   A general service exception.
1506//
1507//   * InvalidInputException
1508//   Lightsail throws this exception when user input does not conform to the validation
1509//   rules of an input field.
1510//
1511//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1512//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1513//   view, or edit these resources.
1514//
1515//   * NotFoundException
1516//   Lightsail throws this exception when it cannot find a resource.
1517//
1518//   * AccessDeniedException
1519//   Lightsail throws this exception when the user cannot be authenticated or
1520//   uses invalid credentials to access a resource.
1521//
1522//   * UnauthenticatedException
1523//   Lightsail throws this exception when the user has not been authenticated.
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContainerServiceRegistryLogin
1526func (c *Lightsail) CreateContainerServiceRegistryLogin(input *CreateContainerServiceRegistryLoginInput) (*CreateContainerServiceRegistryLoginOutput, error) {
1527	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
1528	return out, req.Send()
1529}
1530
1531// CreateContainerServiceRegistryLoginWithContext is the same as CreateContainerServiceRegistryLogin with the addition of
1532// the ability to pass a context and additional request options.
1533//
1534// See CreateContainerServiceRegistryLogin for details on how to use this API operation.
1535//
1536// The context must be non-nil and will be used for request cancellation. If
1537// the context is nil a panic will occur. In the future the SDK may create
1538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1539// for more information on using Contexts.
1540func (c *Lightsail) CreateContainerServiceRegistryLoginWithContext(ctx aws.Context, input *CreateContainerServiceRegistryLoginInput, opts ...request.Option) (*CreateContainerServiceRegistryLoginOutput, error) {
1541	req, out := c.CreateContainerServiceRegistryLoginRequest(input)
1542	req.SetContext(ctx)
1543	req.ApplyOptions(opts...)
1544	return out, req.Send()
1545}
1546
1547const opCreateDisk = "CreateDisk"
1548
1549// CreateDiskRequest generates a "aws/request.Request" representing the
1550// client's request for the CreateDisk operation. The "output" return
1551// value will be populated with the request's response once the request completes
1552// successfully.
1553//
1554// Use "Send" method on the returned Request to send the API call to the service.
1555// the "output" return value is not valid until after Send returns without error.
1556//
1557// See CreateDisk for more information on using the CreateDisk
1558// API call, and error handling.
1559//
1560// This method is useful when you want to inject custom logic or configuration
1561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1562//
1563//
1564//    // Example sending a request using the CreateDiskRequest method.
1565//    req, resp := client.CreateDiskRequest(params)
1566//
1567//    err := req.Send()
1568//    if err == nil { // resp is now filled
1569//        fmt.Println(resp)
1570//    }
1571//
1572// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1573func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
1574	op := &request.Operation{
1575		Name:       opCreateDisk,
1576		HTTPMethod: "POST",
1577		HTTPPath:   "/",
1578	}
1579
1580	if input == nil {
1581		input = &CreateDiskInput{}
1582	}
1583
1584	output = &CreateDiskOutput{}
1585	req = c.newRequest(op, input, output)
1586	return
1587}
1588
1589// CreateDisk API operation for Amazon Lightsail.
1590//
1591// Creates a block storage disk that can be attached to an Amazon Lightsail
1592// instance in the same Availability Zone (e.g., us-east-2a).
1593//
1594// The create disk operation supports tag-based access control via request tags.
1595// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1596//
1597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1598// with awserr.Error's Code and Message methods to get detailed information about
1599// the error.
1600//
1601// See the AWS API reference guide for Amazon Lightsail's
1602// API operation CreateDisk for usage and error information.
1603//
1604// Returned Error Types:
1605//   * ServiceException
1606//   A general service exception.
1607//
1608//   * InvalidInputException
1609//   Lightsail throws this exception when user input does not conform to the validation
1610//   rules of an input field.
1611//
1612//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1613//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1614//   view, or edit these resources.
1615//
1616//   * NotFoundException
1617//   Lightsail throws this exception when it cannot find a resource.
1618//
1619//   * OperationFailureException
1620//   Lightsail throws this exception when an operation fails to execute.
1621//
1622//   * AccessDeniedException
1623//   Lightsail throws this exception when the user cannot be authenticated or
1624//   uses invalid credentials to access a resource.
1625//
1626//   * AccountSetupInProgressException
1627//   Lightsail throws this exception when an account is still in the setup in
1628//   progress state.
1629//
1630//   * UnauthenticatedException
1631//   Lightsail throws this exception when the user has not been authenticated.
1632//
1633// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1634func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
1635	req, out := c.CreateDiskRequest(input)
1636	return out, req.Send()
1637}
1638
1639// CreateDiskWithContext is the same as CreateDisk with the addition of
1640// the ability to pass a context and additional request options.
1641//
1642// See CreateDisk for details on how to use this API operation.
1643//
1644// The context must be non-nil and will be used for request cancellation. If
1645// the context is nil a panic will occur. In the future the SDK may create
1646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1647// for more information on using Contexts.
1648func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
1649	req, out := c.CreateDiskRequest(input)
1650	req.SetContext(ctx)
1651	req.ApplyOptions(opts...)
1652	return out, req.Send()
1653}
1654
1655const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
1656
1657// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
1658// client's request for the CreateDiskFromSnapshot operation. The "output" return
1659// value will be populated with the request's response once the request completes
1660// successfully.
1661//
1662// Use "Send" method on the returned Request to send the API call to the service.
1663// the "output" return value is not valid until after Send returns without error.
1664//
1665// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1666// API call, and error handling.
1667//
1668// This method is useful when you want to inject custom logic or configuration
1669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1670//
1671//
1672//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1673//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1674//
1675//    err := req.Send()
1676//    if err == nil { // resp is now filled
1677//        fmt.Println(resp)
1678//    }
1679//
1680// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1681func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1682	op := &request.Operation{
1683		Name:       opCreateDiskFromSnapshot,
1684		HTTPMethod: "POST",
1685		HTTPPath:   "/",
1686	}
1687
1688	if input == nil {
1689		input = &CreateDiskFromSnapshotInput{}
1690	}
1691
1692	output = &CreateDiskFromSnapshotOutput{}
1693	req = c.newRequest(op, input, output)
1694	return
1695}
1696
1697// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1698//
1699// Creates a block storage disk from a manual or automatic snapshot of a disk.
1700// The resulting disk can be attached to an Amazon Lightsail instance in the
1701// same Availability Zone (e.g., us-east-2a).
1702//
1703// The create disk from snapshot operation supports tag-based access control
1704// via request tags and resource tags applied to the resource identified by
1705// disk snapshot name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1706//
1707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1708// with awserr.Error's Code and Message methods to get detailed information about
1709// the error.
1710//
1711// See the AWS API reference guide for Amazon Lightsail's
1712// API operation CreateDiskFromSnapshot for usage and error information.
1713//
1714// Returned Error Types:
1715//   * ServiceException
1716//   A general service exception.
1717//
1718//   * InvalidInputException
1719//   Lightsail throws this exception when user input does not conform to the validation
1720//   rules of an input field.
1721//
1722//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1723//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1724//   view, or edit these resources.
1725//
1726//   * NotFoundException
1727//   Lightsail throws this exception when it cannot find a resource.
1728//
1729//   * OperationFailureException
1730//   Lightsail throws this exception when an operation fails to execute.
1731//
1732//   * AccessDeniedException
1733//   Lightsail throws this exception when the user cannot be authenticated or
1734//   uses invalid credentials to access a resource.
1735//
1736//   * AccountSetupInProgressException
1737//   Lightsail throws this exception when an account is still in the setup in
1738//   progress state.
1739//
1740//   * UnauthenticatedException
1741//   Lightsail throws this exception when the user has not been authenticated.
1742//
1743// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1744func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1745	req, out := c.CreateDiskFromSnapshotRequest(input)
1746	return out, req.Send()
1747}
1748
1749// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1750// the ability to pass a context and additional request options.
1751//
1752// See CreateDiskFromSnapshot for details on how to use this API operation.
1753//
1754// The context must be non-nil and will be used for request cancellation. If
1755// the context is nil a panic will occur. In the future the SDK may create
1756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1757// for more information on using Contexts.
1758func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1759	req, out := c.CreateDiskFromSnapshotRequest(input)
1760	req.SetContext(ctx)
1761	req.ApplyOptions(opts...)
1762	return out, req.Send()
1763}
1764
1765const opCreateDiskSnapshot = "CreateDiskSnapshot"
1766
1767// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1768// client's request for the CreateDiskSnapshot operation. The "output" return
1769// value will be populated with the request's response once the request completes
1770// successfully.
1771//
1772// Use "Send" method on the returned Request to send the API call to the service.
1773// the "output" return value is not valid until after Send returns without error.
1774//
1775// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1776// API call, and error handling.
1777//
1778// This method is useful when you want to inject custom logic or configuration
1779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1780//
1781//
1782//    // Example sending a request using the CreateDiskSnapshotRequest method.
1783//    req, resp := client.CreateDiskSnapshotRequest(params)
1784//
1785//    err := req.Send()
1786//    if err == nil { // resp is now filled
1787//        fmt.Println(resp)
1788//    }
1789//
1790// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1791func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
1792	op := &request.Operation{
1793		Name:       opCreateDiskSnapshot,
1794		HTTPMethod: "POST",
1795		HTTPPath:   "/",
1796	}
1797
1798	if input == nil {
1799		input = &CreateDiskSnapshotInput{}
1800	}
1801
1802	output = &CreateDiskSnapshotOutput{}
1803	req = c.newRequest(op, input, output)
1804	return
1805}
1806
1807// CreateDiskSnapshot API operation for Amazon Lightsail.
1808//
1809// Creates a snapshot of a block storage disk. You can use snapshots for backups,
1810// to make copies of disks, and to save data before shutting down a Lightsail
1811// instance.
1812//
1813// You can take a snapshot of an attached disk that is in use; however, snapshots
1814// only capture data that has been written to your disk at the time the snapshot
1815// command is issued. This may exclude any data that has been cached by any
1816// applications or the operating system. If you can pause any file systems on
1817// the disk long enough to take a snapshot, your snapshot should be complete.
1818// Nevertheless, if you cannot pause all file writes to the disk, you should
1819// unmount the disk from within the Lightsail instance, issue the create disk
1820// snapshot command, and then remount the disk to ensure a consistent and complete
1821// snapshot. You may remount and use your disk while the snapshot status is
1822// pending.
1823//
1824// You can also use this operation to create a snapshot of an instance's system
1825// volume. You might want to do this, for example, to recover data from the
1826// system volume of a botched instance or to create a backup of the system volume
1827// like you would for a block storage disk. To create a snapshot of a system
1828// volume, just define the instance name parameter when issuing the snapshot
1829// command, and a snapshot of the defined instance's system volume will be created.
1830// After the snapshot is available, you can create a block storage disk from
1831// the snapshot and attach it to a running instance to access the data on the
1832// disk.
1833//
1834// The create disk snapshot operation supports tag-based access control via
1835// request tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1836//
1837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1838// with awserr.Error's Code and Message methods to get detailed information about
1839// the error.
1840//
1841// See the AWS API reference guide for Amazon Lightsail's
1842// API operation CreateDiskSnapshot for usage and error information.
1843//
1844// Returned Error Types:
1845//   * ServiceException
1846//   A general service exception.
1847//
1848//   * InvalidInputException
1849//   Lightsail throws this exception when user input does not conform to the validation
1850//   rules of an input field.
1851//
1852//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1853//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1854//   view, or edit these resources.
1855//
1856//   * NotFoundException
1857//   Lightsail throws this exception when it cannot find a resource.
1858//
1859//   * OperationFailureException
1860//   Lightsail throws this exception when an operation fails to execute.
1861//
1862//   * AccessDeniedException
1863//   Lightsail throws this exception when the user cannot be authenticated or
1864//   uses invalid credentials to access a resource.
1865//
1866//   * AccountSetupInProgressException
1867//   Lightsail throws this exception when an account is still in the setup in
1868//   progress state.
1869//
1870//   * UnauthenticatedException
1871//   Lightsail throws this exception when the user has not been authenticated.
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1874func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
1875	req, out := c.CreateDiskSnapshotRequest(input)
1876	return out, req.Send()
1877}
1878
1879// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
1880// the ability to pass a context and additional request options.
1881//
1882// See CreateDiskSnapshot for details on how to use this API operation.
1883//
1884// The context must be non-nil and will be used for request cancellation. If
1885// the context is nil a panic will occur. In the future the SDK may create
1886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1887// for more information on using Contexts.
1888func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
1889	req, out := c.CreateDiskSnapshotRequest(input)
1890	req.SetContext(ctx)
1891	req.ApplyOptions(opts...)
1892	return out, req.Send()
1893}
1894
1895const opCreateDistribution = "CreateDistribution"
1896
1897// CreateDistributionRequest generates a "aws/request.Request" representing the
1898// client's request for the CreateDistribution operation. The "output" return
1899// value will be populated with the request's response once the request completes
1900// successfully.
1901//
1902// Use "Send" method on the returned Request to send the API call to the service.
1903// the "output" return value is not valid until after Send returns without error.
1904//
1905// See CreateDistribution for more information on using the CreateDistribution
1906// API call, and error handling.
1907//
1908// This method is useful when you want to inject custom logic or configuration
1909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1910//
1911//
1912//    // Example sending a request using the CreateDistributionRequest method.
1913//    req, resp := client.CreateDistributionRequest(params)
1914//
1915//    err := req.Send()
1916//    if err == nil { // resp is now filled
1917//        fmt.Println(resp)
1918//    }
1919//
1920// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
1921func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) {
1922	op := &request.Operation{
1923		Name:       opCreateDistribution,
1924		HTTPMethod: "POST",
1925		HTTPPath:   "/",
1926	}
1927
1928	if input == nil {
1929		input = &CreateDistributionInput{}
1930	}
1931
1932	output = &CreateDistributionOutput{}
1933	req = c.newRequest(op, input, output)
1934	return
1935}
1936
1937// CreateDistribution API operation for Amazon Lightsail.
1938//
1939// Creates an Amazon Lightsail content delivery network (CDN) distribution.
1940//
1941// A distribution is a globally distributed network of caching servers that
1942// improve the performance of your website or web application hosted on a Lightsail
1943// instance. For more information, see Content delivery networks in Amazon Lightsail
1944// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-network-distributions).
1945//
1946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1947// with awserr.Error's Code and Message methods to get detailed information about
1948// the error.
1949//
1950// See the AWS API reference guide for Amazon Lightsail's
1951// API operation CreateDistribution for usage and error information.
1952//
1953// Returned Error Types:
1954//   * ServiceException
1955//   A general service exception.
1956//
1957//   * InvalidInputException
1958//   Lightsail throws this exception when user input does not conform to the validation
1959//   rules of an input field.
1960//
1961//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
1962//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
1963//   view, or edit these resources.
1964//
1965//   * NotFoundException
1966//   Lightsail throws this exception when it cannot find a resource.
1967//
1968//   * OperationFailureException
1969//   Lightsail throws this exception when an operation fails to execute.
1970//
1971//   * AccessDeniedException
1972//   Lightsail throws this exception when the user cannot be authenticated or
1973//   uses invalid credentials to access a resource.
1974//
1975//   * UnauthenticatedException
1976//   Lightsail throws this exception when the user has not been authenticated.
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
1979func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) {
1980	req, out := c.CreateDistributionRequest(input)
1981	return out, req.Send()
1982}
1983
1984// CreateDistributionWithContext is the same as CreateDistribution with the addition of
1985// the ability to pass a context and additional request options.
1986//
1987// See CreateDistribution for details on how to use this API operation.
1988//
1989// The context must be non-nil and will be used for request cancellation. If
1990// the context is nil a panic will occur. In the future the SDK may create
1991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1992// for more information on using Contexts.
1993func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) {
1994	req, out := c.CreateDistributionRequest(input)
1995	req.SetContext(ctx)
1996	req.ApplyOptions(opts...)
1997	return out, req.Send()
1998}
1999
2000const opCreateDomain = "CreateDomain"
2001
2002// CreateDomainRequest generates a "aws/request.Request" representing the
2003// client's request for the CreateDomain operation. The "output" return
2004// value will be populated with the request's response once the request completes
2005// successfully.
2006//
2007// Use "Send" method on the returned Request to send the API call to the service.
2008// the "output" return value is not valid until after Send returns without error.
2009//
2010// See CreateDomain for more information on using the CreateDomain
2011// API call, and error handling.
2012//
2013// This method is useful when you want to inject custom logic or configuration
2014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2015//
2016//
2017//    // Example sending a request using the CreateDomainRequest method.
2018//    req, resp := client.CreateDomainRequest(params)
2019//
2020//    err := req.Send()
2021//    if err == nil { // resp is now filled
2022//        fmt.Println(resp)
2023//    }
2024//
2025// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
2026func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
2027	op := &request.Operation{
2028		Name:       opCreateDomain,
2029		HTTPMethod: "POST",
2030		HTTPPath:   "/",
2031	}
2032
2033	if input == nil {
2034		input = &CreateDomainInput{}
2035	}
2036
2037	output = &CreateDomainOutput{}
2038	req = c.newRequest(op, input, output)
2039	return
2040}
2041
2042// CreateDomain API operation for Amazon Lightsail.
2043//
2044// Creates a domain resource for the specified domain (e.g., example.com).
2045//
2046// The create domain operation supports tag-based access control via request
2047// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2048//
2049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2050// with awserr.Error's Code and Message methods to get detailed information about
2051// the error.
2052//
2053// See the AWS API reference guide for Amazon Lightsail's
2054// API operation CreateDomain for usage and error information.
2055//
2056// Returned Error Types:
2057//   * ServiceException
2058//   A general service exception.
2059//
2060//   * InvalidInputException
2061//   Lightsail throws this exception when user input does not conform to the validation
2062//   rules of an input field.
2063//
2064//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2065//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2066//   view, or edit these resources.
2067//
2068//   * NotFoundException
2069//   Lightsail throws this exception when it cannot find a resource.
2070//
2071//   * OperationFailureException
2072//   Lightsail throws this exception when an operation fails to execute.
2073//
2074//   * AccessDeniedException
2075//   Lightsail throws this exception when the user cannot be authenticated or
2076//   uses invalid credentials to access a resource.
2077//
2078//   * AccountSetupInProgressException
2079//   Lightsail throws this exception when an account is still in the setup in
2080//   progress state.
2081//
2082//   * UnauthenticatedException
2083//   Lightsail throws this exception when the user has not been authenticated.
2084//
2085// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
2086func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
2087	req, out := c.CreateDomainRequest(input)
2088	return out, req.Send()
2089}
2090
2091// CreateDomainWithContext is the same as CreateDomain with the addition of
2092// the ability to pass a context and additional request options.
2093//
2094// See CreateDomain for details on how to use this API operation.
2095//
2096// The context must be non-nil and will be used for request cancellation. If
2097// the context is nil a panic will occur. In the future the SDK may create
2098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2099// for more information on using Contexts.
2100func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
2101	req, out := c.CreateDomainRequest(input)
2102	req.SetContext(ctx)
2103	req.ApplyOptions(opts...)
2104	return out, req.Send()
2105}
2106
2107const opCreateDomainEntry = "CreateDomainEntry"
2108
2109// CreateDomainEntryRequest generates a "aws/request.Request" representing the
2110// client's request for the CreateDomainEntry operation. The "output" return
2111// value will be populated with the request's response once the request completes
2112// successfully.
2113//
2114// Use "Send" method on the returned Request to send the API call to the service.
2115// the "output" return value is not valid until after Send returns without error.
2116//
2117// See CreateDomainEntry for more information on using the CreateDomainEntry
2118// API call, and error handling.
2119//
2120// This method is useful when you want to inject custom logic or configuration
2121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2122//
2123//
2124//    // Example sending a request using the CreateDomainEntryRequest method.
2125//    req, resp := client.CreateDomainEntryRequest(params)
2126//
2127//    err := req.Send()
2128//    if err == nil { // resp is now filled
2129//        fmt.Println(resp)
2130//    }
2131//
2132// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
2133func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
2134	op := &request.Operation{
2135		Name:       opCreateDomainEntry,
2136		HTTPMethod: "POST",
2137		HTTPPath:   "/",
2138	}
2139
2140	if input == nil {
2141		input = &CreateDomainEntryInput{}
2142	}
2143
2144	output = &CreateDomainEntryOutput{}
2145	req = c.newRequest(op, input, output)
2146	return
2147}
2148
2149// CreateDomainEntry API operation for Amazon Lightsail.
2150//
2151// Creates one of the following domain name system (DNS) records in a domain
2152// DNS zone: Address (A), canonical name (CNAME), mail exchanger (MX), name
2153// server (NS), start of authority (SOA), service locator (SRV), or text (TXT).
2154//
2155// The create domain entry operation supports tag-based access control via resource
2156// tags applied to the resource identified by domain name. For more information,
2157// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2158//
2159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2160// with awserr.Error's Code and Message methods to get detailed information about
2161// the error.
2162//
2163// See the AWS API reference guide for Amazon Lightsail's
2164// API operation CreateDomainEntry for usage and error information.
2165//
2166// Returned Error Types:
2167//   * ServiceException
2168//   A general service exception.
2169//
2170//   * InvalidInputException
2171//   Lightsail throws this exception when user input does not conform to the validation
2172//   rules of an input field.
2173//
2174//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2175//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2176//   view, or edit these resources.
2177//
2178//   * NotFoundException
2179//   Lightsail throws this exception when it cannot find a resource.
2180//
2181//   * OperationFailureException
2182//   Lightsail throws this exception when an operation fails to execute.
2183//
2184//   * AccessDeniedException
2185//   Lightsail throws this exception when the user cannot be authenticated or
2186//   uses invalid credentials to access a resource.
2187//
2188//   * AccountSetupInProgressException
2189//   Lightsail throws this exception when an account is still in the setup in
2190//   progress state.
2191//
2192//   * UnauthenticatedException
2193//   Lightsail throws this exception when the user has not been authenticated.
2194//
2195// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
2196func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
2197	req, out := c.CreateDomainEntryRequest(input)
2198	return out, req.Send()
2199}
2200
2201// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
2202// the ability to pass a context and additional request options.
2203//
2204// See CreateDomainEntry for details on how to use this API operation.
2205//
2206// The context must be non-nil and will be used for request cancellation. If
2207// the context is nil a panic will occur. In the future the SDK may create
2208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2209// for more information on using Contexts.
2210func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
2211	req, out := c.CreateDomainEntryRequest(input)
2212	req.SetContext(ctx)
2213	req.ApplyOptions(opts...)
2214	return out, req.Send()
2215}
2216
2217const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
2218
2219// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
2220// client's request for the CreateInstanceSnapshot operation. The "output" return
2221// value will be populated with the request's response once the request completes
2222// successfully.
2223//
2224// Use "Send" method on the returned Request to send the API call to the service.
2225// the "output" return value is not valid until after Send returns without error.
2226//
2227// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
2228// API call, and error handling.
2229//
2230// This method is useful when you want to inject custom logic or configuration
2231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2232//
2233//
2234//    // Example sending a request using the CreateInstanceSnapshotRequest method.
2235//    req, resp := client.CreateInstanceSnapshotRequest(params)
2236//
2237//    err := req.Send()
2238//    if err == nil { // resp is now filled
2239//        fmt.Println(resp)
2240//    }
2241//
2242// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
2243func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
2244	op := &request.Operation{
2245		Name:       opCreateInstanceSnapshot,
2246		HTTPMethod: "POST",
2247		HTTPPath:   "/",
2248	}
2249
2250	if input == nil {
2251		input = &CreateInstanceSnapshotInput{}
2252	}
2253
2254	output = &CreateInstanceSnapshotOutput{}
2255	req = c.newRequest(op, input, output)
2256	return
2257}
2258
2259// CreateInstanceSnapshot API operation for Amazon Lightsail.
2260//
2261// Creates a snapshot of a specific virtual private server, or instance. You
2262// can use a snapshot to create a new instance that is based on that snapshot.
2263//
2264// The create instance snapshot operation supports tag-based access control
2265// via request tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2266//
2267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2268// with awserr.Error's Code and Message methods to get detailed information about
2269// the error.
2270//
2271// See the AWS API reference guide for Amazon Lightsail's
2272// API operation CreateInstanceSnapshot for usage and error information.
2273//
2274// Returned Error Types:
2275//   * ServiceException
2276//   A general service exception.
2277//
2278//   * InvalidInputException
2279//   Lightsail throws this exception when user input does not conform to the validation
2280//   rules of an input field.
2281//
2282//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2283//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2284//   view, or edit these resources.
2285//
2286//   * NotFoundException
2287//   Lightsail throws this exception when it cannot find a resource.
2288//
2289//   * OperationFailureException
2290//   Lightsail throws this exception when an operation fails to execute.
2291//
2292//   * AccessDeniedException
2293//   Lightsail throws this exception when the user cannot be authenticated or
2294//   uses invalid credentials to access a resource.
2295//
2296//   * AccountSetupInProgressException
2297//   Lightsail throws this exception when an account is still in the setup in
2298//   progress state.
2299//
2300//   * UnauthenticatedException
2301//   Lightsail throws this exception when the user has not been authenticated.
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
2304func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
2305	req, out := c.CreateInstanceSnapshotRequest(input)
2306	return out, req.Send()
2307}
2308
2309// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
2310// the ability to pass a context and additional request options.
2311//
2312// See CreateInstanceSnapshot for details on how to use this API operation.
2313//
2314// The context must be non-nil and will be used for request cancellation. If
2315// the context is nil a panic will occur. In the future the SDK may create
2316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2317// for more information on using Contexts.
2318func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
2319	req, out := c.CreateInstanceSnapshotRequest(input)
2320	req.SetContext(ctx)
2321	req.ApplyOptions(opts...)
2322	return out, req.Send()
2323}
2324
2325const opCreateInstances = "CreateInstances"
2326
2327// CreateInstancesRequest generates a "aws/request.Request" representing the
2328// client's request for the CreateInstances operation. The "output" return
2329// value will be populated with the request's response once the request completes
2330// successfully.
2331//
2332// Use "Send" method on the returned Request to send the API call to the service.
2333// the "output" return value is not valid until after Send returns without error.
2334//
2335// See CreateInstances for more information on using the CreateInstances
2336// API call, and error handling.
2337//
2338// This method is useful when you want to inject custom logic or configuration
2339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2340//
2341//
2342//    // Example sending a request using the CreateInstancesRequest method.
2343//    req, resp := client.CreateInstancesRequest(params)
2344//
2345//    err := req.Send()
2346//    if err == nil { // resp is now filled
2347//        fmt.Println(resp)
2348//    }
2349//
2350// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2351func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
2352	op := &request.Operation{
2353		Name:       opCreateInstances,
2354		HTTPMethod: "POST",
2355		HTTPPath:   "/",
2356	}
2357
2358	if input == nil {
2359		input = &CreateInstancesInput{}
2360	}
2361
2362	output = &CreateInstancesOutput{}
2363	req = c.newRequest(op, input, output)
2364	return
2365}
2366
2367// CreateInstances API operation for Amazon Lightsail.
2368//
2369// Creates one or more Amazon Lightsail instances.
2370//
2371// The create instances operation supports tag-based access control via request
2372// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2373//
2374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2375// with awserr.Error's Code and Message methods to get detailed information about
2376// the error.
2377//
2378// See the AWS API reference guide for Amazon Lightsail's
2379// API operation CreateInstances for usage and error information.
2380//
2381// Returned Error Types:
2382//   * ServiceException
2383//   A general service exception.
2384//
2385//   * InvalidInputException
2386//   Lightsail throws this exception when user input does not conform to the validation
2387//   rules of an input field.
2388//
2389//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2390//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2391//   view, or edit these resources.
2392//
2393//   * NotFoundException
2394//   Lightsail throws this exception when it cannot find a resource.
2395//
2396//   * OperationFailureException
2397//   Lightsail throws this exception when an operation fails to execute.
2398//
2399//   * AccessDeniedException
2400//   Lightsail throws this exception when the user cannot be authenticated or
2401//   uses invalid credentials to access a resource.
2402//
2403//   * AccountSetupInProgressException
2404//   Lightsail throws this exception when an account is still in the setup in
2405//   progress state.
2406//
2407//   * UnauthenticatedException
2408//   Lightsail throws this exception when the user has not been authenticated.
2409//
2410// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2411func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
2412	req, out := c.CreateInstancesRequest(input)
2413	return out, req.Send()
2414}
2415
2416// CreateInstancesWithContext is the same as CreateInstances with the addition of
2417// the ability to pass a context and additional request options.
2418//
2419// See CreateInstances for details on how to use this API operation.
2420//
2421// The context must be non-nil and will be used for request cancellation. If
2422// the context is nil a panic will occur. In the future the SDK may create
2423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2424// for more information on using Contexts.
2425func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
2426	req, out := c.CreateInstancesRequest(input)
2427	req.SetContext(ctx)
2428	req.ApplyOptions(opts...)
2429	return out, req.Send()
2430}
2431
2432const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
2433
2434// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
2435// client's request for the CreateInstancesFromSnapshot operation. The "output" return
2436// value will be populated with the request's response once the request completes
2437// successfully.
2438//
2439// Use "Send" method on the returned Request to send the API call to the service.
2440// the "output" return value is not valid until after Send returns without error.
2441//
2442// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
2443// API call, and error handling.
2444//
2445// This method is useful when you want to inject custom logic or configuration
2446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2447//
2448//
2449//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
2450//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
2451//
2452//    err := req.Send()
2453//    if err == nil { // resp is now filled
2454//        fmt.Println(resp)
2455//    }
2456//
2457// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2458func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
2459	op := &request.Operation{
2460		Name:       opCreateInstancesFromSnapshot,
2461		HTTPMethod: "POST",
2462		HTTPPath:   "/",
2463	}
2464
2465	if input == nil {
2466		input = &CreateInstancesFromSnapshotInput{}
2467	}
2468
2469	output = &CreateInstancesFromSnapshotOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
2475//
2476// Creates one or more new instances from a manual or automatic snapshot of
2477// an instance.
2478//
2479// The create instances from snapshot operation supports tag-based access control
2480// via request tags and resource tags applied to the resource identified by
2481// instance snapshot name. For more information, see the Lightsail Dev Guide
2482// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2483//
2484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2485// with awserr.Error's Code and Message methods to get detailed information about
2486// the error.
2487//
2488// See the AWS API reference guide for Amazon Lightsail's
2489// API operation CreateInstancesFromSnapshot for usage and error information.
2490//
2491// Returned Error Types:
2492//   * ServiceException
2493//   A general service exception.
2494//
2495//   * InvalidInputException
2496//   Lightsail throws this exception when user input does not conform to the validation
2497//   rules of an input field.
2498//
2499//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2500//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2501//   view, or edit these resources.
2502//
2503//   * NotFoundException
2504//   Lightsail throws this exception when it cannot find a resource.
2505//
2506//   * OperationFailureException
2507//   Lightsail throws this exception when an operation fails to execute.
2508//
2509//   * AccessDeniedException
2510//   Lightsail throws this exception when the user cannot be authenticated or
2511//   uses invalid credentials to access a resource.
2512//
2513//   * AccountSetupInProgressException
2514//   Lightsail throws this exception when an account is still in the setup in
2515//   progress state.
2516//
2517//   * UnauthenticatedException
2518//   Lightsail throws this exception when the user has not been authenticated.
2519//
2520// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2521func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
2522	req, out := c.CreateInstancesFromSnapshotRequest(input)
2523	return out, req.Send()
2524}
2525
2526// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
2527// the ability to pass a context and additional request options.
2528//
2529// See CreateInstancesFromSnapshot for details on how to use this API operation.
2530//
2531// The context must be non-nil and will be used for request cancellation. If
2532// the context is nil a panic will occur. In the future the SDK may create
2533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2534// for more information on using Contexts.
2535func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
2536	req, out := c.CreateInstancesFromSnapshotRequest(input)
2537	req.SetContext(ctx)
2538	req.ApplyOptions(opts...)
2539	return out, req.Send()
2540}
2541
2542const opCreateKeyPair = "CreateKeyPair"
2543
2544// CreateKeyPairRequest generates a "aws/request.Request" representing the
2545// client's request for the CreateKeyPair operation. The "output" return
2546// value will be populated with the request's response once the request completes
2547// successfully.
2548//
2549// Use "Send" method on the returned Request to send the API call to the service.
2550// the "output" return value is not valid until after Send returns without error.
2551//
2552// See CreateKeyPair for more information on using the CreateKeyPair
2553// API call, and error handling.
2554//
2555// This method is useful when you want to inject custom logic or configuration
2556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2557//
2558//
2559//    // Example sending a request using the CreateKeyPairRequest method.
2560//    req, resp := client.CreateKeyPairRequest(params)
2561//
2562//    err := req.Send()
2563//    if err == nil { // resp is now filled
2564//        fmt.Println(resp)
2565//    }
2566//
2567// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2568func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
2569	op := &request.Operation{
2570		Name:       opCreateKeyPair,
2571		HTTPMethod: "POST",
2572		HTTPPath:   "/",
2573	}
2574
2575	if input == nil {
2576		input = &CreateKeyPairInput{}
2577	}
2578
2579	output = &CreateKeyPairOutput{}
2580	req = c.newRequest(op, input, output)
2581	return
2582}
2583
2584// CreateKeyPair API operation for Amazon Lightsail.
2585//
2586// Creates an SSH key pair.
2587//
2588// The create key pair operation supports tag-based access control via request
2589// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2590//
2591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2592// with awserr.Error's Code and Message methods to get detailed information about
2593// the error.
2594//
2595// See the AWS API reference guide for Amazon Lightsail's
2596// API operation CreateKeyPair for usage and error information.
2597//
2598// Returned Error Types:
2599//   * ServiceException
2600//   A general service exception.
2601//
2602//   * InvalidInputException
2603//   Lightsail throws this exception when user input does not conform to the validation
2604//   rules of an input field.
2605//
2606//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2607//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2608//   view, or edit these resources.
2609//
2610//   * NotFoundException
2611//   Lightsail throws this exception when it cannot find a resource.
2612//
2613//   * OperationFailureException
2614//   Lightsail throws this exception when an operation fails to execute.
2615//
2616//   * AccessDeniedException
2617//   Lightsail throws this exception when the user cannot be authenticated or
2618//   uses invalid credentials to access a resource.
2619//
2620//   * AccountSetupInProgressException
2621//   Lightsail throws this exception when an account is still in the setup in
2622//   progress state.
2623//
2624//   * UnauthenticatedException
2625//   Lightsail throws this exception when the user has not been authenticated.
2626//
2627// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2628func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
2629	req, out := c.CreateKeyPairRequest(input)
2630	return out, req.Send()
2631}
2632
2633// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
2634// the ability to pass a context and additional request options.
2635//
2636// See CreateKeyPair for details on how to use this API operation.
2637//
2638// The context must be non-nil and will be used for request cancellation. If
2639// the context is nil a panic will occur. In the future the SDK may create
2640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2641// for more information on using Contexts.
2642func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
2643	req, out := c.CreateKeyPairRequest(input)
2644	req.SetContext(ctx)
2645	req.ApplyOptions(opts...)
2646	return out, req.Send()
2647}
2648
2649const opCreateLoadBalancer = "CreateLoadBalancer"
2650
2651// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
2652// client's request for the CreateLoadBalancer operation. The "output" return
2653// value will be populated with the request's response once the request completes
2654// successfully.
2655//
2656// Use "Send" method on the returned Request to send the API call to the service.
2657// the "output" return value is not valid until after Send returns without error.
2658//
2659// See CreateLoadBalancer for more information on using the CreateLoadBalancer
2660// API call, and error handling.
2661//
2662// This method is useful when you want to inject custom logic or configuration
2663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2664//
2665//
2666//    // Example sending a request using the CreateLoadBalancerRequest method.
2667//    req, resp := client.CreateLoadBalancerRequest(params)
2668//
2669//    err := req.Send()
2670//    if err == nil { // resp is now filled
2671//        fmt.Println(resp)
2672//    }
2673//
2674// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2675func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
2676	op := &request.Operation{
2677		Name:       opCreateLoadBalancer,
2678		HTTPMethod: "POST",
2679		HTTPPath:   "/",
2680	}
2681
2682	if input == nil {
2683		input = &CreateLoadBalancerInput{}
2684	}
2685
2686	output = &CreateLoadBalancerOutput{}
2687	req = c.newRequest(op, input, output)
2688	return
2689}
2690
2691// CreateLoadBalancer API operation for Amazon Lightsail.
2692//
2693// Creates a Lightsail load balancer. To learn more about deciding whether to
2694// load balance your application, see Configure your Lightsail instances for
2695// load balancing (https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing).
2696// You can create up to 5 load balancers per AWS Region in your account.
2697//
2698// When you create a load balancer, you can specify a unique name and port settings.
2699// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
2700// operation.
2701//
2702// The create load balancer operation supports tag-based access control via
2703// request tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for Amazon Lightsail's
2710// API operation CreateLoadBalancer for usage and error information.
2711//
2712// Returned Error Types:
2713//   * ServiceException
2714//   A general service exception.
2715//
2716//   * InvalidInputException
2717//   Lightsail throws this exception when user input does not conform to the validation
2718//   rules of an input field.
2719//
2720//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2721//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2722//   view, or edit these resources.
2723//
2724//   * NotFoundException
2725//   Lightsail throws this exception when it cannot find a resource.
2726//
2727//   * OperationFailureException
2728//   Lightsail throws this exception when an operation fails to execute.
2729//
2730//   * AccessDeniedException
2731//   Lightsail throws this exception when the user cannot be authenticated or
2732//   uses invalid credentials to access a resource.
2733//
2734//   * AccountSetupInProgressException
2735//   Lightsail throws this exception when an account is still in the setup in
2736//   progress state.
2737//
2738//   * UnauthenticatedException
2739//   Lightsail throws this exception when the user has not been authenticated.
2740//
2741// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2742func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
2743	req, out := c.CreateLoadBalancerRequest(input)
2744	return out, req.Send()
2745}
2746
2747// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
2748// the ability to pass a context and additional request options.
2749//
2750// See CreateLoadBalancer for details on how to use this API operation.
2751//
2752// The context must be non-nil and will be used for request cancellation. If
2753// the context is nil a panic will occur. In the future the SDK may create
2754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2755// for more information on using Contexts.
2756func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
2757	req, out := c.CreateLoadBalancerRequest(input)
2758	req.SetContext(ctx)
2759	req.ApplyOptions(opts...)
2760	return out, req.Send()
2761}
2762
2763const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2764
2765// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2766// client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
2767// value will be populated with the request's response once the request completes
2768// successfully.
2769//
2770// Use "Send" method on the returned Request to send the API call to the service.
2771// the "output" return value is not valid until after Send returns without error.
2772//
2773// See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
2774// API call, and error handling.
2775//
2776// This method is useful when you want to inject custom logic or configuration
2777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2778//
2779//
2780//    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
2781//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
2782//
2783//    err := req.Send()
2784//    if err == nil { // resp is now filled
2785//        fmt.Println(resp)
2786//    }
2787//
2788// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2789func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
2790	op := &request.Operation{
2791		Name:       opCreateLoadBalancerTlsCertificate,
2792		HTTPMethod: "POST",
2793		HTTPPath:   "/",
2794	}
2795
2796	if input == nil {
2797		input = &CreateLoadBalancerTlsCertificateInput{}
2798	}
2799
2800	output = &CreateLoadBalancerTlsCertificateOutput{}
2801	req = c.newRequest(op, input, output)
2802	return
2803}
2804
2805// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
2806//
2807// Creates an SSL/TLS certificate for an Amazon Lightsail load balancer.
2808//
2809// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
2810//
2811// The CreateLoadBalancerTlsCertificate operation supports tag-based access
2812// control via resource tags applied to the resource identified by load balancer
2813// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2814//
2815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2816// with awserr.Error's Code and Message methods to get detailed information about
2817// the error.
2818//
2819// See the AWS API reference guide for Amazon Lightsail's
2820// API operation CreateLoadBalancerTlsCertificate for usage and error information.
2821//
2822// Returned Error Types:
2823//   * ServiceException
2824//   A general service exception.
2825//
2826//   * InvalidInputException
2827//   Lightsail throws this exception when user input does not conform to the validation
2828//   rules of an input field.
2829//
2830//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2831//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2832//   view, or edit these resources.
2833//
2834//   * NotFoundException
2835//   Lightsail throws this exception when it cannot find a resource.
2836//
2837//   * OperationFailureException
2838//   Lightsail throws this exception when an operation fails to execute.
2839//
2840//   * AccessDeniedException
2841//   Lightsail throws this exception when the user cannot be authenticated or
2842//   uses invalid credentials to access a resource.
2843//
2844//   * AccountSetupInProgressException
2845//   Lightsail throws this exception when an account is still in the setup in
2846//   progress state.
2847//
2848//   * UnauthenticatedException
2849//   Lightsail throws this exception when the user has not been authenticated.
2850//
2851// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2852func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
2853	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2854	return out, req.Send()
2855}
2856
2857// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
2858// the ability to pass a context and additional request options.
2859//
2860// See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
2861//
2862// The context must be non-nil and will be used for request cancellation. If
2863// the context is nil a panic will occur. In the future the SDK may create
2864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2865// for more information on using Contexts.
2866func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
2867	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2868	req.SetContext(ctx)
2869	req.ApplyOptions(opts...)
2870	return out, req.Send()
2871}
2872
2873const opCreateRelationalDatabase = "CreateRelationalDatabase"
2874
2875// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
2876// client's request for the CreateRelationalDatabase operation. The "output" return
2877// value will be populated with the request's response once the request completes
2878// successfully.
2879//
2880// Use "Send" method on the returned Request to send the API call to the service.
2881// the "output" return value is not valid until after Send returns without error.
2882//
2883// See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
2884// API call, and error handling.
2885//
2886// This method is useful when you want to inject custom logic or configuration
2887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2888//
2889//
2890//    // Example sending a request using the CreateRelationalDatabaseRequest method.
2891//    req, resp := client.CreateRelationalDatabaseRequest(params)
2892//
2893//    err := req.Send()
2894//    if err == nil { // resp is now filled
2895//        fmt.Println(resp)
2896//    }
2897//
2898// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2899func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
2900	op := &request.Operation{
2901		Name:       opCreateRelationalDatabase,
2902		HTTPMethod: "POST",
2903		HTTPPath:   "/",
2904	}
2905
2906	if input == nil {
2907		input = &CreateRelationalDatabaseInput{}
2908	}
2909
2910	output = &CreateRelationalDatabaseOutput{}
2911	req = c.newRequest(op, input, output)
2912	return
2913}
2914
2915// CreateRelationalDatabase API operation for Amazon Lightsail.
2916//
2917// Creates a new database in Amazon Lightsail.
2918//
2919// The create relational database operation supports tag-based access control
2920// via request tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2921//
2922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2923// with awserr.Error's Code and Message methods to get detailed information about
2924// the error.
2925//
2926// See the AWS API reference guide for Amazon Lightsail's
2927// API operation CreateRelationalDatabase for usage and error information.
2928//
2929// Returned Error Types:
2930//   * ServiceException
2931//   A general service exception.
2932//
2933//   * InvalidInputException
2934//   Lightsail throws this exception when user input does not conform to the validation
2935//   rules of an input field.
2936//
2937//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
2938//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
2939//   view, or edit these resources.
2940//
2941//   * NotFoundException
2942//   Lightsail throws this exception when it cannot find a resource.
2943//
2944//   * OperationFailureException
2945//   Lightsail throws this exception when an operation fails to execute.
2946//
2947//   * AccessDeniedException
2948//   Lightsail throws this exception when the user cannot be authenticated or
2949//   uses invalid credentials to access a resource.
2950//
2951//   * AccountSetupInProgressException
2952//   Lightsail throws this exception when an account is still in the setup in
2953//   progress state.
2954//
2955//   * UnauthenticatedException
2956//   Lightsail throws this exception when the user has not been authenticated.
2957//
2958// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2959func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
2960	req, out := c.CreateRelationalDatabaseRequest(input)
2961	return out, req.Send()
2962}
2963
2964// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
2965// the ability to pass a context and additional request options.
2966//
2967// See CreateRelationalDatabase for details on how to use this API operation.
2968//
2969// The context must be non-nil and will be used for request cancellation. If
2970// the context is nil a panic will occur. In the future the SDK may create
2971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2972// for more information on using Contexts.
2973func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
2974	req, out := c.CreateRelationalDatabaseRequest(input)
2975	req.SetContext(ctx)
2976	req.ApplyOptions(opts...)
2977	return out, req.Send()
2978}
2979
2980const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
2981
2982// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
2983// client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
2984// value will be populated with the request's response once the request completes
2985// successfully.
2986//
2987// Use "Send" method on the returned Request to send the API call to the service.
2988// the "output" return value is not valid until after Send returns without error.
2989//
2990// See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
2991// API call, and error handling.
2992//
2993// This method is useful when you want to inject custom logic or configuration
2994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2995//
2996//
2997//    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
2998//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
2999//
3000//    err := req.Send()
3001//    if err == nil { // resp is now filled
3002//        fmt.Println(resp)
3003//    }
3004//
3005// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
3006func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
3007	op := &request.Operation{
3008		Name:       opCreateRelationalDatabaseFromSnapshot,
3009		HTTPMethod: "POST",
3010		HTTPPath:   "/",
3011	}
3012
3013	if input == nil {
3014		input = &CreateRelationalDatabaseFromSnapshotInput{}
3015	}
3016
3017	output = &CreateRelationalDatabaseFromSnapshotOutput{}
3018	req = c.newRequest(op, input, output)
3019	return
3020}
3021
3022// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
3023//
3024// Creates a new database from an existing database snapshot in Amazon Lightsail.
3025//
3026// You can create a new database from a snapshot in if something goes wrong
3027// with your original database, or to change it to a different plan, such as
3028// a high availability or standard plan.
3029//
3030// The create relational database from snapshot operation supports tag-based
3031// access control via request tags and resource tags applied to the resource
3032// identified by relationalDatabaseSnapshotName. For more information, see the
3033// Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3034//
3035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3036// with awserr.Error's Code and Message methods to get detailed information about
3037// the error.
3038//
3039// See the AWS API reference guide for Amazon Lightsail's
3040// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
3041//
3042// Returned Error Types:
3043//   * ServiceException
3044//   A general service exception.
3045//
3046//   * InvalidInputException
3047//   Lightsail throws this exception when user input does not conform to the validation
3048//   rules of an input field.
3049//
3050//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3051//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3052//   view, or edit these resources.
3053//
3054//   * NotFoundException
3055//   Lightsail throws this exception when it cannot find a resource.
3056//
3057//   * OperationFailureException
3058//   Lightsail throws this exception when an operation fails to execute.
3059//
3060//   * AccessDeniedException
3061//   Lightsail throws this exception when the user cannot be authenticated or
3062//   uses invalid credentials to access a resource.
3063//
3064//   * AccountSetupInProgressException
3065//   Lightsail throws this exception when an account is still in the setup in
3066//   progress state.
3067//
3068//   * UnauthenticatedException
3069//   Lightsail throws this exception when the user has not been authenticated.
3070//
3071// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
3072func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
3073	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
3074	return out, req.Send()
3075}
3076
3077// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
3078// the ability to pass a context and additional request options.
3079//
3080// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
3081//
3082// The context must be non-nil and will be used for request cancellation. If
3083// the context is nil a panic will occur. In the future the SDK may create
3084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3085// for more information on using Contexts.
3086func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
3087	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
3088	req.SetContext(ctx)
3089	req.ApplyOptions(opts...)
3090	return out, req.Send()
3091}
3092
3093const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
3094
3095// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
3096// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
3097// value will be populated with the request's response once the request completes
3098// successfully.
3099//
3100// Use "Send" method on the returned Request to send the API call to the service.
3101// the "output" return value is not valid until after Send returns without error.
3102//
3103// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
3104// API call, and error handling.
3105//
3106// This method is useful when you want to inject custom logic or configuration
3107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3108//
3109//
3110//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
3111//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
3112//
3113//    err := req.Send()
3114//    if err == nil { // resp is now filled
3115//        fmt.Println(resp)
3116//    }
3117//
3118// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
3119func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
3120	op := &request.Operation{
3121		Name:       opCreateRelationalDatabaseSnapshot,
3122		HTTPMethod: "POST",
3123		HTTPPath:   "/",
3124	}
3125
3126	if input == nil {
3127		input = &CreateRelationalDatabaseSnapshotInput{}
3128	}
3129
3130	output = &CreateRelationalDatabaseSnapshotOutput{}
3131	req = c.newRequest(op, input, output)
3132	return
3133}
3134
3135// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
3136//
3137// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
3138// for backups, to make copies of a database, and to save data before deleting
3139// a database.
3140//
3141// The create relational database snapshot operation supports tag-based access
3142// control via request tags. For more information, see the Lightsail Dev Guide
3143// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3144//
3145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3146// with awserr.Error's Code and Message methods to get detailed information about
3147// the error.
3148//
3149// See the AWS API reference guide for Amazon Lightsail's
3150// API operation CreateRelationalDatabaseSnapshot for usage and error information.
3151//
3152// Returned Error Types:
3153//   * ServiceException
3154//   A general service exception.
3155//
3156//   * InvalidInputException
3157//   Lightsail throws this exception when user input does not conform to the validation
3158//   rules of an input field.
3159//
3160//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3161//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3162//   view, or edit these resources.
3163//
3164//   * NotFoundException
3165//   Lightsail throws this exception when it cannot find a resource.
3166//
3167//   * OperationFailureException
3168//   Lightsail throws this exception when an operation fails to execute.
3169//
3170//   * AccessDeniedException
3171//   Lightsail throws this exception when the user cannot be authenticated or
3172//   uses invalid credentials to access a resource.
3173//
3174//   * AccountSetupInProgressException
3175//   Lightsail throws this exception when an account is still in the setup in
3176//   progress state.
3177//
3178//   * UnauthenticatedException
3179//   Lightsail throws this exception when the user has not been authenticated.
3180//
3181// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
3182func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
3183	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
3184	return out, req.Send()
3185}
3186
3187// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
3188// the ability to pass a context and additional request options.
3189//
3190// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
3191//
3192// The context must be non-nil and will be used for request cancellation. If
3193// the context is nil a panic will occur. In the future the SDK may create
3194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3195// for more information on using Contexts.
3196func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
3197	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
3198	req.SetContext(ctx)
3199	req.ApplyOptions(opts...)
3200	return out, req.Send()
3201}
3202
3203const opDeleteAlarm = "DeleteAlarm"
3204
3205// DeleteAlarmRequest generates a "aws/request.Request" representing the
3206// client's request for the DeleteAlarm operation. The "output" return
3207// value will be populated with the request's response once the request completes
3208// successfully.
3209//
3210// Use "Send" method on the returned Request to send the API call to the service.
3211// the "output" return value is not valid until after Send returns without error.
3212//
3213// See DeleteAlarm for more information on using the DeleteAlarm
3214// API call, and error handling.
3215//
3216// This method is useful when you want to inject custom logic or configuration
3217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3218//
3219//
3220//    // Example sending a request using the DeleteAlarmRequest method.
3221//    req, resp := client.DeleteAlarmRequest(params)
3222//
3223//    err := req.Send()
3224//    if err == nil { // resp is now filled
3225//        fmt.Println(resp)
3226//    }
3227//
3228// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
3229func (c *Lightsail) DeleteAlarmRequest(input *DeleteAlarmInput) (req *request.Request, output *DeleteAlarmOutput) {
3230	op := &request.Operation{
3231		Name:       opDeleteAlarm,
3232		HTTPMethod: "POST",
3233		HTTPPath:   "/",
3234	}
3235
3236	if input == nil {
3237		input = &DeleteAlarmInput{}
3238	}
3239
3240	output = &DeleteAlarmOutput{}
3241	req = c.newRequest(op, input, output)
3242	return
3243}
3244
3245// DeleteAlarm API operation for Amazon Lightsail.
3246//
3247// Deletes an alarm.
3248//
3249// An alarm is used to monitor a single metric for one of your resources. When
3250// a metric condition is met, the alarm can notify you by email, SMS text message,
3251// and a banner displayed on the Amazon Lightsail console. For more information,
3252// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
3253//
3254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3255// with awserr.Error's Code and Message methods to get detailed information about
3256// the error.
3257//
3258// See the AWS API reference guide for Amazon Lightsail's
3259// API operation DeleteAlarm for usage and error information.
3260//
3261// Returned Error Types:
3262//   * ServiceException
3263//   A general service exception.
3264//
3265//   * InvalidInputException
3266//   Lightsail throws this exception when user input does not conform to the validation
3267//   rules of an input field.
3268//
3269//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3270//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3271//   view, or edit these resources.
3272//
3273//   * OperationFailureException
3274//   Lightsail throws this exception when an operation fails to execute.
3275//
3276//   * UnauthenticatedException
3277//   Lightsail throws this exception when the user has not been authenticated.
3278//
3279//   * AccessDeniedException
3280//   Lightsail throws this exception when the user cannot be authenticated or
3281//   uses invalid credentials to access a resource.
3282//
3283//   * NotFoundException
3284//   Lightsail throws this exception when it cannot find a resource.
3285//
3286// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
3287func (c *Lightsail) DeleteAlarm(input *DeleteAlarmInput) (*DeleteAlarmOutput, error) {
3288	req, out := c.DeleteAlarmRequest(input)
3289	return out, req.Send()
3290}
3291
3292// DeleteAlarmWithContext is the same as DeleteAlarm with the addition of
3293// the ability to pass a context and additional request options.
3294//
3295// See DeleteAlarm for details on how to use this API operation.
3296//
3297// The context must be non-nil and will be used for request cancellation. If
3298// the context is nil a panic will occur. In the future the SDK may create
3299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3300// for more information on using Contexts.
3301func (c *Lightsail) DeleteAlarmWithContext(ctx aws.Context, input *DeleteAlarmInput, opts ...request.Option) (*DeleteAlarmOutput, error) {
3302	req, out := c.DeleteAlarmRequest(input)
3303	req.SetContext(ctx)
3304	req.ApplyOptions(opts...)
3305	return out, req.Send()
3306}
3307
3308const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
3309
3310// DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
3311// client's request for the DeleteAutoSnapshot operation. The "output" return
3312// value will be populated with the request's response once the request completes
3313// successfully.
3314//
3315// Use "Send" method on the returned Request to send the API call to the service.
3316// the "output" return value is not valid until after Send returns without error.
3317//
3318// See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
3319// API call, and error handling.
3320//
3321// This method is useful when you want to inject custom logic or configuration
3322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3323//
3324//
3325//    // Example sending a request using the DeleteAutoSnapshotRequest method.
3326//    req, resp := client.DeleteAutoSnapshotRequest(params)
3327//
3328//    err := req.Send()
3329//    if err == nil { // resp is now filled
3330//        fmt.Println(resp)
3331//    }
3332//
3333// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3334func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
3335	op := &request.Operation{
3336		Name:       opDeleteAutoSnapshot,
3337		HTTPMethod: "POST",
3338		HTTPPath:   "/",
3339	}
3340
3341	if input == nil {
3342		input = &DeleteAutoSnapshotInput{}
3343	}
3344
3345	output = &DeleteAutoSnapshotOutput{}
3346	req = c.newRequest(op, input, output)
3347	return
3348}
3349
3350// DeleteAutoSnapshot API operation for Amazon Lightsail.
3351//
3352// Deletes an automatic snapshot of an instance or disk. For more information,
3353// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
3354//
3355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3356// with awserr.Error's Code and Message methods to get detailed information about
3357// the error.
3358//
3359// See the AWS API reference guide for Amazon Lightsail's
3360// API operation DeleteAutoSnapshot for usage and error information.
3361//
3362// Returned Error Types:
3363//   * ServiceException
3364//   A general service exception.
3365//
3366//   * InvalidInputException
3367//   Lightsail throws this exception when user input does not conform to the validation
3368//   rules of an input field.
3369//
3370//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3371//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3372//   view, or edit these resources.
3373//
3374//   * NotFoundException
3375//   Lightsail throws this exception when it cannot find a resource.
3376//
3377//   * OperationFailureException
3378//   Lightsail throws this exception when an operation fails to execute.
3379//
3380//   * AccessDeniedException
3381//   Lightsail throws this exception when the user cannot be authenticated or
3382//   uses invalid credentials to access a resource.
3383//
3384//   * UnauthenticatedException
3385//   Lightsail throws this exception when the user has not been authenticated.
3386//
3387// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3388func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
3389	req, out := c.DeleteAutoSnapshotRequest(input)
3390	return out, req.Send()
3391}
3392
3393// DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
3394// the ability to pass a context and additional request options.
3395//
3396// See DeleteAutoSnapshot for details on how to use this API operation.
3397//
3398// The context must be non-nil and will be used for request cancellation. If
3399// the context is nil a panic will occur. In the future the SDK may create
3400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3401// for more information on using Contexts.
3402func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
3403	req, out := c.DeleteAutoSnapshotRequest(input)
3404	req.SetContext(ctx)
3405	req.ApplyOptions(opts...)
3406	return out, req.Send()
3407}
3408
3409const opDeleteCertificate = "DeleteCertificate"
3410
3411// DeleteCertificateRequest generates a "aws/request.Request" representing the
3412// client's request for the DeleteCertificate operation. The "output" return
3413// value will be populated with the request's response once the request completes
3414// successfully.
3415//
3416// Use "Send" method on the returned Request to send the API call to the service.
3417// the "output" return value is not valid until after Send returns without error.
3418//
3419// See DeleteCertificate for more information on using the DeleteCertificate
3420// API call, and error handling.
3421//
3422// This method is useful when you want to inject custom logic or configuration
3423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3424//
3425//
3426//    // Example sending a request using the DeleteCertificateRequest method.
3427//    req, resp := client.DeleteCertificateRequest(params)
3428//
3429//    err := req.Send()
3430//    if err == nil { // resp is now filled
3431//        fmt.Println(resp)
3432//    }
3433//
3434// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3435func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) {
3436	op := &request.Operation{
3437		Name:       opDeleteCertificate,
3438		HTTPMethod: "POST",
3439		HTTPPath:   "/",
3440	}
3441
3442	if input == nil {
3443		input = &DeleteCertificateInput{}
3444	}
3445
3446	output = &DeleteCertificateOutput{}
3447	req = c.newRequest(op, input, output)
3448	return
3449}
3450
3451// DeleteCertificate API operation for Amazon Lightsail.
3452//
3453// Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery
3454// network (CDN) distribution.
3455//
3456// Certificates that are currently attached to a distribution cannot be deleted.
3457// Use the DetachCertificateFromDistribution action to detach a certificate
3458// from a distribution.
3459//
3460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3461// with awserr.Error's Code and Message methods to get detailed information about
3462// the error.
3463//
3464// See the AWS API reference guide for Amazon Lightsail's
3465// API operation DeleteCertificate for usage and error information.
3466//
3467// Returned Error Types:
3468//   * ServiceException
3469//   A general service exception.
3470//
3471//   * InvalidInputException
3472//   Lightsail throws this exception when user input does not conform to the validation
3473//   rules of an input field.
3474//
3475//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3476//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3477//   view, or edit these resources.
3478//
3479//   * AccessDeniedException
3480//   Lightsail throws this exception when the user cannot be authenticated or
3481//   uses invalid credentials to access a resource.
3482//
3483//   * NotFoundException
3484//   Lightsail throws this exception when it cannot find a resource.
3485//
3486//   * UnauthenticatedException
3487//   Lightsail throws this exception when the user has not been authenticated.
3488//
3489// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3490func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) {
3491	req, out := c.DeleteCertificateRequest(input)
3492	return out, req.Send()
3493}
3494
3495// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of
3496// the ability to pass a context and additional request options.
3497//
3498// See DeleteCertificate for details on how to use this API operation.
3499//
3500// The context must be non-nil and will be used for request cancellation. If
3501// the context is nil a panic will occur. In the future the SDK may create
3502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3503// for more information on using Contexts.
3504func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) {
3505	req, out := c.DeleteCertificateRequest(input)
3506	req.SetContext(ctx)
3507	req.ApplyOptions(opts...)
3508	return out, req.Send()
3509}
3510
3511const opDeleteContactMethod = "DeleteContactMethod"
3512
3513// DeleteContactMethodRequest generates a "aws/request.Request" representing the
3514// client's request for the DeleteContactMethod operation. The "output" return
3515// value will be populated with the request's response once the request completes
3516// successfully.
3517//
3518// Use "Send" method on the returned Request to send the API call to the service.
3519// the "output" return value is not valid until after Send returns without error.
3520//
3521// See DeleteContactMethod for more information on using the DeleteContactMethod
3522// API call, and error handling.
3523//
3524// This method is useful when you want to inject custom logic or configuration
3525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3526//
3527//
3528//    // Example sending a request using the DeleteContactMethodRequest method.
3529//    req, resp := client.DeleteContactMethodRequest(params)
3530//
3531//    err := req.Send()
3532//    if err == nil { // resp is now filled
3533//        fmt.Println(resp)
3534//    }
3535//
3536// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
3537func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) {
3538	op := &request.Operation{
3539		Name:       opDeleteContactMethod,
3540		HTTPMethod: "POST",
3541		HTTPPath:   "/",
3542	}
3543
3544	if input == nil {
3545		input = &DeleteContactMethodInput{}
3546	}
3547
3548	output = &DeleteContactMethodOutput{}
3549	req = c.newRequest(op, input, output)
3550	return
3551}
3552
3553// DeleteContactMethod API operation for Amazon Lightsail.
3554//
3555// Deletes a contact method.
3556//
3557// A contact method is used to send you notifications about your Amazon Lightsail
3558// resources. You can add one email address and one mobile phone number contact
3559// method in each AWS Region. However, SMS text messaging is not supported in
3560// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
3561// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
3562//
3563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3564// with awserr.Error's Code and Message methods to get detailed information about
3565// the error.
3566//
3567// See the AWS API reference guide for Amazon Lightsail's
3568// API operation DeleteContactMethod for usage and error information.
3569//
3570// Returned Error Types:
3571//   * ServiceException
3572//   A general service exception.
3573//
3574//   * InvalidInputException
3575//   Lightsail throws this exception when user input does not conform to the validation
3576//   rules of an input field.
3577//
3578//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3579//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3580//   view, or edit these resources.
3581//
3582//   * OperationFailureException
3583//   Lightsail throws this exception when an operation fails to execute.
3584//
3585//   * UnauthenticatedException
3586//   Lightsail throws this exception when the user has not been authenticated.
3587//
3588//   * AccessDeniedException
3589//   Lightsail throws this exception when the user cannot be authenticated or
3590//   uses invalid credentials to access a resource.
3591//
3592//   * NotFoundException
3593//   Lightsail throws this exception when it cannot find a resource.
3594//
3595// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
3596func (c *Lightsail) DeleteContactMethod(input *DeleteContactMethodInput) (*DeleteContactMethodOutput, error) {
3597	req, out := c.DeleteContactMethodRequest(input)
3598	return out, req.Send()
3599}
3600
3601// DeleteContactMethodWithContext is the same as DeleteContactMethod with the addition of
3602// the ability to pass a context and additional request options.
3603//
3604// See DeleteContactMethod for details on how to use this API operation.
3605//
3606// The context must be non-nil and will be used for request cancellation. If
3607// the context is nil a panic will occur. In the future the SDK may create
3608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3609// for more information on using Contexts.
3610func (c *Lightsail) DeleteContactMethodWithContext(ctx aws.Context, input *DeleteContactMethodInput, opts ...request.Option) (*DeleteContactMethodOutput, error) {
3611	req, out := c.DeleteContactMethodRequest(input)
3612	req.SetContext(ctx)
3613	req.ApplyOptions(opts...)
3614	return out, req.Send()
3615}
3616
3617const opDeleteContainerImage = "DeleteContainerImage"
3618
3619// DeleteContainerImageRequest generates a "aws/request.Request" representing the
3620// client's request for the DeleteContainerImage operation. The "output" return
3621// value will be populated with the request's response once the request completes
3622// successfully.
3623//
3624// Use "Send" method on the returned Request to send the API call to the service.
3625// the "output" return value is not valid until after Send returns without error.
3626//
3627// See DeleteContainerImage for more information on using the DeleteContainerImage
3628// API call, and error handling.
3629//
3630// This method is useful when you want to inject custom logic or configuration
3631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3632//
3633//
3634//    // Example sending a request using the DeleteContainerImageRequest method.
3635//    req, resp := client.DeleteContainerImageRequest(params)
3636//
3637//    err := req.Send()
3638//    if err == nil { // resp is now filled
3639//        fmt.Println(resp)
3640//    }
3641//
3642// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
3643func (c *Lightsail) DeleteContainerImageRequest(input *DeleteContainerImageInput) (req *request.Request, output *DeleteContainerImageOutput) {
3644	op := &request.Operation{
3645		Name:       opDeleteContainerImage,
3646		HTTPMethod: "POST",
3647		HTTPPath:   "/",
3648	}
3649
3650	if input == nil {
3651		input = &DeleteContainerImageInput{}
3652	}
3653
3654	output = &DeleteContainerImageOutput{}
3655	req = c.newRequest(op, input, output)
3656	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3657	return
3658}
3659
3660// DeleteContainerImage API operation for Amazon Lightsail.
3661//
3662// Deletes a container image that is registered to your Amazon Lightsail container
3663// service.
3664//
3665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3666// with awserr.Error's Code and Message methods to get detailed information about
3667// the error.
3668//
3669// See the AWS API reference guide for Amazon Lightsail's
3670// API operation DeleteContainerImage for usage and error information.
3671//
3672// Returned Error Types:
3673//   * ServiceException
3674//   A general service exception.
3675//
3676//   * InvalidInputException
3677//   Lightsail throws this exception when user input does not conform to the validation
3678//   rules of an input field.
3679//
3680//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3681//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3682//   view, or edit these resources.
3683//
3684//   * NotFoundException
3685//   Lightsail throws this exception when it cannot find a resource.
3686//
3687//   * AccessDeniedException
3688//   Lightsail throws this exception when the user cannot be authenticated or
3689//   uses invalid credentials to access a resource.
3690//
3691//   * UnauthenticatedException
3692//   Lightsail throws this exception when the user has not been authenticated.
3693//
3694// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerImage
3695func (c *Lightsail) DeleteContainerImage(input *DeleteContainerImageInput) (*DeleteContainerImageOutput, error) {
3696	req, out := c.DeleteContainerImageRequest(input)
3697	return out, req.Send()
3698}
3699
3700// DeleteContainerImageWithContext is the same as DeleteContainerImage with the addition of
3701// the ability to pass a context and additional request options.
3702//
3703// See DeleteContainerImage for details on how to use this API operation.
3704//
3705// The context must be non-nil and will be used for request cancellation. If
3706// the context is nil a panic will occur. In the future the SDK may create
3707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3708// for more information on using Contexts.
3709func (c *Lightsail) DeleteContainerImageWithContext(ctx aws.Context, input *DeleteContainerImageInput, opts ...request.Option) (*DeleteContainerImageOutput, error) {
3710	req, out := c.DeleteContainerImageRequest(input)
3711	req.SetContext(ctx)
3712	req.ApplyOptions(opts...)
3713	return out, req.Send()
3714}
3715
3716const opDeleteContainerService = "DeleteContainerService"
3717
3718// DeleteContainerServiceRequest generates a "aws/request.Request" representing the
3719// client's request for the DeleteContainerService operation. The "output" return
3720// value will be populated with the request's response once the request completes
3721// successfully.
3722//
3723// Use "Send" method on the returned Request to send the API call to the service.
3724// the "output" return value is not valid until after Send returns without error.
3725//
3726// See DeleteContainerService for more information on using the DeleteContainerService
3727// API call, and error handling.
3728//
3729// This method is useful when you want to inject custom logic or configuration
3730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3731//
3732//
3733//    // Example sending a request using the DeleteContainerServiceRequest method.
3734//    req, resp := client.DeleteContainerServiceRequest(params)
3735//
3736//    err := req.Send()
3737//    if err == nil { // resp is now filled
3738//        fmt.Println(resp)
3739//    }
3740//
3741// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
3742func (c *Lightsail) DeleteContainerServiceRequest(input *DeleteContainerServiceInput) (req *request.Request, output *DeleteContainerServiceOutput) {
3743	op := &request.Operation{
3744		Name:       opDeleteContainerService,
3745		HTTPMethod: "POST",
3746		HTTPPath:   "/",
3747	}
3748
3749	if input == nil {
3750		input = &DeleteContainerServiceInput{}
3751	}
3752
3753	output = &DeleteContainerServiceOutput{}
3754	req = c.newRequest(op, input, output)
3755	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3756	return
3757}
3758
3759// DeleteContainerService API operation for Amazon Lightsail.
3760//
3761// Deletes your Amazon Lightsail container service.
3762//
3763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3764// with awserr.Error's Code and Message methods to get detailed information about
3765// the error.
3766//
3767// See the AWS API reference guide for Amazon Lightsail's
3768// API operation DeleteContainerService for usage and error information.
3769//
3770// Returned Error Types:
3771//   * ServiceException
3772//   A general service exception.
3773//
3774//   * InvalidInputException
3775//   Lightsail throws this exception when user input does not conform to the validation
3776//   rules of an input field.
3777//
3778//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3779//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3780//   view, or edit these resources.
3781//
3782//   * NotFoundException
3783//   Lightsail throws this exception when it cannot find a resource.
3784//
3785//   * AccessDeniedException
3786//   Lightsail throws this exception when the user cannot be authenticated or
3787//   uses invalid credentials to access a resource.
3788//
3789//   * UnauthenticatedException
3790//   Lightsail throws this exception when the user has not been authenticated.
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContainerService
3793func (c *Lightsail) DeleteContainerService(input *DeleteContainerServiceInput) (*DeleteContainerServiceOutput, error) {
3794	req, out := c.DeleteContainerServiceRequest(input)
3795	return out, req.Send()
3796}
3797
3798// DeleteContainerServiceWithContext is the same as DeleteContainerService with the addition of
3799// the ability to pass a context and additional request options.
3800//
3801// See DeleteContainerService for details on how to use this API operation.
3802//
3803// The context must be non-nil and will be used for request cancellation. If
3804// the context is nil a panic will occur. In the future the SDK may create
3805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3806// for more information on using Contexts.
3807func (c *Lightsail) DeleteContainerServiceWithContext(ctx aws.Context, input *DeleteContainerServiceInput, opts ...request.Option) (*DeleteContainerServiceOutput, error) {
3808	req, out := c.DeleteContainerServiceRequest(input)
3809	req.SetContext(ctx)
3810	req.ApplyOptions(opts...)
3811	return out, req.Send()
3812}
3813
3814const opDeleteDisk = "DeleteDisk"
3815
3816// DeleteDiskRequest generates a "aws/request.Request" representing the
3817// client's request for the DeleteDisk operation. The "output" return
3818// value will be populated with the request's response once the request completes
3819// successfully.
3820//
3821// Use "Send" method on the returned Request to send the API call to the service.
3822// the "output" return value is not valid until after Send returns without error.
3823//
3824// See DeleteDisk for more information on using the DeleteDisk
3825// API call, and error handling.
3826//
3827// This method is useful when you want to inject custom logic or configuration
3828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3829//
3830//
3831//    // Example sending a request using the DeleteDiskRequest method.
3832//    req, resp := client.DeleteDiskRequest(params)
3833//
3834//    err := req.Send()
3835//    if err == nil { // resp is now filled
3836//        fmt.Println(resp)
3837//    }
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
3840func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
3841	op := &request.Operation{
3842		Name:       opDeleteDisk,
3843		HTTPMethod: "POST",
3844		HTTPPath:   "/",
3845	}
3846
3847	if input == nil {
3848		input = &DeleteDiskInput{}
3849	}
3850
3851	output = &DeleteDiskOutput{}
3852	req = c.newRequest(op, input, output)
3853	return
3854}
3855
3856// DeleteDisk API operation for Amazon Lightsail.
3857//
3858// Deletes the specified block storage disk. The disk must be in the available
3859// state (not attached to a Lightsail instance).
3860//
3861// The disk may remain in the deleting state for several minutes.
3862//
3863// The delete disk operation supports tag-based access control via resource
3864// tags applied to the resource identified by disk name. For more information,
3865// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3866//
3867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3868// with awserr.Error's Code and Message methods to get detailed information about
3869// the error.
3870//
3871// See the AWS API reference guide for Amazon Lightsail's
3872// API operation DeleteDisk for usage and error information.
3873//
3874// Returned Error Types:
3875//   * ServiceException
3876//   A general service exception.
3877//
3878//   * InvalidInputException
3879//   Lightsail throws this exception when user input does not conform to the validation
3880//   rules of an input field.
3881//
3882//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3883//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3884//   view, or edit these resources.
3885//
3886//   * NotFoundException
3887//   Lightsail throws this exception when it cannot find a resource.
3888//
3889//   * OperationFailureException
3890//   Lightsail throws this exception when an operation fails to execute.
3891//
3892//   * AccessDeniedException
3893//   Lightsail throws this exception when the user cannot be authenticated or
3894//   uses invalid credentials to access a resource.
3895//
3896//   * AccountSetupInProgressException
3897//   Lightsail throws this exception when an account is still in the setup in
3898//   progress state.
3899//
3900//   * UnauthenticatedException
3901//   Lightsail throws this exception when the user has not been authenticated.
3902//
3903// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
3904func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
3905	req, out := c.DeleteDiskRequest(input)
3906	return out, req.Send()
3907}
3908
3909// DeleteDiskWithContext is the same as DeleteDisk with the addition of
3910// the ability to pass a context and additional request options.
3911//
3912// See DeleteDisk for details on how to use this API operation.
3913//
3914// The context must be non-nil and will be used for request cancellation. If
3915// the context is nil a panic will occur. In the future the SDK may create
3916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3917// for more information on using Contexts.
3918func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
3919	req, out := c.DeleteDiskRequest(input)
3920	req.SetContext(ctx)
3921	req.ApplyOptions(opts...)
3922	return out, req.Send()
3923}
3924
3925const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
3926
3927// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
3928// client's request for the DeleteDiskSnapshot operation. The "output" return
3929// value will be populated with the request's response once the request completes
3930// successfully.
3931//
3932// Use "Send" method on the returned Request to send the API call to the service.
3933// the "output" return value is not valid until after Send returns without error.
3934//
3935// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
3936// API call, and error handling.
3937//
3938// This method is useful when you want to inject custom logic or configuration
3939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3940//
3941//
3942//    // Example sending a request using the DeleteDiskSnapshotRequest method.
3943//    req, resp := client.DeleteDiskSnapshotRequest(params)
3944//
3945//    err := req.Send()
3946//    if err == nil { // resp is now filled
3947//        fmt.Println(resp)
3948//    }
3949//
3950// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
3951func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
3952	op := &request.Operation{
3953		Name:       opDeleteDiskSnapshot,
3954		HTTPMethod: "POST",
3955		HTTPPath:   "/",
3956	}
3957
3958	if input == nil {
3959		input = &DeleteDiskSnapshotInput{}
3960	}
3961
3962	output = &DeleteDiskSnapshotOutput{}
3963	req = c.newRequest(op, input, output)
3964	return
3965}
3966
3967// DeleteDiskSnapshot API operation for Amazon Lightsail.
3968//
3969// Deletes the specified disk snapshot.
3970//
3971// When you make periodic snapshots of a disk, the snapshots are incremental,
3972// and only the blocks on the device that have changed since your last snapshot
3973// are saved in the new snapshot. When you delete a snapshot, only the data
3974// not needed for any other snapshot is removed. So regardless of which prior
3975// snapshots have been deleted, all active snapshots will have access to all
3976// the information needed to restore the disk.
3977//
3978// The delete disk snapshot operation supports tag-based access control via
3979// resource tags applied to the resource identified by disk snapshot name. For
3980// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3981//
3982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3983// with awserr.Error's Code and Message methods to get detailed information about
3984// the error.
3985//
3986// See the AWS API reference guide for Amazon Lightsail's
3987// API operation DeleteDiskSnapshot for usage and error information.
3988//
3989// Returned Error Types:
3990//   * ServiceException
3991//   A general service exception.
3992//
3993//   * InvalidInputException
3994//   Lightsail throws this exception when user input does not conform to the validation
3995//   rules of an input field.
3996//
3997//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
3998//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
3999//   view, or edit these resources.
4000//
4001//   * NotFoundException
4002//   Lightsail throws this exception when it cannot find a resource.
4003//
4004//   * OperationFailureException
4005//   Lightsail throws this exception when an operation fails to execute.
4006//
4007//   * AccessDeniedException
4008//   Lightsail throws this exception when the user cannot be authenticated or
4009//   uses invalid credentials to access a resource.
4010//
4011//   * AccountSetupInProgressException
4012//   Lightsail throws this exception when an account is still in the setup in
4013//   progress state.
4014//
4015//   * UnauthenticatedException
4016//   Lightsail throws this exception when the user has not been authenticated.
4017//
4018// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
4019func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
4020	req, out := c.DeleteDiskSnapshotRequest(input)
4021	return out, req.Send()
4022}
4023
4024// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
4025// the ability to pass a context and additional request options.
4026//
4027// See DeleteDiskSnapshot for details on how to use this API operation.
4028//
4029// The context must be non-nil and will be used for request cancellation. If
4030// the context is nil a panic will occur. In the future the SDK may create
4031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4032// for more information on using Contexts.
4033func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
4034	req, out := c.DeleteDiskSnapshotRequest(input)
4035	req.SetContext(ctx)
4036	req.ApplyOptions(opts...)
4037	return out, req.Send()
4038}
4039
4040const opDeleteDistribution = "DeleteDistribution"
4041
4042// DeleteDistributionRequest generates a "aws/request.Request" representing the
4043// client's request for the DeleteDistribution operation. The "output" return
4044// value will be populated with the request's response once the request completes
4045// successfully.
4046//
4047// Use "Send" method on the returned Request to send the API call to the service.
4048// the "output" return value is not valid until after Send returns without error.
4049//
4050// See DeleteDistribution for more information on using the DeleteDistribution
4051// API call, and error handling.
4052//
4053// This method is useful when you want to inject custom logic or configuration
4054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4055//
4056//
4057//    // Example sending a request using the DeleteDistributionRequest method.
4058//    req, resp := client.DeleteDistributionRequest(params)
4059//
4060//    err := req.Send()
4061//    if err == nil { // resp is now filled
4062//        fmt.Println(resp)
4063//    }
4064//
4065// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
4066func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) {
4067	op := &request.Operation{
4068		Name:       opDeleteDistribution,
4069		HTTPMethod: "POST",
4070		HTTPPath:   "/",
4071	}
4072
4073	if input == nil {
4074		input = &DeleteDistributionInput{}
4075	}
4076
4077	output = &DeleteDistributionOutput{}
4078	req = c.newRequest(op, input, output)
4079	return
4080}
4081
4082// DeleteDistribution API operation for Amazon Lightsail.
4083//
4084// Deletes your Amazon Lightsail content delivery network (CDN) distribution.
4085//
4086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4087// with awserr.Error's Code and Message methods to get detailed information about
4088// the error.
4089//
4090// See the AWS API reference guide for Amazon Lightsail's
4091// API operation DeleteDistribution for usage and error information.
4092//
4093// Returned Error Types:
4094//   * ServiceException
4095//   A general service exception.
4096//
4097//   * InvalidInputException
4098//   Lightsail throws this exception when user input does not conform to the validation
4099//   rules of an input field.
4100//
4101//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4102//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4103//   view, or edit these resources.
4104//
4105//   * NotFoundException
4106//   Lightsail throws this exception when it cannot find a resource.
4107//
4108//   * OperationFailureException
4109//   Lightsail throws this exception when an operation fails to execute.
4110//
4111//   * AccessDeniedException
4112//   Lightsail throws this exception when the user cannot be authenticated or
4113//   uses invalid credentials to access a resource.
4114//
4115//   * UnauthenticatedException
4116//   Lightsail throws this exception when the user has not been authenticated.
4117//
4118// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
4119func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) {
4120	req, out := c.DeleteDistributionRequest(input)
4121	return out, req.Send()
4122}
4123
4124// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of
4125// the ability to pass a context and additional request options.
4126//
4127// See DeleteDistribution for details on how to use this API operation.
4128//
4129// The context must be non-nil and will be used for request cancellation. If
4130// the context is nil a panic will occur. In the future the SDK may create
4131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4132// for more information on using Contexts.
4133func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) {
4134	req, out := c.DeleteDistributionRequest(input)
4135	req.SetContext(ctx)
4136	req.ApplyOptions(opts...)
4137	return out, req.Send()
4138}
4139
4140const opDeleteDomain = "DeleteDomain"
4141
4142// DeleteDomainRequest generates a "aws/request.Request" representing the
4143// client's request for the DeleteDomain operation. The "output" return
4144// value will be populated with the request's response once the request completes
4145// successfully.
4146//
4147// Use "Send" method on the returned Request to send the API call to the service.
4148// the "output" return value is not valid until after Send returns without error.
4149//
4150// See DeleteDomain for more information on using the DeleteDomain
4151// API call, and error handling.
4152//
4153// This method is useful when you want to inject custom logic or configuration
4154// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4155//
4156//
4157//    // Example sending a request using the DeleteDomainRequest method.
4158//    req, resp := client.DeleteDomainRequest(params)
4159//
4160//    err := req.Send()
4161//    if err == nil { // resp is now filled
4162//        fmt.Println(resp)
4163//    }
4164//
4165// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
4166func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
4167	op := &request.Operation{
4168		Name:       opDeleteDomain,
4169		HTTPMethod: "POST",
4170		HTTPPath:   "/",
4171	}
4172
4173	if input == nil {
4174		input = &DeleteDomainInput{}
4175	}
4176
4177	output = &DeleteDomainOutput{}
4178	req = c.newRequest(op, input, output)
4179	return
4180}
4181
4182// DeleteDomain API operation for Amazon Lightsail.
4183//
4184// Deletes the specified domain recordset and all of its domain records.
4185//
4186// The delete domain operation supports tag-based access control via resource
4187// tags applied to the resource identified by domain name. For more information,
4188// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4189//
4190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4191// with awserr.Error's Code and Message methods to get detailed information about
4192// the error.
4193//
4194// See the AWS API reference guide for Amazon Lightsail's
4195// API operation DeleteDomain for usage and error information.
4196//
4197// Returned Error Types:
4198//   * ServiceException
4199//   A general service exception.
4200//
4201//   * InvalidInputException
4202//   Lightsail throws this exception when user input does not conform to the validation
4203//   rules of an input field.
4204//
4205//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4206//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4207//   view, or edit these resources.
4208//
4209//   * NotFoundException
4210//   Lightsail throws this exception when it cannot find a resource.
4211//
4212//   * OperationFailureException
4213//   Lightsail throws this exception when an operation fails to execute.
4214//
4215//   * AccessDeniedException
4216//   Lightsail throws this exception when the user cannot be authenticated or
4217//   uses invalid credentials to access a resource.
4218//
4219//   * AccountSetupInProgressException
4220//   Lightsail throws this exception when an account is still in the setup in
4221//   progress state.
4222//
4223//   * UnauthenticatedException
4224//   Lightsail throws this exception when the user has not been authenticated.
4225//
4226// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
4227func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
4228	req, out := c.DeleteDomainRequest(input)
4229	return out, req.Send()
4230}
4231
4232// DeleteDomainWithContext is the same as DeleteDomain with the addition of
4233// the ability to pass a context and additional request options.
4234//
4235// See DeleteDomain for details on how to use this API operation.
4236//
4237// The context must be non-nil and will be used for request cancellation. If
4238// the context is nil a panic will occur. In the future the SDK may create
4239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4240// for more information on using Contexts.
4241func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
4242	req, out := c.DeleteDomainRequest(input)
4243	req.SetContext(ctx)
4244	req.ApplyOptions(opts...)
4245	return out, req.Send()
4246}
4247
4248const opDeleteDomainEntry = "DeleteDomainEntry"
4249
4250// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
4251// client's request for the DeleteDomainEntry operation. The "output" return
4252// value will be populated with the request's response once the request completes
4253// successfully.
4254//
4255// Use "Send" method on the returned Request to send the API call to the service.
4256// the "output" return value is not valid until after Send returns without error.
4257//
4258// See DeleteDomainEntry for more information on using the DeleteDomainEntry
4259// API call, and error handling.
4260//
4261// This method is useful when you want to inject custom logic or configuration
4262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4263//
4264//
4265//    // Example sending a request using the DeleteDomainEntryRequest method.
4266//    req, resp := client.DeleteDomainEntryRequest(params)
4267//
4268//    err := req.Send()
4269//    if err == nil { // resp is now filled
4270//        fmt.Println(resp)
4271//    }
4272//
4273// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
4274func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
4275	op := &request.Operation{
4276		Name:       opDeleteDomainEntry,
4277		HTTPMethod: "POST",
4278		HTTPPath:   "/",
4279	}
4280
4281	if input == nil {
4282		input = &DeleteDomainEntryInput{}
4283	}
4284
4285	output = &DeleteDomainEntryOutput{}
4286	req = c.newRequest(op, input, output)
4287	return
4288}
4289
4290// DeleteDomainEntry API operation for Amazon Lightsail.
4291//
4292// Deletes a specific domain entry.
4293//
4294// The delete domain entry operation supports tag-based access control via resource
4295// tags applied to the resource identified by domain name. For more information,
4296// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4297//
4298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4299// with awserr.Error's Code and Message methods to get detailed information about
4300// the error.
4301//
4302// See the AWS API reference guide for Amazon Lightsail's
4303// API operation DeleteDomainEntry for usage and error information.
4304//
4305// Returned Error Types:
4306//   * ServiceException
4307//   A general service exception.
4308//
4309//   * InvalidInputException
4310//   Lightsail throws this exception when user input does not conform to the validation
4311//   rules of an input field.
4312//
4313//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4314//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4315//   view, or edit these resources.
4316//
4317//   * NotFoundException
4318//   Lightsail throws this exception when it cannot find a resource.
4319//
4320//   * OperationFailureException
4321//   Lightsail throws this exception when an operation fails to execute.
4322//
4323//   * AccessDeniedException
4324//   Lightsail throws this exception when the user cannot be authenticated or
4325//   uses invalid credentials to access a resource.
4326//
4327//   * AccountSetupInProgressException
4328//   Lightsail throws this exception when an account is still in the setup in
4329//   progress state.
4330//
4331//   * UnauthenticatedException
4332//   Lightsail throws this exception when the user has not been authenticated.
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
4335func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
4336	req, out := c.DeleteDomainEntryRequest(input)
4337	return out, req.Send()
4338}
4339
4340// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
4341// the ability to pass a context and additional request options.
4342//
4343// See DeleteDomainEntry for details on how to use this API operation.
4344//
4345// The context must be non-nil and will be used for request cancellation. If
4346// the context is nil a panic will occur. In the future the SDK may create
4347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4348// for more information on using Contexts.
4349func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
4350	req, out := c.DeleteDomainEntryRequest(input)
4351	req.SetContext(ctx)
4352	req.ApplyOptions(opts...)
4353	return out, req.Send()
4354}
4355
4356const opDeleteInstance = "DeleteInstance"
4357
4358// DeleteInstanceRequest generates a "aws/request.Request" representing the
4359// client's request for the DeleteInstance operation. The "output" return
4360// value will be populated with the request's response once the request completes
4361// successfully.
4362//
4363// Use "Send" method on the returned Request to send the API call to the service.
4364// the "output" return value is not valid until after Send returns without error.
4365//
4366// See DeleteInstance for more information on using the DeleteInstance
4367// API call, and error handling.
4368//
4369// This method is useful when you want to inject custom logic or configuration
4370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4371//
4372//
4373//    // Example sending a request using the DeleteInstanceRequest method.
4374//    req, resp := client.DeleteInstanceRequest(params)
4375//
4376//    err := req.Send()
4377//    if err == nil { // resp is now filled
4378//        fmt.Println(resp)
4379//    }
4380//
4381// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
4382func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
4383	op := &request.Operation{
4384		Name:       opDeleteInstance,
4385		HTTPMethod: "POST",
4386		HTTPPath:   "/",
4387	}
4388
4389	if input == nil {
4390		input = &DeleteInstanceInput{}
4391	}
4392
4393	output = &DeleteInstanceOutput{}
4394	req = c.newRequest(op, input, output)
4395	return
4396}
4397
4398// DeleteInstance API operation for Amazon Lightsail.
4399//
4400// Deletes an Amazon Lightsail instance.
4401//
4402// The delete instance operation supports tag-based access control via resource
4403// tags applied to the resource identified by instance name. For more information,
4404// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4405//
4406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4407// with awserr.Error's Code and Message methods to get detailed information about
4408// the error.
4409//
4410// See the AWS API reference guide for Amazon Lightsail's
4411// API operation DeleteInstance for usage and error information.
4412//
4413// Returned Error Types:
4414//   * ServiceException
4415//   A general service exception.
4416//
4417//   * InvalidInputException
4418//   Lightsail throws this exception when user input does not conform to the validation
4419//   rules of an input field.
4420//
4421//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4422//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4423//   view, or edit these resources.
4424//
4425//   * NotFoundException
4426//   Lightsail throws this exception when it cannot find a resource.
4427//
4428//   * OperationFailureException
4429//   Lightsail throws this exception when an operation fails to execute.
4430//
4431//   * AccessDeniedException
4432//   Lightsail throws this exception when the user cannot be authenticated or
4433//   uses invalid credentials to access a resource.
4434//
4435//   * AccountSetupInProgressException
4436//   Lightsail throws this exception when an account is still in the setup in
4437//   progress state.
4438//
4439//   * UnauthenticatedException
4440//   Lightsail throws this exception when the user has not been authenticated.
4441//
4442// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
4443func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
4444	req, out := c.DeleteInstanceRequest(input)
4445	return out, req.Send()
4446}
4447
4448// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
4449// the ability to pass a context and additional request options.
4450//
4451// See DeleteInstance for details on how to use this API operation.
4452//
4453// The context must be non-nil and will be used for request cancellation. If
4454// the context is nil a panic will occur. In the future the SDK may create
4455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4456// for more information on using Contexts.
4457func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
4458	req, out := c.DeleteInstanceRequest(input)
4459	req.SetContext(ctx)
4460	req.ApplyOptions(opts...)
4461	return out, req.Send()
4462}
4463
4464const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
4465
4466// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
4467// client's request for the DeleteInstanceSnapshot operation. The "output" return
4468// value will be populated with the request's response once the request completes
4469// successfully.
4470//
4471// Use "Send" method on the returned Request to send the API call to the service.
4472// the "output" return value is not valid until after Send returns without error.
4473//
4474// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
4475// API call, and error handling.
4476//
4477// This method is useful when you want to inject custom logic or configuration
4478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4479//
4480//
4481//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
4482//    req, resp := client.DeleteInstanceSnapshotRequest(params)
4483//
4484//    err := req.Send()
4485//    if err == nil { // resp is now filled
4486//        fmt.Println(resp)
4487//    }
4488//
4489// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
4490func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
4491	op := &request.Operation{
4492		Name:       opDeleteInstanceSnapshot,
4493		HTTPMethod: "POST",
4494		HTTPPath:   "/",
4495	}
4496
4497	if input == nil {
4498		input = &DeleteInstanceSnapshotInput{}
4499	}
4500
4501	output = &DeleteInstanceSnapshotOutput{}
4502	req = c.newRequest(op, input, output)
4503	return
4504}
4505
4506// DeleteInstanceSnapshot API operation for Amazon Lightsail.
4507//
4508// Deletes a specific snapshot of a virtual private server (or instance).
4509//
4510// The delete instance snapshot operation supports tag-based access control
4511// via resource tags applied to the resource identified by instance snapshot
4512// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4513//
4514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4515// with awserr.Error's Code and Message methods to get detailed information about
4516// the error.
4517//
4518// See the AWS API reference guide for Amazon Lightsail's
4519// API operation DeleteInstanceSnapshot for usage and error information.
4520//
4521// Returned Error Types:
4522//   * ServiceException
4523//   A general service exception.
4524//
4525//   * InvalidInputException
4526//   Lightsail throws this exception when user input does not conform to the validation
4527//   rules of an input field.
4528//
4529//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4530//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4531//   view, or edit these resources.
4532//
4533//   * NotFoundException
4534//   Lightsail throws this exception when it cannot find a resource.
4535//
4536//   * OperationFailureException
4537//   Lightsail throws this exception when an operation fails to execute.
4538//
4539//   * AccessDeniedException
4540//   Lightsail throws this exception when the user cannot be authenticated or
4541//   uses invalid credentials to access a resource.
4542//
4543//   * AccountSetupInProgressException
4544//   Lightsail throws this exception when an account is still in the setup in
4545//   progress state.
4546//
4547//   * UnauthenticatedException
4548//   Lightsail throws this exception when the user has not been authenticated.
4549//
4550// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
4551func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
4552	req, out := c.DeleteInstanceSnapshotRequest(input)
4553	return out, req.Send()
4554}
4555
4556// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
4557// the ability to pass a context and additional request options.
4558//
4559// See DeleteInstanceSnapshot for details on how to use this API operation.
4560//
4561// The context must be non-nil and will be used for request cancellation. If
4562// the context is nil a panic will occur. In the future the SDK may create
4563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4564// for more information on using Contexts.
4565func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
4566	req, out := c.DeleteInstanceSnapshotRequest(input)
4567	req.SetContext(ctx)
4568	req.ApplyOptions(opts...)
4569	return out, req.Send()
4570}
4571
4572const opDeleteKeyPair = "DeleteKeyPair"
4573
4574// DeleteKeyPairRequest generates a "aws/request.Request" representing the
4575// client's request for the DeleteKeyPair operation. The "output" return
4576// value will be populated with the request's response once the request completes
4577// successfully.
4578//
4579// Use "Send" method on the returned Request to send the API call to the service.
4580// the "output" return value is not valid until after Send returns without error.
4581//
4582// See DeleteKeyPair for more information on using the DeleteKeyPair
4583// API call, and error handling.
4584//
4585// This method is useful when you want to inject custom logic or configuration
4586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4587//
4588//
4589//    // Example sending a request using the DeleteKeyPairRequest method.
4590//    req, resp := client.DeleteKeyPairRequest(params)
4591//
4592//    err := req.Send()
4593//    if err == nil { // resp is now filled
4594//        fmt.Println(resp)
4595//    }
4596//
4597// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
4598func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
4599	op := &request.Operation{
4600		Name:       opDeleteKeyPair,
4601		HTTPMethod: "POST",
4602		HTTPPath:   "/",
4603	}
4604
4605	if input == nil {
4606		input = &DeleteKeyPairInput{}
4607	}
4608
4609	output = &DeleteKeyPairOutput{}
4610	req = c.newRequest(op, input, output)
4611	return
4612}
4613
4614// DeleteKeyPair API operation for Amazon Lightsail.
4615//
4616// Deletes a specific SSH key pair.
4617//
4618// The delete key pair operation supports tag-based access control via resource
4619// tags applied to the resource identified by key pair name. For more information,
4620// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4621//
4622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4623// with awserr.Error's Code and Message methods to get detailed information about
4624// the error.
4625//
4626// See the AWS API reference guide for Amazon Lightsail's
4627// API operation DeleteKeyPair for usage and error information.
4628//
4629// Returned Error Types:
4630//   * ServiceException
4631//   A general service exception.
4632//
4633//   * InvalidInputException
4634//   Lightsail throws this exception when user input does not conform to the validation
4635//   rules of an input field.
4636//
4637//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4638//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4639//   view, or edit these resources.
4640//
4641//   * NotFoundException
4642//   Lightsail throws this exception when it cannot find a resource.
4643//
4644//   * OperationFailureException
4645//   Lightsail throws this exception when an operation fails to execute.
4646//
4647//   * AccessDeniedException
4648//   Lightsail throws this exception when the user cannot be authenticated or
4649//   uses invalid credentials to access a resource.
4650//
4651//   * AccountSetupInProgressException
4652//   Lightsail throws this exception when an account is still in the setup in
4653//   progress state.
4654//
4655//   * UnauthenticatedException
4656//   Lightsail throws this exception when the user has not been authenticated.
4657//
4658// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
4659func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
4660	req, out := c.DeleteKeyPairRequest(input)
4661	return out, req.Send()
4662}
4663
4664// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
4665// the ability to pass a context and additional request options.
4666//
4667// See DeleteKeyPair for details on how to use this API operation.
4668//
4669// The context must be non-nil and will be used for request cancellation. If
4670// the context is nil a panic will occur. In the future the SDK may create
4671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4672// for more information on using Contexts.
4673func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
4674	req, out := c.DeleteKeyPairRequest(input)
4675	req.SetContext(ctx)
4676	req.ApplyOptions(opts...)
4677	return out, req.Send()
4678}
4679
4680const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
4681
4682// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
4683// client's request for the DeleteKnownHostKeys operation. The "output" return
4684// value will be populated with the request's response once the request completes
4685// successfully.
4686//
4687// Use "Send" method on the returned Request to send the API call to the service.
4688// the "output" return value is not valid until after Send returns without error.
4689//
4690// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
4691// API call, and error handling.
4692//
4693// This method is useful when you want to inject custom logic or configuration
4694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4695//
4696//
4697//    // Example sending a request using the DeleteKnownHostKeysRequest method.
4698//    req, resp := client.DeleteKnownHostKeysRequest(params)
4699//
4700//    err := req.Send()
4701//    if err == nil { // resp is now filled
4702//        fmt.Println(resp)
4703//    }
4704//
4705// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
4706func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
4707	op := &request.Operation{
4708		Name:       opDeleteKnownHostKeys,
4709		HTTPMethod: "POST",
4710		HTTPPath:   "/",
4711	}
4712
4713	if input == nil {
4714		input = &DeleteKnownHostKeysInput{}
4715	}
4716
4717	output = &DeleteKnownHostKeysOutput{}
4718	req = c.newRequest(op, input, output)
4719	return
4720}
4721
4722// DeleteKnownHostKeys API operation for Amazon Lightsail.
4723//
4724// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
4725// SSH or RDP clients to authenticate an instance. This operation enables the
4726// Lightsail browser-based SSH or RDP clients to connect to the instance after
4727// a host key mismatch.
4728//
4729// Perform this operation only if you were expecting the host key or certificate
4730// mismatch or if you are familiar with the new host key or certificate on the
4731// instance. For more information, see Troubleshooting connection issues when
4732// using the Amazon Lightsail browser-based SSH or RDP client (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-troubleshooting-browser-based-ssh-rdp-client-connection).
4733//
4734// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4735// with awserr.Error's Code and Message methods to get detailed information about
4736// the error.
4737//
4738// See the AWS API reference guide for Amazon Lightsail's
4739// API operation DeleteKnownHostKeys for usage and error information.
4740//
4741// Returned Error Types:
4742//   * ServiceException
4743//   A general service exception.
4744//
4745//   * InvalidInputException
4746//   Lightsail throws this exception when user input does not conform to the validation
4747//   rules of an input field.
4748//
4749//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4750//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4751//   view, or edit these resources.
4752//
4753//   * NotFoundException
4754//   Lightsail throws this exception when it cannot find a resource.
4755//
4756//   * OperationFailureException
4757//   Lightsail throws this exception when an operation fails to execute.
4758//
4759//   * AccessDeniedException
4760//   Lightsail throws this exception when the user cannot be authenticated or
4761//   uses invalid credentials to access a resource.
4762//
4763//   * AccountSetupInProgressException
4764//   Lightsail throws this exception when an account is still in the setup in
4765//   progress state.
4766//
4767//   * UnauthenticatedException
4768//   Lightsail throws this exception when the user has not been authenticated.
4769//
4770// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
4771func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
4772	req, out := c.DeleteKnownHostKeysRequest(input)
4773	return out, req.Send()
4774}
4775
4776// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
4777// the ability to pass a context and additional request options.
4778//
4779// See DeleteKnownHostKeys for details on how to use this API operation.
4780//
4781// The context must be non-nil and will be used for request cancellation. If
4782// the context is nil a panic will occur. In the future the SDK may create
4783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4784// for more information on using Contexts.
4785func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
4786	req, out := c.DeleteKnownHostKeysRequest(input)
4787	req.SetContext(ctx)
4788	req.ApplyOptions(opts...)
4789	return out, req.Send()
4790}
4791
4792const opDeleteLoadBalancer = "DeleteLoadBalancer"
4793
4794// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
4795// client's request for the DeleteLoadBalancer operation. The "output" return
4796// value will be populated with the request's response once the request completes
4797// successfully.
4798//
4799// Use "Send" method on the returned Request to send the API call to the service.
4800// the "output" return value is not valid until after Send returns without error.
4801//
4802// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
4803// API call, and error handling.
4804//
4805// This method is useful when you want to inject custom logic or configuration
4806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4807//
4808//
4809//    // Example sending a request using the DeleteLoadBalancerRequest method.
4810//    req, resp := client.DeleteLoadBalancerRequest(params)
4811//
4812//    err := req.Send()
4813//    if err == nil { // resp is now filled
4814//        fmt.Println(resp)
4815//    }
4816//
4817// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
4818func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
4819	op := &request.Operation{
4820		Name:       opDeleteLoadBalancer,
4821		HTTPMethod: "POST",
4822		HTTPPath:   "/",
4823	}
4824
4825	if input == nil {
4826		input = &DeleteLoadBalancerInput{}
4827	}
4828
4829	output = &DeleteLoadBalancerOutput{}
4830	req = c.newRequest(op, input, output)
4831	return
4832}
4833
4834// DeleteLoadBalancer API operation for Amazon Lightsail.
4835//
4836// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
4837// Once the load balancer is deleted, you will need to create a new load balancer,
4838// create a new certificate, and verify domain ownership again.
4839//
4840// The delete load balancer operation supports tag-based access control via
4841// resource tags applied to the resource identified by load balancer name. For
4842// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4843//
4844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4845// with awserr.Error's Code and Message methods to get detailed information about
4846// the error.
4847//
4848// See the AWS API reference guide for Amazon Lightsail's
4849// API operation DeleteLoadBalancer for usage and error information.
4850//
4851// Returned Error Types:
4852//   * ServiceException
4853//   A general service exception.
4854//
4855//   * InvalidInputException
4856//   Lightsail throws this exception when user input does not conform to the validation
4857//   rules of an input field.
4858//
4859//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4860//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4861//   view, or edit these resources.
4862//
4863//   * NotFoundException
4864//   Lightsail throws this exception when it cannot find a resource.
4865//
4866//   * OperationFailureException
4867//   Lightsail throws this exception when an operation fails to execute.
4868//
4869//   * AccessDeniedException
4870//   Lightsail throws this exception when the user cannot be authenticated or
4871//   uses invalid credentials to access a resource.
4872//
4873//   * AccountSetupInProgressException
4874//   Lightsail throws this exception when an account is still in the setup in
4875//   progress state.
4876//
4877//   * UnauthenticatedException
4878//   Lightsail throws this exception when the user has not been authenticated.
4879//
4880// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
4881func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
4882	req, out := c.DeleteLoadBalancerRequest(input)
4883	return out, req.Send()
4884}
4885
4886// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
4887// the ability to pass a context and additional request options.
4888//
4889// See DeleteLoadBalancer for details on how to use this API operation.
4890//
4891// The context must be non-nil and will be used for request cancellation. If
4892// the context is nil a panic will occur. In the future the SDK may create
4893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4894// for more information on using Contexts.
4895func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
4896	req, out := c.DeleteLoadBalancerRequest(input)
4897	req.SetContext(ctx)
4898	req.ApplyOptions(opts...)
4899	return out, req.Send()
4900}
4901
4902const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
4903
4904// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
4905// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
4906// value will be populated with the request's response once the request completes
4907// successfully.
4908//
4909// Use "Send" method on the returned Request to send the API call to the service.
4910// the "output" return value is not valid until after Send returns without error.
4911//
4912// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
4913// API call, and error handling.
4914//
4915// This method is useful when you want to inject custom logic or configuration
4916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4917//
4918//
4919//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
4920//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
4921//
4922//    err := req.Send()
4923//    if err == nil { // resp is now filled
4924//        fmt.Println(resp)
4925//    }
4926//
4927// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
4928func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
4929	op := &request.Operation{
4930		Name:       opDeleteLoadBalancerTlsCertificate,
4931		HTTPMethod: "POST",
4932		HTTPPath:   "/",
4933	}
4934
4935	if input == nil {
4936		input = &DeleteLoadBalancerTlsCertificateInput{}
4937	}
4938
4939	output = &DeleteLoadBalancerTlsCertificateOutput{}
4940	req = c.newRequest(op, input, output)
4941	return
4942}
4943
4944// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
4945//
4946// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
4947//
4948// The DeleteLoadBalancerTlsCertificate operation supports tag-based access
4949// control via resource tags applied to the resource identified by load balancer
4950// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4951//
4952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4953// with awserr.Error's Code and Message methods to get detailed information about
4954// the error.
4955//
4956// See the AWS API reference guide for Amazon Lightsail's
4957// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
4958//
4959// Returned Error Types:
4960//   * ServiceException
4961//   A general service exception.
4962//
4963//   * InvalidInputException
4964//   Lightsail throws this exception when user input does not conform to the validation
4965//   rules of an input field.
4966//
4967//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
4968//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
4969//   view, or edit these resources.
4970//
4971//   * NotFoundException
4972//   Lightsail throws this exception when it cannot find a resource.
4973//
4974//   * OperationFailureException
4975//   Lightsail throws this exception when an operation fails to execute.
4976//
4977//   * AccessDeniedException
4978//   Lightsail throws this exception when the user cannot be authenticated or
4979//   uses invalid credentials to access a resource.
4980//
4981//   * AccountSetupInProgressException
4982//   Lightsail throws this exception when an account is still in the setup in
4983//   progress state.
4984//
4985//   * UnauthenticatedException
4986//   Lightsail throws this exception when the user has not been authenticated.
4987//
4988// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
4989func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
4990	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
4991	return out, req.Send()
4992}
4993
4994// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
4995// the ability to pass a context and additional request options.
4996//
4997// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
4998//
4999// The context must be non-nil and will be used for request cancellation. If
5000// the context is nil a panic will occur. In the future the SDK may create
5001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5002// for more information on using Contexts.
5003func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
5004	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
5005	req.SetContext(ctx)
5006	req.ApplyOptions(opts...)
5007	return out, req.Send()
5008}
5009
5010const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
5011
5012// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
5013// client's request for the DeleteRelationalDatabase operation. The "output" return
5014// value will be populated with the request's response once the request completes
5015// successfully.
5016//
5017// Use "Send" method on the returned Request to send the API call to the service.
5018// the "output" return value is not valid until after Send returns without error.
5019//
5020// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
5021// API call, and error handling.
5022//
5023// This method is useful when you want to inject custom logic or configuration
5024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5025//
5026//
5027//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
5028//    req, resp := client.DeleteRelationalDatabaseRequest(params)
5029//
5030//    err := req.Send()
5031//    if err == nil { // resp is now filled
5032//        fmt.Println(resp)
5033//    }
5034//
5035// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
5036func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
5037	op := &request.Operation{
5038		Name:       opDeleteRelationalDatabase,
5039		HTTPMethod: "POST",
5040		HTTPPath:   "/",
5041	}
5042
5043	if input == nil {
5044		input = &DeleteRelationalDatabaseInput{}
5045	}
5046
5047	output = &DeleteRelationalDatabaseOutput{}
5048	req = c.newRequest(op, input, output)
5049	return
5050}
5051
5052// DeleteRelationalDatabase API operation for Amazon Lightsail.
5053//
5054// Deletes a database in Amazon Lightsail.
5055//
5056// The delete relational database operation supports tag-based access control
5057// via resource tags applied to the resource identified by relationalDatabaseName.
5058// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5059//
5060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5061// with awserr.Error's Code and Message methods to get detailed information about
5062// the error.
5063//
5064// See the AWS API reference guide for Amazon Lightsail's
5065// API operation DeleteRelationalDatabase for usage and error information.
5066//
5067// Returned Error Types:
5068//   * ServiceException
5069//   A general service exception.
5070//
5071//   * InvalidInputException
5072//   Lightsail throws this exception when user input does not conform to the validation
5073//   rules of an input field.
5074//
5075//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5076//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5077//   view, or edit these resources.
5078//
5079//   * NotFoundException
5080//   Lightsail throws this exception when it cannot find a resource.
5081//
5082//   * OperationFailureException
5083//   Lightsail throws this exception when an operation fails to execute.
5084//
5085//   * AccessDeniedException
5086//   Lightsail throws this exception when the user cannot be authenticated or
5087//   uses invalid credentials to access a resource.
5088//
5089//   * AccountSetupInProgressException
5090//   Lightsail throws this exception when an account is still in the setup in
5091//   progress state.
5092//
5093//   * UnauthenticatedException
5094//   Lightsail throws this exception when the user has not been authenticated.
5095//
5096// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
5097func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
5098	req, out := c.DeleteRelationalDatabaseRequest(input)
5099	return out, req.Send()
5100}
5101
5102// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
5103// the ability to pass a context and additional request options.
5104//
5105// See DeleteRelationalDatabase for details on how to use this API operation.
5106//
5107// The context must be non-nil and will be used for request cancellation. If
5108// the context is nil a panic will occur. In the future the SDK may create
5109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5110// for more information on using Contexts.
5111func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
5112	req, out := c.DeleteRelationalDatabaseRequest(input)
5113	req.SetContext(ctx)
5114	req.ApplyOptions(opts...)
5115	return out, req.Send()
5116}
5117
5118const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
5119
5120// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
5121// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
5122// value will be populated with the request's response once the request completes
5123// successfully.
5124//
5125// Use "Send" method on the returned Request to send the API call to the service.
5126// the "output" return value is not valid until after Send returns without error.
5127//
5128// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
5129// API call, and error handling.
5130//
5131// This method is useful when you want to inject custom logic or configuration
5132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5133//
5134//
5135//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
5136//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
5137//
5138//    err := req.Send()
5139//    if err == nil { // resp is now filled
5140//        fmt.Println(resp)
5141//    }
5142//
5143// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
5144func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
5145	op := &request.Operation{
5146		Name:       opDeleteRelationalDatabaseSnapshot,
5147		HTTPMethod: "POST",
5148		HTTPPath:   "/",
5149	}
5150
5151	if input == nil {
5152		input = &DeleteRelationalDatabaseSnapshotInput{}
5153	}
5154
5155	output = &DeleteRelationalDatabaseSnapshotOutput{}
5156	req = c.newRequest(op, input, output)
5157	return
5158}
5159
5160// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
5161//
5162// Deletes a database snapshot in Amazon Lightsail.
5163//
5164// The delete relational database snapshot operation supports tag-based access
5165// control via resource tags applied to the resource identified by relationalDatabaseName.
5166// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5167//
5168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5169// with awserr.Error's Code and Message methods to get detailed information about
5170// the error.
5171//
5172// See the AWS API reference guide for Amazon Lightsail's
5173// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
5174//
5175// Returned Error Types:
5176//   * ServiceException
5177//   A general service exception.
5178//
5179//   * InvalidInputException
5180//   Lightsail throws this exception when user input does not conform to the validation
5181//   rules of an input field.
5182//
5183//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5184//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5185//   view, or edit these resources.
5186//
5187//   * NotFoundException
5188//   Lightsail throws this exception when it cannot find a resource.
5189//
5190//   * OperationFailureException
5191//   Lightsail throws this exception when an operation fails to execute.
5192//
5193//   * AccessDeniedException
5194//   Lightsail throws this exception when the user cannot be authenticated or
5195//   uses invalid credentials to access a resource.
5196//
5197//   * AccountSetupInProgressException
5198//   Lightsail throws this exception when an account is still in the setup in
5199//   progress state.
5200//
5201//   * UnauthenticatedException
5202//   Lightsail throws this exception when the user has not been authenticated.
5203//
5204// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
5205func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
5206	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
5207	return out, req.Send()
5208}
5209
5210// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
5211// the ability to pass a context and additional request options.
5212//
5213// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
5214//
5215// The context must be non-nil and will be used for request cancellation. If
5216// the context is nil a panic will occur. In the future the SDK may create
5217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5218// for more information on using Contexts.
5219func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
5220	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
5221	req.SetContext(ctx)
5222	req.ApplyOptions(opts...)
5223	return out, req.Send()
5224}
5225
5226const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
5227
5228// DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the
5229// client's request for the DetachCertificateFromDistribution operation. The "output" return
5230// value will be populated with the request's response once the request completes
5231// successfully.
5232//
5233// Use "Send" method on the returned Request to send the API call to the service.
5234// the "output" return value is not valid until after Send returns without error.
5235//
5236// See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution
5237// API call, and error handling.
5238//
5239// This method is useful when you want to inject custom logic or configuration
5240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5241//
5242//
5243//    // Example sending a request using the DetachCertificateFromDistributionRequest method.
5244//    req, resp := client.DetachCertificateFromDistributionRequest(params)
5245//
5246//    err := req.Send()
5247//    if err == nil { // resp is now filled
5248//        fmt.Println(resp)
5249//    }
5250//
5251// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
5252func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) {
5253	op := &request.Operation{
5254		Name:       opDetachCertificateFromDistribution,
5255		HTTPMethod: "POST",
5256		HTTPPath:   "/",
5257	}
5258
5259	if input == nil {
5260		input = &DetachCertificateFromDistributionInput{}
5261	}
5262
5263	output = &DetachCertificateFromDistributionOutput{}
5264	req = c.newRequest(op, input, output)
5265	return
5266}
5267
5268// DetachCertificateFromDistribution API operation for Amazon Lightsail.
5269//
5270// Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery
5271// network (CDN) distribution.
5272//
5273// After the certificate is detached, your distribution stops accepting traffic
5274// for all of the domains that are associated with the certificate.
5275//
5276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5277// with awserr.Error's Code and Message methods to get detailed information about
5278// the error.
5279//
5280// See the AWS API reference guide for Amazon Lightsail's
5281// API operation DetachCertificateFromDistribution for usage and error information.
5282//
5283// Returned Error Types:
5284//   * ServiceException
5285//   A general service exception.
5286//
5287//   * InvalidInputException
5288//   Lightsail throws this exception when user input does not conform to the validation
5289//   rules of an input field.
5290//
5291//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5292//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5293//   view, or edit these resources.
5294//
5295//   * NotFoundException
5296//   Lightsail throws this exception when it cannot find a resource.
5297//
5298//   * OperationFailureException
5299//   Lightsail throws this exception when an operation fails to execute.
5300//
5301//   * AccessDeniedException
5302//   Lightsail throws this exception when the user cannot be authenticated or
5303//   uses invalid credentials to access a resource.
5304//
5305//   * UnauthenticatedException
5306//   Lightsail throws this exception when the user has not been authenticated.
5307//
5308// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
5309func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) {
5310	req, out := c.DetachCertificateFromDistributionRequest(input)
5311	return out, req.Send()
5312}
5313
5314// DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of
5315// the ability to pass a context and additional request options.
5316//
5317// See DetachCertificateFromDistribution for details on how to use this API operation.
5318//
5319// The context must be non-nil and will be used for request cancellation. If
5320// the context is nil a panic will occur. In the future the SDK may create
5321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5322// for more information on using Contexts.
5323func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) {
5324	req, out := c.DetachCertificateFromDistributionRequest(input)
5325	req.SetContext(ctx)
5326	req.ApplyOptions(opts...)
5327	return out, req.Send()
5328}
5329
5330const opDetachDisk = "DetachDisk"
5331
5332// DetachDiskRequest generates a "aws/request.Request" representing the
5333// client's request for the DetachDisk operation. The "output" return
5334// value will be populated with the request's response once the request completes
5335// successfully.
5336//
5337// Use "Send" method on the returned Request to send the API call to the service.
5338// the "output" return value is not valid until after Send returns without error.
5339//
5340// See DetachDisk for more information on using the DetachDisk
5341// API call, and error handling.
5342//
5343// This method is useful when you want to inject custom logic or configuration
5344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5345//
5346//
5347//    // Example sending a request using the DetachDiskRequest method.
5348//    req, resp := client.DetachDiskRequest(params)
5349//
5350//    err := req.Send()
5351//    if err == nil { // resp is now filled
5352//        fmt.Println(resp)
5353//    }
5354//
5355// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
5356func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
5357	op := &request.Operation{
5358		Name:       opDetachDisk,
5359		HTTPMethod: "POST",
5360		HTTPPath:   "/",
5361	}
5362
5363	if input == nil {
5364		input = &DetachDiskInput{}
5365	}
5366
5367	output = &DetachDiskOutput{}
5368	req = c.newRequest(op, input, output)
5369	return
5370}
5371
5372// DetachDisk API operation for Amazon Lightsail.
5373//
5374// Detaches a stopped block storage disk from a Lightsail instance. Make sure
5375// to unmount any file systems on the device within your operating system before
5376// stopping the instance and detaching the disk.
5377//
5378// The detach disk operation supports tag-based access control via resource
5379// tags applied to the resource identified by disk name. For more information,
5380// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5381//
5382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5383// with awserr.Error's Code and Message methods to get detailed information about
5384// the error.
5385//
5386// See the AWS API reference guide for Amazon Lightsail's
5387// API operation DetachDisk for usage and error information.
5388//
5389// Returned Error Types:
5390//   * ServiceException
5391//   A general service exception.
5392//
5393//   * InvalidInputException
5394//   Lightsail throws this exception when user input does not conform to the validation
5395//   rules of an input field.
5396//
5397//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5398//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5399//   view, or edit these resources.
5400//
5401//   * NotFoundException
5402//   Lightsail throws this exception when it cannot find a resource.
5403//
5404//   * OperationFailureException
5405//   Lightsail throws this exception when an operation fails to execute.
5406//
5407//   * AccessDeniedException
5408//   Lightsail throws this exception when the user cannot be authenticated or
5409//   uses invalid credentials to access a resource.
5410//
5411//   * AccountSetupInProgressException
5412//   Lightsail throws this exception when an account is still in the setup in
5413//   progress state.
5414//
5415//   * UnauthenticatedException
5416//   Lightsail throws this exception when the user has not been authenticated.
5417//
5418// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
5419func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
5420	req, out := c.DetachDiskRequest(input)
5421	return out, req.Send()
5422}
5423
5424// DetachDiskWithContext is the same as DetachDisk with the addition of
5425// the ability to pass a context and additional request options.
5426//
5427// See DetachDisk for details on how to use this API operation.
5428//
5429// The context must be non-nil and will be used for request cancellation. If
5430// the context is nil a panic will occur. In the future the SDK may create
5431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5432// for more information on using Contexts.
5433func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
5434	req, out := c.DetachDiskRequest(input)
5435	req.SetContext(ctx)
5436	req.ApplyOptions(opts...)
5437	return out, req.Send()
5438}
5439
5440const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
5441
5442// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
5443// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
5444// value will be populated with the request's response once the request completes
5445// successfully.
5446//
5447// Use "Send" method on the returned Request to send the API call to the service.
5448// the "output" return value is not valid until after Send returns without error.
5449//
5450// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
5451// API call, and error handling.
5452//
5453// This method is useful when you want to inject custom logic or configuration
5454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5455//
5456//
5457//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
5458//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
5459//
5460//    err := req.Send()
5461//    if err == nil { // resp is now filled
5462//        fmt.Println(resp)
5463//    }
5464//
5465// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
5466func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
5467	op := &request.Operation{
5468		Name:       opDetachInstancesFromLoadBalancer,
5469		HTTPMethod: "POST",
5470		HTTPPath:   "/",
5471	}
5472
5473	if input == nil {
5474		input = &DetachInstancesFromLoadBalancerInput{}
5475	}
5476
5477	output = &DetachInstancesFromLoadBalancerOutput{}
5478	req = c.newRequest(op, input, output)
5479	return
5480}
5481
5482// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
5483//
5484// Detaches the specified instances from a Lightsail load balancer.
5485//
5486// This operation waits until the instances are no longer needed before they
5487// are detached from the load balancer.
5488//
5489// The detach instances from load balancer operation supports tag-based access
5490// control via resource tags applied to the resource identified by load balancer
5491// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5492//
5493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5494// with awserr.Error's Code and Message methods to get detailed information about
5495// the error.
5496//
5497// See the AWS API reference guide for Amazon Lightsail's
5498// API operation DetachInstancesFromLoadBalancer for usage and error information.
5499//
5500// Returned Error Types:
5501//   * ServiceException
5502//   A general service exception.
5503//
5504//   * InvalidInputException
5505//   Lightsail throws this exception when user input does not conform to the validation
5506//   rules of an input field.
5507//
5508//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5509//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5510//   view, or edit these resources.
5511//
5512//   * NotFoundException
5513//   Lightsail throws this exception when it cannot find a resource.
5514//
5515//   * OperationFailureException
5516//   Lightsail throws this exception when an operation fails to execute.
5517//
5518//   * AccessDeniedException
5519//   Lightsail throws this exception when the user cannot be authenticated or
5520//   uses invalid credentials to access a resource.
5521//
5522//   * AccountSetupInProgressException
5523//   Lightsail throws this exception when an account is still in the setup in
5524//   progress state.
5525//
5526//   * UnauthenticatedException
5527//   Lightsail throws this exception when the user has not been authenticated.
5528//
5529// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
5530func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
5531	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5532	return out, req.Send()
5533}
5534
5535// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
5536// the ability to pass a context and additional request options.
5537//
5538// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
5539//
5540// The context must be non-nil and will be used for request cancellation. If
5541// the context is nil a panic will occur. In the future the SDK may create
5542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5543// for more information on using Contexts.
5544func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
5545	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5546	req.SetContext(ctx)
5547	req.ApplyOptions(opts...)
5548	return out, req.Send()
5549}
5550
5551const opDetachStaticIp = "DetachStaticIp"
5552
5553// DetachStaticIpRequest generates a "aws/request.Request" representing the
5554// client's request for the DetachStaticIp operation. The "output" return
5555// value will be populated with the request's response once the request completes
5556// successfully.
5557//
5558// Use "Send" method on the returned Request to send the API call to the service.
5559// the "output" return value is not valid until after Send returns without error.
5560//
5561// See DetachStaticIp for more information on using the DetachStaticIp
5562// API call, and error handling.
5563//
5564// This method is useful when you want to inject custom logic or configuration
5565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5566//
5567//
5568//    // Example sending a request using the DetachStaticIpRequest method.
5569//    req, resp := client.DetachStaticIpRequest(params)
5570//
5571//    err := req.Send()
5572//    if err == nil { // resp is now filled
5573//        fmt.Println(resp)
5574//    }
5575//
5576// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
5577func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
5578	op := &request.Operation{
5579		Name:       opDetachStaticIp,
5580		HTTPMethod: "POST",
5581		HTTPPath:   "/",
5582	}
5583
5584	if input == nil {
5585		input = &DetachStaticIpInput{}
5586	}
5587
5588	output = &DetachStaticIpOutput{}
5589	req = c.newRequest(op, input, output)
5590	return
5591}
5592
5593// DetachStaticIp API operation for Amazon Lightsail.
5594//
5595// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
5596//
5597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5598// with awserr.Error's Code and Message methods to get detailed information about
5599// the error.
5600//
5601// See the AWS API reference guide for Amazon Lightsail's
5602// API operation DetachStaticIp for usage and error information.
5603//
5604// Returned Error Types:
5605//   * ServiceException
5606//   A general service exception.
5607//
5608//   * InvalidInputException
5609//   Lightsail throws this exception when user input does not conform to the validation
5610//   rules of an input field.
5611//
5612//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5613//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5614//   view, or edit these resources.
5615//
5616//   * NotFoundException
5617//   Lightsail throws this exception when it cannot find a resource.
5618//
5619//   * OperationFailureException
5620//   Lightsail throws this exception when an operation fails to execute.
5621//
5622//   * AccessDeniedException
5623//   Lightsail throws this exception when the user cannot be authenticated or
5624//   uses invalid credentials to access a resource.
5625//
5626//   * AccountSetupInProgressException
5627//   Lightsail throws this exception when an account is still in the setup in
5628//   progress state.
5629//
5630//   * UnauthenticatedException
5631//   Lightsail throws this exception when the user has not been authenticated.
5632//
5633// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
5634func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
5635	req, out := c.DetachStaticIpRequest(input)
5636	return out, req.Send()
5637}
5638
5639// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
5640// the ability to pass a context and additional request options.
5641//
5642// See DetachStaticIp for details on how to use this API operation.
5643//
5644// The context must be non-nil and will be used for request cancellation. If
5645// the context is nil a panic will occur. In the future the SDK may create
5646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5647// for more information on using Contexts.
5648func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
5649	req, out := c.DetachStaticIpRequest(input)
5650	req.SetContext(ctx)
5651	req.ApplyOptions(opts...)
5652	return out, req.Send()
5653}
5654
5655const opDisableAddOn = "DisableAddOn"
5656
5657// DisableAddOnRequest generates a "aws/request.Request" representing the
5658// client's request for the DisableAddOn operation. The "output" return
5659// value will be populated with the request's response once the request completes
5660// successfully.
5661//
5662// Use "Send" method on the returned Request to send the API call to the service.
5663// the "output" return value is not valid until after Send returns without error.
5664//
5665// See DisableAddOn for more information on using the DisableAddOn
5666// API call, and error handling.
5667//
5668// This method is useful when you want to inject custom logic or configuration
5669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5670//
5671//
5672//    // Example sending a request using the DisableAddOnRequest method.
5673//    req, resp := client.DisableAddOnRequest(params)
5674//
5675//    err := req.Send()
5676//    if err == nil { // resp is now filled
5677//        fmt.Println(resp)
5678//    }
5679//
5680// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
5681func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
5682	op := &request.Operation{
5683		Name:       opDisableAddOn,
5684		HTTPMethod: "POST",
5685		HTTPPath:   "/",
5686	}
5687
5688	if input == nil {
5689		input = &DisableAddOnInput{}
5690	}
5691
5692	output = &DisableAddOnOutput{}
5693	req = c.newRequest(op, input, output)
5694	return
5695}
5696
5697// DisableAddOn API operation for Amazon Lightsail.
5698//
5699// Disables an add-on for an Amazon Lightsail resource. For more information,
5700// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5701//
5702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5703// with awserr.Error's Code and Message methods to get detailed information about
5704// the error.
5705//
5706// See the AWS API reference guide for Amazon Lightsail's
5707// API operation DisableAddOn for usage and error information.
5708//
5709// Returned Error Types:
5710//   * ServiceException
5711//   A general service exception.
5712//
5713//   * InvalidInputException
5714//   Lightsail throws this exception when user input does not conform to the validation
5715//   rules of an input field.
5716//
5717//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5718//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5719//   view, or edit these resources.
5720//
5721//   * NotFoundException
5722//   Lightsail throws this exception when it cannot find a resource.
5723//
5724//   * OperationFailureException
5725//   Lightsail throws this exception when an operation fails to execute.
5726//
5727//   * AccessDeniedException
5728//   Lightsail throws this exception when the user cannot be authenticated or
5729//   uses invalid credentials to access a resource.
5730//
5731//   * UnauthenticatedException
5732//   Lightsail throws this exception when the user has not been authenticated.
5733//
5734// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
5735func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
5736	req, out := c.DisableAddOnRequest(input)
5737	return out, req.Send()
5738}
5739
5740// DisableAddOnWithContext is the same as DisableAddOn with the addition of
5741// the ability to pass a context and additional request options.
5742//
5743// See DisableAddOn for details on how to use this API operation.
5744//
5745// The context must be non-nil and will be used for request cancellation. If
5746// the context is nil a panic will occur. In the future the SDK may create
5747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5748// for more information on using Contexts.
5749func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
5750	req, out := c.DisableAddOnRequest(input)
5751	req.SetContext(ctx)
5752	req.ApplyOptions(opts...)
5753	return out, req.Send()
5754}
5755
5756const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
5757
5758// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
5759// client's request for the DownloadDefaultKeyPair operation. The "output" return
5760// value will be populated with the request's response once the request completes
5761// successfully.
5762//
5763// Use "Send" method on the returned Request to send the API call to the service.
5764// the "output" return value is not valid until after Send returns without error.
5765//
5766// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
5767// API call, and error handling.
5768//
5769// This method is useful when you want to inject custom logic or configuration
5770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5771//
5772//
5773//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
5774//    req, resp := client.DownloadDefaultKeyPairRequest(params)
5775//
5776//    err := req.Send()
5777//    if err == nil { // resp is now filled
5778//        fmt.Println(resp)
5779//    }
5780//
5781// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
5782func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
5783	op := &request.Operation{
5784		Name:       opDownloadDefaultKeyPair,
5785		HTTPMethod: "POST",
5786		HTTPPath:   "/",
5787	}
5788
5789	if input == nil {
5790		input = &DownloadDefaultKeyPairInput{}
5791	}
5792
5793	output = &DownloadDefaultKeyPairOutput{}
5794	req = c.newRequest(op, input, output)
5795	return
5796}
5797
5798// DownloadDefaultKeyPair API operation for Amazon Lightsail.
5799//
5800// Downloads the default SSH key pair from the user's account.
5801//
5802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5803// with awserr.Error's Code and Message methods to get detailed information about
5804// the error.
5805//
5806// See the AWS API reference guide for Amazon Lightsail's
5807// API operation DownloadDefaultKeyPair for usage and error information.
5808//
5809// Returned Error Types:
5810//   * ServiceException
5811//   A general service exception.
5812//
5813//   * InvalidInputException
5814//   Lightsail throws this exception when user input does not conform to the validation
5815//   rules of an input field.
5816//
5817//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5818//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5819//   view, or edit these resources.
5820//
5821//   * NotFoundException
5822//   Lightsail throws this exception when it cannot find a resource.
5823//
5824//   * OperationFailureException
5825//   Lightsail throws this exception when an operation fails to execute.
5826//
5827//   * AccessDeniedException
5828//   Lightsail throws this exception when the user cannot be authenticated or
5829//   uses invalid credentials to access a resource.
5830//
5831//   * AccountSetupInProgressException
5832//   Lightsail throws this exception when an account is still in the setup in
5833//   progress state.
5834//
5835//   * UnauthenticatedException
5836//   Lightsail throws this exception when the user has not been authenticated.
5837//
5838// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
5839func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
5840	req, out := c.DownloadDefaultKeyPairRequest(input)
5841	return out, req.Send()
5842}
5843
5844// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
5845// the ability to pass a context and additional request options.
5846//
5847// See DownloadDefaultKeyPair for details on how to use this API operation.
5848//
5849// The context must be non-nil and will be used for request cancellation. If
5850// the context is nil a panic will occur. In the future the SDK may create
5851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5852// for more information on using Contexts.
5853func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
5854	req, out := c.DownloadDefaultKeyPairRequest(input)
5855	req.SetContext(ctx)
5856	req.ApplyOptions(opts...)
5857	return out, req.Send()
5858}
5859
5860const opEnableAddOn = "EnableAddOn"
5861
5862// EnableAddOnRequest generates a "aws/request.Request" representing the
5863// client's request for the EnableAddOn operation. The "output" return
5864// value will be populated with the request's response once the request completes
5865// successfully.
5866//
5867// Use "Send" method on the returned Request to send the API call to the service.
5868// the "output" return value is not valid until after Send returns without error.
5869//
5870// See EnableAddOn for more information on using the EnableAddOn
5871// API call, and error handling.
5872//
5873// This method is useful when you want to inject custom logic or configuration
5874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5875//
5876//
5877//    // Example sending a request using the EnableAddOnRequest method.
5878//    req, resp := client.EnableAddOnRequest(params)
5879//
5880//    err := req.Send()
5881//    if err == nil { // resp is now filled
5882//        fmt.Println(resp)
5883//    }
5884//
5885// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
5886func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
5887	op := &request.Operation{
5888		Name:       opEnableAddOn,
5889		HTTPMethod: "POST",
5890		HTTPPath:   "/",
5891	}
5892
5893	if input == nil {
5894		input = &EnableAddOnInput{}
5895	}
5896
5897	output = &EnableAddOnOutput{}
5898	req = c.newRequest(op, input, output)
5899	return
5900}
5901
5902// EnableAddOn API operation for Amazon Lightsail.
5903//
5904// Enables or modifies an add-on for an Amazon Lightsail resource. For more
5905// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5906//
5907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5908// with awserr.Error's Code and Message methods to get detailed information about
5909// the error.
5910//
5911// See the AWS API reference guide for Amazon Lightsail's
5912// API operation EnableAddOn for usage and error information.
5913//
5914// Returned Error Types:
5915//   * ServiceException
5916//   A general service exception.
5917//
5918//   * InvalidInputException
5919//   Lightsail throws this exception when user input does not conform to the validation
5920//   rules of an input field.
5921//
5922//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
5923//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
5924//   view, or edit these resources.
5925//
5926//   * NotFoundException
5927//   Lightsail throws this exception when it cannot find a resource.
5928//
5929//   * OperationFailureException
5930//   Lightsail throws this exception when an operation fails to execute.
5931//
5932//   * AccessDeniedException
5933//   Lightsail throws this exception when the user cannot be authenticated or
5934//   uses invalid credentials to access a resource.
5935//
5936//   * UnauthenticatedException
5937//   Lightsail throws this exception when the user has not been authenticated.
5938//
5939// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
5940func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
5941	req, out := c.EnableAddOnRequest(input)
5942	return out, req.Send()
5943}
5944
5945// EnableAddOnWithContext is the same as EnableAddOn with the addition of
5946// the ability to pass a context and additional request options.
5947//
5948// See EnableAddOn for details on how to use this API operation.
5949//
5950// The context must be non-nil and will be used for request cancellation. If
5951// the context is nil a panic will occur. In the future the SDK may create
5952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5953// for more information on using Contexts.
5954func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
5955	req, out := c.EnableAddOnRequest(input)
5956	req.SetContext(ctx)
5957	req.ApplyOptions(opts...)
5958	return out, req.Send()
5959}
5960
5961const opExportSnapshot = "ExportSnapshot"
5962
5963// ExportSnapshotRequest generates a "aws/request.Request" representing the
5964// client's request for the ExportSnapshot operation. The "output" return
5965// value will be populated with the request's response once the request completes
5966// successfully.
5967//
5968// Use "Send" method on the returned Request to send the API call to the service.
5969// the "output" return value is not valid until after Send returns without error.
5970//
5971// See ExportSnapshot for more information on using the ExportSnapshot
5972// API call, and error handling.
5973//
5974// This method is useful when you want to inject custom logic or configuration
5975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5976//
5977//
5978//    // Example sending a request using the ExportSnapshotRequest method.
5979//    req, resp := client.ExportSnapshotRequest(params)
5980//
5981//    err := req.Send()
5982//    if err == nil { // resp is now filled
5983//        fmt.Println(resp)
5984//    }
5985//
5986// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
5987func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
5988	op := &request.Operation{
5989		Name:       opExportSnapshot,
5990		HTTPMethod: "POST",
5991		HTTPPath:   "/",
5992	}
5993
5994	if input == nil {
5995		input = &ExportSnapshotInput{}
5996	}
5997
5998	output = &ExportSnapshotOutput{}
5999	req = c.newRequest(op, input, output)
6000	return
6001}
6002
6003// ExportSnapshot API operation for Amazon Lightsail.
6004//
6005// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
6006// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
6007// record that can be used with the create cloud formation stack operation to
6008// create new Amazon EC2 instances.
6009//
6010// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
6011// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
6012// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
6013// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
6014// in Amazon EC2 as the source Lightsail snapshot.
6015//
6016// The export snapshot operation supports tag-based access control via resource
6017// tags applied to the resource identified by source snapshot name. For more
6018// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
6019//
6020// Use the get instance snapshots or get disk snapshots operations to get a
6021// list of snapshots that you can export to Amazon EC2.
6022//
6023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6024// with awserr.Error's Code and Message methods to get detailed information about
6025// the error.
6026//
6027// See the AWS API reference guide for Amazon Lightsail's
6028// API operation ExportSnapshot for usage and error information.
6029//
6030// Returned Error Types:
6031//   * ServiceException
6032//   A general service exception.
6033//
6034//   * InvalidInputException
6035//   Lightsail throws this exception when user input does not conform to the validation
6036//   rules of an input field.
6037//
6038//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6039//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6040//   view, or edit these resources.
6041//
6042//   * NotFoundException
6043//   Lightsail throws this exception when it cannot find a resource.
6044//
6045//   * OperationFailureException
6046//   Lightsail throws this exception when an operation fails to execute.
6047//
6048//   * AccessDeniedException
6049//   Lightsail throws this exception when the user cannot be authenticated or
6050//   uses invalid credentials to access a resource.
6051//
6052//   * AccountSetupInProgressException
6053//   Lightsail throws this exception when an account is still in the setup in
6054//   progress state.
6055//
6056//   * UnauthenticatedException
6057//   Lightsail throws this exception when the user has not been authenticated.
6058//
6059// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
6060func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
6061	req, out := c.ExportSnapshotRequest(input)
6062	return out, req.Send()
6063}
6064
6065// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
6066// the ability to pass a context and additional request options.
6067//
6068// See ExportSnapshot for details on how to use this API operation.
6069//
6070// The context must be non-nil and will be used for request cancellation. If
6071// the context is nil a panic will occur. In the future the SDK may create
6072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6073// for more information on using Contexts.
6074func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
6075	req, out := c.ExportSnapshotRequest(input)
6076	req.SetContext(ctx)
6077	req.ApplyOptions(opts...)
6078	return out, req.Send()
6079}
6080
6081const opGetActiveNames = "GetActiveNames"
6082
6083// GetActiveNamesRequest generates a "aws/request.Request" representing the
6084// client's request for the GetActiveNames operation. The "output" return
6085// value will be populated with the request's response once the request completes
6086// successfully.
6087//
6088// Use "Send" method on the returned Request to send the API call to the service.
6089// the "output" return value is not valid until after Send returns without error.
6090//
6091// See GetActiveNames for more information on using the GetActiveNames
6092// API call, and error handling.
6093//
6094// This method is useful when you want to inject custom logic or configuration
6095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6096//
6097//
6098//    // Example sending a request using the GetActiveNamesRequest method.
6099//    req, resp := client.GetActiveNamesRequest(params)
6100//
6101//    err := req.Send()
6102//    if err == nil { // resp is now filled
6103//        fmt.Println(resp)
6104//    }
6105//
6106// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
6107func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
6108	op := &request.Operation{
6109		Name:       opGetActiveNames,
6110		HTTPMethod: "POST",
6111		HTTPPath:   "/",
6112	}
6113
6114	if input == nil {
6115		input = &GetActiveNamesInput{}
6116	}
6117
6118	output = &GetActiveNamesOutput{}
6119	req = c.newRequest(op, input, output)
6120	return
6121}
6122
6123// GetActiveNames API operation for Amazon Lightsail.
6124//
6125// Returns the names of all active (not deleted) resources.
6126//
6127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6128// with awserr.Error's Code and Message methods to get detailed information about
6129// the error.
6130//
6131// See the AWS API reference guide for Amazon Lightsail's
6132// API operation GetActiveNames for usage and error information.
6133//
6134// Returned Error Types:
6135//   * ServiceException
6136//   A general service exception.
6137//
6138//   * InvalidInputException
6139//   Lightsail throws this exception when user input does not conform to the validation
6140//   rules of an input field.
6141//
6142//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6143//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6144//   view, or edit these resources.
6145//
6146//   * NotFoundException
6147//   Lightsail throws this exception when it cannot find a resource.
6148//
6149//   * OperationFailureException
6150//   Lightsail throws this exception when an operation fails to execute.
6151//
6152//   * AccessDeniedException
6153//   Lightsail throws this exception when the user cannot be authenticated or
6154//   uses invalid credentials to access a resource.
6155//
6156//   * AccountSetupInProgressException
6157//   Lightsail throws this exception when an account is still in the setup in
6158//   progress state.
6159//
6160//   * UnauthenticatedException
6161//   Lightsail throws this exception when the user has not been authenticated.
6162//
6163// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
6164func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
6165	req, out := c.GetActiveNamesRequest(input)
6166	return out, req.Send()
6167}
6168
6169// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
6170// the ability to pass a context and additional request options.
6171//
6172// See GetActiveNames for details on how to use this API operation.
6173//
6174// The context must be non-nil and will be used for request cancellation. If
6175// the context is nil a panic will occur. In the future the SDK may create
6176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6177// for more information on using Contexts.
6178func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
6179	req, out := c.GetActiveNamesRequest(input)
6180	req.SetContext(ctx)
6181	req.ApplyOptions(opts...)
6182	return out, req.Send()
6183}
6184
6185const opGetAlarms = "GetAlarms"
6186
6187// GetAlarmsRequest generates a "aws/request.Request" representing the
6188// client's request for the GetAlarms operation. The "output" return
6189// value will be populated with the request's response once the request completes
6190// successfully.
6191//
6192// Use "Send" method on the returned Request to send the API call to the service.
6193// the "output" return value is not valid until after Send returns without error.
6194//
6195// See GetAlarms for more information on using the GetAlarms
6196// API call, and error handling.
6197//
6198// This method is useful when you want to inject custom logic or configuration
6199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6200//
6201//
6202//    // Example sending a request using the GetAlarmsRequest method.
6203//    req, resp := client.GetAlarmsRequest(params)
6204//
6205//    err := req.Send()
6206//    if err == nil { // resp is now filled
6207//        fmt.Println(resp)
6208//    }
6209//
6210// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
6211func (c *Lightsail) GetAlarmsRequest(input *GetAlarmsInput) (req *request.Request, output *GetAlarmsOutput) {
6212	op := &request.Operation{
6213		Name:       opGetAlarms,
6214		HTTPMethod: "POST",
6215		HTTPPath:   "/",
6216	}
6217
6218	if input == nil {
6219		input = &GetAlarmsInput{}
6220	}
6221
6222	output = &GetAlarmsOutput{}
6223	req = c.newRequest(op, input, output)
6224	return
6225}
6226
6227// GetAlarms API operation for Amazon Lightsail.
6228//
6229// Returns information about the configured alarms. Specify an alarm name in
6230// your request to return information about a specific alarm, or specify a monitored
6231// resource name to return information about all alarms for a specific resource.
6232//
6233// An alarm is used to monitor a single metric for one of your resources. When
6234// a metric condition is met, the alarm can notify you by email, SMS text message,
6235// and a banner displayed on the Amazon Lightsail console. For more information,
6236// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
6237//
6238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6239// with awserr.Error's Code and Message methods to get detailed information about
6240// the error.
6241//
6242// See the AWS API reference guide for Amazon Lightsail's
6243// API operation GetAlarms for usage and error information.
6244//
6245// Returned Error Types:
6246//   * ServiceException
6247//   A general service exception.
6248//
6249//   * InvalidInputException
6250//   Lightsail throws this exception when user input does not conform to the validation
6251//   rules of an input field.
6252//
6253//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6254//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6255//   view, or edit these resources.
6256//
6257//   * OperationFailureException
6258//   Lightsail throws this exception when an operation fails to execute.
6259//
6260//   * UnauthenticatedException
6261//   Lightsail throws this exception when the user has not been authenticated.
6262//
6263//   * AccessDeniedException
6264//   Lightsail throws this exception when the user cannot be authenticated or
6265//   uses invalid credentials to access a resource.
6266//
6267//   * NotFoundException
6268//   Lightsail throws this exception when it cannot find a resource.
6269//
6270// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
6271func (c *Lightsail) GetAlarms(input *GetAlarmsInput) (*GetAlarmsOutput, error) {
6272	req, out := c.GetAlarmsRequest(input)
6273	return out, req.Send()
6274}
6275
6276// GetAlarmsWithContext is the same as GetAlarms with the addition of
6277// the ability to pass a context and additional request options.
6278//
6279// See GetAlarms for details on how to use this API operation.
6280//
6281// The context must be non-nil and will be used for request cancellation. If
6282// the context is nil a panic will occur. In the future the SDK may create
6283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6284// for more information on using Contexts.
6285func (c *Lightsail) GetAlarmsWithContext(ctx aws.Context, input *GetAlarmsInput, opts ...request.Option) (*GetAlarmsOutput, error) {
6286	req, out := c.GetAlarmsRequest(input)
6287	req.SetContext(ctx)
6288	req.ApplyOptions(opts...)
6289	return out, req.Send()
6290}
6291
6292const opGetAutoSnapshots = "GetAutoSnapshots"
6293
6294// GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
6295// client's request for the GetAutoSnapshots operation. The "output" return
6296// value will be populated with the request's response once the request completes
6297// successfully.
6298//
6299// Use "Send" method on the returned Request to send the API call to the service.
6300// the "output" return value is not valid until after Send returns without error.
6301//
6302// See GetAutoSnapshots for more information on using the GetAutoSnapshots
6303// API call, and error handling.
6304//
6305// This method is useful when you want to inject custom logic or configuration
6306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6307//
6308//
6309//    // Example sending a request using the GetAutoSnapshotsRequest method.
6310//    req, resp := client.GetAutoSnapshotsRequest(params)
6311//
6312//    err := req.Send()
6313//    if err == nil { // resp is now filled
6314//        fmt.Println(resp)
6315//    }
6316//
6317// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
6318func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
6319	op := &request.Operation{
6320		Name:       opGetAutoSnapshots,
6321		HTTPMethod: "POST",
6322		HTTPPath:   "/",
6323	}
6324
6325	if input == nil {
6326		input = &GetAutoSnapshotsInput{}
6327	}
6328
6329	output = &GetAutoSnapshotsOutput{}
6330	req = c.newRequest(op, input, output)
6331	return
6332}
6333
6334// GetAutoSnapshots API operation for Amazon Lightsail.
6335//
6336// Returns the available automatic snapshots for an instance or disk. For more
6337// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
6338//
6339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6340// with awserr.Error's Code and Message methods to get detailed information about
6341// the error.
6342//
6343// See the AWS API reference guide for Amazon Lightsail's
6344// API operation GetAutoSnapshots for usage and error information.
6345//
6346// Returned Error Types:
6347//   * ServiceException
6348//   A general service exception.
6349//
6350//   * InvalidInputException
6351//   Lightsail throws this exception when user input does not conform to the validation
6352//   rules of an input field.
6353//
6354//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6355//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6356//   view, or edit these resources.
6357//
6358//   * NotFoundException
6359//   Lightsail throws this exception when it cannot find a resource.
6360//
6361//   * OperationFailureException
6362//   Lightsail throws this exception when an operation fails to execute.
6363//
6364//   * AccessDeniedException
6365//   Lightsail throws this exception when the user cannot be authenticated or
6366//   uses invalid credentials to access a resource.
6367//
6368//   * UnauthenticatedException
6369//   Lightsail throws this exception when the user has not been authenticated.
6370//
6371// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
6372func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
6373	req, out := c.GetAutoSnapshotsRequest(input)
6374	return out, req.Send()
6375}
6376
6377// GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
6378// the ability to pass a context and additional request options.
6379//
6380// See GetAutoSnapshots for details on how to use this API operation.
6381//
6382// The context must be non-nil and will be used for request cancellation. If
6383// the context is nil a panic will occur. In the future the SDK may create
6384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6385// for more information on using Contexts.
6386func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
6387	req, out := c.GetAutoSnapshotsRequest(input)
6388	req.SetContext(ctx)
6389	req.ApplyOptions(opts...)
6390	return out, req.Send()
6391}
6392
6393const opGetBlueprints = "GetBlueprints"
6394
6395// GetBlueprintsRequest generates a "aws/request.Request" representing the
6396// client's request for the GetBlueprints operation. The "output" return
6397// value will be populated with the request's response once the request completes
6398// successfully.
6399//
6400// Use "Send" method on the returned Request to send the API call to the service.
6401// the "output" return value is not valid until after Send returns without error.
6402//
6403// See GetBlueprints for more information on using the GetBlueprints
6404// API call, and error handling.
6405//
6406// This method is useful when you want to inject custom logic or configuration
6407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6408//
6409//
6410//    // Example sending a request using the GetBlueprintsRequest method.
6411//    req, resp := client.GetBlueprintsRequest(params)
6412//
6413//    err := req.Send()
6414//    if err == nil { // resp is now filled
6415//        fmt.Println(resp)
6416//    }
6417//
6418// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
6419func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
6420	op := &request.Operation{
6421		Name:       opGetBlueprints,
6422		HTTPMethod: "POST",
6423		HTTPPath:   "/",
6424	}
6425
6426	if input == nil {
6427		input = &GetBlueprintsInput{}
6428	}
6429
6430	output = &GetBlueprintsOutput{}
6431	req = c.newRequest(op, input, output)
6432	return
6433}
6434
6435// GetBlueprints API operation for Amazon Lightsail.
6436//
6437// Returns the list of available instance images, or blueprints. You can use
6438// a blueprint to create a new instance already running a specific operating
6439// system, as well as a preinstalled app or development stack. The software
6440// each instance is running depends on the blueprint image you choose.
6441//
6442// Use active blueprints when creating new instances. Inactive blueprints are
6443// listed to support customers with existing instances and are not necessarily
6444// available to create new instances. Blueprints are marked inactive when they
6445// become outdated due to operating system updates or new application releases.
6446//
6447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6448// with awserr.Error's Code and Message methods to get detailed information about
6449// the error.
6450//
6451// See the AWS API reference guide for Amazon Lightsail's
6452// API operation GetBlueprints for usage and error information.
6453//
6454// Returned Error Types:
6455//   * ServiceException
6456//   A general service exception.
6457//
6458//   * InvalidInputException
6459//   Lightsail throws this exception when user input does not conform to the validation
6460//   rules of an input field.
6461//
6462//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6463//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6464//   view, or edit these resources.
6465//
6466//   * NotFoundException
6467//   Lightsail throws this exception when it cannot find a resource.
6468//
6469//   * OperationFailureException
6470//   Lightsail throws this exception when an operation fails to execute.
6471//
6472//   * AccessDeniedException
6473//   Lightsail throws this exception when the user cannot be authenticated or
6474//   uses invalid credentials to access a resource.
6475//
6476//   * AccountSetupInProgressException
6477//   Lightsail throws this exception when an account is still in the setup in
6478//   progress state.
6479//
6480//   * UnauthenticatedException
6481//   Lightsail throws this exception when the user has not been authenticated.
6482//
6483// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
6484func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
6485	req, out := c.GetBlueprintsRequest(input)
6486	return out, req.Send()
6487}
6488
6489// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
6490// the ability to pass a context and additional request options.
6491//
6492// See GetBlueprints for details on how to use this API operation.
6493//
6494// The context must be non-nil and will be used for request cancellation. If
6495// the context is nil a panic will occur. In the future the SDK may create
6496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6497// for more information on using Contexts.
6498func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
6499	req, out := c.GetBlueprintsRequest(input)
6500	req.SetContext(ctx)
6501	req.ApplyOptions(opts...)
6502	return out, req.Send()
6503}
6504
6505const opGetBundles = "GetBundles"
6506
6507// GetBundlesRequest generates a "aws/request.Request" representing the
6508// client's request for the GetBundles operation. The "output" return
6509// value will be populated with the request's response once the request completes
6510// successfully.
6511//
6512// Use "Send" method on the returned Request to send the API call to the service.
6513// the "output" return value is not valid until after Send returns without error.
6514//
6515// See GetBundles for more information on using the GetBundles
6516// API call, and error handling.
6517//
6518// This method is useful when you want to inject custom logic or configuration
6519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6520//
6521//
6522//    // Example sending a request using the GetBundlesRequest method.
6523//    req, resp := client.GetBundlesRequest(params)
6524//
6525//    err := req.Send()
6526//    if err == nil { // resp is now filled
6527//        fmt.Println(resp)
6528//    }
6529//
6530// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
6531func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
6532	op := &request.Operation{
6533		Name:       opGetBundles,
6534		HTTPMethod: "POST",
6535		HTTPPath:   "/",
6536	}
6537
6538	if input == nil {
6539		input = &GetBundlesInput{}
6540	}
6541
6542	output = &GetBundlesOutput{}
6543	req = c.newRequest(op, input, output)
6544	return
6545}
6546
6547// GetBundles API operation for Amazon Lightsail.
6548//
6549// Returns the list of bundles that are available for purchase. A bundle describes
6550// the specs for your virtual private server (or instance).
6551//
6552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6553// with awserr.Error's Code and Message methods to get detailed information about
6554// the error.
6555//
6556// See the AWS API reference guide for Amazon Lightsail's
6557// API operation GetBundles for usage and error information.
6558//
6559// Returned Error Types:
6560//   * ServiceException
6561//   A general service exception.
6562//
6563//   * InvalidInputException
6564//   Lightsail throws this exception when user input does not conform to the validation
6565//   rules of an input field.
6566//
6567//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6568//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6569//   view, or edit these resources.
6570//
6571//   * NotFoundException
6572//   Lightsail throws this exception when it cannot find a resource.
6573//
6574//   * OperationFailureException
6575//   Lightsail throws this exception when an operation fails to execute.
6576//
6577//   * AccessDeniedException
6578//   Lightsail throws this exception when the user cannot be authenticated or
6579//   uses invalid credentials to access a resource.
6580//
6581//   * AccountSetupInProgressException
6582//   Lightsail throws this exception when an account is still in the setup in
6583//   progress state.
6584//
6585//   * UnauthenticatedException
6586//   Lightsail throws this exception when the user has not been authenticated.
6587//
6588// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
6589func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
6590	req, out := c.GetBundlesRequest(input)
6591	return out, req.Send()
6592}
6593
6594// GetBundlesWithContext is the same as GetBundles with the addition of
6595// the ability to pass a context and additional request options.
6596//
6597// See GetBundles for details on how to use this API operation.
6598//
6599// The context must be non-nil and will be used for request cancellation. If
6600// the context is nil a panic will occur. In the future the SDK may create
6601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6602// for more information on using Contexts.
6603func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
6604	req, out := c.GetBundlesRequest(input)
6605	req.SetContext(ctx)
6606	req.ApplyOptions(opts...)
6607	return out, req.Send()
6608}
6609
6610const opGetCertificates = "GetCertificates"
6611
6612// GetCertificatesRequest generates a "aws/request.Request" representing the
6613// client's request for the GetCertificates operation. The "output" return
6614// value will be populated with the request's response once the request completes
6615// successfully.
6616//
6617// Use "Send" method on the returned Request to send the API call to the service.
6618// the "output" return value is not valid until after Send returns without error.
6619//
6620// See GetCertificates for more information on using the GetCertificates
6621// API call, and error handling.
6622//
6623// This method is useful when you want to inject custom logic or configuration
6624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6625//
6626//
6627//    // Example sending a request using the GetCertificatesRequest method.
6628//    req, resp := client.GetCertificatesRequest(params)
6629//
6630//    err := req.Send()
6631//    if err == nil { // resp is now filled
6632//        fmt.Println(resp)
6633//    }
6634//
6635// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
6636func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) {
6637	op := &request.Operation{
6638		Name:       opGetCertificates,
6639		HTTPMethod: "POST",
6640		HTTPPath:   "/",
6641	}
6642
6643	if input == nil {
6644		input = &GetCertificatesInput{}
6645	}
6646
6647	output = &GetCertificatesOutput{}
6648	req = c.newRequest(op, input, output)
6649	return
6650}
6651
6652// GetCertificates API operation for Amazon Lightsail.
6653//
6654// Returns information about one or more Amazon Lightsail SSL/TLS certificates.
6655//
6656// To get a summary of a certificate, ommit includeCertificateDetails from your
6657// request. The response will include only the certificate Amazon Resource Name
6658// (ARN), certificate name, domain name, and tags.
6659//
6660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6661// with awserr.Error's Code and Message methods to get detailed information about
6662// the error.
6663//
6664// See the AWS API reference guide for Amazon Lightsail's
6665// API operation GetCertificates for usage and error information.
6666//
6667// Returned Error Types:
6668//   * ServiceException
6669//   A general service exception.
6670//
6671//   * InvalidInputException
6672//   Lightsail throws this exception when user input does not conform to the validation
6673//   rules of an input field.
6674//
6675//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6676//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6677//   view, or edit these resources.
6678//
6679//   * NotFoundException
6680//   Lightsail throws this exception when it cannot find a resource.
6681//
6682//   * AccessDeniedException
6683//   Lightsail throws this exception when the user cannot be authenticated or
6684//   uses invalid credentials to access a resource.
6685//
6686//   * UnauthenticatedException
6687//   Lightsail throws this exception when the user has not been authenticated.
6688//
6689// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
6690func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) {
6691	req, out := c.GetCertificatesRequest(input)
6692	return out, req.Send()
6693}
6694
6695// GetCertificatesWithContext is the same as GetCertificates with the addition of
6696// the ability to pass a context and additional request options.
6697//
6698// See GetCertificates for details on how to use this API operation.
6699//
6700// The context must be non-nil and will be used for request cancellation. If
6701// the context is nil a panic will occur. In the future the SDK may create
6702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6703// for more information on using Contexts.
6704func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) {
6705	req, out := c.GetCertificatesRequest(input)
6706	req.SetContext(ctx)
6707	req.ApplyOptions(opts...)
6708	return out, req.Send()
6709}
6710
6711const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
6712
6713// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
6714// client's request for the GetCloudFormationStackRecords operation. The "output" return
6715// value will be populated with the request's response once the request completes
6716// successfully.
6717//
6718// Use "Send" method on the returned Request to send the API call to the service.
6719// the "output" return value is not valid until after Send returns without error.
6720//
6721// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
6722// API call, and error handling.
6723//
6724// This method is useful when you want to inject custom logic or configuration
6725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6726//
6727//
6728//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
6729//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
6730//
6731//    err := req.Send()
6732//    if err == nil { // resp is now filled
6733//        fmt.Println(resp)
6734//    }
6735//
6736// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
6737func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
6738	op := &request.Operation{
6739		Name:       opGetCloudFormationStackRecords,
6740		HTTPMethod: "POST",
6741		HTTPPath:   "/",
6742	}
6743
6744	if input == nil {
6745		input = &GetCloudFormationStackRecordsInput{}
6746	}
6747
6748	output = &GetCloudFormationStackRecordsOutput{}
6749	req = c.newRequest(op, input, output)
6750	return
6751}
6752
6753// GetCloudFormationStackRecords API operation for Amazon Lightsail.
6754//
6755// Returns the CloudFormation stack record created as a result of the create
6756// cloud formation stack operation.
6757//
6758// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
6759// an exported Lightsail snapshot.
6760//
6761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6762// with awserr.Error's Code and Message methods to get detailed information about
6763// the error.
6764//
6765// See the AWS API reference guide for Amazon Lightsail's
6766// API operation GetCloudFormationStackRecords for usage and error information.
6767//
6768// Returned Error Types:
6769//   * ServiceException
6770//   A general service exception.
6771//
6772//   * InvalidInputException
6773//   Lightsail throws this exception when user input does not conform to the validation
6774//   rules of an input field.
6775//
6776//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6777//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6778//   view, or edit these resources.
6779//
6780//   * NotFoundException
6781//   Lightsail throws this exception when it cannot find a resource.
6782//
6783//   * OperationFailureException
6784//   Lightsail throws this exception when an operation fails to execute.
6785//
6786//   * AccessDeniedException
6787//   Lightsail throws this exception when the user cannot be authenticated or
6788//   uses invalid credentials to access a resource.
6789//
6790//   * AccountSetupInProgressException
6791//   Lightsail throws this exception when an account is still in the setup in
6792//   progress state.
6793//
6794//   * UnauthenticatedException
6795//   Lightsail throws this exception when the user has not been authenticated.
6796//
6797// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
6798func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
6799	req, out := c.GetCloudFormationStackRecordsRequest(input)
6800	return out, req.Send()
6801}
6802
6803// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
6804// the ability to pass a context and additional request options.
6805//
6806// See GetCloudFormationStackRecords for details on how to use this API operation.
6807//
6808// The context must be non-nil and will be used for request cancellation. If
6809// the context is nil a panic will occur. In the future the SDK may create
6810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6811// for more information on using Contexts.
6812func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
6813	req, out := c.GetCloudFormationStackRecordsRequest(input)
6814	req.SetContext(ctx)
6815	req.ApplyOptions(opts...)
6816	return out, req.Send()
6817}
6818
6819const opGetContactMethods = "GetContactMethods"
6820
6821// GetContactMethodsRequest generates a "aws/request.Request" representing the
6822// client's request for the GetContactMethods operation. The "output" return
6823// value will be populated with the request's response once the request completes
6824// successfully.
6825//
6826// Use "Send" method on the returned Request to send the API call to the service.
6827// the "output" return value is not valid until after Send returns without error.
6828//
6829// See GetContactMethods for more information on using the GetContactMethods
6830// API call, and error handling.
6831//
6832// This method is useful when you want to inject custom logic or configuration
6833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6834//
6835//
6836//    // Example sending a request using the GetContactMethodsRequest method.
6837//    req, resp := client.GetContactMethodsRequest(params)
6838//
6839//    err := req.Send()
6840//    if err == nil { // resp is now filled
6841//        fmt.Println(resp)
6842//    }
6843//
6844// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
6845func (c *Lightsail) GetContactMethodsRequest(input *GetContactMethodsInput) (req *request.Request, output *GetContactMethodsOutput) {
6846	op := &request.Operation{
6847		Name:       opGetContactMethods,
6848		HTTPMethod: "POST",
6849		HTTPPath:   "/",
6850	}
6851
6852	if input == nil {
6853		input = &GetContactMethodsInput{}
6854	}
6855
6856	output = &GetContactMethodsOutput{}
6857	req = c.newRequest(op, input, output)
6858	return
6859}
6860
6861// GetContactMethods API operation for Amazon Lightsail.
6862//
6863// Returns information about the configured contact methods. Specify a protocol
6864// in your request to return information about a specific contact method.
6865//
6866// A contact method is used to send you notifications about your Amazon Lightsail
6867// resources. You can add one email address and one mobile phone number contact
6868// method in each AWS Region. However, SMS text messaging is not supported in
6869// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
6870// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
6871//
6872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6873// with awserr.Error's Code and Message methods to get detailed information about
6874// the error.
6875//
6876// See the AWS API reference guide for Amazon Lightsail's
6877// API operation GetContactMethods for usage and error information.
6878//
6879// Returned Error Types:
6880//   * ServiceException
6881//   A general service exception.
6882//
6883//   * InvalidInputException
6884//   Lightsail throws this exception when user input does not conform to the validation
6885//   rules of an input field.
6886//
6887//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
6888//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
6889//   view, or edit these resources.
6890//
6891//   * NotFoundException
6892//   Lightsail throws this exception when it cannot find a resource.
6893//
6894//   * OperationFailureException
6895//   Lightsail throws this exception when an operation fails to execute.
6896//
6897//   * AccessDeniedException
6898//   Lightsail throws this exception when the user cannot be authenticated or
6899//   uses invalid credentials to access a resource.
6900//
6901//   * UnauthenticatedException
6902//   Lightsail throws this exception when the user has not been authenticated.
6903//
6904// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
6905func (c *Lightsail) GetContactMethods(input *GetContactMethodsInput) (*GetContactMethodsOutput, error) {
6906	req, out := c.GetContactMethodsRequest(input)
6907	return out, req.Send()
6908}
6909
6910// GetContactMethodsWithContext is the same as GetContactMethods with the addition of
6911// the ability to pass a context and additional request options.
6912//
6913// See GetContactMethods for details on how to use this API operation.
6914//
6915// The context must be non-nil and will be used for request cancellation. If
6916// the context is nil a panic will occur. In the future the SDK may create
6917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6918// for more information on using Contexts.
6919func (c *Lightsail) GetContactMethodsWithContext(ctx aws.Context, input *GetContactMethodsInput, opts ...request.Option) (*GetContactMethodsOutput, error) {
6920	req, out := c.GetContactMethodsRequest(input)
6921	req.SetContext(ctx)
6922	req.ApplyOptions(opts...)
6923	return out, req.Send()
6924}
6925
6926const opGetContainerAPIMetadata = "GetContainerAPIMetadata"
6927
6928// GetContainerAPIMetadataRequest generates a "aws/request.Request" representing the
6929// client's request for the GetContainerAPIMetadata operation. The "output" return
6930// value will be populated with the request's response once the request completes
6931// successfully.
6932//
6933// Use "Send" method on the returned Request to send the API call to the service.
6934// the "output" return value is not valid until after Send returns without error.
6935//
6936// See GetContainerAPIMetadata for more information on using the GetContainerAPIMetadata
6937// API call, and error handling.
6938//
6939// This method is useful when you want to inject custom logic or configuration
6940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6941//
6942//
6943//    // Example sending a request using the GetContainerAPIMetadataRequest method.
6944//    req, resp := client.GetContainerAPIMetadataRequest(params)
6945//
6946//    err := req.Send()
6947//    if err == nil { // resp is now filled
6948//        fmt.Println(resp)
6949//    }
6950//
6951// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
6952func (c *Lightsail) GetContainerAPIMetadataRequest(input *GetContainerAPIMetadataInput) (req *request.Request, output *GetContainerAPIMetadataOutput) {
6953	op := &request.Operation{
6954		Name:       opGetContainerAPIMetadata,
6955		HTTPMethod: "POST",
6956		HTTPPath:   "/",
6957	}
6958
6959	if input == nil {
6960		input = &GetContainerAPIMetadataInput{}
6961	}
6962
6963	output = &GetContainerAPIMetadataOutput{}
6964	req = c.newRequest(op, input, output)
6965	return
6966}
6967
6968// GetContainerAPIMetadata API operation for Amazon Lightsail.
6969//
6970// Returns information about Amazon Lightsail containers, such as the current
6971// version of the Lightsail Control (lightsailctl) plugin.
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 GetContainerAPIMetadata for usage and error information.
6979//
6980// Returned Error Types:
6981//   * ServiceException
6982//   A general service exception.
6983//
6984//   * AccessDeniedException
6985//   Lightsail throws this exception when the user cannot be authenticated or
6986//   uses invalid credentials to access a resource.
6987//
6988//   * UnauthenticatedException
6989//   Lightsail throws this exception when the user has not been authenticated.
6990//
6991// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerAPIMetadata
6992func (c *Lightsail) GetContainerAPIMetadata(input *GetContainerAPIMetadataInput) (*GetContainerAPIMetadataOutput, error) {
6993	req, out := c.GetContainerAPIMetadataRequest(input)
6994	return out, req.Send()
6995}
6996
6997// GetContainerAPIMetadataWithContext is the same as GetContainerAPIMetadata with the addition of
6998// the ability to pass a context and additional request options.
6999//
7000// See GetContainerAPIMetadata for details on how to use this API operation.
7001//
7002// The context must be non-nil and will be used for request cancellation. If
7003// the context is nil a panic will occur. In the future the SDK may create
7004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7005// for more information on using Contexts.
7006func (c *Lightsail) GetContainerAPIMetadataWithContext(ctx aws.Context, input *GetContainerAPIMetadataInput, opts ...request.Option) (*GetContainerAPIMetadataOutput, error) {
7007	req, out := c.GetContainerAPIMetadataRequest(input)
7008	req.SetContext(ctx)
7009	req.ApplyOptions(opts...)
7010	return out, req.Send()
7011}
7012
7013const opGetContainerImages = "GetContainerImages"
7014
7015// GetContainerImagesRequest generates a "aws/request.Request" representing the
7016// client's request for the GetContainerImages operation. The "output" return
7017// value will be populated with the request's response once the request completes
7018// successfully.
7019//
7020// Use "Send" method on the returned Request to send the API call to the service.
7021// the "output" return value is not valid until after Send returns without error.
7022//
7023// See GetContainerImages for more information on using the GetContainerImages
7024// API call, and error handling.
7025//
7026// This method is useful when you want to inject custom logic or configuration
7027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7028//
7029//
7030//    // Example sending a request using the GetContainerImagesRequest method.
7031//    req, resp := client.GetContainerImagesRequest(params)
7032//
7033//    err := req.Send()
7034//    if err == nil { // resp is now filled
7035//        fmt.Println(resp)
7036//    }
7037//
7038// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
7039func (c *Lightsail) GetContainerImagesRequest(input *GetContainerImagesInput) (req *request.Request, output *GetContainerImagesOutput) {
7040	op := &request.Operation{
7041		Name:       opGetContainerImages,
7042		HTTPMethod: "POST",
7043		HTTPPath:   "/",
7044	}
7045
7046	if input == nil {
7047		input = &GetContainerImagesInput{}
7048	}
7049
7050	output = &GetContainerImagesOutput{}
7051	req = c.newRequest(op, input, output)
7052	return
7053}
7054
7055// GetContainerImages API operation for Amazon Lightsail.
7056//
7057// Returns the container images that are registered to your Amazon Lightsail
7058// container service.
7059//
7060// If you created a deployment on your Lightsail container service that uses
7061// container images from a public registry like Docker Hub, those images are
7062// not returned as part of this action. Those images are not registered to your
7063// Lightsail container service.
7064//
7065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7066// with awserr.Error's Code and Message methods to get detailed information about
7067// the error.
7068//
7069// See the AWS API reference guide for Amazon Lightsail's
7070// API operation GetContainerImages for usage and error information.
7071//
7072// Returned Error Types:
7073//   * ServiceException
7074//   A general service exception.
7075//
7076//   * InvalidInputException
7077//   Lightsail throws this exception when user input does not conform to the validation
7078//   rules of an input field.
7079//
7080//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7081//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7082//   view, or edit these resources.
7083//
7084//   * NotFoundException
7085//   Lightsail throws this exception when it cannot find a resource.
7086//
7087//   * AccessDeniedException
7088//   Lightsail throws this exception when the user cannot be authenticated or
7089//   uses invalid credentials to access a resource.
7090//
7091//   * UnauthenticatedException
7092//   Lightsail throws this exception when the user has not been authenticated.
7093//
7094// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerImages
7095func (c *Lightsail) GetContainerImages(input *GetContainerImagesInput) (*GetContainerImagesOutput, error) {
7096	req, out := c.GetContainerImagesRequest(input)
7097	return out, req.Send()
7098}
7099
7100// GetContainerImagesWithContext is the same as GetContainerImages with the addition of
7101// the ability to pass a context and additional request options.
7102//
7103// See GetContainerImages for details on how to use this API operation.
7104//
7105// The context must be non-nil and will be used for request cancellation. If
7106// the context is nil a panic will occur. In the future the SDK may create
7107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7108// for more information on using Contexts.
7109func (c *Lightsail) GetContainerImagesWithContext(ctx aws.Context, input *GetContainerImagesInput, opts ...request.Option) (*GetContainerImagesOutput, error) {
7110	req, out := c.GetContainerImagesRequest(input)
7111	req.SetContext(ctx)
7112	req.ApplyOptions(opts...)
7113	return out, req.Send()
7114}
7115
7116const opGetContainerLog = "GetContainerLog"
7117
7118// GetContainerLogRequest generates a "aws/request.Request" representing the
7119// client's request for the GetContainerLog operation. The "output" return
7120// value will be populated with the request's response once the request completes
7121// successfully.
7122//
7123// Use "Send" method on the returned Request to send the API call to the service.
7124// the "output" return value is not valid until after Send returns without error.
7125//
7126// See GetContainerLog for more information on using the GetContainerLog
7127// API call, and error handling.
7128//
7129// This method is useful when you want to inject custom logic or configuration
7130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7131//
7132//
7133//    // Example sending a request using the GetContainerLogRequest method.
7134//    req, resp := client.GetContainerLogRequest(params)
7135//
7136//    err := req.Send()
7137//    if err == nil { // resp is now filled
7138//        fmt.Println(resp)
7139//    }
7140//
7141// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
7142func (c *Lightsail) GetContainerLogRequest(input *GetContainerLogInput) (req *request.Request, output *GetContainerLogOutput) {
7143	op := &request.Operation{
7144		Name:       opGetContainerLog,
7145		HTTPMethod: "POST",
7146		HTTPPath:   "/",
7147	}
7148
7149	if input == nil {
7150		input = &GetContainerLogInput{}
7151	}
7152
7153	output = &GetContainerLogOutput{}
7154	req = c.newRequest(op, input, output)
7155	return
7156}
7157
7158// GetContainerLog API operation for Amazon Lightsail.
7159//
7160// Returns the log events of a container of your Amazon Lightsail container
7161// service.
7162//
7163// If your container service has more than one node (i.e., a scale greater than
7164// 1), then the log events that are returned for the specified container are
7165// merged from all nodes on your container service.
7166//
7167// Container logs are retained for a certain amount of time. For more information,
7168// see Amazon Lightsail endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html)
7169// in the AWS General Reference.
7170//
7171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7172// with awserr.Error's Code and Message methods to get detailed information about
7173// the error.
7174//
7175// See the AWS API reference guide for Amazon Lightsail's
7176// API operation GetContainerLog for usage and error information.
7177//
7178// Returned Error Types:
7179//   * ServiceException
7180//   A general service exception.
7181//
7182//   * InvalidInputException
7183//   Lightsail throws this exception when user input does not conform to the validation
7184//   rules of an input field.
7185//
7186//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7187//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7188//   view, or edit these resources.
7189//
7190//   * NotFoundException
7191//   Lightsail throws this exception when it cannot find a resource.
7192//
7193//   * AccessDeniedException
7194//   Lightsail throws this exception when the user cannot be authenticated or
7195//   uses invalid credentials to access a resource.
7196//
7197//   * UnauthenticatedException
7198//   Lightsail throws this exception when the user has not been authenticated.
7199//
7200// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerLog
7201func (c *Lightsail) GetContainerLog(input *GetContainerLogInput) (*GetContainerLogOutput, error) {
7202	req, out := c.GetContainerLogRequest(input)
7203	return out, req.Send()
7204}
7205
7206// GetContainerLogWithContext is the same as GetContainerLog with the addition of
7207// the ability to pass a context and additional request options.
7208//
7209// See GetContainerLog for details on how to use this API operation.
7210//
7211// The context must be non-nil and will be used for request cancellation. If
7212// the context is nil a panic will occur. In the future the SDK may create
7213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7214// for more information on using Contexts.
7215func (c *Lightsail) GetContainerLogWithContext(ctx aws.Context, input *GetContainerLogInput, opts ...request.Option) (*GetContainerLogOutput, error) {
7216	req, out := c.GetContainerLogRequest(input)
7217	req.SetContext(ctx)
7218	req.ApplyOptions(opts...)
7219	return out, req.Send()
7220}
7221
7222const opGetContainerServiceDeployments = "GetContainerServiceDeployments"
7223
7224// GetContainerServiceDeploymentsRequest generates a "aws/request.Request" representing the
7225// client's request for the GetContainerServiceDeployments operation. The "output" return
7226// value will be populated with the request's response once the request completes
7227// successfully.
7228//
7229// Use "Send" method on the returned Request to send the API call to the service.
7230// the "output" return value is not valid until after Send returns without error.
7231//
7232// See GetContainerServiceDeployments for more information on using the GetContainerServiceDeployments
7233// API call, and error handling.
7234//
7235// This method is useful when you want to inject custom logic or configuration
7236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7237//
7238//
7239//    // Example sending a request using the GetContainerServiceDeploymentsRequest method.
7240//    req, resp := client.GetContainerServiceDeploymentsRequest(params)
7241//
7242//    err := req.Send()
7243//    if err == nil { // resp is now filled
7244//        fmt.Println(resp)
7245//    }
7246//
7247// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
7248func (c *Lightsail) GetContainerServiceDeploymentsRequest(input *GetContainerServiceDeploymentsInput) (req *request.Request, output *GetContainerServiceDeploymentsOutput) {
7249	op := &request.Operation{
7250		Name:       opGetContainerServiceDeployments,
7251		HTTPMethod: "POST",
7252		HTTPPath:   "/",
7253	}
7254
7255	if input == nil {
7256		input = &GetContainerServiceDeploymentsInput{}
7257	}
7258
7259	output = &GetContainerServiceDeploymentsOutput{}
7260	req = c.newRequest(op, input, output)
7261	return
7262}
7263
7264// GetContainerServiceDeployments API operation for Amazon Lightsail.
7265//
7266// Returns the deployments for your Amazon Lightsail container service
7267//
7268// A deployment specifies the settings, such as the ports and launch command,
7269// of containers that are deployed to your container service.
7270//
7271// The deployments are ordered by version in ascending order. The newest version
7272// is listed at the top of the response.
7273//
7274// A set number of deployments are kept before the oldest one is replaced with
7275// the newest one. For more information, see Amazon Lightsail endpoints and
7276// quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html) in
7277// the AWS General Reference.
7278//
7279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7280// with awserr.Error's Code and Message methods to get detailed information about
7281// the error.
7282//
7283// See the AWS API reference guide for Amazon Lightsail's
7284// API operation GetContainerServiceDeployments for usage and error information.
7285//
7286// Returned Error Types:
7287//   * ServiceException
7288//   A general service exception.
7289//
7290//   * InvalidInputException
7291//   Lightsail throws this exception when user input does not conform to the validation
7292//   rules of an input field.
7293//
7294//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7295//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7296//   view, or edit these resources.
7297//
7298//   * NotFoundException
7299//   Lightsail throws this exception when it cannot find a resource.
7300//
7301//   * AccessDeniedException
7302//   Lightsail throws this exception when the user cannot be authenticated or
7303//   uses invalid credentials to access a resource.
7304//
7305//   * UnauthenticatedException
7306//   Lightsail throws this exception when the user has not been authenticated.
7307//
7308// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceDeployments
7309func (c *Lightsail) GetContainerServiceDeployments(input *GetContainerServiceDeploymentsInput) (*GetContainerServiceDeploymentsOutput, error) {
7310	req, out := c.GetContainerServiceDeploymentsRequest(input)
7311	return out, req.Send()
7312}
7313
7314// GetContainerServiceDeploymentsWithContext is the same as GetContainerServiceDeployments with the addition of
7315// the ability to pass a context and additional request options.
7316//
7317// See GetContainerServiceDeployments for details on how to use this API operation.
7318//
7319// The context must be non-nil and will be used for request cancellation. If
7320// the context is nil a panic will occur. In the future the SDK may create
7321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7322// for more information on using Contexts.
7323func (c *Lightsail) GetContainerServiceDeploymentsWithContext(ctx aws.Context, input *GetContainerServiceDeploymentsInput, opts ...request.Option) (*GetContainerServiceDeploymentsOutput, error) {
7324	req, out := c.GetContainerServiceDeploymentsRequest(input)
7325	req.SetContext(ctx)
7326	req.ApplyOptions(opts...)
7327	return out, req.Send()
7328}
7329
7330const opGetContainerServiceMetricData = "GetContainerServiceMetricData"
7331
7332// GetContainerServiceMetricDataRequest generates a "aws/request.Request" representing the
7333// client's request for the GetContainerServiceMetricData operation. The "output" return
7334// value will be populated with the request's response once the request completes
7335// successfully.
7336//
7337// Use "Send" method on the returned Request to send the API call to the service.
7338// the "output" return value is not valid until after Send returns without error.
7339//
7340// See GetContainerServiceMetricData for more information on using the GetContainerServiceMetricData
7341// API call, and error handling.
7342//
7343// This method is useful when you want to inject custom logic or configuration
7344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7345//
7346//
7347//    // Example sending a request using the GetContainerServiceMetricDataRequest method.
7348//    req, resp := client.GetContainerServiceMetricDataRequest(params)
7349//
7350//    err := req.Send()
7351//    if err == nil { // resp is now filled
7352//        fmt.Println(resp)
7353//    }
7354//
7355// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
7356func (c *Lightsail) GetContainerServiceMetricDataRequest(input *GetContainerServiceMetricDataInput) (req *request.Request, output *GetContainerServiceMetricDataOutput) {
7357	op := &request.Operation{
7358		Name:       opGetContainerServiceMetricData,
7359		HTTPMethod: "POST",
7360		HTTPPath:   "/",
7361	}
7362
7363	if input == nil {
7364		input = &GetContainerServiceMetricDataInput{}
7365	}
7366
7367	output = &GetContainerServiceMetricDataOutput{}
7368	req = c.newRequest(op, input, output)
7369	return
7370}
7371
7372// GetContainerServiceMetricData API operation for Amazon Lightsail.
7373//
7374// Returns the data points of a specific metric of your Amazon Lightsail container
7375// service.
7376//
7377// Metrics report the utilization of your resources. Monitor and collect metric
7378// data regularly to maintain the reliability, availability, and performance
7379// of your resources.
7380//
7381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7382// with awserr.Error's Code and Message methods to get detailed information about
7383// the error.
7384//
7385// See the AWS API reference guide for Amazon Lightsail's
7386// API operation GetContainerServiceMetricData for usage and error information.
7387//
7388// Returned Error Types:
7389//   * ServiceException
7390//   A general service exception.
7391//
7392//   * InvalidInputException
7393//   Lightsail throws this exception when user input does not conform to the validation
7394//   rules of an input field.
7395//
7396//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7397//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7398//   view, or edit these resources.
7399//
7400//   * NotFoundException
7401//   Lightsail throws this exception when it cannot find a resource.
7402//
7403//   * AccessDeniedException
7404//   Lightsail throws this exception when the user cannot be authenticated or
7405//   uses invalid credentials to access a resource.
7406//
7407//   * UnauthenticatedException
7408//   Lightsail throws this exception when the user has not been authenticated.
7409//
7410// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServiceMetricData
7411func (c *Lightsail) GetContainerServiceMetricData(input *GetContainerServiceMetricDataInput) (*GetContainerServiceMetricDataOutput, error) {
7412	req, out := c.GetContainerServiceMetricDataRequest(input)
7413	return out, req.Send()
7414}
7415
7416// GetContainerServiceMetricDataWithContext is the same as GetContainerServiceMetricData with the addition of
7417// the ability to pass a context and additional request options.
7418//
7419// See GetContainerServiceMetricData for details on how to use this API operation.
7420//
7421// The context must be non-nil and will be used for request cancellation. If
7422// the context is nil a panic will occur. In the future the SDK may create
7423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7424// for more information on using Contexts.
7425func (c *Lightsail) GetContainerServiceMetricDataWithContext(ctx aws.Context, input *GetContainerServiceMetricDataInput, opts ...request.Option) (*GetContainerServiceMetricDataOutput, error) {
7426	req, out := c.GetContainerServiceMetricDataRequest(input)
7427	req.SetContext(ctx)
7428	req.ApplyOptions(opts...)
7429	return out, req.Send()
7430}
7431
7432const opGetContainerServicePowers = "GetContainerServicePowers"
7433
7434// GetContainerServicePowersRequest generates a "aws/request.Request" representing the
7435// client's request for the GetContainerServicePowers operation. The "output" return
7436// value will be populated with the request's response once the request completes
7437// successfully.
7438//
7439// Use "Send" method on the returned Request to send the API call to the service.
7440// the "output" return value is not valid until after Send returns without error.
7441//
7442// See GetContainerServicePowers for more information on using the GetContainerServicePowers
7443// API call, and error handling.
7444//
7445// This method is useful when you want to inject custom logic or configuration
7446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7447//
7448//
7449//    // Example sending a request using the GetContainerServicePowersRequest method.
7450//    req, resp := client.GetContainerServicePowersRequest(params)
7451//
7452//    err := req.Send()
7453//    if err == nil { // resp is now filled
7454//        fmt.Println(resp)
7455//    }
7456//
7457// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
7458func (c *Lightsail) GetContainerServicePowersRequest(input *GetContainerServicePowersInput) (req *request.Request, output *GetContainerServicePowersOutput) {
7459	op := &request.Operation{
7460		Name:       opGetContainerServicePowers,
7461		HTTPMethod: "POST",
7462		HTTPPath:   "/",
7463	}
7464
7465	if input == nil {
7466		input = &GetContainerServicePowersInput{}
7467	}
7468
7469	output = &GetContainerServicePowersOutput{}
7470	req = c.newRequest(op, input, output)
7471	return
7472}
7473
7474// GetContainerServicePowers API operation for Amazon Lightsail.
7475//
7476// Returns the list of powers that can be specified for your Amazon Lightsail
7477// container services.
7478//
7479// The power specifies the amount of memory, the number of vCPUs, and the base
7480// price of the container service.
7481//
7482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7483// with awserr.Error's Code and Message methods to get detailed information about
7484// the error.
7485//
7486// See the AWS API reference guide for Amazon Lightsail's
7487// API operation GetContainerServicePowers for usage and error information.
7488//
7489// Returned Error Types:
7490//   * ServiceException
7491//   A general service exception.
7492//
7493//   * InvalidInputException
7494//   Lightsail throws this exception when user input does not conform to the validation
7495//   rules of an input field.
7496//
7497//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7498//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7499//   view, or edit these resources.
7500//
7501//   * NotFoundException
7502//   Lightsail throws this exception when it cannot find a resource.
7503//
7504//   * AccessDeniedException
7505//   Lightsail throws this exception when the user cannot be authenticated or
7506//   uses invalid credentials to access a resource.
7507//
7508//   * UnauthenticatedException
7509//   Lightsail throws this exception when the user has not been authenticated.
7510//
7511// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServicePowers
7512func (c *Lightsail) GetContainerServicePowers(input *GetContainerServicePowersInput) (*GetContainerServicePowersOutput, error) {
7513	req, out := c.GetContainerServicePowersRequest(input)
7514	return out, req.Send()
7515}
7516
7517// GetContainerServicePowersWithContext is the same as GetContainerServicePowers with the addition of
7518// the ability to pass a context and additional request options.
7519//
7520// See GetContainerServicePowers for details on how to use this API operation.
7521//
7522// The context must be non-nil and will be used for request cancellation. If
7523// the context is nil a panic will occur. In the future the SDK may create
7524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7525// for more information on using Contexts.
7526func (c *Lightsail) GetContainerServicePowersWithContext(ctx aws.Context, input *GetContainerServicePowersInput, opts ...request.Option) (*GetContainerServicePowersOutput, error) {
7527	req, out := c.GetContainerServicePowersRequest(input)
7528	req.SetContext(ctx)
7529	req.ApplyOptions(opts...)
7530	return out, req.Send()
7531}
7532
7533const opGetContainerServices = "GetContainerServices"
7534
7535// GetContainerServicesRequest generates a "aws/request.Request" representing the
7536// client's request for the GetContainerServices operation. The "output" return
7537// value will be populated with the request's response once the request completes
7538// successfully.
7539//
7540// Use "Send" method on the returned Request to send the API call to the service.
7541// the "output" return value is not valid until after Send returns without error.
7542//
7543// See GetContainerServices for more information on using the GetContainerServices
7544// API call, and error handling.
7545//
7546// This method is useful when you want to inject custom logic or configuration
7547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7548//
7549//
7550//    // Example sending a request using the GetContainerServicesRequest method.
7551//    req, resp := client.GetContainerServicesRequest(params)
7552//
7553//    err := req.Send()
7554//    if err == nil { // resp is now filled
7555//        fmt.Println(resp)
7556//    }
7557//
7558// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
7559func (c *Lightsail) GetContainerServicesRequest(input *GetContainerServicesInput) (req *request.Request, output *GetContainerServicesOutput) {
7560	op := &request.Operation{
7561		Name:       opGetContainerServices,
7562		HTTPMethod: "POST",
7563		HTTPPath:   "/",
7564	}
7565
7566	if input == nil {
7567		input = &GetContainerServicesInput{}
7568	}
7569
7570	output = &GetContainerServicesOutput{}
7571	req = c.newRequest(op, input, output)
7572	return
7573}
7574
7575// GetContainerServices API operation for Amazon Lightsail.
7576//
7577// Returns information about one or more of your Amazon Lightsail container
7578// services.
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 GetContainerServices 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//   * AccessDeniedException
7603//   Lightsail throws this exception when the user cannot be authenticated or
7604//   uses invalid credentials to access a resource.
7605//
7606//   * UnauthenticatedException
7607//   Lightsail throws this exception when the user has not been authenticated.
7608//
7609// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContainerServices
7610func (c *Lightsail) GetContainerServices(input *GetContainerServicesInput) (*GetContainerServicesOutput, error) {
7611	req, out := c.GetContainerServicesRequest(input)
7612	return out, req.Send()
7613}
7614
7615// GetContainerServicesWithContext is the same as GetContainerServices with the addition of
7616// the ability to pass a context and additional request options.
7617//
7618// See GetContainerServices for details on how to use this API operation.
7619//
7620// The context must be non-nil and will be used for request cancellation. If
7621// the context is nil a panic will occur. In the future the SDK may create
7622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7623// for more information on using Contexts.
7624func (c *Lightsail) GetContainerServicesWithContext(ctx aws.Context, input *GetContainerServicesInput, opts ...request.Option) (*GetContainerServicesOutput, error) {
7625	req, out := c.GetContainerServicesRequest(input)
7626	req.SetContext(ctx)
7627	req.ApplyOptions(opts...)
7628	return out, req.Send()
7629}
7630
7631const opGetDisk = "GetDisk"
7632
7633// GetDiskRequest generates a "aws/request.Request" representing the
7634// client's request for the GetDisk operation. The "output" return
7635// value will be populated with the request's response once the request completes
7636// successfully.
7637//
7638// Use "Send" method on the returned Request to send the API call to the service.
7639// the "output" return value is not valid until after Send returns without error.
7640//
7641// See GetDisk for more information on using the GetDisk
7642// API call, and error handling.
7643//
7644// This method is useful when you want to inject custom logic or configuration
7645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7646//
7647//
7648//    // Example sending a request using the GetDiskRequest method.
7649//    req, resp := client.GetDiskRequest(params)
7650//
7651//    err := req.Send()
7652//    if err == nil { // resp is now filled
7653//        fmt.Println(resp)
7654//    }
7655//
7656// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
7657func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
7658	op := &request.Operation{
7659		Name:       opGetDisk,
7660		HTTPMethod: "POST",
7661		HTTPPath:   "/",
7662	}
7663
7664	if input == nil {
7665		input = &GetDiskInput{}
7666	}
7667
7668	output = &GetDiskOutput{}
7669	req = c.newRequest(op, input, output)
7670	return
7671}
7672
7673// GetDisk API operation for Amazon Lightsail.
7674//
7675// Returns information about a specific block storage disk.
7676//
7677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7678// with awserr.Error's Code and Message methods to get detailed information about
7679// the error.
7680//
7681// See the AWS API reference guide for Amazon Lightsail's
7682// API operation GetDisk for usage and error information.
7683//
7684// Returned Error Types:
7685//   * ServiceException
7686//   A general service exception.
7687//
7688//   * InvalidInputException
7689//   Lightsail throws this exception when user input does not conform to the validation
7690//   rules of an input field.
7691//
7692//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7693//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7694//   view, or edit these resources.
7695//
7696//   * NotFoundException
7697//   Lightsail throws this exception when it cannot find a resource.
7698//
7699//   * OperationFailureException
7700//   Lightsail throws this exception when an operation fails to execute.
7701//
7702//   * AccessDeniedException
7703//   Lightsail throws this exception when the user cannot be authenticated or
7704//   uses invalid credentials to access a resource.
7705//
7706//   * AccountSetupInProgressException
7707//   Lightsail throws this exception when an account is still in the setup in
7708//   progress state.
7709//
7710//   * UnauthenticatedException
7711//   Lightsail throws this exception when the user has not been authenticated.
7712//
7713// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
7714func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
7715	req, out := c.GetDiskRequest(input)
7716	return out, req.Send()
7717}
7718
7719// GetDiskWithContext is the same as GetDisk with the addition of
7720// the ability to pass a context and additional request options.
7721//
7722// See GetDisk for details on how to use this API operation.
7723//
7724// The context must be non-nil and will be used for request cancellation. If
7725// the context is nil a panic will occur. In the future the SDK may create
7726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7727// for more information on using Contexts.
7728func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
7729	req, out := c.GetDiskRequest(input)
7730	req.SetContext(ctx)
7731	req.ApplyOptions(opts...)
7732	return out, req.Send()
7733}
7734
7735const opGetDiskSnapshot = "GetDiskSnapshot"
7736
7737// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
7738// client's request for the GetDiskSnapshot operation. The "output" return
7739// value will be populated with the request's response once the request completes
7740// successfully.
7741//
7742// Use "Send" method on the returned Request to send the API call to the service.
7743// the "output" return value is not valid until after Send returns without error.
7744//
7745// See GetDiskSnapshot for more information on using the GetDiskSnapshot
7746// API call, and error handling.
7747//
7748// This method is useful when you want to inject custom logic or configuration
7749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7750//
7751//
7752//    // Example sending a request using the GetDiskSnapshotRequest method.
7753//    req, resp := client.GetDiskSnapshotRequest(params)
7754//
7755//    err := req.Send()
7756//    if err == nil { // resp is now filled
7757//        fmt.Println(resp)
7758//    }
7759//
7760// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
7761func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
7762	op := &request.Operation{
7763		Name:       opGetDiskSnapshot,
7764		HTTPMethod: "POST",
7765		HTTPPath:   "/",
7766	}
7767
7768	if input == nil {
7769		input = &GetDiskSnapshotInput{}
7770	}
7771
7772	output = &GetDiskSnapshotOutput{}
7773	req = c.newRequest(op, input, output)
7774	return
7775}
7776
7777// GetDiskSnapshot API operation for Amazon Lightsail.
7778//
7779// Returns information about a specific block storage disk snapshot.
7780//
7781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7782// with awserr.Error's Code and Message methods to get detailed information about
7783// the error.
7784//
7785// See the AWS API reference guide for Amazon Lightsail's
7786// API operation GetDiskSnapshot for usage and error information.
7787//
7788// Returned Error Types:
7789//   * ServiceException
7790//   A general service exception.
7791//
7792//   * InvalidInputException
7793//   Lightsail throws this exception when user input does not conform to the validation
7794//   rules of an input field.
7795//
7796//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7797//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7798//   view, or edit these resources.
7799//
7800//   * NotFoundException
7801//   Lightsail throws this exception when it cannot find a resource.
7802//
7803//   * OperationFailureException
7804//   Lightsail throws this exception when an operation fails to execute.
7805//
7806//   * AccessDeniedException
7807//   Lightsail throws this exception when the user cannot be authenticated or
7808//   uses invalid credentials to access a resource.
7809//
7810//   * AccountSetupInProgressException
7811//   Lightsail throws this exception when an account is still in the setup in
7812//   progress state.
7813//
7814//   * UnauthenticatedException
7815//   Lightsail throws this exception when the user has not been authenticated.
7816//
7817// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
7818func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
7819	req, out := c.GetDiskSnapshotRequest(input)
7820	return out, req.Send()
7821}
7822
7823// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
7824// the ability to pass a context and additional request options.
7825//
7826// See GetDiskSnapshot for details on how to use this API operation.
7827//
7828// The context must be non-nil and will be used for request cancellation. If
7829// the context is nil a panic will occur. In the future the SDK may create
7830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7831// for more information on using Contexts.
7832func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
7833	req, out := c.GetDiskSnapshotRequest(input)
7834	req.SetContext(ctx)
7835	req.ApplyOptions(opts...)
7836	return out, req.Send()
7837}
7838
7839const opGetDiskSnapshots = "GetDiskSnapshots"
7840
7841// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
7842// client's request for the GetDiskSnapshots operation. The "output" return
7843// value will be populated with the request's response once the request completes
7844// successfully.
7845//
7846// Use "Send" method on the returned Request to send the API call to the service.
7847// the "output" return value is not valid until after Send returns without error.
7848//
7849// See GetDiskSnapshots for more information on using the GetDiskSnapshots
7850// API call, and error handling.
7851//
7852// This method is useful when you want to inject custom logic or configuration
7853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7854//
7855//
7856//    // Example sending a request using the GetDiskSnapshotsRequest method.
7857//    req, resp := client.GetDiskSnapshotsRequest(params)
7858//
7859//    err := req.Send()
7860//    if err == nil { // resp is now filled
7861//        fmt.Println(resp)
7862//    }
7863//
7864// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
7865func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
7866	op := &request.Operation{
7867		Name:       opGetDiskSnapshots,
7868		HTTPMethod: "POST",
7869		HTTPPath:   "/",
7870	}
7871
7872	if input == nil {
7873		input = &GetDiskSnapshotsInput{}
7874	}
7875
7876	output = &GetDiskSnapshotsOutput{}
7877	req = c.newRequest(op, input, output)
7878	return
7879}
7880
7881// GetDiskSnapshots API operation for Amazon Lightsail.
7882//
7883// Returns information about all block storage disk snapshots in your AWS account
7884// and region.
7885//
7886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7887// with awserr.Error's Code and Message methods to get detailed information about
7888// the error.
7889//
7890// See the AWS API reference guide for Amazon Lightsail's
7891// API operation GetDiskSnapshots for usage and error information.
7892//
7893// Returned Error Types:
7894//   * ServiceException
7895//   A general service exception.
7896//
7897//   * InvalidInputException
7898//   Lightsail throws this exception when user input does not conform to the validation
7899//   rules of an input field.
7900//
7901//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
7902//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
7903//   view, or edit these resources.
7904//
7905//   * NotFoundException
7906//   Lightsail throws this exception when it cannot find a resource.
7907//
7908//   * OperationFailureException
7909//   Lightsail throws this exception when an operation fails to execute.
7910//
7911//   * AccessDeniedException
7912//   Lightsail throws this exception when the user cannot be authenticated or
7913//   uses invalid credentials to access a resource.
7914//
7915//   * AccountSetupInProgressException
7916//   Lightsail throws this exception when an account is still in the setup in
7917//   progress state.
7918//
7919//   * UnauthenticatedException
7920//   Lightsail throws this exception when the user has not been authenticated.
7921//
7922// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
7923func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
7924	req, out := c.GetDiskSnapshotsRequest(input)
7925	return out, req.Send()
7926}
7927
7928// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
7929// the ability to pass a context and additional request options.
7930//
7931// See GetDiskSnapshots for details on how to use this API operation.
7932//
7933// The context must be non-nil and will be used for request cancellation. If
7934// the context is nil a panic will occur. In the future the SDK may create
7935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7936// for more information on using Contexts.
7937func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
7938	req, out := c.GetDiskSnapshotsRequest(input)
7939	req.SetContext(ctx)
7940	req.ApplyOptions(opts...)
7941	return out, req.Send()
7942}
7943
7944const opGetDisks = "GetDisks"
7945
7946// GetDisksRequest generates a "aws/request.Request" representing the
7947// client's request for the GetDisks operation. The "output" return
7948// value will be populated with the request's response once the request completes
7949// successfully.
7950//
7951// Use "Send" method on the returned Request to send the API call to the service.
7952// the "output" return value is not valid until after Send returns without error.
7953//
7954// See GetDisks for more information on using the GetDisks
7955// API call, and error handling.
7956//
7957// This method is useful when you want to inject custom logic or configuration
7958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7959//
7960//
7961//    // Example sending a request using the GetDisksRequest method.
7962//    req, resp := client.GetDisksRequest(params)
7963//
7964//    err := req.Send()
7965//    if err == nil { // resp is now filled
7966//        fmt.Println(resp)
7967//    }
7968//
7969// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
7970func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
7971	op := &request.Operation{
7972		Name:       opGetDisks,
7973		HTTPMethod: "POST",
7974		HTTPPath:   "/",
7975	}
7976
7977	if input == nil {
7978		input = &GetDisksInput{}
7979	}
7980
7981	output = &GetDisksOutput{}
7982	req = c.newRequest(op, input, output)
7983	return
7984}
7985
7986// GetDisks API operation for Amazon Lightsail.
7987//
7988// Returns information about all block storage disks in your AWS account and
7989// region.
7990//
7991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7992// with awserr.Error's Code and Message methods to get detailed information about
7993// the error.
7994//
7995// See the AWS API reference guide for Amazon Lightsail's
7996// API operation GetDisks for usage and error information.
7997//
7998// Returned Error Types:
7999//   * ServiceException
8000//   A general service exception.
8001//
8002//   * InvalidInputException
8003//   Lightsail throws this exception when user input does not conform to the validation
8004//   rules of an input field.
8005//
8006//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8007//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8008//   view, or edit these resources.
8009//
8010//   * NotFoundException
8011//   Lightsail throws this exception when it cannot find a resource.
8012//
8013//   * OperationFailureException
8014//   Lightsail throws this exception when an operation fails to execute.
8015//
8016//   * AccessDeniedException
8017//   Lightsail throws this exception when the user cannot be authenticated or
8018//   uses invalid credentials to access a resource.
8019//
8020//   * AccountSetupInProgressException
8021//   Lightsail throws this exception when an account is still in the setup in
8022//   progress state.
8023//
8024//   * UnauthenticatedException
8025//   Lightsail throws this exception when the user has not been authenticated.
8026//
8027// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
8028func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
8029	req, out := c.GetDisksRequest(input)
8030	return out, req.Send()
8031}
8032
8033// GetDisksWithContext is the same as GetDisks with the addition of
8034// the ability to pass a context and additional request options.
8035//
8036// See GetDisks for details on how to use this API operation.
8037//
8038// The context must be non-nil and will be used for request cancellation. If
8039// the context is nil a panic will occur. In the future the SDK may create
8040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8041// for more information on using Contexts.
8042func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
8043	req, out := c.GetDisksRequest(input)
8044	req.SetContext(ctx)
8045	req.ApplyOptions(opts...)
8046	return out, req.Send()
8047}
8048
8049const opGetDistributionBundles = "GetDistributionBundles"
8050
8051// GetDistributionBundlesRequest generates a "aws/request.Request" representing the
8052// client's request for the GetDistributionBundles operation. The "output" return
8053// value will be populated with the request's response once the request completes
8054// successfully.
8055//
8056// Use "Send" method on the returned Request to send the API call to the service.
8057// the "output" return value is not valid until after Send returns without error.
8058//
8059// See GetDistributionBundles for more information on using the GetDistributionBundles
8060// API call, and error handling.
8061//
8062// This method is useful when you want to inject custom logic or configuration
8063// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8064//
8065//
8066//    // Example sending a request using the GetDistributionBundlesRequest method.
8067//    req, resp := client.GetDistributionBundlesRequest(params)
8068//
8069//    err := req.Send()
8070//    if err == nil { // resp is now filled
8071//        fmt.Println(resp)
8072//    }
8073//
8074// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
8075func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) {
8076	op := &request.Operation{
8077		Name:       opGetDistributionBundles,
8078		HTTPMethod: "POST",
8079		HTTPPath:   "/",
8080	}
8081
8082	if input == nil {
8083		input = &GetDistributionBundlesInput{}
8084	}
8085
8086	output = &GetDistributionBundlesOutput{}
8087	req = c.newRequest(op, input, output)
8088	return
8089}
8090
8091// GetDistributionBundles API operation for Amazon Lightsail.
8092//
8093// Returns the list bundles that can be applied to you Amazon Lightsail content
8094// delivery network (CDN) distributions.
8095//
8096// A distribution bundle specifies the monthly network transfer quota and monthly
8097// cost of your dsitribution.
8098//
8099// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8100// with awserr.Error's Code and Message methods to get detailed information about
8101// the error.
8102//
8103// See the AWS API reference guide for Amazon Lightsail's
8104// API operation GetDistributionBundles for usage and error information.
8105//
8106// Returned Error Types:
8107//   * ServiceException
8108//   A general service exception.
8109//
8110//   * InvalidInputException
8111//   Lightsail throws this exception when user input does not conform to the validation
8112//   rules of an input field.
8113//
8114//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8115//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8116//   view, or edit these resources.
8117//
8118//   * NotFoundException
8119//   Lightsail throws this exception when it cannot find a resource.
8120//
8121//   * OperationFailureException
8122//   Lightsail throws this exception when an operation fails to execute.
8123//
8124//   * AccessDeniedException
8125//   Lightsail throws this exception when the user cannot be authenticated or
8126//   uses invalid credentials to access a resource.
8127//
8128//   * UnauthenticatedException
8129//   Lightsail throws this exception when the user has not been authenticated.
8130//
8131// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
8132func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) {
8133	req, out := c.GetDistributionBundlesRequest(input)
8134	return out, req.Send()
8135}
8136
8137// GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of
8138// the ability to pass a context and additional request options.
8139//
8140// See GetDistributionBundles for details on how to use this API operation.
8141//
8142// The context must be non-nil and will be used for request cancellation. If
8143// the context is nil a panic will occur. In the future the SDK may create
8144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8145// for more information on using Contexts.
8146func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) {
8147	req, out := c.GetDistributionBundlesRequest(input)
8148	req.SetContext(ctx)
8149	req.ApplyOptions(opts...)
8150	return out, req.Send()
8151}
8152
8153const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset"
8154
8155// GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the
8156// client's request for the GetDistributionLatestCacheReset operation. The "output" return
8157// value will be populated with the request's response once the request completes
8158// successfully.
8159//
8160// Use "Send" method on the returned Request to send the API call to the service.
8161// the "output" return value is not valid until after Send returns without error.
8162//
8163// See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset
8164// API call, and error handling.
8165//
8166// This method is useful when you want to inject custom logic or configuration
8167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8168//
8169//
8170//    // Example sending a request using the GetDistributionLatestCacheResetRequest method.
8171//    req, resp := client.GetDistributionLatestCacheResetRequest(params)
8172//
8173//    err := req.Send()
8174//    if err == nil { // resp is now filled
8175//        fmt.Println(resp)
8176//    }
8177//
8178// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
8179func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) {
8180	op := &request.Operation{
8181		Name:       opGetDistributionLatestCacheReset,
8182		HTTPMethod: "POST",
8183		HTTPPath:   "/",
8184	}
8185
8186	if input == nil {
8187		input = &GetDistributionLatestCacheResetInput{}
8188	}
8189
8190	output = &GetDistributionLatestCacheResetOutput{}
8191	req = c.newRequest(op, input, output)
8192	return
8193}
8194
8195// GetDistributionLatestCacheReset API operation for Amazon Lightsail.
8196//
8197// Returns the timestamp and status of the last cache reset of a specific Amazon
8198// Lightsail content delivery network (CDN) distribution.
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 GetDistributionLatestCacheReset 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//   * OperationFailureException
8223//   Lightsail throws this exception when an operation fails to execute.
8224//
8225//   * AccessDeniedException
8226//   Lightsail throws this exception when the user cannot be authenticated or
8227//   uses invalid credentials to access a resource.
8228//
8229//   * UnauthenticatedException
8230//   Lightsail throws this exception when the user has not been authenticated.
8231//
8232// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
8233func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) {
8234	req, out := c.GetDistributionLatestCacheResetRequest(input)
8235	return out, req.Send()
8236}
8237
8238// GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of
8239// the ability to pass a context and additional request options.
8240//
8241// See GetDistributionLatestCacheReset for details on how to use this API operation.
8242//
8243// The context must be non-nil and will be used for request cancellation. If
8244// the context is nil a panic will occur. In the future the SDK may create
8245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8246// for more information on using Contexts.
8247func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) {
8248	req, out := c.GetDistributionLatestCacheResetRequest(input)
8249	req.SetContext(ctx)
8250	req.ApplyOptions(opts...)
8251	return out, req.Send()
8252}
8253
8254const opGetDistributionMetricData = "GetDistributionMetricData"
8255
8256// GetDistributionMetricDataRequest generates a "aws/request.Request" representing the
8257// client's request for the GetDistributionMetricData operation. The "output" return
8258// value will be populated with the request's response once the request completes
8259// successfully.
8260//
8261// Use "Send" method on the returned Request to send the API call to the service.
8262// the "output" return value is not valid until after Send returns without error.
8263//
8264// See GetDistributionMetricData for more information on using the GetDistributionMetricData
8265// API call, and error handling.
8266//
8267// This method is useful when you want to inject custom logic or configuration
8268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8269//
8270//
8271//    // Example sending a request using the GetDistributionMetricDataRequest method.
8272//    req, resp := client.GetDistributionMetricDataRequest(params)
8273//
8274//    err := req.Send()
8275//    if err == nil { // resp is now filled
8276//        fmt.Println(resp)
8277//    }
8278//
8279// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
8280func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) {
8281	op := &request.Operation{
8282		Name:       opGetDistributionMetricData,
8283		HTTPMethod: "POST",
8284		HTTPPath:   "/",
8285	}
8286
8287	if input == nil {
8288		input = &GetDistributionMetricDataInput{}
8289	}
8290
8291	output = &GetDistributionMetricDataOutput{}
8292	req = c.newRequest(op, input, output)
8293	return
8294}
8295
8296// GetDistributionMetricData API operation for Amazon Lightsail.
8297//
8298// Returns the data points of a specific metric for an Amazon Lightsail content
8299// delivery network (CDN) distribution.
8300//
8301// Metrics report the utilization of your resources, and the error counts generated
8302// by them. Monitor and collect metric data regularly to maintain the reliability,
8303// availability, and performance of your resources.
8304//
8305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8306// with awserr.Error's Code and Message methods to get detailed information about
8307// the error.
8308//
8309// See the AWS API reference guide for Amazon Lightsail's
8310// API operation GetDistributionMetricData for usage and error information.
8311//
8312// Returned Error Types:
8313//   * ServiceException
8314//   A general service exception.
8315//
8316//   * InvalidInputException
8317//   Lightsail throws this exception when user input does not conform to the validation
8318//   rules of an input field.
8319//
8320//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8321//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8322//   view, or edit these resources.
8323//
8324//   * NotFoundException
8325//   Lightsail throws this exception when it cannot find a resource.
8326//
8327//   * OperationFailureException
8328//   Lightsail throws this exception when an operation fails to execute.
8329//
8330//   * AccessDeniedException
8331//   Lightsail throws this exception when the user cannot be authenticated or
8332//   uses invalid credentials to access a resource.
8333//
8334//   * UnauthenticatedException
8335//   Lightsail throws this exception when the user has not been authenticated.
8336//
8337// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
8338func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) {
8339	req, out := c.GetDistributionMetricDataRequest(input)
8340	return out, req.Send()
8341}
8342
8343// GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of
8344// the ability to pass a context and additional request options.
8345//
8346// See GetDistributionMetricData for details on how to use this API operation.
8347//
8348// The context must be non-nil and will be used for request cancellation. If
8349// the context is nil a panic will occur. In the future the SDK may create
8350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8351// for more information on using Contexts.
8352func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) {
8353	req, out := c.GetDistributionMetricDataRequest(input)
8354	req.SetContext(ctx)
8355	req.ApplyOptions(opts...)
8356	return out, req.Send()
8357}
8358
8359const opGetDistributions = "GetDistributions"
8360
8361// GetDistributionsRequest generates a "aws/request.Request" representing the
8362// client's request for the GetDistributions operation. The "output" return
8363// value will be populated with the request's response once the request completes
8364// successfully.
8365//
8366// Use "Send" method on the returned Request to send the API call to the service.
8367// the "output" return value is not valid until after Send returns without error.
8368//
8369// See GetDistributions for more information on using the GetDistributions
8370// API call, and error handling.
8371//
8372// This method is useful when you want to inject custom logic or configuration
8373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8374//
8375//
8376//    // Example sending a request using the GetDistributionsRequest method.
8377//    req, resp := client.GetDistributionsRequest(params)
8378//
8379//    err := req.Send()
8380//    if err == nil { // resp is now filled
8381//        fmt.Println(resp)
8382//    }
8383//
8384// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
8385func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) {
8386	op := &request.Operation{
8387		Name:       opGetDistributions,
8388		HTTPMethod: "POST",
8389		HTTPPath:   "/",
8390	}
8391
8392	if input == nil {
8393		input = &GetDistributionsInput{}
8394	}
8395
8396	output = &GetDistributionsOutput{}
8397	req = c.newRequest(op, input, output)
8398	return
8399}
8400
8401// GetDistributions API operation for Amazon Lightsail.
8402//
8403// Returns information about one or more of your Amazon Lightsail content delivery
8404// network (CDN) distributions.
8405//
8406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8407// with awserr.Error's Code and Message methods to get detailed information about
8408// the error.
8409//
8410// See the AWS API reference guide for Amazon Lightsail's
8411// API operation GetDistributions for usage and error information.
8412//
8413// Returned Error Types:
8414//   * ServiceException
8415//   A general service exception.
8416//
8417//   * InvalidInputException
8418//   Lightsail throws this exception when user input does not conform to the validation
8419//   rules of an input field.
8420//
8421//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8422//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8423//   view, or edit these resources.
8424//
8425//   * NotFoundException
8426//   Lightsail throws this exception when it cannot find a resource.
8427//
8428//   * OperationFailureException
8429//   Lightsail throws this exception when an operation fails to execute.
8430//
8431//   * AccessDeniedException
8432//   Lightsail throws this exception when the user cannot be authenticated or
8433//   uses invalid credentials to access a resource.
8434//
8435//   * UnauthenticatedException
8436//   Lightsail throws this exception when the user has not been authenticated.
8437//
8438// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
8439func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) {
8440	req, out := c.GetDistributionsRequest(input)
8441	return out, req.Send()
8442}
8443
8444// GetDistributionsWithContext is the same as GetDistributions with the addition of
8445// the ability to pass a context and additional request options.
8446//
8447// See GetDistributions for details on how to use this API operation.
8448//
8449// The context must be non-nil and will be used for request cancellation. If
8450// the context is nil a panic will occur. In the future the SDK may create
8451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8452// for more information on using Contexts.
8453func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) {
8454	req, out := c.GetDistributionsRequest(input)
8455	req.SetContext(ctx)
8456	req.ApplyOptions(opts...)
8457	return out, req.Send()
8458}
8459
8460const opGetDomain = "GetDomain"
8461
8462// GetDomainRequest generates a "aws/request.Request" representing the
8463// client's request for the GetDomain operation. The "output" return
8464// value will be populated with the request's response once the request completes
8465// successfully.
8466//
8467// Use "Send" method on the returned Request to send the API call to the service.
8468// the "output" return value is not valid until after Send returns without error.
8469//
8470// See GetDomain for more information on using the GetDomain
8471// API call, and error handling.
8472//
8473// This method is useful when you want to inject custom logic or configuration
8474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8475//
8476//
8477//    // Example sending a request using the GetDomainRequest method.
8478//    req, resp := client.GetDomainRequest(params)
8479//
8480//    err := req.Send()
8481//    if err == nil { // resp is now filled
8482//        fmt.Println(resp)
8483//    }
8484//
8485// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
8486func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
8487	op := &request.Operation{
8488		Name:       opGetDomain,
8489		HTTPMethod: "POST",
8490		HTTPPath:   "/",
8491	}
8492
8493	if input == nil {
8494		input = &GetDomainInput{}
8495	}
8496
8497	output = &GetDomainOutput{}
8498	req = c.newRequest(op, input, output)
8499	return
8500}
8501
8502// GetDomain API operation for Amazon Lightsail.
8503//
8504// Returns information about a specific domain recordset.
8505//
8506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8507// with awserr.Error's Code and Message methods to get detailed information about
8508// the error.
8509//
8510// See the AWS API reference guide for Amazon Lightsail's
8511// API operation GetDomain for usage and error information.
8512//
8513// Returned Error Types:
8514//   * ServiceException
8515//   A general service exception.
8516//
8517//   * InvalidInputException
8518//   Lightsail throws this exception when user input does not conform to the validation
8519//   rules of an input field.
8520//
8521//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8522//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8523//   view, or edit these resources.
8524//
8525//   * NotFoundException
8526//   Lightsail throws this exception when it cannot find a resource.
8527//
8528//   * OperationFailureException
8529//   Lightsail throws this exception when an operation fails to execute.
8530//
8531//   * AccessDeniedException
8532//   Lightsail throws this exception when the user cannot be authenticated or
8533//   uses invalid credentials to access a resource.
8534//
8535//   * AccountSetupInProgressException
8536//   Lightsail throws this exception when an account is still in the setup in
8537//   progress state.
8538//
8539//   * UnauthenticatedException
8540//   Lightsail throws this exception when the user has not been authenticated.
8541//
8542// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
8543func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
8544	req, out := c.GetDomainRequest(input)
8545	return out, req.Send()
8546}
8547
8548// GetDomainWithContext is the same as GetDomain with the addition of
8549// the ability to pass a context and additional request options.
8550//
8551// See GetDomain for details on how to use this API operation.
8552//
8553// The context must be non-nil and will be used for request cancellation. If
8554// the context is nil a panic will occur. In the future the SDK may create
8555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8556// for more information on using Contexts.
8557func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
8558	req, out := c.GetDomainRequest(input)
8559	req.SetContext(ctx)
8560	req.ApplyOptions(opts...)
8561	return out, req.Send()
8562}
8563
8564const opGetDomains = "GetDomains"
8565
8566// GetDomainsRequest generates a "aws/request.Request" representing the
8567// client's request for the GetDomains operation. The "output" return
8568// value will be populated with the request's response once the request completes
8569// successfully.
8570//
8571// Use "Send" method on the returned Request to send the API call to the service.
8572// the "output" return value is not valid until after Send returns without error.
8573//
8574// See GetDomains for more information on using the GetDomains
8575// API call, and error handling.
8576//
8577// This method is useful when you want to inject custom logic or configuration
8578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8579//
8580//
8581//    // Example sending a request using the GetDomainsRequest method.
8582//    req, resp := client.GetDomainsRequest(params)
8583//
8584//    err := req.Send()
8585//    if err == nil { // resp is now filled
8586//        fmt.Println(resp)
8587//    }
8588//
8589// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
8590func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
8591	op := &request.Operation{
8592		Name:       opGetDomains,
8593		HTTPMethod: "POST",
8594		HTTPPath:   "/",
8595	}
8596
8597	if input == nil {
8598		input = &GetDomainsInput{}
8599	}
8600
8601	output = &GetDomainsOutput{}
8602	req = c.newRequest(op, input, output)
8603	return
8604}
8605
8606// GetDomains API operation for Amazon Lightsail.
8607//
8608// Returns a list of all domains in the user's account.
8609//
8610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8611// with awserr.Error's Code and Message methods to get detailed information about
8612// the error.
8613//
8614// See the AWS API reference guide for Amazon Lightsail's
8615// API operation GetDomains for usage and error information.
8616//
8617// Returned Error Types:
8618//   * ServiceException
8619//   A general service exception.
8620//
8621//   * InvalidInputException
8622//   Lightsail throws this exception when user input does not conform to the validation
8623//   rules of an input field.
8624//
8625//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8626//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8627//   view, or edit these resources.
8628//
8629//   * NotFoundException
8630//   Lightsail throws this exception when it cannot find a resource.
8631//
8632//   * OperationFailureException
8633//   Lightsail throws this exception when an operation fails to execute.
8634//
8635//   * AccessDeniedException
8636//   Lightsail throws this exception when the user cannot be authenticated or
8637//   uses invalid credentials to access a resource.
8638//
8639//   * AccountSetupInProgressException
8640//   Lightsail throws this exception when an account is still in the setup in
8641//   progress state.
8642//
8643//   * UnauthenticatedException
8644//   Lightsail throws this exception when the user has not been authenticated.
8645//
8646// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
8647func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
8648	req, out := c.GetDomainsRequest(input)
8649	return out, req.Send()
8650}
8651
8652// GetDomainsWithContext is the same as GetDomains with the addition of
8653// the ability to pass a context and additional request options.
8654//
8655// See GetDomains for details on how to use this API operation.
8656//
8657// The context must be non-nil and will be used for request cancellation. If
8658// the context is nil a panic will occur. In the future the SDK may create
8659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8660// for more information on using Contexts.
8661func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
8662	req, out := c.GetDomainsRequest(input)
8663	req.SetContext(ctx)
8664	req.ApplyOptions(opts...)
8665	return out, req.Send()
8666}
8667
8668const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
8669
8670// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
8671// client's request for the GetExportSnapshotRecords operation. The "output" return
8672// value will be populated with the request's response once the request completes
8673// successfully.
8674//
8675// Use "Send" method on the returned Request to send the API call to the service.
8676// the "output" return value is not valid until after Send returns without error.
8677//
8678// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
8679// API call, and error handling.
8680//
8681// This method is useful when you want to inject custom logic or configuration
8682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8683//
8684//
8685//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
8686//    req, resp := client.GetExportSnapshotRecordsRequest(params)
8687//
8688//    err := req.Send()
8689//    if err == nil { // resp is now filled
8690//        fmt.Println(resp)
8691//    }
8692//
8693// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
8694func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
8695	op := &request.Operation{
8696		Name:       opGetExportSnapshotRecords,
8697		HTTPMethod: "POST",
8698		HTTPPath:   "/",
8699	}
8700
8701	if input == nil {
8702		input = &GetExportSnapshotRecordsInput{}
8703	}
8704
8705	output = &GetExportSnapshotRecordsOutput{}
8706	req = c.newRequest(op, input, output)
8707	return
8708}
8709
8710// GetExportSnapshotRecords API operation for Amazon Lightsail.
8711//
8712// Returns the export snapshot record created as a result of the export snapshot
8713// operation.
8714//
8715// An export snapshot record can be used to create a new Amazon EC2 instance
8716// and its related resources with the create cloud formation stack operation.
8717//
8718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8719// with awserr.Error's Code and Message methods to get detailed information about
8720// the error.
8721//
8722// See the AWS API reference guide for Amazon Lightsail's
8723// API operation GetExportSnapshotRecords for usage and error information.
8724//
8725// Returned Error Types:
8726//   * ServiceException
8727//   A general service exception.
8728//
8729//   * InvalidInputException
8730//   Lightsail throws this exception when user input does not conform to the validation
8731//   rules of an input field.
8732//
8733//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8734//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8735//   view, or edit these resources.
8736//
8737//   * NotFoundException
8738//   Lightsail throws this exception when it cannot find a resource.
8739//
8740//   * OperationFailureException
8741//   Lightsail throws this exception when an operation fails to execute.
8742//
8743//   * AccessDeniedException
8744//   Lightsail throws this exception when the user cannot be authenticated or
8745//   uses invalid credentials to access a resource.
8746//
8747//   * AccountSetupInProgressException
8748//   Lightsail throws this exception when an account is still in the setup in
8749//   progress state.
8750//
8751//   * UnauthenticatedException
8752//   Lightsail throws this exception when the user has not been authenticated.
8753//
8754// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
8755func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
8756	req, out := c.GetExportSnapshotRecordsRequest(input)
8757	return out, req.Send()
8758}
8759
8760// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
8761// the ability to pass a context and additional request options.
8762//
8763// See GetExportSnapshotRecords for details on how to use this API operation.
8764//
8765// The context must be non-nil and will be used for request cancellation. If
8766// the context is nil a panic will occur. In the future the SDK may create
8767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8768// for more information on using Contexts.
8769func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
8770	req, out := c.GetExportSnapshotRecordsRequest(input)
8771	req.SetContext(ctx)
8772	req.ApplyOptions(opts...)
8773	return out, req.Send()
8774}
8775
8776const opGetInstance = "GetInstance"
8777
8778// GetInstanceRequest generates a "aws/request.Request" representing the
8779// client's request for the GetInstance operation. The "output" return
8780// value will be populated with the request's response once the request completes
8781// successfully.
8782//
8783// Use "Send" method on the returned Request to send the API call to the service.
8784// the "output" return value is not valid until after Send returns without error.
8785//
8786// See GetInstance for more information on using the GetInstance
8787// API call, and error handling.
8788//
8789// This method is useful when you want to inject custom logic or configuration
8790// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8791//
8792//
8793//    // Example sending a request using the GetInstanceRequest method.
8794//    req, resp := client.GetInstanceRequest(params)
8795//
8796//    err := req.Send()
8797//    if err == nil { // resp is now filled
8798//        fmt.Println(resp)
8799//    }
8800//
8801// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
8802func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
8803	op := &request.Operation{
8804		Name:       opGetInstance,
8805		HTTPMethod: "POST",
8806		HTTPPath:   "/",
8807	}
8808
8809	if input == nil {
8810		input = &GetInstanceInput{}
8811	}
8812
8813	output = &GetInstanceOutput{}
8814	req = c.newRequest(op, input, output)
8815	return
8816}
8817
8818// GetInstance API operation for Amazon Lightsail.
8819//
8820// Returns information about a specific Amazon Lightsail instance, which is
8821// a virtual private server.
8822//
8823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8824// with awserr.Error's Code and Message methods to get detailed information about
8825// the error.
8826//
8827// See the AWS API reference guide for Amazon Lightsail's
8828// API operation GetInstance for usage and error information.
8829//
8830// Returned Error Types:
8831//   * ServiceException
8832//   A general service exception.
8833//
8834//   * InvalidInputException
8835//   Lightsail throws this exception when user input does not conform to the validation
8836//   rules of an input field.
8837//
8838//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8839//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8840//   view, or edit these resources.
8841//
8842//   * NotFoundException
8843//   Lightsail throws this exception when it cannot find a resource.
8844//
8845//   * OperationFailureException
8846//   Lightsail throws this exception when an operation fails to execute.
8847//
8848//   * AccessDeniedException
8849//   Lightsail throws this exception when the user cannot be authenticated or
8850//   uses invalid credentials to access a resource.
8851//
8852//   * AccountSetupInProgressException
8853//   Lightsail throws this exception when an account is still in the setup in
8854//   progress state.
8855//
8856//   * UnauthenticatedException
8857//   Lightsail throws this exception when the user has not been authenticated.
8858//
8859// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
8860func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
8861	req, out := c.GetInstanceRequest(input)
8862	return out, req.Send()
8863}
8864
8865// GetInstanceWithContext is the same as GetInstance with the addition of
8866// the ability to pass a context and additional request options.
8867//
8868// See GetInstance for details on how to use this API operation.
8869//
8870// The context must be non-nil and will be used for request cancellation. If
8871// the context is nil a panic will occur. In the future the SDK may create
8872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8873// for more information on using Contexts.
8874func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
8875	req, out := c.GetInstanceRequest(input)
8876	req.SetContext(ctx)
8877	req.ApplyOptions(opts...)
8878	return out, req.Send()
8879}
8880
8881const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
8882
8883// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
8884// client's request for the GetInstanceAccessDetails operation. The "output" return
8885// value will be populated with the request's response once the request completes
8886// successfully.
8887//
8888// Use "Send" method on the returned Request to send the API call to the service.
8889// the "output" return value is not valid until after Send returns without error.
8890//
8891// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
8892// API call, and error handling.
8893//
8894// This method is useful when you want to inject custom logic or configuration
8895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8896//
8897//
8898//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
8899//    req, resp := client.GetInstanceAccessDetailsRequest(params)
8900//
8901//    err := req.Send()
8902//    if err == nil { // resp is now filled
8903//        fmt.Println(resp)
8904//    }
8905//
8906// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
8907func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
8908	op := &request.Operation{
8909		Name:       opGetInstanceAccessDetails,
8910		HTTPMethod: "POST",
8911		HTTPPath:   "/",
8912	}
8913
8914	if input == nil {
8915		input = &GetInstanceAccessDetailsInput{}
8916	}
8917
8918	output = &GetInstanceAccessDetailsOutput{}
8919	req = c.newRequest(op, input, output)
8920	return
8921}
8922
8923// GetInstanceAccessDetails API operation for Amazon Lightsail.
8924//
8925// Returns temporary SSH keys you can use to connect to a specific virtual private
8926// server, or instance.
8927//
8928// The get instance access details operation supports tag-based access control
8929// via resource tags applied to the resource identified by instance name. For
8930// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
8931//
8932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8933// with awserr.Error's Code and Message methods to get detailed information about
8934// the error.
8935//
8936// See the AWS API reference guide for Amazon Lightsail's
8937// API operation GetInstanceAccessDetails for usage and error information.
8938//
8939// Returned Error Types:
8940//   * ServiceException
8941//   A general service exception.
8942//
8943//   * InvalidInputException
8944//   Lightsail throws this exception when user input does not conform to the validation
8945//   rules of an input field.
8946//
8947//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
8948//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
8949//   view, or edit these resources.
8950//
8951//   * NotFoundException
8952//   Lightsail throws this exception when it cannot find a resource.
8953//
8954//   * OperationFailureException
8955//   Lightsail throws this exception when an operation fails to execute.
8956//
8957//   * AccessDeniedException
8958//   Lightsail throws this exception when the user cannot be authenticated or
8959//   uses invalid credentials to access a resource.
8960//
8961//   * AccountSetupInProgressException
8962//   Lightsail throws this exception when an account is still in the setup in
8963//   progress state.
8964//
8965//   * UnauthenticatedException
8966//   Lightsail throws this exception when the user has not been authenticated.
8967//
8968// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
8969func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
8970	req, out := c.GetInstanceAccessDetailsRequest(input)
8971	return out, req.Send()
8972}
8973
8974// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
8975// the ability to pass a context and additional request options.
8976//
8977// See GetInstanceAccessDetails for details on how to use this API operation.
8978//
8979// The context must be non-nil and will be used for request cancellation. If
8980// the context is nil a panic will occur. In the future the SDK may create
8981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8982// for more information on using Contexts.
8983func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
8984	req, out := c.GetInstanceAccessDetailsRequest(input)
8985	req.SetContext(ctx)
8986	req.ApplyOptions(opts...)
8987	return out, req.Send()
8988}
8989
8990const opGetInstanceMetricData = "GetInstanceMetricData"
8991
8992// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
8993// client's request for the GetInstanceMetricData operation. The "output" return
8994// value will be populated with the request's response once the request completes
8995// successfully.
8996//
8997// Use "Send" method on the returned Request to send the API call to the service.
8998// the "output" return value is not valid until after Send returns without error.
8999//
9000// See GetInstanceMetricData for more information on using the GetInstanceMetricData
9001// API call, and error handling.
9002//
9003// This method is useful when you want to inject custom logic or configuration
9004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9005//
9006//
9007//    // Example sending a request using the GetInstanceMetricDataRequest method.
9008//    req, resp := client.GetInstanceMetricDataRequest(params)
9009//
9010//    err := req.Send()
9011//    if err == nil { // resp is now filled
9012//        fmt.Println(resp)
9013//    }
9014//
9015// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
9016func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
9017	op := &request.Operation{
9018		Name:       opGetInstanceMetricData,
9019		HTTPMethod: "POST",
9020		HTTPPath:   "/",
9021	}
9022
9023	if input == nil {
9024		input = &GetInstanceMetricDataInput{}
9025	}
9026
9027	output = &GetInstanceMetricDataOutput{}
9028	req = c.newRequest(op, input, output)
9029	return
9030}
9031
9032// GetInstanceMetricData API operation for Amazon Lightsail.
9033//
9034// Returns the data points for the specified Amazon Lightsail instance metric,
9035// given an instance name.
9036//
9037// Metrics report the utilization of your resources, and the error counts generated
9038// by them. Monitor and collect metric data regularly to maintain the reliability,
9039// availability, and performance of your resources.
9040//
9041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9042// with awserr.Error's Code and Message methods to get detailed information about
9043// the error.
9044//
9045// See the AWS API reference guide for Amazon Lightsail's
9046// API operation GetInstanceMetricData for usage and error information.
9047//
9048// Returned Error Types:
9049//   * ServiceException
9050//   A general service exception.
9051//
9052//   * InvalidInputException
9053//   Lightsail throws this exception when user input does not conform to the validation
9054//   rules of an input field.
9055//
9056//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9057//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9058//   view, or edit these resources.
9059//
9060//   * NotFoundException
9061//   Lightsail throws this exception when it cannot find a resource.
9062//
9063//   * OperationFailureException
9064//   Lightsail throws this exception when an operation fails to execute.
9065//
9066//   * AccessDeniedException
9067//   Lightsail throws this exception when the user cannot be authenticated or
9068//   uses invalid credentials to access a resource.
9069//
9070//   * AccountSetupInProgressException
9071//   Lightsail throws this exception when an account is still in the setup in
9072//   progress state.
9073//
9074//   * UnauthenticatedException
9075//   Lightsail throws this exception when the user has not been authenticated.
9076//
9077// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
9078func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
9079	req, out := c.GetInstanceMetricDataRequest(input)
9080	return out, req.Send()
9081}
9082
9083// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
9084// the ability to pass a context and additional request options.
9085//
9086// See GetInstanceMetricData for details on how to use this API operation.
9087//
9088// The context must be non-nil and will be used for request cancellation. If
9089// the context is nil a panic will occur. In the future the SDK may create
9090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9091// for more information on using Contexts.
9092func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
9093	req, out := c.GetInstanceMetricDataRequest(input)
9094	req.SetContext(ctx)
9095	req.ApplyOptions(opts...)
9096	return out, req.Send()
9097}
9098
9099const opGetInstancePortStates = "GetInstancePortStates"
9100
9101// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
9102// client's request for the GetInstancePortStates operation. The "output" return
9103// value will be populated with the request's response once the request completes
9104// successfully.
9105//
9106// Use "Send" method on the returned Request to send the API call to the service.
9107// the "output" return value is not valid until after Send returns without error.
9108//
9109// See GetInstancePortStates for more information on using the GetInstancePortStates
9110// API call, and error handling.
9111//
9112// This method is useful when you want to inject custom logic or configuration
9113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9114//
9115//
9116//    // Example sending a request using the GetInstancePortStatesRequest method.
9117//    req, resp := client.GetInstancePortStatesRequest(params)
9118//
9119//    err := req.Send()
9120//    if err == nil { // resp is now filled
9121//        fmt.Println(resp)
9122//    }
9123//
9124// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
9125func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
9126	op := &request.Operation{
9127		Name:       opGetInstancePortStates,
9128		HTTPMethod: "POST",
9129		HTTPPath:   "/",
9130	}
9131
9132	if input == nil {
9133		input = &GetInstancePortStatesInput{}
9134	}
9135
9136	output = &GetInstancePortStatesOutput{}
9137	req = c.newRequest(op, input, output)
9138	return
9139}
9140
9141// GetInstancePortStates API operation for Amazon Lightsail.
9142//
9143// Returns the firewall port states for a specific Amazon Lightsail instance,
9144// the IP addresses allowed to connect to the instance through the ports, and
9145// the protocol.
9146//
9147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9148// with awserr.Error's Code and Message methods to get detailed information about
9149// the error.
9150//
9151// See the AWS API reference guide for Amazon Lightsail's
9152// API operation GetInstancePortStates for usage and error information.
9153//
9154// Returned Error Types:
9155//   * ServiceException
9156//   A general service exception.
9157//
9158//   * InvalidInputException
9159//   Lightsail throws this exception when user input does not conform to the validation
9160//   rules of an input field.
9161//
9162//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9163//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9164//   view, or edit these resources.
9165//
9166//   * NotFoundException
9167//   Lightsail throws this exception when it cannot find a resource.
9168//
9169//   * OperationFailureException
9170//   Lightsail throws this exception when an operation fails to execute.
9171//
9172//   * AccessDeniedException
9173//   Lightsail throws this exception when the user cannot be authenticated or
9174//   uses invalid credentials to access a resource.
9175//
9176//   * AccountSetupInProgressException
9177//   Lightsail throws this exception when an account is still in the setup in
9178//   progress state.
9179//
9180//   * UnauthenticatedException
9181//   Lightsail throws this exception when the user has not been authenticated.
9182//
9183// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
9184func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
9185	req, out := c.GetInstancePortStatesRequest(input)
9186	return out, req.Send()
9187}
9188
9189// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
9190// the ability to pass a context and additional request options.
9191//
9192// See GetInstancePortStates for details on how to use this API operation.
9193//
9194// The context must be non-nil and will be used for request cancellation. If
9195// the context is nil a panic will occur. In the future the SDK may create
9196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9197// for more information on using Contexts.
9198func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
9199	req, out := c.GetInstancePortStatesRequest(input)
9200	req.SetContext(ctx)
9201	req.ApplyOptions(opts...)
9202	return out, req.Send()
9203}
9204
9205const opGetInstanceSnapshot = "GetInstanceSnapshot"
9206
9207// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
9208// client's request for the GetInstanceSnapshot operation. The "output" return
9209// value will be populated with the request's response once the request completes
9210// successfully.
9211//
9212// Use "Send" method on the returned Request to send the API call to the service.
9213// the "output" return value is not valid until after Send returns without error.
9214//
9215// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
9216// API call, and error handling.
9217//
9218// This method is useful when you want to inject custom logic or configuration
9219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9220//
9221//
9222//    // Example sending a request using the GetInstanceSnapshotRequest method.
9223//    req, resp := client.GetInstanceSnapshotRequest(params)
9224//
9225//    err := req.Send()
9226//    if err == nil { // resp is now filled
9227//        fmt.Println(resp)
9228//    }
9229//
9230// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
9231func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
9232	op := &request.Operation{
9233		Name:       opGetInstanceSnapshot,
9234		HTTPMethod: "POST",
9235		HTTPPath:   "/",
9236	}
9237
9238	if input == nil {
9239		input = &GetInstanceSnapshotInput{}
9240	}
9241
9242	output = &GetInstanceSnapshotOutput{}
9243	req = c.newRequest(op, input, output)
9244	return
9245}
9246
9247// GetInstanceSnapshot API operation for Amazon Lightsail.
9248//
9249// Returns information about a specific instance snapshot.
9250//
9251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9252// with awserr.Error's Code and Message methods to get detailed information about
9253// the error.
9254//
9255// See the AWS API reference guide for Amazon Lightsail's
9256// API operation GetInstanceSnapshot for usage and error information.
9257//
9258// Returned Error Types:
9259//   * ServiceException
9260//   A general service exception.
9261//
9262//   * InvalidInputException
9263//   Lightsail throws this exception when user input does not conform to the validation
9264//   rules of an input field.
9265//
9266//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9267//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9268//   view, or edit these resources.
9269//
9270//   * NotFoundException
9271//   Lightsail throws this exception when it cannot find a resource.
9272//
9273//   * OperationFailureException
9274//   Lightsail throws this exception when an operation fails to execute.
9275//
9276//   * AccessDeniedException
9277//   Lightsail throws this exception when the user cannot be authenticated or
9278//   uses invalid credentials to access a resource.
9279//
9280//   * AccountSetupInProgressException
9281//   Lightsail throws this exception when an account is still in the setup in
9282//   progress state.
9283//
9284//   * UnauthenticatedException
9285//   Lightsail throws this exception when the user has not been authenticated.
9286//
9287// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
9288func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
9289	req, out := c.GetInstanceSnapshotRequest(input)
9290	return out, req.Send()
9291}
9292
9293// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
9294// the ability to pass a context and additional request options.
9295//
9296// See GetInstanceSnapshot for details on how to use this API operation.
9297//
9298// The context must be non-nil and will be used for request cancellation. If
9299// the context is nil a panic will occur. In the future the SDK may create
9300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9301// for more information on using Contexts.
9302func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
9303	req, out := c.GetInstanceSnapshotRequest(input)
9304	req.SetContext(ctx)
9305	req.ApplyOptions(opts...)
9306	return out, req.Send()
9307}
9308
9309const opGetInstanceSnapshots = "GetInstanceSnapshots"
9310
9311// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
9312// client's request for the GetInstanceSnapshots operation. The "output" return
9313// value will be populated with the request's response once the request completes
9314// successfully.
9315//
9316// Use "Send" method on the returned Request to send the API call to the service.
9317// the "output" return value is not valid until after Send returns without error.
9318//
9319// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
9320// API call, and error handling.
9321//
9322// This method is useful when you want to inject custom logic or configuration
9323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9324//
9325//
9326//    // Example sending a request using the GetInstanceSnapshotsRequest method.
9327//    req, resp := client.GetInstanceSnapshotsRequest(params)
9328//
9329//    err := req.Send()
9330//    if err == nil { // resp is now filled
9331//        fmt.Println(resp)
9332//    }
9333//
9334// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
9335func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
9336	op := &request.Operation{
9337		Name:       opGetInstanceSnapshots,
9338		HTTPMethod: "POST",
9339		HTTPPath:   "/",
9340	}
9341
9342	if input == nil {
9343		input = &GetInstanceSnapshotsInput{}
9344	}
9345
9346	output = &GetInstanceSnapshotsOutput{}
9347	req = c.newRequest(op, input, output)
9348	return
9349}
9350
9351// GetInstanceSnapshots API operation for Amazon Lightsail.
9352//
9353// Returns all instance snapshots for the user's account.
9354//
9355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9356// with awserr.Error's Code and Message methods to get detailed information about
9357// the error.
9358//
9359// See the AWS API reference guide for Amazon Lightsail's
9360// API operation GetInstanceSnapshots for usage and error information.
9361//
9362// Returned Error Types:
9363//   * ServiceException
9364//   A general service exception.
9365//
9366//   * InvalidInputException
9367//   Lightsail throws this exception when user input does not conform to the validation
9368//   rules of an input field.
9369//
9370//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9371//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9372//   view, or edit these resources.
9373//
9374//   * NotFoundException
9375//   Lightsail throws this exception when it cannot find a resource.
9376//
9377//   * OperationFailureException
9378//   Lightsail throws this exception when an operation fails to execute.
9379//
9380//   * AccessDeniedException
9381//   Lightsail throws this exception when the user cannot be authenticated or
9382//   uses invalid credentials to access a resource.
9383//
9384//   * AccountSetupInProgressException
9385//   Lightsail throws this exception when an account is still in the setup in
9386//   progress state.
9387//
9388//   * UnauthenticatedException
9389//   Lightsail throws this exception when the user has not been authenticated.
9390//
9391// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
9392func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
9393	req, out := c.GetInstanceSnapshotsRequest(input)
9394	return out, req.Send()
9395}
9396
9397// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
9398// the ability to pass a context and additional request options.
9399//
9400// See GetInstanceSnapshots for details on how to use this API operation.
9401//
9402// The context must be non-nil and will be used for request cancellation. If
9403// the context is nil a panic will occur. In the future the SDK may create
9404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9405// for more information on using Contexts.
9406func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
9407	req, out := c.GetInstanceSnapshotsRequest(input)
9408	req.SetContext(ctx)
9409	req.ApplyOptions(opts...)
9410	return out, req.Send()
9411}
9412
9413const opGetInstanceState = "GetInstanceState"
9414
9415// GetInstanceStateRequest generates a "aws/request.Request" representing the
9416// client's request for the GetInstanceState operation. The "output" return
9417// value will be populated with the request's response once the request completes
9418// successfully.
9419//
9420// Use "Send" method on the returned Request to send the API call to the service.
9421// the "output" return value is not valid until after Send returns without error.
9422//
9423// See GetInstanceState for more information on using the GetInstanceState
9424// API call, and error handling.
9425//
9426// This method is useful when you want to inject custom logic or configuration
9427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9428//
9429//
9430//    // Example sending a request using the GetInstanceStateRequest method.
9431//    req, resp := client.GetInstanceStateRequest(params)
9432//
9433//    err := req.Send()
9434//    if err == nil { // resp is now filled
9435//        fmt.Println(resp)
9436//    }
9437//
9438// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
9439func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
9440	op := &request.Operation{
9441		Name:       opGetInstanceState,
9442		HTTPMethod: "POST",
9443		HTTPPath:   "/",
9444	}
9445
9446	if input == nil {
9447		input = &GetInstanceStateInput{}
9448	}
9449
9450	output = &GetInstanceStateOutput{}
9451	req = c.newRequest(op, input, output)
9452	return
9453}
9454
9455// GetInstanceState API operation for Amazon Lightsail.
9456//
9457// Returns the state of a specific instance. Works on one instance at a time.
9458//
9459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9460// with awserr.Error's Code and Message methods to get detailed information about
9461// the error.
9462//
9463// See the AWS API reference guide for Amazon Lightsail's
9464// API operation GetInstanceState for usage and error information.
9465//
9466// Returned Error Types:
9467//   * ServiceException
9468//   A general service exception.
9469//
9470//   * InvalidInputException
9471//   Lightsail throws this exception when user input does not conform to the validation
9472//   rules of an input field.
9473//
9474//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9475//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9476//   view, or edit these resources.
9477//
9478//   * NotFoundException
9479//   Lightsail throws this exception when it cannot find a resource.
9480//
9481//   * OperationFailureException
9482//   Lightsail throws this exception when an operation fails to execute.
9483//
9484//   * AccessDeniedException
9485//   Lightsail throws this exception when the user cannot be authenticated or
9486//   uses invalid credentials to access a resource.
9487//
9488//   * AccountSetupInProgressException
9489//   Lightsail throws this exception when an account is still in the setup in
9490//   progress state.
9491//
9492//   * UnauthenticatedException
9493//   Lightsail throws this exception when the user has not been authenticated.
9494//
9495// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
9496func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
9497	req, out := c.GetInstanceStateRequest(input)
9498	return out, req.Send()
9499}
9500
9501// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
9502// the ability to pass a context and additional request options.
9503//
9504// See GetInstanceState for details on how to use this API operation.
9505//
9506// The context must be non-nil and will be used for request cancellation. If
9507// the context is nil a panic will occur. In the future the SDK may create
9508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9509// for more information on using Contexts.
9510func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
9511	req, out := c.GetInstanceStateRequest(input)
9512	req.SetContext(ctx)
9513	req.ApplyOptions(opts...)
9514	return out, req.Send()
9515}
9516
9517const opGetInstances = "GetInstances"
9518
9519// GetInstancesRequest generates a "aws/request.Request" representing the
9520// client's request for the GetInstances operation. The "output" return
9521// value will be populated with the request's response once the request completes
9522// successfully.
9523//
9524// Use "Send" method on the returned Request to send the API call to the service.
9525// the "output" return value is not valid until after Send returns without error.
9526//
9527// See GetInstances for more information on using the GetInstances
9528// API call, and error handling.
9529//
9530// This method is useful when you want to inject custom logic or configuration
9531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9532//
9533//
9534//    // Example sending a request using the GetInstancesRequest method.
9535//    req, resp := client.GetInstancesRequest(params)
9536//
9537//    err := req.Send()
9538//    if err == nil { // resp is now filled
9539//        fmt.Println(resp)
9540//    }
9541//
9542// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
9543func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
9544	op := &request.Operation{
9545		Name:       opGetInstances,
9546		HTTPMethod: "POST",
9547		HTTPPath:   "/",
9548	}
9549
9550	if input == nil {
9551		input = &GetInstancesInput{}
9552	}
9553
9554	output = &GetInstancesOutput{}
9555	req = c.newRequest(op, input, output)
9556	return
9557}
9558
9559// GetInstances API operation for Amazon Lightsail.
9560//
9561// Returns information about all Amazon Lightsail virtual private servers, or
9562// instances.
9563//
9564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9565// with awserr.Error's Code and Message methods to get detailed information about
9566// the error.
9567//
9568// See the AWS API reference guide for Amazon Lightsail's
9569// API operation GetInstances for usage and error information.
9570//
9571// Returned Error Types:
9572//   * ServiceException
9573//   A general service exception.
9574//
9575//   * InvalidInputException
9576//   Lightsail throws this exception when user input does not conform to the validation
9577//   rules of an input field.
9578//
9579//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9580//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9581//   view, or edit these resources.
9582//
9583//   * NotFoundException
9584//   Lightsail throws this exception when it cannot find a resource.
9585//
9586//   * OperationFailureException
9587//   Lightsail throws this exception when an operation fails to execute.
9588//
9589//   * AccessDeniedException
9590//   Lightsail throws this exception when the user cannot be authenticated or
9591//   uses invalid credentials to access a resource.
9592//
9593//   * AccountSetupInProgressException
9594//   Lightsail throws this exception when an account is still in the setup in
9595//   progress state.
9596//
9597//   * UnauthenticatedException
9598//   Lightsail throws this exception when the user has not been authenticated.
9599//
9600// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
9601func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
9602	req, out := c.GetInstancesRequest(input)
9603	return out, req.Send()
9604}
9605
9606// GetInstancesWithContext is the same as GetInstances with the addition of
9607// the ability to pass a context and additional request options.
9608//
9609// See GetInstances for details on how to use this API operation.
9610//
9611// The context must be non-nil and will be used for request cancellation. If
9612// the context is nil a panic will occur. In the future the SDK may create
9613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9614// for more information on using Contexts.
9615func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
9616	req, out := c.GetInstancesRequest(input)
9617	req.SetContext(ctx)
9618	req.ApplyOptions(opts...)
9619	return out, req.Send()
9620}
9621
9622const opGetKeyPair = "GetKeyPair"
9623
9624// GetKeyPairRequest generates a "aws/request.Request" representing the
9625// client's request for the GetKeyPair operation. The "output" return
9626// value will be populated with the request's response once the request completes
9627// successfully.
9628//
9629// Use "Send" method on the returned Request to send the API call to the service.
9630// the "output" return value is not valid until after Send returns without error.
9631//
9632// See GetKeyPair for more information on using the GetKeyPair
9633// API call, and error handling.
9634//
9635// This method is useful when you want to inject custom logic or configuration
9636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9637//
9638//
9639//    // Example sending a request using the GetKeyPairRequest method.
9640//    req, resp := client.GetKeyPairRequest(params)
9641//
9642//    err := req.Send()
9643//    if err == nil { // resp is now filled
9644//        fmt.Println(resp)
9645//    }
9646//
9647// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
9648func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
9649	op := &request.Operation{
9650		Name:       opGetKeyPair,
9651		HTTPMethod: "POST",
9652		HTTPPath:   "/",
9653	}
9654
9655	if input == nil {
9656		input = &GetKeyPairInput{}
9657	}
9658
9659	output = &GetKeyPairOutput{}
9660	req = c.newRequest(op, input, output)
9661	return
9662}
9663
9664// GetKeyPair API operation for Amazon Lightsail.
9665//
9666// Returns information about a specific key pair.
9667//
9668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9669// with awserr.Error's Code and Message methods to get detailed information about
9670// the error.
9671//
9672// See the AWS API reference guide for Amazon Lightsail's
9673// API operation GetKeyPair for usage and error information.
9674//
9675// Returned Error Types:
9676//   * ServiceException
9677//   A general service exception.
9678//
9679//   * InvalidInputException
9680//   Lightsail throws this exception when user input does not conform to the validation
9681//   rules of an input field.
9682//
9683//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9684//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9685//   view, or edit these resources.
9686//
9687//   * NotFoundException
9688//   Lightsail throws this exception when it cannot find a resource.
9689//
9690//   * OperationFailureException
9691//   Lightsail throws this exception when an operation fails to execute.
9692//
9693//   * AccessDeniedException
9694//   Lightsail throws this exception when the user cannot be authenticated or
9695//   uses invalid credentials to access a resource.
9696//
9697//   * AccountSetupInProgressException
9698//   Lightsail throws this exception when an account is still in the setup in
9699//   progress state.
9700//
9701//   * UnauthenticatedException
9702//   Lightsail throws this exception when the user has not been authenticated.
9703//
9704// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
9705func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
9706	req, out := c.GetKeyPairRequest(input)
9707	return out, req.Send()
9708}
9709
9710// GetKeyPairWithContext is the same as GetKeyPair with the addition of
9711// the ability to pass a context and additional request options.
9712//
9713// See GetKeyPair for details on how to use this API operation.
9714//
9715// The context must be non-nil and will be used for request cancellation. If
9716// the context is nil a panic will occur. In the future the SDK may create
9717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9718// for more information on using Contexts.
9719func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
9720	req, out := c.GetKeyPairRequest(input)
9721	req.SetContext(ctx)
9722	req.ApplyOptions(opts...)
9723	return out, req.Send()
9724}
9725
9726const opGetKeyPairs = "GetKeyPairs"
9727
9728// GetKeyPairsRequest generates a "aws/request.Request" representing the
9729// client's request for the GetKeyPairs operation. The "output" return
9730// value will be populated with the request's response once the request completes
9731// successfully.
9732//
9733// Use "Send" method on the returned Request to send the API call to the service.
9734// the "output" return value is not valid until after Send returns without error.
9735//
9736// See GetKeyPairs for more information on using the GetKeyPairs
9737// API call, and error handling.
9738//
9739// This method is useful when you want to inject custom logic or configuration
9740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9741//
9742//
9743//    // Example sending a request using the GetKeyPairsRequest method.
9744//    req, resp := client.GetKeyPairsRequest(params)
9745//
9746//    err := req.Send()
9747//    if err == nil { // resp is now filled
9748//        fmt.Println(resp)
9749//    }
9750//
9751// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
9752func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
9753	op := &request.Operation{
9754		Name:       opGetKeyPairs,
9755		HTTPMethod: "POST",
9756		HTTPPath:   "/",
9757	}
9758
9759	if input == nil {
9760		input = &GetKeyPairsInput{}
9761	}
9762
9763	output = &GetKeyPairsOutput{}
9764	req = c.newRequest(op, input, output)
9765	return
9766}
9767
9768// GetKeyPairs API operation for Amazon Lightsail.
9769//
9770// Returns information about all key pairs in the user's account.
9771//
9772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9773// with awserr.Error's Code and Message methods to get detailed information about
9774// the error.
9775//
9776// See the AWS API reference guide for Amazon Lightsail's
9777// API operation GetKeyPairs for usage and error information.
9778//
9779// Returned Error Types:
9780//   * ServiceException
9781//   A general service exception.
9782//
9783//   * InvalidInputException
9784//   Lightsail throws this exception when user input does not conform to the validation
9785//   rules of an input field.
9786//
9787//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9788//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9789//   view, or edit these resources.
9790//
9791//   * NotFoundException
9792//   Lightsail throws this exception when it cannot find a resource.
9793//
9794//   * OperationFailureException
9795//   Lightsail throws this exception when an operation fails to execute.
9796//
9797//   * AccessDeniedException
9798//   Lightsail throws this exception when the user cannot be authenticated or
9799//   uses invalid credentials to access a resource.
9800//
9801//   * AccountSetupInProgressException
9802//   Lightsail throws this exception when an account is still in the setup in
9803//   progress state.
9804//
9805//   * UnauthenticatedException
9806//   Lightsail throws this exception when the user has not been authenticated.
9807//
9808// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
9809func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
9810	req, out := c.GetKeyPairsRequest(input)
9811	return out, req.Send()
9812}
9813
9814// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
9815// the ability to pass a context and additional request options.
9816//
9817// See GetKeyPairs for details on how to use this API operation.
9818//
9819// The context must be non-nil and will be used for request cancellation. If
9820// the context is nil a panic will occur. In the future the SDK may create
9821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9822// for more information on using Contexts.
9823func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
9824	req, out := c.GetKeyPairsRequest(input)
9825	req.SetContext(ctx)
9826	req.ApplyOptions(opts...)
9827	return out, req.Send()
9828}
9829
9830const opGetLoadBalancer = "GetLoadBalancer"
9831
9832// GetLoadBalancerRequest generates a "aws/request.Request" representing the
9833// client's request for the GetLoadBalancer operation. The "output" return
9834// value will be populated with the request's response once the request completes
9835// successfully.
9836//
9837// Use "Send" method on the returned Request to send the API call to the service.
9838// the "output" return value is not valid until after Send returns without error.
9839//
9840// See GetLoadBalancer for more information on using the GetLoadBalancer
9841// API call, and error handling.
9842//
9843// This method is useful when you want to inject custom logic or configuration
9844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9845//
9846//
9847//    // Example sending a request using the GetLoadBalancerRequest method.
9848//    req, resp := client.GetLoadBalancerRequest(params)
9849//
9850//    err := req.Send()
9851//    if err == nil { // resp is now filled
9852//        fmt.Println(resp)
9853//    }
9854//
9855// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
9856func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
9857	op := &request.Operation{
9858		Name:       opGetLoadBalancer,
9859		HTTPMethod: "POST",
9860		HTTPPath:   "/",
9861	}
9862
9863	if input == nil {
9864		input = &GetLoadBalancerInput{}
9865	}
9866
9867	output = &GetLoadBalancerOutput{}
9868	req = c.newRequest(op, input, output)
9869	return
9870}
9871
9872// GetLoadBalancer API operation for Amazon Lightsail.
9873//
9874// Returns information about the specified Lightsail load balancer.
9875//
9876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9877// with awserr.Error's Code and Message methods to get detailed information about
9878// the error.
9879//
9880// See the AWS API reference guide for Amazon Lightsail's
9881// API operation GetLoadBalancer for usage and error information.
9882//
9883// Returned Error Types:
9884//   * ServiceException
9885//   A general service exception.
9886//
9887//   * InvalidInputException
9888//   Lightsail throws this exception when user input does not conform to the validation
9889//   rules of an input field.
9890//
9891//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
9892//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
9893//   view, or edit these resources.
9894//
9895//   * NotFoundException
9896//   Lightsail throws this exception when it cannot find a resource.
9897//
9898//   * OperationFailureException
9899//   Lightsail throws this exception when an operation fails to execute.
9900//
9901//   * AccessDeniedException
9902//   Lightsail throws this exception when the user cannot be authenticated or
9903//   uses invalid credentials to access a resource.
9904//
9905//   * AccountSetupInProgressException
9906//   Lightsail throws this exception when an account is still in the setup in
9907//   progress state.
9908//
9909//   * UnauthenticatedException
9910//   Lightsail throws this exception when the user has not been authenticated.
9911//
9912// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
9913func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
9914	req, out := c.GetLoadBalancerRequest(input)
9915	return out, req.Send()
9916}
9917
9918// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
9919// the ability to pass a context and additional request options.
9920//
9921// See GetLoadBalancer for details on how to use this API operation.
9922//
9923// The context must be non-nil and will be used for request cancellation. If
9924// the context is nil a panic will occur. In the future the SDK may create
9925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9926// for more information on using Contexts.
9927func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
9928	req, out := c.GetLoadBalancerRequest(input)
9929	req.SetContext(ctx)
9930	req.ApplyOptions(opts...)
9931	return out, req.Send()
9932}
9933
9934const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
9935
9936// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
9937// client's request for the GetLoadBalancerMetricData operation. The "output" return
9938// value will be populated with the request's response once the request completes
9939// successfully.
9940//
9941// Use "Send" method on the returned Request to send the API call to the service.
9942// the "output" return value is not valid until after Send returns without error.
9943//
9944// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
9945// API call, and error handling.
9946//
9947// This method is useful when you want to inject custom logic or configuration
9948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9949//
9950//
9951//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
9952//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
9953//
9954//    err := req.Send()
9955//    if err == nil { // resp is now filled
9956//        fmt.Println(resp)
9957//    }
9958//
9959// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
9960func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
9961	op := &request.Operation{
9962		Name:       opGetLoadBalancerMetricData,
9963		HTTPMethod: "POST",
9964		HTTPPath:   "/",
9965	}
9966
9967	if input == nil {
9968		input = &GetLoadBalancerMetricDataInput{}
9969	}
9970
9971	output = &GetLoadBalancerMetricDataOutput{}
9972	req = c.newRequest(op, input, output)
9973	return
9974}
9975
9976// GetLoadBalancerMetricData API operation for Amazon Lightsail.
9977//
9978// Returns information about health metrics for your Lightsail load balancer.
9979//
9980// Metrics report the utilization of your resources, and the error counts generated
9981// by them. Monitor and collect metric data regularly to maintain the reliability,
9982// availability, and performance of your resources.
9983//
9984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9985// with awserr.Error's Code and Message methods to get detailed information about
9986// the error.
9987//
9988// See the AWS API reference guide for Amazon Lightsail's
9989// API operation GetLoadBalancerMetricData for usage and error information.
9990//
9991// Returned Error Types:
9992//   * ServiceException
9993//   A general service exception.
9994//
9995//   * InvalidInputException
9996//   Lightsail throws this exception when user input does not conform to the validation
9997//   rules of an input field.
9998//
9999//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10000//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10001//   view, or edit these resources.
10002//
10003//   * NotFoundException
10004//   Lightsail throws this exception when it cannot find a resource.
10005//
10006//   * OperationFailureException
10007//   Lightsail throws this exception when an operation fails to execute.
10008//
10009//   * AccessDeniedException
10010//   Lightsail throws this exception when the user cannot be authenticated or
10011//   uses invalid credentials to access a resource.
10012//
10013//   * AccountSetupInProgressException
10014//   Lightsail throws this exception when an account is still in the setup in
10015//   progress state.
10016//
10017//   * UnauthenticatedException
10018//   Lightsail throws this exception when the user has not been authenticated.
10019//
10020// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
10021func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
10022	req, out := c.GetLoadBalancerMetricDataRequest(input)
10023	return out, req.Send()
10024}
10025
10026// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
10027// the ability to pass a context and additional request options.
10028//
10029// See GetLoadBalancerMetricData for details on how to use this API operation.
10030//
10031// The context must be non-nil and will be used for request cancellation. If
10032// the context is nil a panic will occur. In the future the SDK may create
10033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10034// for more information on using Contexts.
10035func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
10036	req, out := c.GetLoadBalancerMetricDataRequest(input)
10037	req.SetContext(ctx)
10038	req.ApplyOptions(opts...)
10039	return out, req.Send()
10040}
10041
10042const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
10043
10044// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
10045// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
10046// value will be populated with the request's response once the request completes
10047// successfully.
10048//
10049// Use "Send" method on the returned Request to send the API call to the service.
10050// the "output" return value is not valid until after Send returns without error.
10051//
10052// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
10053// API call, and error handling.
10054//
10055// This method is useful when you want to inject custom logic or configuration
10056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10057//
10058//
10059//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
10060//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
10061//
10062//    err := req.Send()
10063//    if err == nil { // resp is now filled
10064//        fmt.Println(resp)
10065//    }
10066//
10067// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
10068func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
10069	op := &request.Operation{
10070		Name:       opGetLoadBalancerTlsCertificates,
10071		HTTPMethod: "POST",
10072		HTTPPath:   "/",
10073	}
10074
10075	if input == nil {
10076		input = &GetLoadBalancerTlsCertificatesInput{}
10077	}
10078
10079	output = &GetLoadBalancerTlsCertificatesOutput{}
10080	req = c.newRequest(op, input, output)
10081	return
10082}
10083
10084// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
10085//
10086// Returns information about the TLS certificates that are associated with the
10087// specified Lightsail load balancer.
10088//
10089// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
10090//
10091// You can have a maximum of 2 certificates associated with a Lightsail load
10092// balancer. One is active and the other is inactive.
10093//
10094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10095// with awserr.Error's Code and Message methods to get detailed information about
10096// the error.
10097//
10098// See the AWS API reference guide for Amazon Lightsail's
10099// API operation GetLoadBalancerTlsCertificates for usage and error information.
10100//
10101// Returned Error Types:
10102//   * ServiceException
10103//   A general service exception.
10104//
10105//   * InvalidInputException
10106//   Lightsail throws this exception when user input does not conform to the validation
10107//   rules of an input field.
10108//
10109//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10110//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10111//   view, or edit these resources.
10112//
10113//   * NotFoundException
10114//   Lightsail throws this exception when it cannot find a resource.
10115//
10116//   * OperationFailureException
10117//   Lightsail throws this exception when an operation fails to execute.
10118//
10119//   * AccessDeniedException
10120//   Lightsail throws this exception when the user cannot be authenticated or
10121//   uses invalid credentials to access a resource.
10122//
10123//   * AccountSetupInProgressException
10124//   Lightsail throws this exception when an account is still in the setup in
10125//   progress state.
10126//
10127//   * UnauthenticatedException
10128//   Lightsail throws this exception when the user has not been authenticated.
10129//
10130// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
10131func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
10132	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
10133	return out, req.Send()
10134}
10135
10136// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
10137// the ability to pass a context and additional request options.
10138//
10139// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
10140//
10141// The context must be non-nil and will be used for request cancellation. If
10142// the context is nil a panic will occur. In the future the SDK may create
10143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10144// for more information on using Contexts.
10145func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
10146	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
10147	req.SetContext(ctx)
10148	req.ApplyOptions(opts...)
10149	return out, req.Send()
10150}
10151
10152const opGetLoadBalancers = "GetLoadBalancers"
10153
10154// GetLoadBalancersRequest generates a "aws/request.Request" representing the
10155// client's request for the GetLoadBalancers operation. The "output" return
10156// value will be populated with the request's response once the request completes
10157// successfully.
10158//
10159// Use "Send" method on the returned Request to send the API call to the service.
10160// the "output" return value is not valid until after Send returns without error.
10161//
10162// See GetLoadBalancers for more information on using the GetLoadBalancers
10163// API call, and error handling.
10164//
10165// This method is useful when you want to inject custom logic or configuration
10166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10167//
10168//
10169//    // Example sending a request using the GetLoadBalancersRequest method.
10170//    req, resp := client.GetLoadBalancersRequest(params)
10171//
10172//    err := req.Send()
10173//    if err == nil { // resp is now filled
10174//        fmt.Println(resp)
10175//    }
10176//
10177// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
10178func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
10179	op := &request.Operation{
10180		Name:       opGetLoadBalancers,
10181		HTTPMethod: "POST",
10182		HTTPPath:   "/",
10183	}
10184
10185	if input == nil {
10186		input = &GetLoadBalancersInput{}
10187	}
10188
10189	output = &GetLoadBalancersOutput{}
10190	req = c.newRequest(op, input, output)
10191	return
10192}
10193
10194// GetLoadBalancers API operation for Amazon Lightsail.
10195//
10196// Returns information about all load balancers in an account.
10197//
10198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10199// with awserr.Error's Code and Message methods to get detailed information about
10200// the error.
10201//
10202// See the AWS API reference guide for Amazon Lightsail's
10203// API operation GetLoadBalancers for usage and error information.
10204//
10205// Returned Error Types:
10206//   * ServiceException
10207//   A general service exception.
10208//
10209//   * InvalidInputException
10210//   Lightsail throws this exception when user input does not conform to the validation
10211//   rules of an input field.
10212//
10213//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10214//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10215//   view, or edit these resources.
10216//
10217//   * NotFoundException
10218//   Lightsail throws this exception when it cannot find a resource.
10219//
10220//   * OperationFailureException
10221//   Lightsail throws this exception when an operation fails to execute.
10222//
10223//   * AccessDeniedException
10224//   Lightsail throws this exception when the user cannot be authenticated or
10225//   uses invalid credentials to access a resource.
10226//
10227//   * AccountSetupInProgressException
10228//   Lightsail throws this exception when an account is still in the setup in
10229//   progress state.
10230//
10231//   * UnauthenticatedException
10232//   Lightsail throws this exception when the user has not been authenticated.
10233//
10234// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
10235func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
10236	req, out := c.GetLoadBalancersRequest(input)
10237	return out, req.Send()
10238}
10239
10240// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
10241// the ability to pass a context and additional request options.
10242//
10243// See GetLoadBalancers for details on how to use this API operation.
10244//
10245// The context must be non-nil and will be used for request cancellation. If
10246// the context is nil a panic will occur. In the future the SDK may create
10247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10248// for more information on using Contexts.
10249func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
10250	req, out := c.GetLoadBalancersRequest(input)
10251	req.SetContext(ctx)
10252	req.ApplyOptions(opts...)
10253	return out, req.Send()
10254}
10255
10256const opGetOperation = "GetOperation"
10257
10258// GetOperationRequest generates a "aws/request.Request" representing the
10259// client's request for the GetOperation operation. The "output" return
10260// value will be populated with the request's response once the request completes
10261// successfully.
10262//
10263// Use "Send" method on the returned Request to send the API call to the service.
10264// the "output" return value is not valid until after Send returns without error.
10265//
10266// See GetOperation for more information on using the GetOperation
10267// API call, and error handling.
10268//
10269// This method is useful when you want to inject custom logic or configuration
10270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10271//
10272//
10273//    // Example sending a request using the GetOperationRequest method.
10274//    req, resp := client.GetOperationRequest(params)
10275//
10276//    err := req.Send()
10277//    if err == nil { // resp is now filled
10278//        fmt.Println(resp)
10279//    }
10280//
10281// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
10282func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
10283	op := &request.Operation{
10284		Name:       opGetOperation,
10285		HTTPMethod: "POST",
10286		HTTPPath:   "/",
10287	}
10288
10289	if input == nil {
10290		input = &GetOperationInput{}
10291	}
10292
10293	output = &GetOperationOutput{}
10294	req = c.newRequest(op, input, output)
10295	return
10296}
10297
10298// GetOperation API operation for Amazon Lightsail.
10299//
10300// Returns information about a specific operation. Operations include events
10301// such as when you create an instance, allocate a static IP, attach a static
10302// IP, and so on.
10303//
10304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10305// with awserr.Error's Code and Message methods to get detailed information about
10306// the error.
10307//
10308// See the AWS API reference guide for Amazon Lightsail's
10309// API operation GetOperation for usage and error information.
10310//
10311// Returned Error Types:
10312//   * ServiceException
10313//   A general service exception.
10314//
10315//   * InvalidInputException
10316//   Lightsail throws this exception when user input does not conform to the validation
10317//   rules of an input field.
10318//
10319//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10320//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10321//   view, or edit these resources.
10322//
10323//   * NotFoundException
10324//   Lightsail throws this exception when it cannot find a resource.
10325//
10326//   * OperationFailureException
10327//   Lightsail throws this exception when an operation fails to execute.
10328//
10329//   * AccessDeniedException
10330//   Lightsail throws this exception when the user cannot be authenticated or
10331//   uses invalid credentials to access a resource.
10332//
10333//   * AccountSetupInProgressException
10334//   Lightsail throws this exception when an account is still in the setup in
10335//   progress state.
10336//
10337//   * UnauthenticatedException
10338//   Lightsail throws this exception when the user has not been authenticated.
10339//
10340// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
10341func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
10342	req, out := c.GetOperationRequest(input)
10343	return out, req.Send()
10344}
10345
10346// GetOperationWithContext is the same as GetOperation with the addition of
10347// the ability to pass a context and additional request options.
10348//
10349// See GetOperation for details on how to use this API operation.
10350//
10351// The context must be non-nil and will be used for request cancellation. If
10352// the context is nil a panic will occur. In the future the SDK may create
10353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10354// for more information on using Contexts.
10355func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
10356	req, out := c.GetOperationRequest(input)
10357	req.SetContext(ctx)
10358	req.ApplyOptions(opts...)
10359	return out, req.Send()
10360}
10361
10362const opGetOperations = "GetOperations"
10363
10364// GetOperationsRequest generates a "aws/request.Request" representing the
10365// client's request for the GetOperations operation. The "output" return
10366// value will be populated with the request's response once the request completes
10367// successfully.
10368//
10369// Use "Send" method on the returned Request to send the API call to the service.
10370// the "output" return value is not valid until after Send returns without error.
10371//
10372// See GetOperations for more information on using the GetOperations
10373// API call, and error handling.
10374//
10375// This method is useful when you want to inject custom logic or configuration
10376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10377//
10378//
10379//    // Example sending a request using the GetOperationsRequest method.
10380//    req, resp := client.GetOperationsRequest(params)
10381//
10382//    err := req.Send()
10383//    if err == nil { // resp is now filled
10384//        fmt.Println(resp)
10385//    }
10386//
10387// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
10388func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
10389	op := &request.Operation{
10390		Name:       opGetOperations,
10391		HTTPMethod: "POST",
10392		HTTPPath:   "/",
10393	}
10394
10395	if input == nil {
10396		input = &GetOperationsInput{}
10397	}
10398
10399	output = &GetOperationsOutput{}
10400	req = c.newRequest(op, input, output)
10401	return
10402}
10403
10404// GetOperations API operation for Amazon Lightsail.
10405//
10406// Returns information about all operations.
10407//
10408// Results are returned from oldest to newest, up to a maximum of 200. Results
10409// can be paged by making each subsequent call to GetOperations use the maximum
10410// (last) statusChangedAt value from the previous request.
10411//
10412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10413// with awserr.Error's Code and Message methods to get detailed information about
10414// the error.
10415//
10416// See the AWS API reference guide for Amazon Lightsail's
10417// API operation GetOperations for usage and error information.
10418//
10419// Returned Error Types:
10420//   * ServiceException
10421//   A general service exception.
10422//
10423//   * InvalidInputException
10424//   Lightsail throws this exception when user input does not conform to the validation
10425//   rules of an input field.
10426//
10427//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10428//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10429//   view, or edit these resources.
10430//
10431//   * NotFoundException
10432//   Lightsail throws this exception when it cannot find a resource.
10433//
10434//   * OperationFailureException
10435//   Lightsail throws this exception when an operation fails to execute.
10436//
10437//   * AccessDeniedException
10438//   Lightsail throws this exception when the user cannot be authenticated or
10439//   uses invalid credentials to access a resource.
10440//
10441//   * AccountSetupInProgressException
10442//   Lightsail throws this exception when an account is still in the setup in
10443//   progress state.
10444//
10445//   * UnauthenticatedException
10446//   Lightsail throws this exception when the user has not been authenticated.
10447//
10448// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
10449func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
10450	req, out := c.GetOperationsRequest(input)
10451	return out, req.Send()
10452}
10453
10454// GetOperationsWithContext is the same as GetOperations with the addition of
10455// the ability to pass a context and additional request options.
10456//
10457// See GetOperations for details on how to use this API operation.
10458//
10459// The context must be non-nil and will be used for request cancellation. If
10460// the context is nil a panic will occur. In the future the SDK may create
10461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10462// for more information on using Contexts.
10463func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
10464	req, out := c.GetOperationsRequest(input)
10465	req.SetContext(ctx)
10466	req.ApplyOptions(opts...)
10467	return out, req.Send()
10468}
10469
10470const opGetOperationsForResource = "GetOperationsForResource"
10471
10472// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
10473// client's request for the GetOperationsForResource operation. The "output" return
10474// value will be populated with the request's response once the request completes
10475// successfully.
10476//
10477// Use "Send" method on the returned Request to send the API call to the service.
10478// the "output" return value is not valid until after Send returns without error.
10479//
10480// See GetOperationsForResource for more information on using the GetOperationsForResource
10481// API call, and error handling.
10482//
10483// This method is useful when you want to inject custom logic or configuration
10484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10485//
10486//
10487//    // Example sending a request using the GetOperationsForResourceRequest method.
10488//    req, resp := client.GetOperationsForResourceRequest(params)
10489//
10490//    err := req.Send()
10491//    if err == nil { // resp is now filled
10492//        fmt.Println(resp)
10493//    }
10494//
10495// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
10496func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
10497	op := &request.Operation{
10498		Name:       opGetOperationsForResource,
10499		HTTPMethod: "POST",
10500		HTTPPath:   "/",
10501	}
10502
10503	if input == nil {
10504		input = &GetOperationsForResourceInput{}
10505	}
10506
10507	output = &GetOperationsForResourceOutput{}
10508	req = c.newRequest(op, input, output)
10509	return
10510}
10511
10512// GetOperationsForResource API operation for Amazon Lightsail.
10513//
10514// Gets operations for a specific resource (e.g., an instance or a static IP).
10515//
10516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10517// with awserr.Error's Code and Message methods to get detailed information about
10518// the error.
10519//
10520// See the AWS API reference guide for Amazon Lightsail's
10521// API operation GetOperationsForResource for usage and error information.
10522//
10523// Returned Error Types:
10524//   * ServiceException
10525//   A general service exception.
10526//
10527//   * InvalidInputException
10528//   Lightsail throws this exception when user input does not conform to the validation
10529//   rules of an input field.
10530//
10531//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10532//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10533//   view, or edit these resources.
10534//
10535//   * NotFoundException
10536//   Lightsail throws this exception when it cannot find a resource.
10537//
10538//   * OperationFailureException
10539//   Lightsail throws this exception when an operation fails to execute.
10540//
10541//   * AccessDeniedException
10542//   Lightsail throws this exception when the user cannot be authenticated or
10543//   uses invalid credentials to access a resource.
10544//
10545//   * AccountSetupInProgressException
10546//   Lightsail throws this exception when an account is still in the setup in
10547//   progress state.
10548//
10549//   * UnauthenticatedException
10550//   Lightsail throws this exception when the user has not been authenticated.
10551//
10552// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
10553func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
10554	req, out := c.GetOperationsForResourceRequest(input)
10555	return out, req.Send()
10556}
10557
10558// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
10559// the ability to pass a context and additional request options.
10560//
10561// See GetOperationsForResource for details on how to use this API operation.
10562//
10563// The context must be non-nil and will be used for request cancellation. If
10564// the context is nil a panic will occur. In the future the SDK may create
10565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10566// for more information on using Contexts.
10567func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
10568	req, out := c.GetOperationsForResourceRequest(input)
10569	req.SetContext(ctx)
10570	req.ApplyOptions(opts...)
10571	return out, req.Send()
10572}
10573
10574const opGetRegions = "GetRegions"
10575
10576// GetRegionsRequest generates a "aws/request.Request" representing the
10577// client's request for the GetRegions operation. The "output" return
10578// value will be populated with the request's response once the request completes
10579// successfully.
10580//
10581// Use "Send" method on the returned Request to send the API call to the service.
10582// the "output" return value is not valid until after Send returns without error.
10583//
10584// See GetRegions for more information on using the GetRegions
10585// API call, and error handling.
10586//
10587// This method is useful when you want to inject custom logic or configuration
10588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10589//
10590//
10591//    // Example sending a request using the GetRegionsRequest method.
10592//    req, resp := client.GetRegionsRequest(params)
10593//
10594//    err := req.Send()
10595//    if err == nil { // resp is now filled
10596//        fmt.Println(resp)
10597//    }
10598//
10599// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
10600func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
10601	op := &request.Operation{
10602		Name:       opGetRegions,
10603		HTTPMethod: "POST",
10604		HTTPPath:   "/",
10605	}
10606
10607	if input == nil {
10608		input = &GetRegionsInput{}
10609	}
10610
10611	output = &GetRegionsOutput{}
10612	req = c.newRequest(op, input, output)
10613	return
10614}
10615
10616// GetRegions API operation for Amazon Lightsail.
10617//
10618// Returns a list of all valid regions for Amazon Lightsail. Use the include
10619// availability zones parameter to also return the Availability Zones in a region.
10620//
10621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10622// with awserr.Error's Code and Message methods to get detailed information about
10623// the error.
10624//
10625// See the AWS API reference guide for Amazon Lightsail's
10626// API operation GetRegions for usage and error information.
10627//
10628// Returned Error Types:
10629//   * ServiceException
10630//   A general service exception.
10631//
10632//   * InvalidInputException
10633//   Lightsail throws this exception when user input does not conform to the validation
10634//   rules of an input field.
10635//
10636//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10637//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10638//   view, or edit these resources.
10639//
10640//   * NotFoundException
10641//   Lightsail throws this exception when it cannot find a resource.
10642//
10643//   * OperationFailureException
10644//   Lightsail throws this exception when an operation fails to execute.
10645//
10646//   * AccessDeniedException
10647//   Lightsail throws this exception when the user cannot be authenticated or
10648//   uses invalid credentials to access a resource.
10649//
10650//   * AccountSetupInProgressException
10651//   Lightsail throws this exception when an account is still in the setup in
10652//   progress state.
10653//
10654//   * UnauthenticatedException
10655//   Lightsail throws this exception when the user has not been authenticated.
10656//
10657// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
10658func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
10659	req, out := c.GetRegionsRequest(input)
10660	return out, req.Send()
10661}
10662
10663// GetRegionsWithContext is the same as GetRegions with the addition of
10664// the ability to pass a context and additional request options.
10665//
10666// See GetRegions for details on how to use this API operation.
10667//
10668// The context must be non-nil and will be used for request cancellation. If
10669// the context is nil a panic will occur. In the future the SDK may create
10670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10671// for more information on using Contexts.
10672func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
10673	req, out := c.GetRegionsRequest(input)
10674	req.SetContext(ctx)
10675	req.ApplyOptions(opts...)
10676	return out, req.Send()
10677}
10678
10679const opGetRelationalDatabase = "GetRelationalDatabase"
10680
10681// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
10682// client's request for the GetRelationalDatabase operation. The "output" return
10683// value will be populated with the request's response once the request completes
10684// successfully.
10685//
10686// Use "Send" method on the returned Request to send the API call to the service.
10687// the "output" return value is not valid until after Send returns without error.
10688//
10689// See GetRelationalDatabase for more information on using the GetRelationalDatabase
10690// API call, and error handling.
10691//
10692// This method is useful when you want to inject custom logic or configuration
10693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10694//
10695//
10696//    // Example sending a request using the GetRelationalDatabaseRequest method.
10697//    req, resp := client.GetRelationalDatabaseRequest(params)
10698//
10699//    err := req.Send()
10700//    if err == nil { // resp is now filled
10701//        fmt.Println(resp)
10702//    }
10703//
10704// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
10705func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
10706	op := &request.Operation{
10707		Name:       opGetRelationalDatabase,
10708		HTTPMethod: "POST",
10709		HTTPPath:   "/",
10710	}
10711
10712	if input == nil {
10713		input = &GetRelationalDatabaseInput{}
10714	}
10715
10716	output = &GetRelationalDatabaseOutput{}
10717	req = c.newRequest(op, input, output)
10718	return
10719}
10720
10721// GetRelationalDatabase API operation for Amazon Lightsail.
10722//
10723// Returns information about a specific database in Amazon Lightsail.
10724//
10725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10726// with awserr.Error's Code and Message methods to get detailed information about
10727// the error.
10728//
10729// See the AWS API reference guide for Amazon Lightsail's
10730// API operation GetRelationalDatabase for usage and error information.
10731//
10732// Returned Error Types:
10733//   * ServiceException
10734//   A general service exception.
10735//
10736//   * InvalidInputException
10737//   Lightsail throws this exception when user input does not conform to the validation
10738//   rules of an input field.
10739//
10740//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10741//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10742//   view, or edit these resources.
10743//
10744//   * NotFoundException
10745//   Lightsail throws this exception when it cannot find a resource.
10746//
10747//   * OperationFailureException
10748//   Lightsail throws this exception when an operation fails to execute.
10749//
10750//   * AccessDeniedException
10751//   Lightsail throws this exception when the user cannot be authenticated or
10752//   uses invalid credentials to access a resource.
10753//
10754//   * AccountSetupInProgressException
10755//   Lightsail throws this exception when an account is still in the setup in
10756//   progress state.
10757//
10758//   * UnauthenticatedException
10759//   Lightsail throws this exception when the user has not been authenticated.
10760//
10761// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
10762func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
10763	req, out := c.GetRelationalDatabaseRequest(input)
10764	return out, req.Send()
10765}
10766
10767// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
10768// the ability to pass a context and additional request options.
10769//
10770// See GetRelationalDatabase for details on how to use this API operation.
10771//
10772// The context must be non-nil and will be used for request cancellation. If
10773// the context is nil a panic will occur. In the future the SDK may create
10774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10775// for more information on using Contexts.
10776func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
10777	req, out := c.GetRelationalDatabaseRequest(input)
10778	req.SetContext(ctx)
10779	req.ApplyOptions(opts...)
10780	return out, req.Send()
10781}
10782
10783const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
10784
10785// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
10786// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
10787// value will be populated with the request's response once the request completes
10788// successfully.
10789//
10790// Use "Send" method on the returned Request to send the API call to the service.
10791// the "output" return value is not valid until after Send returns without error.
10792//
10793// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
10794// API call, and error handling.
10795//
10796// This method is useful when you want to inject custom logic or configuration
10797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10798//
10799//
10800//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
10801//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
10802//
10803//    err := req.Send()
10804//    if err == nil { // resp is now filled
10805//        fmt.Println(resp)
10806//    }
10807//
10808// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
10809func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
10810	op := &request.Operation{
10811		Name:       opGetRelationalDatabaseBlueprints,
10812		HTTPMethod: "POST",
10813		HTTPPath:   "/",
10814	}
10815
10816	if input == nil {
10817		input = &GetRelationalDatabaseBlueprintsInput{}
10818	}
10819
10820	output = &GetRelationalDatabaseBlueprintsOutput{}
10821	req = c.newRequest(op, input, output)
10822	return
10823}
10824
10825// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
10826//
10827// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
10828// describes the major engine version of a database.
10829//
10830// You can use a blueprint ID to create a new database that runs a specific
10831// database engine.
10832//
10833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10834// with awserr.Error's Code and Message methods to get detailed information about
10835// the error.
10836//
10837// See the AWS API reference guide for Amazon Lightsail's
10838// API operation GetRelationalDatabaseBlueprints for usage and error information.
10839//
10840// Returned Error Types:
10841//   * ServiceException
10842//   A general service exception.
10843//
10844//   * InvalidInputException
10845//   Lightsail throws this exception when user input does not conform to the validation
10846//   rules of an input field.
10847//
10848//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10849//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10850//   view, or edit these resources.
10851//
10852//   * NotFoundException
10853//   Lightsail throws this exception when it cannot find a resource.
10854//
10855//   * OperationFailureException
10856//   Lightsail throws this exception when an operation fails to execute.
10857//
10858//   * AccessDeniedException
10859//   Lightsail throws this exception when the user cannot be authenticated or
10860//   uses invalid credentials to access a resource.
10861//
10862//   * AccountSetupInProgressException
10863//   Lightsail throws this exception when an account is still in the setup in
10864//   progress state.
10865//
10866//   * UnauthenticatedException
10867//   Lightsail throws this exception when the user has not been authenticated.
10868//
10869// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
10870func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
10871	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
10872	return out, req.Send()
10873}
10874
10875// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
10876// the ability to pass a context and additional request options.
10877//
10878// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
10879//
10880// The context must be non-nil and will be used for request cancellation. If
10881// the context is nil a panic will occur. In the future the SDK may create
10882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10883// for more information on using Contexts.
10884func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
10885	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
10886	req.SetContext(ctx)
10887	req.ApplyOptions(opts...)
10888	return out, req.Send()
10889}
10890
10891const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
10892
10893// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
10894// client's request for the GetRelationalDatabaseBundles operation. The "output" return
10895// value will be populated with the request's response once the request completes
10896// successfully.
10897//
10898// Use "Send" method on the returned Request to send the API call to the service.
10899// the "output" return value is not valid until after Send returns without error.
10900//
10901// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
10902// API call, and error handling.
10903//
10904// This method is useful when you want to inject custom logic or configuration
10905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10906//
10907//
10908//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
10909//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
10910//
10911//    err := req.Send()
10912//    if err == nil { // resp is now filled
10913//        fmt.Println(resp)
10914//    }
10915//
10916// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
10917func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
10918	op := &request.Operation{
10919		Name:       opGetRelationalDatabaseBundles,
10920		HTTPMethod: "POST",
10921		HTTPPath:   "/",
10922	}
10923
10924	if input == nil {
10925		input = &GetRelationalDatabaseBundlesInput{}
10926	}
10927
10928	output = &GetRelationalDatabaseBundlesOutput{}
10929	req = c.newRequest(op, input, output)
10930	return
10931}
10932
10933// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
10934//
10935// Returns the list of bundles that are available in Amazon Lightsail. A bundle
10936// describes the performance specifications for a database.
10937//
10938// You can use a bundle ID to create a new database with explicit performance
10939// specifications.
10940//
10941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10942// with awserr.Error's Code and Message methods to get detailed information about
10943// the error.
10944//
10945// See the AWS API reference guide for Amazon Lightsail's
10946// API operation GetRelationalDatabaseBundles for usage and error information.
10947//
10948// Returned Error Types:
10949//   * ServiceException
10950//   A general service exception.
10951//
10952//   * InvalidInputException
10953//   Lightsail throws this exception when user input does not conform to the validation
10954//   rules of an input field.
10955//
10956//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
10957//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
10958//   view, or edit these resources.
10959//
10960//   * NotFoundException
10961//   Lightsail throws this exception when it cannot find a resource.
10962//
10963//   * OperationFailureException
10964//   Lightsail throws this exception when an operation fails to execute.
10965//
10966//   * AccessDeniedException
10967//   Lightsail throws this exception when the user cannot be authenticated or
10968//   uses invalid credentials to access a resource.
10969//
10970//   * AccountSetupInProgressException
10971//   Lightsail throws this exception when an account is still in the setup in
10972//   progress state.
10973//
10974//   * UnauthenticatedException
10975//   Lightsail throws this exception when the user has not been authenticated.
10976//
10977// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
10978func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
10979	req, out := c.GetRelationalDatabaseBundlesRequest(input)
10980	return out, req.Send()
10981}
10982
10983// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
10984// the ability to pass a context and additional request options.
10985//
10986// See GetRelationalDatabaseBundles for details on how to use this API operation.
10987//
10988// The context must be non-nil and will be used for request cancellation. If
10989// the context is nil a panic will occur. In the future the SDK may create
10990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10991// for more information on using Contexts.
10992func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
10993	req, out := c.GetRelationalDatabaseBundlesRequest(input)
10994	req.SetContext(ctx)
10995	req.ApplyOptions(opts...)
10996	return out, req.Send()
10997}
10998
10999const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
11000
11001// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
11002// client's request for the GetRelationalDatabaseEvents operation. The "output" return
11003// value will be populated with the request's response once the request completes
11004// successfully.
11005//
11006// Use "Send" method on the returned Request to send the API call to the service.
11007// the "output" return value is not valid until after Send returns without error.
11008//
11009// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
11010// API call, and error handling.
11011//
11012// This method is useful when you want to inject custom logic or configuration
11013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11014//
11015//
11016//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
11017//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
11018//
11019//    err := req.Send()
11020//    if err == nil { // resp is now filled
11021//        fmt.Println(resp)
11022//    }
11023//
11024// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
11025func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
11026	op := &request.Operation{
11027		Name:       opGetRelationalDatabaseEvents,
11028		HTTPMethod: "POST",
11029		HTTPPath:   "/",
11030	}
11031
11032	if input == nil {
11033		input = &GetRelationalDatabaseEventsInput{}
11034	}
11035
11036	output = &GetRelationalDatabaseEventsOutput{}
11037	req = c.newRequest(op, input, output)
11038	return
11039}
11040
11041// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
11042//
11043// Returns a list of events for a specific database in Amazon Lightsail.
11044//
11045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11046// with awserr.Error's Code and Message methods to get detailed information about
11047// the error.
11048//
11049// See the AWS API reference guide for Amazon Lightsail's
11050// API operation GetRelationalDatabaseEvents for usage and error information.
11051//
11052// Returned Error Types:
11053//   * ServiceException
11054//   A general service exception.
11055//
11056//   * InvalidInputException
11057//   Lightsail throws this exception when user input does not conform to the validation
11058//   rules of an input field.
11059//
11060//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11061//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11062//   view, or edit these resources.
11063//
11064//   * NotFoundException
11065//   Lightsail throws this exception when it cannot find a resource.
11066//
11067//   * OperationFailureException
11068//   Lightsail throws this exception when an operation fails to execute.
11069//
11070//   * AccessDeniedException
11071//   Lightsail throws this exception when the user cannot be authenticated or
11072//   uses invalid credentials to access a resource.
11073//
11074//   * AccountSetupInProgressException
11075//   Lightsail throws this exception when an account is still in the setup in
11076//   progress state.
11077//
11078//   * UnauthenticatedException
11079//   Lightsail throws this exception when the user has not been authenticated.
11080//
11081// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
11082func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
11083	req, out := c.GetRelationalDatabaseEventsRequest(input)
11084	return out, req.Send()
11085}
11086
11087// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
11088// the ability to pass a context and additional request options.
11089//
11090// See GetRelationalDatabaseEvents for details on how to use this API operation.
11091//
11092// The context must be non-nil and will be used for request cancellation. If
11093// the context is nil a panic will occur. In the future the SDK may create
11094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11095// for more information on using Contexts.
11096func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
11097	req, out := c.GetRelationalDatabaseEventsRequest(input)
11098	req.SetContext(ctx)
11099	req.ApplyOptions(opts...)
11100	return out, req.Send()
11101}
11102
11103const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
11104
11105// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
11106// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
11107// value will be populated with the request's response once the request completes
11108// successfully.
11109//
11110// Use "Send" method on the returned Request to send the API call to the service.
11111// the "output" return value is not valid until after Send returns without error.
11112//
11113// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
11114// API call, and error handling.
11115//
11116// This method is useful when you want to inject custom logic or configuration
11117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11118//
11119//
11120//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
11121//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
11122//
11123//    err := req.Send()
11124//    if err == nil { // resp is now filled
11125//        fmt.Println(resp)
11126//    }
11127//
11128// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
11129func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
11130	op := &request.Operation{
11131		Name:       opGetRelationalDatabaseLogEvents,
11132		HTTPMethod: "POST",
11133		HTTPPath:   "/",
11134	}
11135
11136	if input == nil {
11137		input = &GetRelationalDatabaseLogEventsInput{}
11138	}
11139
11140	output = &GetRelationalDatabaseLogEventsOutput{}
11141	req = c.newRequest(op, input, output)
11142	return
11143}
11144
11145// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
11146//
11147// Returns a list of log events for a database in Amazon Lightsail.
11148//
11149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11150// with awserr.Error's Code and Message methods to get detailed information about
11151// the error.
11152//
11153// See the AWS API reference guide for Amazon Lightsail's
11154// API operation GetRelationalDatabaseLogEvents for usage and error information.
11155//
11156// Returned Error Types:
11157//   * ServiceException
11158//   A general service exception.
11159//
11160//   * InvalidInputException
11161//   Lightsail throws this exception when user input does not conform to the validation
11162//   rules of an input field.
11163//
11164//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11165//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11166//   view, or edit these resources.
11167//
11168//   * NotFoundException
11169//   Lightsail throws this exception when it cannot find a resource.
11170//
11171//   * OperationFailureException
11172//   Lightsail throws this exception when an operation fails to execute.
11173//
11174//   * AccessDeniedException
11175//   Lightsail throws this exception when the user cannot be authenticated or
11176//   uses invalid credentials to access a resource.
11177//
11178//   * AccountSetupInProgressException
11179//   Lightsail throws this exception when an account is still in the setup in
11180//   progress state.
11181//
11182//   * UnauthenticatedException
11183//   Lightsail throws this exception when the user has not been authenticated.
11184//
11185// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
11186func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
11187	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
11188	return out, req.Send()
11189}
11190
11191// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
11192// the ability to pass a context and additional request options.
11193//
11194// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
11195//
11196// The context must be non-nil and will be used for request cancellation. If
11197// the context is nil a panic will occur. In the future the SDK may create
11198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11199// for more information on using Contexts.
11200func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
11201	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
11202	req.SetContext(ctx)
11203	req.ApplyOptions(opts...)
11204	return out, req.Send()
11205}
11206
11207const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
11208
11209// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
11210// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
11211// value will be populated with the request's response once the request completes
11212// successfully.
11213//
11214// Use "Send" method on the returned Request to send the API call to the service.
11215// the "output" return value is not valid until after Send returns without error.
11216//
11217// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
11218// API call, and error handling.
11219//
11220// This method is useful when you want to inject custom logic or configuration
11221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11222//
11223//
11224//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
11225//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
11226//
11227//    err := req.Send()
11228//    if err == nil { // resp is now filled
11229//        fmt.Println(resp)
11230//    }
11231//
11232// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
11233func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
11234	op := &request.Operation{
11235		Name:       opGetRelationalDatabaseLogStreams,
11236		HTTPMethod: "POST",
11237		HTTPPath:   "/",
11238	}
11239
11240	if input == nil {
11241		input = &GetRelationalDatabaseLogStreamsInput{}
11242	}
11243
11244	output = &GetRelationalDatabaseLogStreamsOutput{}
11245	req = c.newRequest(op, input, output)
11246	return
11247}
11248
11249// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
11250//
11251// Returns a list of available log streams for a specific database in Amazon
11252// Lightsail.
11253//
11254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11255// with awserr.Error's Code and Message methods to get detailed information about
11256// the error.
11257//
11258// See the AWS API reference guide for Amazon Lightsail's
11259// API operation GetRelationalDatabaseLogStreams for usage and error information.
11260//
11261// Returned Error Types:
11262//   * ServiceException
11263//   A general service exception.
11264//
11265//   * InvalidInputException
11266//   Lightsail throws this exception when user input does not conform to the validation
11267//   rules of an input field.
11268//
11269//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11270//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11271//   view, or edit these resources.
11272//
11273//   * NotFoundException
11274//   Lightsail throws this exception when it cannot find a resource.
11275//
11276//   * OperationFailureException
11277//   Lightsail throws this exception when an operation fails to execute.
11278//
11279//   * AccessDeniedException
11280//   Lightsail throws this exception when the user cannot be authenticated or
11281//   uses invalid credentials to access a resource.
11282//
11283//   * AccountSetupInProgressException
11284//   Lightsail throws this exception when an account is still in the setup in
11285//   progress state.
11286//
11287//   * UnauthenticatedException
11288//   Lightsail throws this exception when the user has not been authenticated.
11289//
11290// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
11291func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
11292	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
11293	return out, req.Send()
11294}
11295
11296// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
11297// the ability to pass a context and additional request options.
11298//
11299// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
11300//
11301// The context must be non-nil and will be used for request cancellation. If
11302// the context is nil a panic will occur. In the future the SDK may create
11303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11304// for more information on using Contexts.
11305func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
11306	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
11307	req.SetContext(ctx)
11308	req.ApplyOptions(opts...)
11309	return out, req.Send()
11310}
11311
11312const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
11313
11314// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
11315// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
11316// value will be populated with the request's response once the request completes
11317// successfully.
11318//
11319// Use "Send" method on the returned Request to send the API call to the service.
11320// the "output" return value is not valid until after Send returns without error.
11321//
11322// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
11323// API call, and error handling.
11324//
11325// This method is useful when you want to inject custom logic or configuration
11326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11327//
11328//
11329//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
11330//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
11331//
11332//    err := req.Send()
11333//    if err == nil { // resp is now filled
11334//        fmt.Println(resp)
11335//    }
11336//
11337// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
11338func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
11339	op := &request.Operation{
11340		Name:       opGetRelationalDatabaseMasterUserPassword,
11341		HTTPMethod: "POST",
11342		HTTPPath:   "/",
11343	}
11344
11345	if input == nil {
11346		input = &GetRelationalDatabaseMasterUserPasswordInput{}
11347	}
11348
11349	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
11350	req = c.newRequest(op, input, output)
11351	return
11352}
11353
11354// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
11355//
11356// Returns the current, previous, or pending versions of the master user password
11357// for a Lightsail database.
11358//
11359// The GetRelationalDatabaseMasterUserPassword operation supports tag-based
11360// access control via resource tags applied to the resource identified by relationalDatabaseName.
11361//
11362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11363// with awserr.Error's Code and Message methods to get detailed information about
11364// the error.
11365//
11366// See the AWS API reference guide for Amazon Lightsail's
11367// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
11368//
11369// Returned Error Types:
11370//   * ServiceException
11371//   A general service exception.
11372//
11373//   * InvalidInputException
11374//   Lightsail throws this exception when user input does not conform to the validation
11375//   rules of an input field.
11376//
11377//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11378//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11379//   view, or edit these resources.
11380//
11381//   * NotFoundException
11382//   Lightsail throws this exception when it cannot find a resource.
11383//
11384//   * OperationFailureException
11385//   Lightsail throws this exception when an operation fails to execute.
11386//
11387//   * AccessDeniedException
11388//   Lightsail throws this exception when the user cannot be authenticated or
11389//   uses invalid credentials to access a resource.
11390//
11391//   * AccountSetupInProgressException
11392//   Lightsail throws this exception when an account is still in the setup in
11393//   progress state.
11394//
11395//   * UnauthenticatedException
11396//   Lightsail throws this exception when the user has not been authenticated.
11397//
11398// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
11399func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
11400	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
11401	return out, req.Send()
11402}
11403
11404// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
11405// the ability to pass a context and additional request options.
11406//
11407// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
11408//
11409// The context must be non-nil and will be used for request cancellation. If
11410// the context is nil a panic will occur. In the future the SDK may create
11411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11412// for more information on using Contexts.
11413func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
11414	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
11415	req.SetContext(ctx)
11416	req.ApplyOptions(opts...)
11417	return out, req.Send()
11418}
11419
11420const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
11421
11422// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
11423// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
11424// value will be populated with the request's response once the request completes
11425// successfully.
11426//
11427// Use "Send" method on the returned Request to send the API call to the service.
11428// the "output" return value is not valid until after Send returns without error.
11429//
11430// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
11431// API call, and error handling.
11432//
11433// This method is useful when you want to inject custom logic or configuration
11434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11435//
11436//
11437//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
11438//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
11439//
11440//    err := req.Send()
11441//    if err == nil { // resp is now filled
11442//        fmt.Println(resp)
11443//    }
11444//
11445// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
11446func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
11447	op := &request.Operation{
11448		Name:       opGetRelationalDatabaseMetricData,
11449		HTTPMethod: "POST",
11450		HTTPPath:   "/",
11451	}
11452
11453	if input == nil {
11454		input = &GetRelationalDatabaseMetricDataInput{}
11455	}
11456
11457	output = &GetRelationalDatabaseMetricDataOutput{}
11458	req = c.newRequest(op, input, output)
11459	return
11460}
11461
11462// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
11463//
11464// Returns the data points of the specified metric for a database in Amazon
11465// Lightsail.
11466//
11467// Metrics report the utilization of your resources, and the error counts generated
11468// by them. Monitor and collect metric data regularly to maintain the reliability,
11469// availability, and performance of your resources.
11470//
11471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11472// with awserr.Error's Code and Message methods to get detailed information about
11473// the error.
11474//
11475// See the AWS API reference guide for Amazon Lightsail's
11476// API operation GetRelationalDatabaseMetricData for usage and error information.
11477//
11478// Returned Error Types:
11479//   * ServiceException
11480//   A general service exception.
11481//
11482//   * InvalidInputException
11483//   Lightsail throws this exception when user input does not conform to the validation
11484//   rules of an input field.
11485//
11486//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11487//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11488//   view, or edit these resources.
11489//
11490//   * NotFoundException
11491//   Lightsail throws this exception when it cannot find a resource.
11492//
11493//   * OperationFailureException
11494//   Lightsail throws this exception when an operation fails to execute.
11495//
11496//   * AccessDeniedException
11497//   Lightsail throws this exception when the user cannot be authenticated or
11498//   uses invalid credentials to access a resource.
11499//
11500//   * AccountSetupInProgressException
11501//   Lightsail throws this exception when an account is still in the setup in
11502//   progress state.
11503//
11504//   * UnauthenticatedException
11505//   Lightsail throws this exception when the user has not been authenticated.
11506//
11507// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
11508func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
11509	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
11510	return out, req.Send()
11511}
11512
11513// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
11514// the ability to pass a context and additional request options.
11515//
11516// See GetRelationalDatabaseMetricData for details on how to use this API operation.
11517//
11518// The context must be non-nil and will be used for request cancellation. If
11519// the context is nil a panic will occur. In the future the SDK may create
11520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11521// for more information on using Contexts.
11522func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
11523	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
11524	req.SetContext(ctx)
11525	req.ApplyOptions(opts...)
11526	return out, req.Send()
11527}
11528
11529const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
11530
11531// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
11532// client's request for the GetRelationalDatabaseParameters operation. The "output" return
11533// value will be populated with the request's response once the request completes
11534// successfully.
11535//
11536// Use "Send" method on the returned Request to send the API call to the service.
11537// the "output" return value is not valid until after Send returns without error.
11538//
11539// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
11540// API call, and error handling.
11541//
11542// This method is useful when you want to inject custom logic or configuration
11543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11544//
11545//
11546//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
11547//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
11548//
11549//    err := req.Send()
11550//    if err == nil { // resp is now filled
11551//        fmt.Println(resp)
11552//    }
11553//
11554// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
11555func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
11556	op := &request.Operation{
11557		Name:       opGetRelationalDatabaseParameters,
11558		HTTPMethod: "POST",
11559		HTTPPath:   "/",
11560	}
11561
11562	if input == nil {
11563		input = &GetRelationalDatabaseParametersInput{}
11564	}
11565
11566	output = &GetRelationalDatabaseParametersOutput{}
11567	req = c.newRequest(op, input, output)
11568	return
11569}
11570
11571// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
11572//
11573// Returns all of the runtime parameters offered by the underlying database
11574// software, or engine, for a specific database in Amazon Lightsail.
11575//
11576// In addition to the parameter names and values, this operation returns other
11577// information about each parameter. This information includes whether changes
11578// require a reboot, whether the parameter is modifiable, the allowed values,
11579// and the data types.
11580//
11581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11582// with awserr.Error's Code and Message methods to get detailed information about
11583// the error.
11584//
11585// See the AWS API reference guide for Amazon Lightsail's
11586// API operation GetRelationalDatabaseParameters for usage and error information.
11587//
11588// Returned Error Types:
11589//   * ServiceException
11590//   A general service exception.
11591//
11592//   * InvalidInputException
11593//   Lightsail throws this exception when user input does not conform to the validation
11594//   rules of an input field.
11595//
11596//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11597//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11598//   view, or edit these resources.
11599//
11600//   * NotFoundException
11601//   Lightsail throws this exception when it cannot find a resource.
11602//
11603//   * OperationFailureException
11604//   Lightsail throws this exception when an operation fails to execute.
11605//
11606//   * AccessDeniedException
11607//   Lightsail throws this exception when the user cannot be authenticated or
11608//   uses invalid credentials to access a resource.
11609//
11610//   * AccountSetupInProgressException
11611//   Lightsail throws this exception when an account is still in the setup in
11612//   progress state.
11613//
11614//   * UnauthenticatedException
11615//   Lightsail throws this exception when the user has not been authenticated.
11616//
11617// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
11618func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
11619	req, out := c.GetRelationalDatabaseParametersRequest(input)
11620	return out, req.Send()
11621}
11622
11623// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
11624// the ability to pass a context and additional request options.
11625//
11626// See GetRelationalDatabaseParameters for details on how to use this API operation.
11627//
11628// The context must be non-nil and will be used for request cancellation. If
11629// the context is nil a panic will occur. In the future the SDK may create
11630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11631// for more information on using Contexts.
11632func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
11633	req, out := c.GetRelationalDatabaseParametersRequest(input)
11634	req.SetContext(ctx)
11635	req.ApplyOptions(opts...)
11636	return out, req.Send()
11637}
11638
11639const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
11640
11641// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
11642// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
11643// value will be populated with the request's response once the request completes
11644// successfully.
11645//
11646// Use "Send" method on the returned Request to send the API call to the service.
11647// the "output" return value is not valid until after Send returns without error.
11648//
11649// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
11650// API call, and error handling.
11651//
11652// This method is useful when you want to inject custom logic or configuration
11653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11654//
11655//
11656//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
11657//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
11658//
11659//    err := req.Send()
11660//    if err == nil { // resp is now filled
11661//        fmt.Println(resp)
11662//    }
11663//
11664// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
11665func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
11666	op := &request.Operation{
11667		Name:       opGetRelationalDatabaseSnapshot,
11668		HTTPMethod: "POST",
11669		HTTPPath:   "/",
11670	}
11671
11672	if input == nil {
11673		input = &GetRelationalDatabaseSnapshotInput{}
11674	}
11675
11676	output = &GetRelationalDatabaseSnapshotOutput{}
11677	req = c.newRequest(op, input, output)
11678	return
11679}
11680
11681// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
11682//
11683// Returns information about a specific database snapshot in Amazon Lightsail.
11684//
11685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11686// with awserr.Error's Code and Message methods to get detailed information about
11687// the error.
11688//
11689// See the AWS API reference guide for Amazon Lightsail's
11690// API operation GetRelationalDatabaseSnapshot for usage and error information.
11691//
11692// Returned Error Types:
11693//   * ServiceException
11694//   A general service exception.
11695//
11696//   * InvalidInputException
11697//   Lightsail throws this exception when user input does not conform to the validation
11698//   rules of an input field.
11699//
11700//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11701//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11702//   view, or edit these resources.
11703//
11704//   * NotFoundException
11705//   Lightsail throws this exception when it cannot find a resource.
11706//
11707//   * OperationFailureException
11708//   Lightsail throws this exception when an operation fails to execute.
11709//
11710//   * AccessDeniedException
11711//   Lightsail throws this exception when the user cannot be authenticated or
11712//   uses invalid credentials to access a resource.
11713//
11714//   * AccountSetupInProgressException
11715//   Lightsail throws this exception when an account is still in the setup in
11716//   progress state.
11717//
11718//   * UnauthenticatedException
11719//   Lightsail throws this exception when the user has not been authenticated.
11720//
11721// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
11722func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
11723	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
11724	return out, req.Send()
11725}
11726
11727// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
11728// the ability to pass a context and additional request options.
11729//
11730// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
11731//
11732// The context must be non-nil and will be used for request cancellation. If
11733// the context is nil a panic will occur. In the future the SDK may create
11734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11735// for more information on using Contexts.
11736func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
11737	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
11738	req.SetContext(ctx)
11739	req.ApplyOptions(opts...)
11740	return out, req.Send()
11741}
11742
11743const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
11744
11745// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
11746// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
11747// value will be populated with the request's response once the request completes
11748// successfully.
11749//
11750// Use "Send" method on the returned Request to send the API call to the service.
11751// the "output" return value is not valid until after Send returns without error.
11752//
11753// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
11754// API call, and error handling.
11755//
11756// This method is useful when you want to inject custom logic or configuration
11757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11758//
11759//
11760//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
11761//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
11762//
11763//    err := req.Send()
11764//    if err == nil { // resp is now filled
11765//        fmt.Println(resp)
11766//    }
11767//
11768// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
11769func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
11770	op := &request.Operation{
11771		Name:       opGetRelationalDatabaseSnapshots,
11772		HTTPMethod: "POST",
11773		HTTPPath:   "/",
11774	}
11775
11776	if input == nil {
11777		input = &GetRelationalDatabaseSnapshotsInput{}
11778	}
11779
11780	output = &GetRelationalDatabaseSnapshotsOutput{}
11781	req = c.newRequest(op, input, output)
11782	return
11783}
11784
11785// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
11786//
11787// Returns information about all of your database snapshots in Amazon Lightsail.
11788//
11789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11790// with awserr.Error's Code and Message methods to get detailed information about
11791// the error.
11792//
11793// See the AWS API reference guide for Amazon Lightsail's
11794// API operation GetRelationalDatabaseSnapshots for usage and error information.
11795//
11796// Returned Error Types:
11797//   * ServiceException
11798//   A general service exception.
11799//
11800//   * InvalidInputException
11801//   Lightsail throws this exception when user input does not conform to the validation
11802//   rules of an input field.
11803//
11804//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11805//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11806//   view, or edit these resources.
11807//
11808//   * NotFoundException
11809//   Lightsail throws this exception when it cannot find a resource.
11810//
11811//   * OperationFailureException
11812//   Lightsail throws this exception when an operation fails to execute.
11813//
11814//   * AccessDeniedException
11815//   Lightsail throws this exception when the user cannot be authenticated or
11816//   uses invalid credentials to access a resource.
11817//
11818//   * AccountSetupInProgressException
11819//   Lightsail throws this exception when an account is still in the setup in
11820//   progress state.
11821//
11822//   * UnauthenticatedException
11823//   Lightsail throws this exception when the user has not been authenticated.
11824//
11825// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
11826func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
11827	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
11828	return out, req.Send()
11829}
11830
11831// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
11832// the ability to pass a context and additional request options.
11833//
11834// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
11835//
11836// The context must be non-nil and will be used for request cancellation. If
11837// the context is nil a panic will occur. In the future the SDK may create
11838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11839// for more information on using Contexts.
11840func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
11841	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
11842	req.SetContext(ctx)
11843	req.ApplyOptions(opts...)
11844	return out, req.Send()
11845}
11846
11847const opGetRelationalDatabases = "GetRelationalDatabases"
11848
11849// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
11850// client's request for the GetRelationalDatabases operation. The "output" return
11851// value will be populated with the request's response once the request completes
11852// successfully.
11853//
11854// Use "Send" method on the returned Request to send the API call to the service.
11855// the "output" return value is not valid until after Send returns without error.
11856//
11857// See GetRelationalDatabases for more information on using the GetRelationalDatabases
11858// API call, and error handling.
11859//
11860// This method is useful when you want to inject custom logic or configuration
11861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11862//
11863//
11864//    // Example sending a request using the GetRelationalDatabasesRequest method.
11865//    req, resp := client.GetRelationalDatabasesRequest(params)
11866//
11867//    err := req.Send()
11868//    if err == nil { // resp is now filled
11869//        fmt.Println(resp)
11870//    }
11871//
11872// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
11873func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
11874	op := &request.Operation{
11875		Name:       opGetRelationalDatabases,
11876		HTTPMethod: "POST",
11877		HTTPPath:   "/",
11878	}
11879
11880	if input == nil {
11881		input = &GetRelationalDatabasesInput{}
11882	}
11883
11884	output = &GetRelationalDatabasesOutput{}
11885	req = c.newRequest(op, input, output)
11886	return
11887}
11888
11889// GetRelationalDatabases API operation for Amazon Lightsail.
11890//
11891// Returns information about all of your databases in Amazon Lightsail.
11892//
11893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11894// with awserr.Error's Code and Message methods to get detailed information about
11895// the error.
11896//
11897// See the AWS API reference guide for Amazon Lightsail's
11898// API operation GetRelationalDatabases for usage and error information.
11899//
11900// Returned Error Types:
11901//   * ServiceException
11902//   A general service exception.
11903//
11904//   * InvalidInputException
11905//   Lightsail throws this exception when user input does not conform to the validation
11906//   rules of an input field.
11907//
11908//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
11909//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
11910//   view, or edit these resources.
11911//
11912//   * NotFoundException
11913//   Lightsail throws this exception when it cannot find a resource.
11914//
11915//   * OperationFailureException
11916//   Lightsail throws this exception when an operation fails to execute.
11917//
11918//   * AccessDeniedException
11919//   Lightsail throws this exception when the user cannot be authenticated or
11920//   uses invalid credentials to access a resource.
11921//
11922//   * AccountSetupInProgressException
11923//   Lightsail throws this exception when an account is still in the setup in
11924//   progress state.
11925//
11926//   * UnauthenticatedException
11927//   Lightsail throws this exception when the user has not been authenticated.
11928//
11929// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
11930func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
11931	req, out := c.GetRelationalDatabasesRequest(input)
11932	return out, req.Send()
11933}
11934
11935// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
11936// the ability to pass a context and additional request options.
11937//
11938// See GetRelationalDatabases for details on how to use this API operation.
11939//
11940// The context must be non-nil and will be used for request cancellation. If
11941// the context is nil a panic will occur. In the future the SDK may create
11942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11943// for more information on using Contexts.
11944func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
11945	req, out := c.GetRelationalDatabasesRequest(input)
11946	req.SetContext(ctx)
11947	req.ApplyOptions(opts...)
11948	return out, req.Send()
11949}
11950
11951const opGetStaticIp = "GetStaticIp"
11952
11953// GetStaticIpRequest generates a "aws/request.Request" representing the
11954// client's request for the GetStaticIp operation. The "output" return
11955// value will be populated with the request's response once the request completes
11956// successfully.
11957//
11958// Use "Send" method on the returned Request to send the API call to the service.
11959// the "output" return value is not valid until after Send returns without error.
11960//
11961// See GetStaticIp for more information on using the GetStaticIp
11962// API call, and error handling.
11963//
11964// This method is useful when you want to inject custom logic or configuration
11965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11966//
11967//
11968//    // Example sending a request using the GetStaticIpRequest method.
11969//    req, resp := client.GetStaticIpRequest(params)
11970//
11971//    err := req.Send()
11972//    if err == nil { // resp is now filled
11973//        fmt.Println(resp)
11974//    }
11975//
11976// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
11977func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
11978	op := &request.Operation{
11979		Name:       opGetStaticIp,
11980		HTTPMethod: "POST",
11981		HTTPPath:   "/",
11982	}
11983
11984	if input == nil {
11985		input = &GetStaticIpInput{}
11986	}
11987
11988	output = &GetStaticIpOutput{}
11989	req = c.newRequest(op, input, output)
11990	return
11991}
11992
11993// GetStaticIp API operation for Amazon Lightsail.
11994//
11995// Returns information about a specific static IP.
11996//
11997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11998// with awserr.Error's Code and Message methods to get detailed information about
11999// the error.
12000//
12001// See the AWS API reference guide for Amazon Lightsail's
12002// API operation GetStaticIp for usage and error information.
12003//
12004// Returned Error Types:
12005//   * ServiceException
12006//   A general service exception.
12007//
12008//   * InvalidInputException
12009//   Lightsail throws this exception when user input does not conform to the validation
12010//   rules of an input field.
12011//
12012//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12013//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12014//   view, or edit these resources.
12015//
12016//   * NotFoundException
12017//   Lightsail throws this exception when it cannot find a resource.
12018//
12019//   * OperationFailureException
12020//   Lightsail throws this exception when an operation fails to execute.
12021//
12022//   * AccessDeniedException
12023//   Lightsail throws this exception when the user cannot be authenticated or
12024//   uses invalid credentials to access a resource.
12025//
12026//   * AccountSetupInProgressException
12027//   Lightsail throws this exception when an account is still in the setup in
12028//   progress state.
12029//
12030//   * UnauthenticatedException
12031//   Lightsail throws this exception when the user has not been authenticated.
12032//
12033// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
12034func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
12035	req, out := c.GetStaticIpRequest(input)
12036	return out, req.Send()
12037}
12038
12039// GetStaticIpWithContext is the same as GetStaticIp with the addition of
12040// the ability to pass a context and additional request options.
12041//
12042// See GetStaticIp for details on how to use this API operation.
12043//
12044// The context must be non-nil and will be used for request cancellation. If
12045// the context is nil a panic will occur. In the future the SDK may create
12046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12047// for more information on using Contexts.
12048func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
12049	req, out := c.GetStaticIpRequest(input)
12050	req.SetContext(ctx)
12051	req.ApplyOptions(opts...)
12052	return out, req.Send()
12053}
12054
12055const opGetStaticIps = "GetStaticIps"
12056
12057// GetStaticIpsRequest generates a "aws/request.Request" representing the
12058// client's request for the GetStaticIps operation. The "output" return
12059// value will be populated with the request's response once the request completes
12060// successfully.
12061//
12062// Use "Send" method on the returned Request to send the API call to the service.
12063// the "output" return value is not valid until after Send returns without error.
12064//
12065// See GetStaticIps for more information on using the GetStaticIps
12066// API call, and error handling.
12067//
12068// This method is useful when you want to inject custom logic or configuration
12069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12070//
12071//
12072//    // Example sending a request using the GetStaticIpsRequest method.
12073//    req, resp := client.GetStaticIpsRequest(params)
12074//
12075//    err := req.Send()
12076//    if err == nil { // resp is now filled
12077//        fmt.Println(resp)
12078//    }
12079//
12080// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
12081func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
12082	op := &request.Operation{
12083		Name:       opGetStaticIps,
12084		HTTPMethod: "POST",
12085		HTTPPath:   "/",
12086	}
12087
12088	if input == nil {
12089		input = &GetStaticIpsInput{}
12090	}
12091
12092	output = &GetStaticIpsOutput{}
12093	req = c.newRequest(op, input, output)
12094	return
12095}
12096
12097// GetStaticIps API operation for Amazon Lightsail.
12098//
12099// Returns information about all static IPs in the user's account.
12100//
12101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12102// with awserr.Error's Code and Message methods to get detailed information about
12103// the error.
12104//
12105// See the AWS API reference guide for Amazon Lightsail's
12106// API operation GetStaticIps for usage and error information.
12107//
12108// Returned Error Types:
12109//   * ServiceException
12110//   A general service exception.
12111//
12112//   * InvalidInputException
12113//   Lightsail throws this exception when user input does not conform to the validation
12114//   rules of an input field.
12115//
12116//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12117//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12118//   view, or edit these resources.
12119//
12120//   * NotFoundException
12121//   Lightsail throws this exception when it cannot find a resource.
12122//
12123//   * OperationFailureException
12124//   Lightsail throws this exception when an operation fails to execute.
12125//
12126//   * AccessDeniedException
12127//   Lightsail throws this exception when the user cannot be authenticated or
12128//   uses invalid credentials to access a resource.
12129//
12130//   * AccountSetupInProgressException
12131//   Lightsail throws this exception when an account is still in the setup in
12132//   progress state.
12133//
12134//   * UnauthenticatedException
12135//   Lightsail throws this exception when the user has not been authenticated.
12136//
12137// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
12138func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
12139	req, out := c.GetStaticIpsRequest(input)
12140	return out, req.Send()
12141}
12142
12143// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
12144// the ability to pass a context and additional request options.
12145//
12146// See GetStaticIps for details on how to use this API operation.
12147//
12148// The context must be non-nil and will be used for request cancellation. If
12149// the context is nil a panic will occur. In the future the SDK may create
12150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12151// for more information on using Contexts.
12152func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
12153	req, out := c.GetStaticIpsRequest(input)
12154	req.SetContext(ctx)
12155	req.ApplyOptions(opts...)
12156	return out, req.Send()
12157}
12158
12159const opImportKeyPair = "ImportKeyPair"
12160
12161// ImportKeyPairRequest generates a "aws/request.Request" representing the
12162// client's request for the ImportKeyPair operation. The "output" return
12163// value will be populated with the request's response once the request completes
12164// successfully.
12165//
12166// Use "Send" method on the returned Request to send the API call to the service.
12167// the "output" return value is not valid until after Send returns without error.
12168//
12169// See ImportKeyPair for more information on using the ImportKeyPair
12170// API call, and error handling.
12171//
12172// This method is useful when you want to inject custom logic or configuration
12173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12174//
12175//
12176//    // Example sending a request using the ImportKeyPairRequest method.
12177//    req, resp := client.ImportKeyPairRequest(params)
12178//
12179//    err := req.Send()
12180//    if err == nil { // resp is now filled
12181//        fmt.Println(resp)
12182//    }
12183//
12184// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
12185func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
12186	op := &request.Operation{
12187		Name:       opImportKeyPair,
12188		HTTPMethod: "POST",
12189		HTTPPath:   "/",
12190	}
12191
12192	if input == nil {
12193		input = &ImportKeyPairInput{}
12194	}
12195
12196	output = &ImportKeyPairOutput{}
12197	req = c.newRequest(op, input, output)
12198	return
12199}
12200
12201// ImportKeyPair API operation for Amazon Lightsail.
12202//
12203// Imports a public SSH key from a specific key pair.
12204//
12205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12206// with awserr.Error's Code and Message methods to get detailed information about
12207// the error.
12208//
12209// See the AWS API reference guide for Amazon Lightsail's
12210// API operation ImportKeyPair for usage and error information.
12211//
12212// Returned Error Types:
12213//   * ServiceException
12214//   A general service exception.
12215//
12216//   * InvalidInputException
12217//   Lightsail throws this exception when user input does not conform to the validation
12218//   rules of an input field.
12219//
12220//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12221//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12222//   view, or edit these resources.
12223//
12224//   * NotFoundException
12225//   Lightsail throws this exception when it cannot find a resource.
12226//
12227//   * OperationFailureException
12228//   Lightsail throws this exception when an operation fails to execute.
12229//
12230//   * AccessDeniedException
12231//   Lightsail throws this exception when the user cannot be authenticated or
12232//   uses invalid credentials to access a resource.
12233//
12234//   * AccountSetupInProgressException
12235//   Lightsail throws this exception when an account is still in the setup in
12236//   progress state.
12237//
12238//   * UnauthenticatedException
12239//   Lightsail throws this exception when the user has not been authenticated.
12240//
12241// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
12242func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
12243	req, out := c.ImportKeyPairRequest(input)
12244	return out, req.Send()
12245}
12246
12247// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
12248// the ability to pass a context and additional request options.
12249//
12250// See ImportKeyPair for details on how to use this API operation.
12251//
12252// The context must be non-nil and will be used for request cancellation. If
12253// the context is nil a panic will occur. In the future the SDK may create
12254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12255// for more information on using Contexts.
12256func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
12257	req, out := c.ImportKeyPairRequest(input)
12258	req.SetContext(ctx)
12259	req.ApplyOptions(opts...)
12260	return out, req.Send()
12261}
12262
12263const opIsVpcPeered = "IsVpcPeered"
12264
12265// IsVpcPeeredRequest generates a "aws/request.Request" representing the
12266// client's request for the IsVpcPeered operation. The "output" return
12267// value will be populated with the request's response once the request completes
12268// successfully.
12269//
12270// Use "Send" method on the returned Request to send the API call to the service.
12271// the "output" return value is not valid until after Send returns without error.
12272//
12273// See IsVpcPeered for more information on using the IsVpcPeered
12274// API call, and error handling.
12275//
12276// This method is useful when you want to inject custom logic or configuration
12277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12278//
12279//
12280//    // Example sending a request using the IsVpcPeeredRequest method.
12281//    req, resp := client.IsVpcPeeredRequest(params)
12282//
12283//    err := req.Send()
12284//    if err == nil { // resp is now filled
12285//        fmt.Println(resp)
12286//    }
12287//
12288// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
12289func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
12290	op := &request.Operation{
12291		Name:       opIsVpcPeered,
12292		HTTPMethod: "POST",
12293		HTTPPath:   "/",
12294	}
12295
12296	if input == nil {
12297		input = &IsVpcPeeredInput{}
12298	}
12299
12300	output = &IsVpcPeeredOutput{}
12301	req = c.newRequest(op, input, output)
12302	return
12303}
12304
12305// IsVpcPeered API operation for Amazon Lightsail.
12306//
12307// Returns a Boolean value indicating whether your Lightsail VPC is peered.
12308//
12309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12310// with awserr.Error's Code and Message methods to get detailed information about
12311// the error.
12312//
12313// See the AWS API reference guide for Amazon Lightsail's
12314// API operation IsVpcPeered for usage and error information.
12315//
12316// Returned Error Types:
12317//   * ServiceException
12318//   A general service exception.
12319//
12320//   * InvalidInputException
12321//   Lightsail throws this exception when user input does not conform to the validation
12322//   rules of an input field.
12323//
12324//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12325//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12326//   view, or edit these resources.
12327//
12328//   * NotFoundException
12329//   Lightsail throws this exception when it cannot find a resource.
12330//
12331//   * OperationFailureException
12332//   Lightsail throws this exception when an operation fails to execute.
12333//
12334//   * AccessDeniedException
12335//   Lightsail throws this exception when the user cannot be authenticated or
12336//   uses invalid credentials to access a resource.
12337//
12338//   * AccountSetupInProgressException
12339//   Lightsail throws this exception when an account is still in the setup in
12340//   progress state.
12341//
12342//   * UnauthenticatedException
12343//   Lightsail throws this exception when the user has not been authenticated.
12344//
12345// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
12346func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
12347	req, out := c.IsVpcPeeredRequest(input)
12348	return out, req.Send()
12349}
12350
12351// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
12352// the ability to pass a context and additional request options.
12353//
12354// See IsVpcPeered for details on how to use this API operation.
12355//
12356// The context must be non-nil and will be used for request cancellation. If
12357// the context is nil a panic will occur. In the future the SDK may create
12358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12359// for more information on using Contexts.
12360func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
12361	req, out := c.IsVpcPeeredRequest(input)
12362	req.SetContext(ctx)
12363	req.ApplyOptions(opts...)
12364	return out, req.Send()
12365}
12366
12367const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
12368
12369// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
12370// client's request for the OpenInstancePublicPorts operation. The "output" return
12371// value will be populated with the request's response once the request completes
12372// successfully.
12373//
12374// Use "Send" method on the returned Request to send the API call to the service.
12375// the "output" return value is not valid until after Send returns without error.
12376//
12377// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
12378// API call, and error handling.
12379//
12380// This method is useful when you want to inject custom logic or configuration
12381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12382//
12383//
12384//    // Example sending a request using the OpenInstancePublicPortsRequest method.
12385//    req, resp := client.OpenInstancePublicPortsRequest(params)
12386//
12387//    err := req.Send()
12388//    if err == nil { // resp is now filled
12389//        fmt.Println(resp)
12390//    }
12391//
12392// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
12393func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
12394	op := &request.Operation{
12395		Name:       opOpenInstancePublicPorts,
12396		HTTPMethod: "POST",
12397		HTTPPath:   "/",
12398	}
12399
12400	if input == nil {
12401		input = &OpenInstancePublicPortsInput{}
12402	}
12403
12404	output = &OpenInstancePublicPortsOutput{}
12405	req = c.newRequest(op, input, output)
12406	return
12407}
12408
12409// OpenInstancePublicPorts API operation for Amazon Lightsail.
12410//
12411// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
12412// addresses allowed to connect to the instance through the ports, and the protocol.
12413//
12414// The OpenInstancePublicPorts action supports tag-based access control via
12415// resource tags applied to the resource identified by instanceName. For more
12416// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12417//
12418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12419// with awserr.Error's Code and Message methods to get detailed information about
12420// the error.
12421//
12422// See the AWS API reference guide for Amazon Lightsail's
12423// API operation OpenInstancePublicPorts for usage and error information.
12424//
12425// Returned Error Types:
12426//   * ServiceException
12427//   A general service exception.
12428//
12429//   * InvalidInputException
12430//   Lightsail throws this exception when user input does not conform to the validation
12431//   rules of an input field.
12432//
12433//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12434//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12435//   view, or edit these resources.
12436//
12437//   * NotFoundException
12438//   Lightsail throws this exception when it cannot find a resource.
12439//
12440//   * OperationFailureException
12441//   Lightsail throws this exception when an operation fails to execute.
12442//
12443//   * AccessDeniedException
12444//   Lightsail throws this exception when the user cannot be authenticated or
12445//   uses invalid credentials to access a resource.
12446//
12447//   * AccountSetupInProgressException
12448//   Lightsail throws this exception when an account is still in the setup in
12449//   progress state.
12450//
12451//   * UnauthenticatedException
12452//   Lightsail throws this exception when the user has not been authenticated.
12453//
12454// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
12455func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
12456	req, out := c.OpenInstancePublicPortsRequest(input)
12457	return out, req.Send()
12458}
12459
12460// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
12461// the ability to pass a context and additional request options.
12462//
12463// See OpenInstancePublicPorts for details on how to use this API operation.
12464//
12465// The context must be non-nil and will be used for request cancellation. If
12466// the context is nil a panic will occur. In the future the SDK may create
12467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12468// for more information on using Contexts.
12469func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
12470	req, out := c.OpenInstancePublicPortsRequest(input)
12471	req.SetContext(ctx)
12472	req.ApplyOptions(opts...)
12473	return out, req.Send()
12474}
12475
12476const opPeerVpc = "PeerVpc"
12477
12478// PeerVpcRequest generates a "aws/request.Request" representing the
12479// client's request for the PeerVpc operation. The "output" return
12480// value will be populated with the request's response once the request completes
12481// successfully.
12482//
12483// Use "Send" method on the returned Request to send the API call to the service.
12484// the "output" return value is not valid until after Send returns without error.
12485//
12486// See PeerVpc for more information on using the PeerVpc
12487// API call, and error handling.
12488//
12489// This method is useful when you want to inject custom logic or configuration
12490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12491//
12492//
12493//    // Example sending a request using the PeerVpcRequest method.
12494//    req, resp := client.PeerVpcRequest(params)
12495//
12496//    err := req.Send()
12497//    if err == nil { // resp is now filled
12498//        fmt.Println(resp)
12499//    }
12500//
12501// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
12502func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
12503	op := &request.Operation{
12504		Name:       opPeerVpc,
12505		HTTPMethod: "POST",
12506		HTTPPath:   "/",
12507	}
12508
12509	if input == nil {
12510		input = &PeerVpcInput{}
12511	}
12512
12513	output = &PeerVpcOutput{}
12514	req = c.newRequest(op, input, output)
12515	return
12516}
12517
12518// PeerVpc API operation for Amazon Lightsail.
12519//
12520// Tries to peer the Lightsail VPC with the user's default VPC.
12521//
12522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12523// with awserr.Error's Code and Message methods to get detailed information about
12524// the error.
12525//
12526// See the AWS API reference guide for Amazon Lightsail's
12527// API operation PeerVpc for usage and error information.
12528//
12529// Returned Error Types:
12530//   * ServiceException
12531//   A general service exception.
12532//
12533//   * InvalidInputException
12534//   Lightsail throws this exception when user input does not conform to the validation
12535//   rules of an input field.
12536//
12537//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12538//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12539//   view, or edit these resources.
12540//
12541//   * NotFoundException
12542//   Lightsail throws this exception when it cannot find a resource.
12543//
12544//   * OperationFailureException
12545//   Lightsail throws this exception when an operation fails to execute.
12546//
12547//   * AccessDeniedException
12548//   Lightsail throws this exception when the user cannot be authenticated or
12549//   uses invalid credentials to access a resource.
12550//
12551//   * AccountSetupInProgressException
12552//   Lightsail throws this exception when an account is still in the setup in
12553//   progress state.
12554//
12555//   * UnauthenticatedException
12556//   Lightsail throws this exception when the user has not been authenticated.
12557//
12558// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
12559func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
12560	req, out := c.PeerVpcRequest(input)
12561	return out, req.Send()
12562}
12563
12564// PeerVpcWithContext is the same as PeerVpc with the addition of
12565// the ability to pass a context and additional request options.
12566//
12567// See PeerVpc for details on how to use this API operation.
12568//
12569// The context must be non-nil and will be used for request cancellation. If
12570// the context is nil a panic will occur. In the future the SDK may create
12571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12572// for more information on using Contexts.
12573func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
12574	req, out := c.PeerVpcRequest(input)
12575	req.SetContext(ctx)
12576	req.ApplyOptions(opts...)
12577	return out, req.Send()
12578}
12579
12580const opPutAlarm = "PutAlarm"
12581
12582// PutAlarmRequest generates a "aws/request.Request" representing the
12583// client's request for the PutAlarm operation. The "output" return
12584// value will be populated with the request's response once the request completes
12585// successfully.
12586//
12587// Use "Send" method on the returned Request to send the API call to the service.
12588// the "output" return value is not valid until after Send returns without error.
12589//
12590// See PutAlarm for more information on using the PutAlarm
12591// API call, and error handling.
12592//
12593// This method is useful when you want to inject custom logic or configuration
12594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12595//
12596//
12597//    // Example sending a request using the PutAlarmRequest method.
12598//    req, resp := client.PutAlarmRequest(params)
12599//
12600//    err := req.Send()
12601//    if err == nil { // resp is now filled
12602//        fmt.Println(resp)
12603//    }
12604//
12605// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
12606func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) {
12607	op := &request.Operation{
12608		Name:       opPutAlarm,
12609		HTTPMethod: "POST",
12610		HTTPPath:   "/",
12611	}
12612
12613	if input == nil {
12614		input = &PutAlarmInput{}
12615	}
12616
12617	output = &PutAlarmOutput{}
12618	req = c.newRequest(op, input, output)
12619	return
12620}
12621
12622// PutAlarm API operation for Amazon Lightsail.
12623//
12624// Creates or updates an alarm, and associates it with the specified metric.
12625//
12626// An alarm is used to monitor a single metric for one of your resources. When
12627// a metric condition is met, the alarm can notify you by email, SMS text message,
12628// and a banner displayed on the Amazon Lightsail console. For more information,
12629// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
12630//
12631// When this action creates an alarm, the alarm state is immediately set to
12632// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
12633// Any actions associated with the new state are then executed.
12634//
12635// When you update an existing alarm, its state is left unchanged, but the update
12636// completely overwrites the previous configuration of the alarm. The alarm
12637// is then evaluated with the updated configuration.
12638//
12639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12640// with awserr.Error's Code and Message methods to get detailed information about
12641// the error.
12642//
12643// See the AWS API reference guide for Amazon Lightsail's
12644// API operation PutAlarm for usage and error information.
12645//
12646// Returned Error Types:
12647//   * ServiceException
12648//   A general service exception.
12649//
12650//   * InvalidInputException
12651//   Lightsail throws this exception when user input does not conform to the validation
12652//   rules of an input field.
12653//
12654//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12655//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12656//   view, or edit these resources.
12657//
12658//   * OperationFailureException
12659//   Lightsail throws this exception when an operation fails to execute.
12660//
12661//   * AccessDeniedException
12662//   Lightsail throws this exception when the user cannot be authenticated or
12663//   uses invalid credentials to access a resource.
12664//
12665//   * UnauthenticatedException
12666//   Lightsail throws this exception when the user has not been authenticated.
12667//
12668//   * NotFoundException
12669//   Lightsail throws this exception when it cannot find a resource.
12670//
12671// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
12672func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) {
12673	req, out := c.PutAlarmRequest(input)
12674	return out, req.Send()
12675}
12676
12677// PutAlarmWithContext is the same as PutAlarm with the addition of
12678// the ability to pass a context and additional request options.
12679//
12680// See PutAlarm for details on how to use this API operation.
12681//
12682// The context must be non-nil and will be used for request cancellation. If
12683// the context is nil a panic will occur. In the future the SDK may create
12684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12685// for more information on using Contexts.
12686func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) {
12687	req, out := c.PutAlarmRequest(input)
12688	req.SetContext(ctx)
12689	req.ApplyOptions(opts...)
12690	return out, req.Send()
12691}
12692
12693const opPutInstancePublicPorts = "PutInstancePublicPorts"
12694
12695// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
12696// client's request for the PutInstancePublicPorts operation. The "output" return
12697// value will be populated with the request's response once the request completes
12698// successfully.
12699//
12700// Use "Send" method on the returned Request to send the API call to the service.
12701// the "output" return value is not valid until after Send returns without error.
12702//
12703// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
12704// API call, and error handling.
12705//
12706// This method is useful when you want to inject custom logic or configuration
12707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12708//
12709//
12710//    // Example sending a request using the PutInstancePublicPortsRequest method.
12711//    req, resp := client.PutInstancePublicPortsRequest(params)
12712//
12713//    err := req.Send()
12714//    if err == nil { // resp is now filled
12715//        fmt.Println(resp)
12716//    }
12717//
12718// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
12719func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
12720	op := &request.Operation{
12721		Name:       opPutInstancePublicPorts,
12722		HTTPMethod: "POST",
12723		HTTPPath:   "/",
12724	}
12725
12726	if input == nil {
12727		input = &PutInstancePublicPortsInput{}
12728	}
12729
12730	output = &PutInstancePublicPortsOutput{}
12731	req = c.newRequest(op, input, output)
12732	return
12733}
12734
12735// PutInstancePublicPorts API operation for Amazon Lightsail.
12736//
12737// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
12738// addresses allowed to connect to the instance through the ports, and the protocol.
12739// This action also closes all currently open ports that are not included in
12740// the request. Include all of the ports and the protocols you want to open
12741// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts
12742// action to open ports without closing currently open ports.
12743//
12744// The PutInstancePublicPorts action supports tag-based access control via resource
12745// tags applied to the resource identified by instanceName. For more information,
12746// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12747//
12748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12749// with awserr.Error's Code and Message methods to get detailed information about
12750// the error.
12751//
12752// See the AWS API reference guide for Amazon Lightsail's
12753// API operation PutInstancePublicPorts for usage and error information.
12754//
12755// Returned Error Types:
12756//   * ServiceException
12757//   A general service exception.
12758//
12759//   * InvalidInputException
12760//   Lightsail throws this exception when user input does not conform to the validation
12761//   rules of an input field.
12762//
12763//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12764//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12765//   view, or edit these resources.
12766//
12767//   * NotFoundException
12768//   Lightsail throws this exception when it cannot find a resource.
12769//
12770//   * OperationFailureException
12771//   Lightsail throws this exception when an operation fails to execute.
12772//
12773//   * AccessDeniedException
12774//   Lightsail throws this exception when the user cannot be authenticated or
12775//   uses invalid credentials to access a resource.
12776//
12777//   * AccountSetupInProgressException
12778//   Lightsail throws this exception when an account is still in the setup in
12779//   progress state.
12780//
12781//   * UnauthenticatedException
12782//   Lightsail throws this exception when the user has not been authenticated.
12783//
12784// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
12785func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
12786	req, out := c.PutInstancePublicPortsRequest(input)
12787	return out, req.Send()
12788}
12789
12790// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
12791// the ability to pass a context and additional request options.
12792//
12793// See PutInstancePublicPorts for details on how to use this API operation.
12794//
12795// The context must be non-nil and will be used for request cancellation. If
12796// the context is nil a panic will occur. In the future the SDK may create
12797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12798// for more information on using Contexts.
12799func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
12800	req, out := c.PutInstancePublicPortsRequest(input)
12801	req.SetContext(ctx)
12802	req.ApplyOptions(opts...)
12803	return out, req.Send()
12804}
12805
12806const opRebootInstance = "RebootInstance"
12807
12808// RebootInstanceRequest generates a "aws/request.Request" representing the
12809// client's request for the RebootInstance operation. The "output" return
12810// value will be populated with the request's response once the request completes
12811// successfully.
12812//
12813// Use "Send" method on the returned Request to send the API call to the service.
12814// the "output" return value is not valid until after Send returns without error.
12815//
12816// See RebootInstance for more information on using the RebootInstance
12817// API call, and error handling.
12818//
12819// This method is useful when you want to inject custom logic or configuration
12820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12821//
12822//
12823//    // Example sending a request using the RebootInstanceRequest method.
12824//    req, resp := client.RebootInstanceRequest(params)
12825//
12826//    err := req.Send()
12827//    if err == nil { // resp is now filled
12828//        fmt.Println(resp)
12829//    }
12830//
12831// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
12832func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
12833	op := &request.Operation{
12834		Name:       opRebootInstance,
12835		HTTPMethod: "POST",
12836		HTTPPath:   "/",
12837	}
12838
12839	if input == nil {
12840		input = &RebootInstanceInput{}
12841	}
12842
12843	output = &RebootInstanceOutput{}
12844	req = c.newRequest(op, input, output)
12845	return
12846}
12847
12848// RebootInstance API operation for Amazon Lightsail.
12849//
12850// Restarts a specific instance.
12851//
12852// The reboot instance operation supports tag-based access control via resource
12853// tags applied to the resource identified by instance name. For more information,
12854// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12855//
12856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12857// with awserr.Error's Code and Message methods to get detailed information about
12858// the error.
12859//
12860// See the AWS API reference guide for Amazon Lightsail's
12861// API operation RebootInstance for usage and error information.
12862//
12863// Returned Error Types:
12864//   * ServiceException
12865//   A general service exception.
12866//
12867//   * InvalidInputException
12868//   Lightsail throws this exception when user input does not conform to the validation
12869//   rules of an input field.
12870//
12871//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12872//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12873//   view, or edit these resources.
12874//
12875//   * NotFoundException
12876//   Lightsail throws this exception when it cannot find a resource.
12877//
12878//   * OperationFailureException
12879//   Lightsail throws this exception when an operation fails to execute.
12880//
12881//   * AccessDeniedException
12882//   Lightsail throws this exception when the user cannot be authenticated or
12883//   uses invalid credentials to access a resource.
12884//
12885//   * AccountSetupInProgressException
12886//   Lightsail throws this exception when an account is still in the setup in
12887//   progress state.
12888//
12889//   * UnauthenticatedException
12890//   Lightsail throws this exception when the user has not been authenticated.
12891//
12892// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
12893func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
12894	req, out := c.RebootInstanceRequest(input)
12895	return out, req.Send()
12896}
12897
12898// RebootInstanceWithContext is the same as RebootInstance with the addition of
12899// the ability to pass a context and additional request options.
12900//
12901// See RebootInstance for details on how to use this API operation.
12902//
12903// The context must be non-nil and will be used for request cancellation. If
12904// the context is nil a panic will occur. In the future the SDK may create
12905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12906// for more information on using Contexts.
12907func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
12908	req, out := c.RebootInstanceRequest(input)
12909	req.SetContext(ctx)
12910	req.ApplyOptions(opts...)
12911	return out, req.Send()
12912}
12913
12914const opRebootRelationalDatabase = "RebootRelationalDatabase"
12915
12916// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
12917// client's request for the RebootRelationalDatabase operation. The "output" return
12918// value will be populated with the request's response once the request completes
12919// successfully.
12920//
12921// Use "Send" method on the returned Request to send the API call to the service.
12922// the "output" return value is not valid until after Send returns without error.
12923//
12924// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
12925// API call, and error handling.
12926//
12927// This method is useful when you want to inject custom logic or configuration
12928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12929//
12930//
12931//    // Example sending a request using the RebootRelationalDatabaseRequest method.
12932//    req, resp := client.RebootRelationalDatabaseRequest(params)
12933//
12934//    err := req.Send()
12935//    if err == nil { // resp is now filled
12936//        fmt.Println(resp)
12937//    }
12938//
12939// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
12940func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
12941	op := &request.Operation{
12942		Name:       opRebootRelationalDatabase,
12943		HTTPMethod: "POST",
12944		HTTPPath:   "/",
12945	}
12946
12947	if input == nil {
12948		input = &RebootRelationalDatabaseInput{}
12949	}
12950
12951	output = &RebootRelationalDatabaseOutput{}
12952	req = c.newRequest(op, input, output)
12953	return
12954}
12955
12956// RebootRelationalDatabase API operation for Amazon Lightsail.
12957//
12958// Restarts a specific database in Amazon Lightsail.
12959//
12960// The reboot relational database operation supports tag-based access control
12961// via resource tags applied to the resource identified by relationalDatabaseName.
12962// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12963//
12964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12965// with awserr.Error's Code and Message methods to get detailed information about
12966// the error.
12967//
12968// See the AWS API reference guide for Amazon Lightsail's
12969// API operation RebootRelationalDatabase for usage and error information.
12970//
12971// Returned Error Types:
12972//   * ServiceException
12973//   A general service exception.
12974//
12975//   * InvalidInputException
12976//   Lightsail throws this exception when user input does not conform to the validation
12977//   rules of an input field.
12978//
12979//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
12980//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
12981//   view, or edit these resources.
12982//
12983//   * NotFoundException
12984//   Lightsail throws this exception when it cannot find a resource.
12985//
12986//   * OperationFailureException
12987//   Lightsail throws this exception when an operation fails to execute.
12988//
12989//   * AccessDeniedException
12990//   Lightsail throws this exception when the user cannot be authenticated or
12991//   uses invalid credentials to access a resource.
12992//
12993//   * AccountSetupInProgressException
12994//   Lightsail throws this exception when an account is still in the setup in
12995//   progress state.
12996//
12997//   * UnauthenticatedException
12998//   Lightsail throws this exception when the user has not been authenticated.
12999//
13000// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
13001func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
13002	req, out := c.RebootRelationalDatabaseRequest(input)
13003	return out, req.Send()
13004}
13005
13006// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
13007// the ability to pass a context and additional request options.
13008//
13009// See RebootRelationalDatabase for details on how to use this API operation.
13010//
13011// The context must be non-nil and will be used for request cancellation. If
13012// the context is nil a panic will occur. In the future the SDK may create
13013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13014// for more information on using Contexts.
13015func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
13016	req, out := c.RebootRelationalDatabaseRequest(input)
13017	req.SetContext(ctx)
13018	req.ApplyOptions(opts...)
13019	return out, req.Send()
13020}
13021
13022const opRegisterContainerImage = "RegisterContainerImage"
13023
13024// RegisterContainerImageRequest generates a "aws/request.Request" representing the
13025// client's request for the RegisterContainerImage operation. The "output" return
13026// value will be populated with the request's response once the request completes
13027// successfully.
13028//
13029// Use "Send" method on the returned Request to send the API call to the service.
13030// the "output" return value is not valid until after Send returns without error.
13031//
13032// See RegisterContainerImage for more information on using the RegisterContainerImage
13033// API call, and error handling.
13034//
13035// This method is useful when you want to inject custom logic or configuration
13036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13037//
13038//
13039//    // Example sending a request using the RegisterContainerImageRequest method.
13040//    req, resp := client.RegisterContainerImageRequest(params)
13041//
13042//    err := req.Send()
13043//    if err == nil { // resp is now filled
13044//        fmt.Println(resp)
13045//    }
13046//
13047// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
13048func (c *Lightsail) RegisterContainerImageRequest(input *RegisterContainerImageInput) (req *request.Request, output *RegisterContainerImageOutput) {
13049	op := &request.Operation{
13050		Name:       opRegisterContainerImage,
13051		HTTPMethod: "POST",
13052		HTTPPath:   "/",
13053	}
13054
13055	if input == nil {
13056		input = &RegisterContainerImageInput{}
13057	}
13058
13059	output = &RegisterContainerImageOutput{}
13060	req = c.newRequest(op, input, output)
13061	return
13062}
13063
13064// RegisterContainerImage API operation for Amazon Lightsail.
13065//
13066// Registers a container image to your Amazon Lightsail container service.
13067//
13068// This action is not required if you install and use the Lightsail Control
13069// (lightsailctl) plugin to push container images to your Lightsail container
13070// service. For more information, see Pushing and managing container images
13071// on your Amazon Lightsail container services (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-pushing-container-images)
13072// in the Lightsail Dev Guide.
13073//
13074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13075// with awserr.Error's Code and Message methods to get detailed information about
13076// the error.
13077//
13078// See the AWS API reference guide for Amazon Lightsail's
13079// API operation RegisterContainerImage for usage and error information.
13080//
13081// Returned Error Types:
13082//   * ServiceException
13083//   A general service exception.
13084//
13085//   * InvalidInputException
13086//   Lightsail throws this exception when user input does not conform to the validation
13087//   rules of an input field.
13088//
13089//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13090//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13091//   view, or edit these resources.
13092//
13093//   * NotFoundException
13094//   Lightsail throws this exception when it cannot find a resource.
13095//
13096//   * AccessDeniedException
13097//   Lightsail throws this exception when the user cannot be authenticated or
13098//   uses invalid credentials to access a resource.
13099//
13100//   * UnauthenticatedException
13101//   Lightsail throws this exception when the user has not been authenticated.
13102//
13103// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RegisterContainerImage
13104func (c *Lightsail) RegisterContainerImage(input *RegisterContainerImageInput) (*RegisterContainerImageOutput, error) {
13105	req, out := c.RegisterContainerImageRequest(input)
13106	return out, req.Send()
13107}
13108
13109// RegisterContainerImageWithContext is the same as RegisterContainerImage with the addition of
13110// the ability to pass a context and additional request options.
13111//
13112// See RegisterContainerImage for details on how to use this API operation.
13113//
13114// The context must be non-nil and will be used for request cancellation. If
13115// the context is nil a panic will occur. In the future the SDK may create
13116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13117// for more information on using Contexts.
13118func (c *Lightsail) RegisterContainerImageWithContext(ctx aws.Context, input *RegisterContainerImageInput, opts ...request.Option) (*RegisterContainerImageOutput, error) {
13119	req, out := c.RegisterContainerImageRequest(input)
13120	req.SetContext(ctx)
13121	req.ApplyOptions(opts...)
13122	return out, req.Send()
13123}
13124
13125const opReleaseStaticIp = "ReleaseStaticIp"
13126
13127// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
13128// client's request for the ReleaseStaticIp operation. The "output" return
13129// value will be populated with the request's response once the request completes
13130// successfully.
13131//
13132// Use "Send" method on the returned Request to send the API call to the service.
13133// the "output" return value is not valid until after Send returns without error.
13134//
13135// See ReleaseStaticIp for more information on using the ReleaseStaticIp
13136// API call, and error handling.
13137//
13138// This method is useful when you want to inject custom logic or configuration
13139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13140//
13141//
13142//    // Example sending a request using the ReleaseStaticIpRequest method.
13143//    req, resp := client.ReleaseStaticIpRequest(params)
13144//
13145//    err := req.Send()
13146//    if err == nil { // resp is now filled
13147//        fmt.Println(resp)
13148//    }
13149//
13150// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
13151func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
13152	op := &request.Operation{
13153		Name:       opReleaseStaticIp,
13154		HTTPMethod: "POST",
13155		HTTPPath:   "/",
13156	}
13157
13158	if input == nil {
13159		input = &ReleaseStaticIpInput{}
13160	}
13161
13162	output = &ReleaseStaticIpOutput{}
13163	req = c.newRequest(op, input, output)
13164	return
13165}
13166
13167// ReleaseStaticIp API operation for Amazon Lightsail.
13168//
13169// Deletes a specific static IP from your account.
13170//
13171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13172// with awserr.Error's Code and Message methods to get detailed information about
13173// the error.
13174//
13175// See the AWS API reference guide for Amazon Lightsail's
13176// API operation ReleaseStaticIp for usage and error information.
13177//
13178// Returned Error Types:
13179//   * ServiceException
13180//   A general service exception.
13181//
13182//   * InvalidInputException
13183//   Lightsail throws this exception when user input does not conform to the validation
13184//   rules of an input field.
13185//
13186//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13187//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13188//   view, or edit these resources.
13189//
13190//   * NotFoundException
13191//   Lightsail throws this exception when it cannot find a resource.
13192//
13193//   * OperationFailureException
13194//   Lightsail throws this exception when an operation fails to execute.
13195//
13196//   * AccessDeniedException
13197//   Lightsail throws this exception when the user cannot be authenticated or
13198//   uses invalid credentials to access a resource.
13199//
13200//   * AccountSetupInProgressException
13201//   Lightsail throws this exception when an account is still in the setup in
13202//   progress state.
13203//
13204//   * UnauthenticatedException
13205//   Lightsail throws this exception when the user has not been authenticated.
13206//
13207// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
13208func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
13209	req, out := c.ReleaseStaticIpRequest(input)
13210	return out, req.Send()
13211}
13212
13213// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
13214// the ability to pass a context and additional request options.
13215//
13216// See ReleaseStaticIp for details on how to use this API operation.
13217//
13218// The context must be non-nil and will be used for request cancellation. If
13219// the context is nil a panic will occur. In the future the SDK may create
13220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13221// for more information on using Contexts.
13222func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
13223	req, out := c.ReleaseStaticIpRequest(input)
13224	req.SetContext(ctx)
13225	req.ApplyOptions(opts...)
13226	return out, req.Send()
13227}
13228
13229const opResetDistributionCache = "ResetDistributionCache"
13230
13231// ResetDistributionCacheRequest generates a "aws/request.Request" representing the
13232// client's request for the ResetDistributionCache operation. The "output" return
13233// value will be populated with the request's response once the request completes
13234// successfully.
13235//
13236// Use "Send" method on the returned Request to send the API call to the service.
13237// the "output" return value is not valid until after Send returns without error.
13238//
13239// See ResetDistributionCache for more information on using the ResetDistributionCache
13240// API call, and error handling.
13241//
13242// This method is useful when you want to inject custom logic or configuration
13243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13244//
13245//
13246//    // Example sending a request using the ResetDistributionCacheRequest method.
13247//    req, resp := client.ResetDistributionCacheRequest(params)
13248//
13249//    err := req.Send()
13250//    if err == nil { // resp is now filled
13251//        fmt.Println(resp)
13252//    }
13253//
13254// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
13255func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) {
13256	op := &request.Operation{
13257		Name:       opResetDistributionCache,
13258		HTTPMethod: "POST",
13259		HTTPPath:   "/",
13260	}
13261
13262	if input == nil {
13263		input = &ResetDistributionCacheInput{}
13264	}
13265
13266	output = &ResetDistributionCacheOutput{}
13267	req = c.newRequest(op, input, output)
13268	return
13269}
13270
13271// ResetDistributionCache API operation for Amazon Lightsail.
13272//
13273// Deletes currently cached content from your Amazon Lightsail content delivery
13274// network (CDN) distribution.
13275//
13276// After resetting the cache, the next time a content request is made, your
13277// distribution pulls, serves, and caches it from the origin.
13278//
13279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13280// with awserr.Error's Code and Message methods to get detailed information about
13281// the error.
13282//
13283// See the AWS API reference guide for Amazon Lightsail's
13284// API operation ResetDistributionCache for usage and error information.
13285//
13286// Returned Error Types:
13287//   * ServiceException
13288//   A general service exception.
13289//
13290//   * InvalidInputException
13291//   Lightsail throws this exception when user input does not conform to the validation
13292//   rules of an input field.
13293//
13294//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13295//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13296//   view, or edit these resources.
13297//
13298//   * NotFoundException
13299//   Lightsail throws this exception when it cannot find a resource.
13300//
13301//   * OperationFailureException
13302//   Lightsail throws this exception when an operation fails to execute.
13303//
13304//   * AccessDeniedException
13305//   Lightsail throws this exception when the user cannot be authenticated or
13306//   uses invalid credentials to access a resource.
13307//
13308//   * UnauthenticatedException
13309//   Lightsail throws this exception when the user has not been authenticated.
13310//
13311// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
13312func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) {
13313	req, out := c.ResetDistributionCacheRequest(input)
13314	return out, req.Send()
13315}
13316
13317// ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of
13318// the ability to pass a context and additional request options.
13319//
13320// See ResetDistributionCache for details on how to use this API operation.
13321//
13322// The context must be non-nil and will be used for request cancellation. If
13323// the context is nil a panic will occur. In the future the SDK may create
13324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13325// for more information on using Contexts.
13326func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) {
13327	req, out := c.ResetDistributionCacheRequest(input)
13328	req.SetContext(ctx)
13329	req.ApplyOptions(opts...)
13330	return out, req.Send()
13331}
13332
13333const opSendContactMethodVerification = "SendContactMethodVerification"
13334
13335// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the
13336// client's request for the SendContactMethodVerification operation. The "output" return
13337// value will be populated with the request's response once the request completes
13338// successfully.
13339//
13340// Use "Send" method on the returned Request to send the API call to the service.
13341// the "output" return value is not valid until after Send returns without error.
13342//
13343// See SendContactMethodVerification for more information on using the SendContactMethodVerification
13344// API call, and error handling.
13345//
13346// This method is useful when you want to inject custom logic or configuration
13347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13348//
13349//
13350//    // Example sending a request using the SendContactMethodVerificationRequest method.
13351//    req, resp := client.SendContactMethodVerificationRequest(params)
13352//
13353//    err := req.Send()
13354//    if err == nil { // resp is now filled
13355//        fmt.Println(resp)
13356//    }
13357//
13358// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
13359func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) {
13360	op := &request.Operation{
13361		Name:       opSendContactMethodVerification,
13362		HTTPMethod: "POST",
13363		HTTPPath:   "/",
13364	}
13365
13366	if input == nil {
13367		input = &SendContactMethodVerificationInput{}
13368	}
13369
13370	output = &SendContactMethodVerificationOutput{}
13371	req = c.newRequest(op, input, output)
13372	return
13373}
13374
13375// SendContactMethodVerification API operation for Amazon Lightsail.
13376//
13377// Sends a verification request to an email contact method to ensure it's owned
13378// by the requester. SMS contact methods don't need to be verified.
13379//
13380// A contact method is used to send you notifications about your Amazon Lightsail
13381// resources. You can add one email address and one mobile phone number contact
13382// method in each AWS Region. However, SMS text messaging is not supported in
13383// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
13384// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
13385//
13386// A verification request is sent to the contact method when you initially create
13387// it. Use this action to send another verification request if a previous verification
13388// request was deleted, or has expired.
13389//
13390// Notifications are not sent to an email contact method until after it is verified,
13391// and confirmed as valid.
13392//
13393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13394// with awserr.Error's Code and Message methods to get detailed information about
13395// the error.
13396//
13397// See the AWS API reference guide for Amazon Lightsail's
13398// API operation SendContactMethodVerification for usage and error information.
13399//
13400// Returned Error Types:
13401//   * ServiceException
13402//   A general service exception.
13403//
13404//   * InvalidInputException
13405//   Lightsail throws this exception when user input does not conform to the validation
13406//   rules of an input field.
13407//
13408//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13409//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13410//   view, or edit these resources.
13411//
13412//   * OperationFailureException
13413//   Lightsail throws this exception when an operation fails to execute.
13414//
13415//   * UnauthenticatedException
13416//   Lightsail throws this exception when the user has not been authenticated.
13417//
13418//   * AccessDeniedException
13419//   Lightsail throws this exception when the user cannot be authenticated or
13420//   uses invalid credentials to access a resource.
13421//
13422//   * NotFoundException
13423//   Lightsail throws this exception when it cannot find a resource.
13424//
13425// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
13426func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) {
13427	req, out := c.SendContactMethodVerificationRequest(input)
13428	return out, req.Send()
13429}
13430
13431// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of
13432// the ability to pass a context and additional request options.
13433//
13434// See SendContactMethodVerification for details on how to use this API operation.
13435//
13436// The context must be non-nil and will be used for request cancellation. If
13437// the context is nil a panic will occur. In the future the SDK may create
13438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13439// for more information on using Contexts.
13440func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) {
13441	req, out := c.SendContactMethodVerificationRequest(input)
13442	req.SetContext(ctx)
13443	req.ApplyOptions(opts...)
13444	return out, req.Send()
13445}
13446
13447const opSetIpAddressType = "SetIpAddressType"
13448
13449// SetIpAddressTypeRequest generates a "aws/request.Request" representing the
13450// client's request for the SetIpAddressType operation. The "output" return
13451// value will be populated with the request's response once the request completes
13452// successfully.
13453//
13454// Use "Send" method on the returned Request to send the API call to the service.
13455// the "output" return value is not valid until after Send returns without error.
13456//
13457// See SetIpAddressType for more information on using the SetIpAddressType
13458// API call, and error handling.
13459//
13460// This method is useful when you want to inject custom logic or configuration
13461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13462//
13463//
13464//    // Example sending a request using the SetIpAddressTypeRequest method.
13465//    req, resp := client.SetIpAddressTypeRequest(params)
13466//
13467//    err := req.Send()
13468//    if err == nil { // resp is now filled
13469//        fmt.Println(resp)
13470//    }
13471//
13472// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
13473func (c *Lightsail) SetIpAddressTypeRequest(input *SetIpAddressTypeInput) (req *request.Request, output *SetIpAddressTypeOutput) {
13474	op := &request.Operation{
13475		Name:       opSetIpAddressType,
13476		HTTPMethod: "POST",
13477		HTTPPath:   "/",
13478	}
13479
13480	if input == nil {
13481		input = &SetIpAddressTypeInput{}
13482	}
13483
13484	output = &SetIpAddressTypeOutput{}
13485	req = c.newRequest(op, input, output)
13486	return
13487}
13488
13489// SetIpAddressType API operation for Amazon Lightsail.
13490//
13491// Sets the IP address type for an Amazon Lightsail resource.
13492//
13493// Use this action to enable dual-stack for a resource, which enables IPv4 and
13494// IPv6 for the specified resource. Alternately, you can use this action to
13495// disable dual-stack, and enable IPv4 only.
13496//
13497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13498// with awserr.Error's Code and Message methods to get detailed information about
13499// the error.
13500//
13501// See the AWS API reference guide for Amazon Lightsail's
13502// API operation SetIpAddressType for usage and error information.
13503//
13504// Returned Error Types:
13505//   * ServiceException
13506//   A general service exception.
13507//
13508//   * InvalidInputException
13509//   Lightsail throws this exception when user input does not conform to the validation
13510//   rules of an input field.
13511//
13512//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13513//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13514//   view, or edit these resources.
13515//
13516//   * NotFoundException
13517//   Lightsail throws this exception when it cannot find a resource.
13518//
13519//   * OperationFailureException
13520//   Lightsail throws this exception when an operation fails to execute.
13521//
13522//   * AccessDeniedException
13523//   Lightsail throws this exception when the user cannot be authenticated or
13524//   uses invalid credentials to access a resource.
13525//
13526//   * AccountSetupInProgressException
13527//   Lightsail throws this exception when an account is still in the setup in
13528//   progress state.
13529//
13530//   * UnauthenticatedException
13531//   Lightsail throws this exception when the user has not been authenticated.
13532//
13533// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressType
13534func (c *Lightsail) SetIpAddressType(input *SetIpAddressTypeInput) (*SetIpAddressTypeOutput, error) {
13535	req, out := c.SetIpAddressTypeRequest(input)
13536	return out, req.Send()
13537}
13538
13539// SetIpAddressTypeWithContext is the same as SetIpAddressType with the addition of
13540// the ability to pass a context and additional request options.
13541//
13542// See SetIpAddressType for details on how to use this API operation.
13543//
13544// The context must be non-nil and will be used for request cancellation. If
13545// the context is nil a panic will occur. In the future the SDK may create
13546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13547// for more information on using Contexts.
13548func (c *Lightsail) SetIpAddressTypeWithContext(ctx aws.Context, input *SetIpAddressTypeInput, opts ...request.Option) (*SetIpAddressTypeOutput, error) {
13549	req, out := c.SetIpAddressTypeRequest(input)
13550	req.SetContext(ctx)
13551	req.ApplyOptions(opts...)
13552	return out, req.Send()
13553}
13554
13555const opStartInstance = "StartInstance"
13556
13557// StartInstanceRequest generates a "aws/request.Request" representing the
13558// client's request for the StartInstance operation. The "output" return
13559// value will be populated with the request's response once the request completes
13560// successfully.
13561//
13562// Use "Send" method on the returned Request to send the API call to the service.
13563// the "output" return value is not valid until after Send returns without error.
13564//
13565// See StartInstance for more information on using the StartInstance
13566// API call, and error handling.
13567//
13568// This method is useful when you want to inject custom logic or configuration
13569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13570//
13571//
13572//    // Example sending a request using the StartInstanceRequest method.
13573//    req, resp := client.StartInstanceRequest(params)
13574//
13575//    err := req.Send()
13576//    if err == nil { // resp is now filled
13577//        fmt.Println(resp)
13578//    }
13579//
13580// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
13581func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
13582	op := &request.Operation{
13583		Name:       opStartInstance,
13584		HTTPMethod: "POST",
13585		HTTPPath:   "/",
13586	}
13587
13588	if input == nil {
13589		input = &StartInstanceInput{}
13590	}
13591
13592	output = &StartInstanceOutput{}
13593	req = c.newRequest(op, input, output)
13594	return
13595}
13596
13597// StartInstance API operation for Amazon Lightsail.
13598//
13599// Starts a specific Amazon Lightsail instance from a stopped state. To restart
13600// an instance, use the reboot instance operation.
13601//
13602// When you start a stopped instance, Lightsail assigns a new public IP address
13603// to the instance. To use the same IP address after stopping and starting an
13604// instance, create a static IP address and attach it to the instance. For more
13605// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
13606//
13607// The start instance operation supports tag-based access control via resource
13608// tags applied to the resource identified by instance name. For more information,
13609// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13610//
13611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13612// with awserr.Error's Code and Message methods to get detailed information about
13613// the error.
13614//
13615// See the AWS API reference guide for Amazon Lightsail's
13616// API operation StartInstance for usage and error information.
13617//
13618// Returned Error Types:
13619//   * ServiceException
13620//   A general service exception.
13621//
13622//   * InvalidInputException
13623//   Lightsail throws this exception when user input does not conform to the validation
13624//   rules of an input field.
13625//
13626//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13627//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13628//   view, or edit these resources.
13629//
13630//   * NotFoundException
13631//   Lightsail throws this exception when it cannot find a resource.
13632//
13633//   * OperationFailureException
13634//   Lightsail throws this exception when an operation fails to execute.
13635//
13636//   * AccessDeniedException
13637//   Lightsail throws this exception when the user cannot be authenticated or
13638//   uses invalid credentials to access a resource.
13639//
13640//   * AccountSetupInProgressException
13641//   Lightsail throws this exception when an account is still in the setup in
13642//   progress state.
13643//
13644//   * UnauthenticatedException
13645//   Lightsail throws this exception when the user has not been authenticated.
13646//
13647// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
13648func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
13649	req, out := c.StartInstanceRequest(input)
13650	return out, req.Send()
13651}
13652
13653// StartInstanceWithContext is the same as StartInstance with the addition of
13654// the ability to pass a context and additional request options.
13655//
13656// See StartInstance for details on how to use this API operation.
13657//
13658// The context must be non-nil and will be used for request cancellation. If
13659// the context is nil a panic will occur. In the future the SDK may create
13660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13661// for more information on using Contexts.
13662func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
13663	req, out := c.StartInstanceRequest(input)
13664	req.SetContext(ctx)
13665	req.ApplyOptions(opts...)
13666	return out, req.Send()
13667}
13668
13669const opStartRelationalDatabase = "StartRelationalDatabase"
13670
13671// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
13672// client's request for the StartRelationalDatabase operation. The "output" return
13673// value will be populated with the request's response once the request completes
13674// successfully.
13675//
13676// Use "Send" method on the returned Request to send the API call to the service.
13677// the "output" return value is not valid until after Send returns without error.
13678//
13679// See StartRelationalDatabase for more information on using the StartRelationalDatabase
13680// API call, and error handling.
13681//
13682// This method is useful when you want to inject custom logic or configuration
13683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13684//
13685//
13686//    // Example sending a request using the StartRelationalDatabaseRequest method.
13687//    req, resp := client.StartRelationalDatabaseRequest(params)
13688//
13689//    err := req.Send()
13690//    if err == nil { // resp is now filled
13691//        fmt.Println(resp)
13692//    }
13693//
13694// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
13695func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
13696	op := &request.Operation{
13697		Name:       opStartRelationalDatabase,
13698		HTTPMethod: "POST",
13699		HTTPPath:   "/",
13700	}
13701
13702	if input == nil {
13703		input = &StartRelationalDatabaseInput{}
13704	}
13705
13706	output = &StartRelationalDatabaseOutput{}
13707	req = c.newRequest(op, input, output)
13708	return
13709}
13710
13711// StartRelationalDatabase API operation for Amazon Lightsail.
13712//
13713// Starts a specific database from a stopped state in Amazon Lightsail. To restart
13714// a database, use the reboot relational database operation.
13715//
13716// The start relational database operation supports tag-based access control
13717// via resource tags applied to the resource identified by relationalDatabaseName.
13718// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13719//
13720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13721// with awserr.Error's Code and Message methods to get detailed information about
13722// the error.
13723//
13724// See the AWS API reference guide for Amazon Lightsail's
13725// API operation StartRelationalDatabase for usage and error information.
13726//
13727// Returned Error Types:
13728//   * ServiceException
13729//   A general service exception.
13730//
13731//   * InvalidInputException
13732//   Lightsail throws this exception when user input does not conform to the validation
13733//   rules of an input field.
13734//
13735//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13736//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13737//   view, or edit these resources.
13738//
13739//   * NotFoundException
13740//   Lightsail throws this exception when it cannot find a resource.
13741//
13742//   * OperationFailureException
13743//   Lightsail throws this exception when an operation fails to execute.
13744//
13745//   * AccessDeniedException
13746//   Lightsail throws this exception when the user cannot be authenticated or
13747//   uses invalid credentials to access a resource.
13748//
13749//   * AccountSetupInProgressException
13750//   Lightsail throws this exception when an account is still in the setup in
13751//   progress state.
13752//
13753//   * UnauthenticatedException
13754//   Lightsail throws this exception when the user has not been authenticated.
13755//
13756// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
13757func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
13758	req, out := c.StartRelationalDatabaseRequest(input)
13759	return out, req.Send()
13760}
13761
13762// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
13763// the ability to pass a context and additional request options.
13764//
13765// See StartRelationalDatabase for details on how to use this API operation.
13766//
13767// The context must be non-nil and will be used for request cancellation. If
13768// the context is nil a panic will occur. In the future the SDK may create
13769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13770// for more information on using Contexts.
13771func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
13772	req, out := c.StartRelationalDatabaseRequest(input)
13773	req.SetContext(ctx)
13774	req.ApplyOptions(opts...)
13775	return out, req.Send()
13776}
13777
13778const opStopInstance = "StopInstance"
13779
13780// StopInstanceRequest generates a "aws/request.Request" representing the
13781// client's request for the StopInstance operation. The "output" return
13782// value will be populated with the request's response once the request completes
13783// successfully.
13784//
13785// Use "Send" method on the returned Request to send the API call to the service.
13786// the "output" return value is not valid until after Send returns without error.
13787//
13788// See StopInstance for more information on using the StopInstance
13789// API call, and error handling.
13790//
13791// This method is useful when you want to inject custom logic or configuration
13792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13793//
13794//
13795//    // Example sending a request using the StopInstanceRequest method.
13796//    req, resp := client.StopInstanceRequest(params)
13797//
13798//    err := req.Send()
13799//    if err == nil { // resp is now filled
13800//        fmt.Println(resp)
13801//    }
13802//
13803// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
13804func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
13805	op := &request.Operation{
13806		Name:       opStopInstance,
13807		HTTPMethod: "POST",
13808		HTTPPath:   "/",
13809	}
13810
13811	if input == nil {
13812		input = &StopInstanceInput{}
13813	}
13814
13815	output = &StopInstanceOutput{}
13816	req = c.newRequest(op, input, output)
13817	return
13818}
13819
13820// StopInstance API operation for Amazon Lightsail.
13821//
13822// Stops a specific Amazon Lightsail instance that is currently running.
13823//
13824// When you start a stopped instance, Lightsail assigns a new public IP address
13825// to the instance. To use the same IP address after stopping and starting an
13826// instance, create a static IP address and attach it to the instance. For more
13827// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
13828//
13829// The stop instance operation supports tag-based access control via resource
13830// tags applied to the resource identified by instance name. For more information,
13831// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13832//
13833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13834// with awserr.Error's Code and Message methods to get detailed information about
13835// the error.
13836//
13837// See the AWS API reference guide for Amazon Lightsail's
13838// API operation StopInstance for usage and error information.
13839//
13840// Returned Error Types:
13841//   * ServiceException
13842//   A general service exception.
13843//
13844//   * InvalidInputException
13845//   Lightsail throws this exception when user input does not conform to the validation
13846//   rules of an input field.
13847//
13848//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13849//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13850//   view, or edit these resources.
13851//
13852//   * NotFoundException
13853//   Lightsail throws this exception when it cannot find a resource.
13854//
13855//   * OperationFailureException
13856//   Lightsail throws this exception when an operation fails to execute.
13857//
13858//   * AccessDeniedException
13859//   Lightsail throws this exception when the user cannot be authenticated or
13860//   uses invalid credentials to access a resource.
13861//
13862//   * AccountSetupInProgressException
13863//   Lightsail throws this exception when an account is still in the setup in
13864//   progress state.
13865//
13866//   * UnauthenticatedException
13867//   Lightsail throws this exception when the user has not been authenticated.
13868//
13869// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
13870func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
13871	req, out := c.StopInstanceRequest(input)
13872	return out, req.Send()
13873}
13874
13875// StopInstanceWithContext is the same as StopInstance with the addition of
13876// the ability to pass a context and additional request options.
13877//
13878// See StopInstance for details on how to use this API operation.
13879//
13880// The context must be non-nil and will be used for request cancellation. If
13881// the context is nil a panic will occur. In the future the SDK may create
13882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13883// for more information on using Contexts.
13884func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
13885	req, out := c.StopInstanceRequest(input)
13886	req.SetContext(ctx)
13887	req.ApplyOptions(opts...)
13888	return out, req.Send()
13889}
13890
13891const opStopRelationalDatabase = "StopRelationalDatabase"
13892
13893// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
13894// client's request for the StopRelationalDatabase operation. The "output" return
13895// value will be populated with the request's response once the request completes
13896// successfully.
13897//
13898// Use "Send" method on the returned Request to send the API call to the service.
13899// the "output" return value is not valid until after Send returns without error.
13900//
13901// See StopRelationalDatabase for more information on using the StopRelationalDatabase
13902// API call, and error handling.
13903//
13904// This method is useful when you want to inject custom logic or configuration
13905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13906//
13907//
13908//    // Example sending a request using the StopRelationalDatabaseRequest method.
13909//    req, resp := client.StopRelationalDatabaseRequest(params)
13910//
13911//    err := req.Send()
13912//    if err == nil { // resp is now filled
13913//        fmt.Println(resp)
13914//    }
13915//
13916// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
13917func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
13918	op := &request.Operation{
13919		Name:       opStopRelationalDatabase,
13920		HTTPMethod: "POST",
13921		HTTPPath:   "/",
13922	}
13923
13924	if input == nil {
13925		input = &StopRelationalDatabaseInput{}
13926	}
13927
13928	output = &StopRelationalDatabaseOutput{}
13929	req = c.newRequest(op, input, output)
13930	return
13931}
13932
13933// StopRelationalDatabase API operation for Amazon Lightsail.
13934//
13935// Stops a specific database that is currently running in Amazon Lightsail.
13936//
13937// The stop relational database operation supports tag-based access control
13938// via resource tags applied to the resource identified by relationalDatabaseName.
13939// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13940//
13941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13942// with awserr.Error's Code and Message methods to get detailed information about
13943// the error.
13944//
13945// See the AWS API reference guide for Amazon Lightsail's
13946// API operation StopRelationalDatabase for usage and error information.
13947//
13948// Returned Error Types:
13949//   * ServiceException
13950//   A general service exception.
13951//
13952//   * InvalidInputException
13953//   Lightsail throws this exception when user input does not conform to the validation
13954//   rules of an input field.
13955//
13956//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
13957//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
13958//   view, or edit these resources.
13959//
13960//   * NotFoundException
13961//   Lightsail throws this exception when it cannot find a resource.
13962//
13963//   * OperationFailureException
13964//   Lightsail throws this exception when an operation fails to execute.
13965//
13966//   * AccessDeniedException
13967//   Lightsail throws this exception when the user cannot be authenticated or
13968//   uses invalid credentials to access a resource.
13969//
13970//   * AccountSetupInProgressException
13971//   Lightsail throws this exception when an account is still in the setup in
13972//   progress state.
13973//
13974//   * UnauthenticatedException
13975//   Lightsail throws this exception when the user has not been authenticated.
13976//
13977// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
13978func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
13979	req, out := c.StopRelationalDatabaseRequest(input)
13980	return out, req.Send()
13981}
13982
13983// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
13984// the ability to pass a context and additional request options.
13985//
13986// See StopRelationalDatabase for details on how to use this API operation.
13987//
13988// The context must be non-nil and will be used for request cancellation. If
13989// the context is nil a panic will occur. In the future the SDK may create
13990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13991// for more information on using Contexts.
13992func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
13993	req, out := c.StopRelationalDatabaseRequest(input)
13994	req.SetContext(ctx)
13995	req.ApplyOptions(opts...)
13996	return out, req.Send()
13997}
13998
13999const opTagResource = "TagResource"
14000
14001// TagResourceRequest generates a "aws/request.Request" representing the
14002// client's request for the TagResource operation. The "output" return
14003// value will be populated with the request's response once the request completes
14004// successfully.
14005//
14006// Use "Send" method on the returned Request to send the API call to the service.
14007// the "output" return value is not valid until after Send returns without error.
14008//
14009// See TagResource for more information on using the TagResource
14010// API call, and error handling.
14011//
14012// This method is useful when you want to inject custom logic or configuration
14013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14014//
14015//
14016//    // Example sending a request using the TagResourceRequest method.
14017//    req, resp := client.TagResourceRequest(params)
14018//
14019//    err := req.Send()
14020//    if err == nil { // resp is now filled
14021//        fmt.Println(resp)
14022//    }
14023//
14024// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
14025func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
14026	op := &request.Operation{
14027		Name:       opTagResource,
14028		HTTPMethod: "POST",
14029		HTTPPath:   "/",
14030	}
14031
14032	if input == nil {
14033		input = &TagResourceInput{}
14034	}
14035
14036	output = &TagResourceOutput{}
14037	req = c.newRequest(op, input, output)
14038	return
14039}
14040
14041// TagResource API operation for Amazon Lightsail.
14042//
14043// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
14044// can have a maximum of 50 tags. Each tag consists of a key and an optional
14045// value. Tag keys must be unique per resource. For more information about tags,
14046// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
14047//
14048// The tag resource operation supports tag-based access control via request
14049// tags and resource tags applied to the resource identified by resource name.
14050// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
14051//
14052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14053// with awserr.Error's Code and Message methods to get detailed information about
14054// the error.
14055//
14056// See the AWS API reference guide for Amazon Lightsail's
14057// API operation TagResource for usage and error information.
14058//
14059// Returned Error Types:
14060//   * ServiceException
14061//   A general service exception.
14062//
14063//   * InvalidInputException
14064//   Lightsail throws this exception when user input does not conform to the validation
14065//   rules of an input field.
14066//
14067//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14068//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14069//   view, or edit these resources.
14070//
14071//   * NotFoundException
14072//   Lightsail throws this exception when it cannot find a resource.
14073//
14074//   * OperationFailureException
14075//   Lightsail throws this exception when an operation fails to execute.
14076//
14077//   * AccessDeniedException
14078//   Lightsail throws this exception when the user cannot be authenticated or
14079//   uses invalid credentials to access a resource.
14080//
14081//   * AccountSetupInProgressException
14082//   Lightsail throws this exception when an account is still in the setup in
14083//   progress state.
14084//
14085//   * UnauthenticatedException
14086//   Lightsail throws this exception when the user has not been authenticated.
14087//
14088// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
14089func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
14090	req, out := c.TagResourceRequest(input)
14091	return out, req.Send()
14092}
14093
14094// TagResourceWithContext is the same as TagResource with the addition of
14095// the ability to pass a context and additional request options.
14096//
14097// See TagResource for details on how to use this API operation.
14098//
14099// The context must be non-nil and will be used for request cancellation. If
14100// the context is nil a panic will occur. In the future the SDK may create
14101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14102// for more information on using Contexts.
14103func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
14104	req, out := c.TagResourceRequest(input)
14105	req.SetContext(ctx)
14106	req.ApplyOptions(opts...)
14107	return out, req.Send()
14108}
14109
14110const opTestAlarm = "TestAlarm"
14111
14112// TestAlarmRequest generates a "aws/request.Request" representing the
14113// client's request for the TestAlarm operation. The "output" return
14114// value will be populated with the request's response once the request completes
14115// successfully.
14116//
14117// Use "Send" method on the returned Request to send the API call to the service.
14118// the "output" return value is not valid until after Send returns without error.
14119//
14120// See TestAlarm for more information on using the TestAlarm
14121// API call, and error handling.
14122//
14123// This method is useful when you want to inject custom logic or configuration
14124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14125//
14126//
14127//    // Example sending a request using the TestAlarmRequest method.
14128//    req, resp := client.TestAlarmRequest(params)
14129//
14130//    err := req.Send()
14131//    if err == nil { // resp is now filled
14132//        fmt.Println(resp)
14133//    }
14134//
14135// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
14136func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) {
14137	op := &request.Operation{
14138		Name:       opTestAlarm,
14139		HTTPMethod: "POST",
14140		HTTPPath:   "/",
14141	}
14142
14143	if input == nil {
14144		input = &TestAlarmInput{}
14145	}
14146
14147	output = &TestAlarmOutput{}
14148	req = c.newRequest(op, input, output)
14149	return
14150}
14151
14152// TestAlarm API operation for Amazon Lightsail.
14153//
14154// Tests an alarm by displaying a banner on the Amazon Lightsail console. If
14155// a notification trigger is configured for the specified alarm, the test also
14156// sends a notification to the notification protocol (Email and/or SMS) configured
14157// for the alarm.
14158//
14159// An alarm is used to monitor a single metric for one of your resources. When
14160// a metric condition is met, the alarm can notify you by email, SMS text message,
14161// and a banner displayed on the Amazon Lightsail console. For more information,
14162// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
14163//
14164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14165// with awserr.Error's Code and Message methods to get detailed information about
14166// the error.
14167//
14168// See the AWS API reference guide for Amazon Lightsail's
14169// API operation TestAlarm for usage and error information.
14170//
14171// Returned Error Types:
14172//   * ServiceException
14173//   A general service exception.
14174//
14175//   * InvalidInputException
14176//   Lightsail throws this exception when user input does not conform to the validation
14177//   rules of an input field.
14178//
14179//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14180//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14181//   view, or edit these resources.
14182//
14183//   * OperationFailureException
14184//   Lightsail throws this exception when an operation fails to execute.
14185//
14186//   * UnauthenticatedException
14187//   Lightsail throws this exception when the user has not been authenticated.
14188//
14189//   * AccessDeniedException
14190//   Lightsail throws this exception when the user cannot be authenticated or
14191//   uses invalid credentials to access a resource.
14192//
14193//   * NotFoundException
14194//   Lightsail throws this exception when it cannot find a resource.
14195//
14196// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
14197func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) {
14198	req, out := c.TestAlarmRequest(input)
14199	return out, req.Send()
14200}
14201
14202// TestAlarmWithContext is the same as TestAlarm with the addition of
14203// the ability to pass a context and additional request options.
14204//
14205// See TestAlarm for details on how to use this API operation.
14206//
14207// The context must be non-nil and will be used for request cancellation. If
14208// the context is nil a panic will occur. In the future the SDK may create
14209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14210// for more information on using Contexts.
14211func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) {
14212	req, out := c.TestAlarmRequest(input)
14213	req.SetContext(ctx)
14214	req.ApplyOptions(opts...)
14215	return out, req.Send()
14216}
14217
14218const opUnpeerVpc = "UnpeerVpc"
14219
14220// UnpeerVpcRequest generates a "aws/request.Request" representing the
14221// client's request for the UnpeerVpc operation. The "output" return
14222// value will be populated with the request's response once the request completes
14223// successfully.
14224//
14225// Use "Send" method on the returned Request to send the API call to the service.
14226// the "output" return value is not valid until after Send returns without error.
14227//
14228// See UnpeerVpc for more information on using the UnpeerVpc
14229// API call, and error handling.
14230//
14231// This method is useful when you want to inject custom logic or configuration
14232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14233//
14234//
14235//    // Example sending a request using the UnpeerVpcRequest method.
14236//    req, resp := client.UnpeerVpcRequest(params)
14237//
14238//    err := req.Send()
14239//    if err == nil { // resp is now filled
14240//        fmt.Println(resp)
14241//    }
14242//
14243// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
14244func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
14245	op := &request.Operation{
14246		Name:       opUnpeerVpc,
14247		HTTPMethod: "POST",
14248		HTTPPath:   "/",
14249	}
14250
14251	if input == nil {
14252		input = &UnpeerVpcInput{}
14253	}
14254
14255	output = &UnpeerVpcOutput{}
14256	req = c.newRequest(op, input, output)
14257	return
14258}
14259
14260// UnpeerVpc API operation for Amazon Lightsail.
14261//
14262// Attempts to unpeer the Lightsail VPC from the user's default VPC.
14263//
14264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14265// with awserr.Error's Code and Message methods to get detailed information about
14266// the error.
14267//
14268// See the AWS API reference guide for Amazon Lightsail's
14269// API operation UnpeerVpc for usage and error information.
14270//
14271// Returned Error Types:
14272//   * ServiceException
14273//   A general service exception.
14274//
14275//   * InvalidInputException
14276//   Lightsail throws this exception when user input does not conform to the validation
14277//   rules of an input field.
14278//
14279//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14280//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14281//   view, or edit these resources.
14282//
14283//   * NotFoundException
14284//   Lightsail throws this exception when it cannot find a resource.
14285//
14286//   * OperationFailureException
14287//   Lightsail throws this exception when an operation fails to execute.
14288//
14289//   * AccessDeniedException
14290//   Lightsail throws this exception when the user cannot be authenticated or
14291//   uses invalid credentials to access a resource.
14292//
14293//   * AccountSetupInProgressException
14294//   Lightsail throws this exception when an account is still in the setup in
14295//   progress state.
14296//
14297//   * UnauthenticatedException
14298//   Lightsail throws this exception when the user has not been authenticated.
14299//
14300// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
14301func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
14302	req, out := c.UnpeerVpcRequest(input)
14303	return out, req.Send()
14304}
14305
14306// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
14307// the ability to pass a context and additional request options.
14308//
14309// See UnpeerVpc for details on how to use this API operation.
14310//
14311// The context must be non-nil and will be used for request cancellation. If
14312// the context is nil a panic will occur. In the future the SDK may create
14313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14314// for more information on using Contexts.
14315func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
14316	req, out := c.UnpeerVpcRequest(input)
14317	req.SetContext(ctx)
14318	req.ApplyOptions(opts...)
14319	return out, req.Send()
14320}
14321
14322const opUntagResource = "UntagResource"
14323
14324// UntagResourceRequest generates a "aws/request.Request" representing the
14325// client's request for the UntagResource operation. The "output" return
14326// value will be populated with the request's response once the request completes
14327// successfully.
14328//
14329// Use "Send" method on the returned Request to send the API call to the service.
14330// the "output" return value is not valid until after Send returns without error.
14331//
14332// See UntagResource for more information on using the UntagResource
14333// API call, and error handling.
14334//
14335// This method is useful when you want to inject custom logic or configuration
14336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14337//
14338//
14339//    // Example sending a request using the UntagResourceRequest method.
14340//    req, resp := client.UntagResourceRequest(params)
14341//
14342//    err := req.Send()
14343//    if err == nil { // resp is now filled
14344//        fmt.Println(resp)
14345//    }
14346//
14347// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
14348func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
14349	op := &request.Operation{
14350		Name:       opUntagResource,
14351		HTTPMethod: "POST",
14352		HTTPPath:   "/",
14353	}
14354
14355	if input == nil {
14356		input = &UntagResourceInput{}
14357	}
14358
14359	output = &UntagResourceOutput{}
14360	req = c.newRequest(op, input, output)
14361	return
14362}
14363
14364// UntagResource API operation for Amazon Lightsail.
14365//
14366// Deletes the specified set of tag keys and their values from the specified
14367// Amazon Lightsail resource.
14368//
14369// The untag resource operation supports tag-based access control via request
14370// tags and resource tags applied to the resource identified by resource name.
14371// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
14372//
14373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14374// with awserr.Error's Code and Message methods to get detailed information about
14375// the error.
14376//
14377// See the AWS API reference guide for Amazon Lightsail's
14378// API operation UntagResource for usage and error information.
14379//
14380// Returned Error Types:
14381//   * ServiceException
14382//   A general service exception.
14383//
14384//   * InvalidInputException
14385//   Lightsail throws this exception when user input does not conform to the validation
14386//   rules of an input field.
14387//
14388//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14389//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14390//   view, or edit these resources.
14391//
14392//   * NotFoundException
14393//   Lightsail throws this exception when it cannot find a resource.
14394//
14395//   * OperationFailureException
14396//   Lightsail throws this exception when an operation fails to execute.
14397//
14398//   * AccessDeniedException
14399//   Lightsail throws this exception when the user cannot be authenticated or
14400//   uses invalid credentials to access a resource.
14401//
14402//   * AccountSetupInProgressException
14403//   Lightsail throws this exception when an account is still in the setup in
14404//   progress state.
14405//
14406//   * UnauthenticatedException
14407//   Lightsail throws this exception when the user has not been authenticated.
14408//
14409// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
14410func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
14411	req, out := c.UntagResourceRequest(input)
14412	return out, req.Send()
14413}
14414
14415// UntagResourceWithContext is the same as UntagResource with the addition of
14416// the ability to pass a context and additional request options.
14417//
14418// See UntagResource for details on how to use this API operation.
14419//
14420// The context must be non-nil and will be used for request cancellation. If
14421// the context is nil a panic will occur. In the future the SDK may create
14422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14423// for more information on using Contexts.
14424func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
14425	req, out := c.UntagResourceRequest(input)
14426	req.SetContext(ctx)
14427	req.ApplyOptions(opts...)
14428	return out, req.Send()
14429}
14430
14431const opUpdateContainerService = "UpdateContainerService"
14432
14433// UpdateContainerServiceRequest generates a "aws/request.Request" representing the
14434// client's request for the UpdateContainerService operation. The "output" return
14435// value will be populated with the request's response once the request completes
14436// successfully.
14437//
14438// Use "Send" method on the returned Request to send the API call to the service.
14439// the "output" return value is not valid until after Send returns without error.
14440//
14441// See UpdateContainerService for more information on using the UpdateContainerService
14442// API call, and error handling.
14443//
14444// This method is useful when you want to inject custom logic or configuration
14445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14446//
14447//
14448//    // Example sending a request using the UpdateContainerServiceRequest method.
14449//    req, resp := client.UpdateContainerServiceRequest(params)
14450//
14451//    err := req.Send()
14452//    if err == nil { // resp is now filled
14453//        fmt.Println(resp)
14454//    }
14455//
14456// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
14457func (c *Lightsail) UpdateContainerServiceRequest(input *UpdateContainerServiceInput) (req *request.Request, output *UpdateContainerServiceOutput) {
14458	op := &request.Operation{
14459		Name:       opUpdateContainerService,
14460		HTTPMethod: "POST",
14461		HTTPPath:   "/",
14462	}
14463
14464	if input == nil {
14465		input = &UpdateContainerServiceInput{}
14466	}
14467
14468	output = &UpdateContainerServiceOutput{}
14469	req = c.newRequest(op, input, output)
14470	return
14471}
14472
14473// UpdateContainerService API operation for Amazon Lightsail.
14474//
14475// Updates the configuration of your Amazon Lightsail container service, such
14476// as its power, scale, and public domain names.
14477//
14478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14479// with awserr.Error's Code and Message methods to get detailed information about
14480// the error.
14481//
14482// See the AWS API reference guide for Amazon Lightsail's
14483// API operation UpdateContainerService for usage and error information.
14484//
14485// Returned Error Types:
14486//   * ServiceException
14487//   A general service exception.
14488//
14489//   * InvalidInputException
14490//   Lightsail throws this exception when user input does not conform to the validation
14491//   rules of an input field.
14492//
14493//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14494//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14495//   view, or edit these resources.
14496//
14497//   * NotFoundException
14498//   Lightsail throws this exception when it cannot find a resource.
14499//
14500//   * AccessDeniedException
14501//   Lightsail throws this exception when the user cannot be authenticated or
14502//   uses invalid credentials to access a resource.
14503//
14504//   * UnauthenticatedException
14505//   Lightsail throws this exception when the user has not been authenticated.
14506//
14507// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateContainerService
14508func (c *Lightsail) UpdateContainerService(input *UpdateContainerServiceInput) (*UpdateContainerServiceOutput, error) {
14509	req, out := c.UpdateContainerServiceRequest(input)
14510	return out, req.Send()
14511}
14512
14513// UpdateContainerServiceWithContext is the same as UpdateContainerService with the addition of
14514// the ability to pass a context and additional request options.
14515//
14516// See UpdateContainerService for details on how to use this API operation.
14517//
14518// The context must be non-nil and will be used for request cancellation. If
14519// the context is nil a panic will occur. In the future the SDK may create
14520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14521// for more information on using Contexts.
14522func (c *Lightsail) UpdateContainerServiceWithContext(ctx aws.Context, input *UpdateContainerServiceInput, opts ...request.Option) (*UpdateContainerServiceOutput, error) {
14523	req, out := c.UpdateContainerServiceRequest(input)
14524	req.SetContext(ctx)
14525	req.ApplyOptions(opts...)
14526	return out, req.Send()
14527}
14528
14529const opUpdateDistribution = "UpdateDistribution"
14530
14531// UpdateDistributionRequest generates a "aws/request.Request" representing the
14532// client's request for the UpdateDistribution operation. The "output" return
14533// value will be populated with the request's response once the request completes
14534// successfully.
14535//
14536// Use "Send" method on the returned Request to send the API call to the service.
14537// the "output" return value is not valid until after Send returns without error.
14538//
14539// See UpdateDistribution for more information on using the UpdateDistribution
14540// API call, and error handling.
14541//
14542// This method is useful when you want to inject custom logic or configuration
14543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14544//
14545//
14546//    // Example sending a request using the UpdateDistributionRequest method.
14547//    req, resp := client.UpdateDistributionRequest(params)
14548//
14549//    err := req.Send()
14550//    if err == nil { // resp is now filled
14551//        fmt.Println(resp)
14552//    }
14553//
14554// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
14555func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) {
14556	op := &request.Operation{
14557		Name:       opUpdateDistribution,
14558		HTTPMethod: "POST",
14559		HTTPPath:   "/",
14560	}
14561
14562	if input == nil {
14563		input = &UpdateDistributionInput{}
14564	}
14565
14566	output = &UpdateDistributionOutput{}
14567	req = c.newRequest(op, input, output)
14568	return
14569}
14570
14571// UpdateDistribution API operation for Amazon Lightsail.
14572//
14573// Updates an existing Amazon Lightsail content delivery network (CDN) distribution.
14574//
14575// Use this action to update the configuration of your existing distribution
14576//
14577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14578// with awserr.Error's Code and Message methods to get detailed information about
14579// the error.
14580//
14581// See the AWS API reference guide for Amazon Lightsail's
14582// API operation UpdateDistribution for usage and error information.
14583//
14584// Returned Error Types:
14585//   * ServiceException
14586//   A general service exception.
14587//
14588//   * InvalidInputException
14589//   Lightsail throws this exception when user input does not conform to the validation
14590//   rules of an input field.
14591//
14592//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14593//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14594//   view, or edit these resources.
14595//
14596//   * NotFoundException
14597//   Lightsail throws this exception when it cannot find a resource.
14598//
14599//   * OperationFailureException
14600//   Lightsail throws this exception when an operation fails to execute.
14601//
14602//   * AccessDeniedException
14603//   Lightsail throws this exception when the user cannot be authenticated or
14604//   uses invalid credentials to access a resource.
14605//
14606//   * UnauthenticatedException
14607//   Lightsail throws this exception when the user has not been authenticated.
14608//
14609// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
14610func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) {
14611	req, out := c.UpdateDistributionRequest(input)
14612	return out, req.Send()
14613}
14614
14615// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of
14616// the ability to pass a context and additional request options.
14617//
14618// See UpdateDistribution for details on how to use this API operation.
14619//
14620// The context must be non-nil and will be used for request cancellation. If
14621// the context is nil a panic will occur. In the future the SDK may create
14622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14623// for more information on using Contexts.
14624func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) {
14625	req, out := c.UpdateDistributionRequest(input)
14626	req.SetContext(ctx)
14627	req.ApplyOptions(opts...)
14628	return out, req.Send()
14629}
14630
14631const opUpdateDistributionBundle = "UpdateDistributionBundle"
14632
14633// UpdateDistributionBundleRequest generates a "aws/request.Request" representing the
14634// client's request for the UpdateDistributionBundle operation. The "output" return
14635// value will be populated with the request's response once the request completes
14636// successfully.
14637//
14638// Use "Send" method on the returned Request to send the API call to the service.
14639// the "output" return value is not valid until after Send returns without error.
14640//
14641// See UpdateDistributionBundle for more information on using the UpdateDistributionBundle
14642// API call, and error handling.
14643//
14644// This method is useful when you want to inject custom logic or configuration
14645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14646//
14647//
14648//    // Example sending a request using the UpdateDistributionBundleRequest method.
14649//    req, resp := client.UpdateDistributionBundleRequest(params)
14650//
14651//    err := req.Send()
14652//    if err == nil { // resp is now filled
14653//        fmt.Println(resp)
14654//    }
14655//
14656// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
14657func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) {
14658	op := &request.Operation{
14659		Name:       opUpdateDistributionBundle,
14660		HTTPMethod: "POST",
14661		HTTPPath:   "/",
14662	}
14663
14664	if input == nil {
14665		input = &UpdateDistributionBundleInput{}
14666	}
14667
14668	output = &UpdateDistributionBundleOutput{}
14669	req = c.newRequest(op, input, output)
14670	return
14671}
14672
14673// UpdateDistributionBundle API operation for Amazon Lightsail.
14674//
14675// Updates the bundle of your Amazon Lightsail content delivery network (CDN)
14676// distribution.
14677//
14678// A distribution bundle specifies the monthly network transfer quota and monthly
14679// cost of your dsitribution.
14680//
14681// Update your distribution's bundle if your distribution is going over its
14682// monthly network transfer quota and is incurring an overage fee.
14683//
14684// You can update your distribution's bundle only one time within your monthly
14685// AWS billing cycle. To determine if you can update your distribution's bundle,
14686// use the GetDistributions action. The ableToUpdateBundle parameter in the
14687// result will indicate whether you can currently update your distribution's
14688// bundle.
14689//
14690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14691// with awserr.Error's Code and Message methods to get detailed information about
14692// the error.
14693//
14694// See the AWS API reference guide for Amazon Lightsail's
14695// API operation UpdateDistributionBundle for usage and error information.
14696//
14697// Returned Error Types:
14698//   * ServiceException
14699//   A general service exception.
14700//
14701//   * InvalidInputException
14702//   Lightsail throws this exception when user input does not conform to the validation
14703//   rules of an input field.
14704//
14705//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14706//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14707//   view, or edit these resources.
14708//
14709//   * NotFoundException
14710//   Lightsail throws this exception when it cannot find a resource.
14711//
14712//   * OperationFailureException
14713//   Lightsail throws this exception when an operation fails to execute.
14714//
14715//   * AccessDeniedException
14716//   Lightsail throws this exception when the user cannot be authenticated or
14717//   uses invalid credentials to access a resource.
14718//
14719//   * UnauthenticatedException
14720//   Lightsail throws this exception when the user has not been authenticated.
14721//
14722// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
14723func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) {
14724	req, out := c.UpdateDistributionBundleRequest(input)
14725	return out, req.Send()
14726}
14727
14728// UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of
14729// the ability to pass a context and additional request options.
14730//
14731// See UpdateDistributionBundle for details on how to use this API operation.
14732//
14733// The context must be non-nil and will be used for request cancellation. If
14734// the context is nil a panic will occur. In the future the SDK may create
14735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14736// for more information on using Contexts.
14737func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) {
14738	req, out := c.UpdateDistributionBundleRequest(input)
14739	req.SetContext(ctx)
14740	req.ApplyOptions(opts...)
14741	return out, req.Send()
14742}
14743
14744const opUpdateDomainEntry = "UpdateDomainEntry"
14745
14746// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
14747// client's request for the UpdateDomainEntry operation. The "output" return
14748// value will be populated with the request's response once the request completes
14749// successfully.
14750//
14751// Use "Send" method on the returned Request to send the API call to the service.
14752// the "output" return value is not valid until after Send returns without error.
14753//
14754// See UpdateDomainEntry for more information on using the UpdateDomainEntry
14755// API call, and error handling.
14756//
14757// This method is useful when you want to inject custom logic or configuration
14758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14759//
14760//
14761//    // Example sending a request using the UpdateDomainEntryRequest method.
14762//    req, resp := client.UpdateDomainEntryRequest(params)
14763//
14764//    err := req.Send()
14765//    if err == nil { // resp is now filled
14766//        fmt.Println(resp)
14767//    }
14768//
14769// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
14770func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
14771	op := &request.Operation{
14772		Name:       opUpdateDomainEntry,
14773		HTTPMethod: "POST",
14774		HTTPPath:   "/",
14775	}
14776
14777	if input == nil {
14778		input = &UpdateDomainEntryInput{}
14779	}
14780
14781	output = &UpdateDomainEntryOutput{}
14782	req = c.newRequest(op, input, output)
14783	return
14784}
14785
14786// UpdateDomainEntry API operation for Amazon Lightsail.
14787//
14788// Updates a domain recordset after it is created.
14789//
14790// The update domain entry operation supports tag-based access control via resource
14791// tags applied to the resource identified by domain name. For more information,
14792// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
14793//
14794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14795// with awserr.Error's Code and Message methods to get detailed information about
14796// the error.
14797//
14798// See the AWS API reference guide for Amazon Lightsail's
14799// API operation UpdateDomainEntry for usage and error information.
14800//
14801// Returned Error Types:
14802//   * ServiceException
14803//   A general service exception.
14804//
14805//   * InvalidInputException
14806//   Lightsail throws this exception when user input does not conform to the validation
14807//   rules of an input field.
14808//
14809//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14810//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14811//   view, or edit these resources.
14812//
14813//   * NotFoundException
14814//   Lightsail throws this exception when it cannot find a resource.
14815//
14816//   * OperationFailureException
14817//   Lightsail throws this exception when an operation fails to execute.
14818//
14819//   * AccessDeniedException
14820//   Lightsail throws this exception when the user cannot be authenticated or
14821//   uses invalid credentials to access a resource.
14822//
14823//   * AccountSetupInProgressException
14824//   Lightsail throws this exception when an account is still in the setup in
14825//   progress state.
14826//
14827//   * UnauthenticatedException
14828//   Lightsail throws this exception when the user has not been authenticated.
14829//
14830// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
14831func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
14832	req, out := c.UpdateDomainEntryRequest(input)
14833	return out, req.Send()
14834}
14835
14836// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
14837// the ability to pass a context and additional request options.
14838//
14839// See UpdateDomainEntry for details on how to use this API operation.
14840//
14841// The context must be non-nil and will be used for request cancellation. If
14842// the context is nil a panic will occur. In the future the SDK may create
14843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14844// for more information on using Contexts.
14845func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
14846	req, out := c.UpdateDomainEntryRequest(input)
14847	req.SetContext(ctx)
14848	req.ApplyOptions(opts...)
14849	return out, req.Send()
14850}
14851
14852const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
14853
14854// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
14855// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
14856// value will be populated with the request's response once the request completes
14857// successfully.
14858//
14859// Use "Send" method on the returned Request to send the API call to the service.
14860// the "output" return value is not valid until after Send returns without error.
14861//
14862// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
14863// API call, and error handling.
14864//
14865// This method is useful when you want to inject custom logic or configuration
14866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14867//
14868//
14869//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
14870//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
14871//
14872//    err := req.Send()
14873//    if err == nil { // resp is now filled
14874//        fmt.Println(resp)
14875//    }
14876//
14877// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
14878func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
14879	op := &request.Operation{
14880		Name:       opUpdateLoadBalancerAttribute,
14881		HTTPMethod: "POST",
14882		HTTPPath:   "/",
14883	}
14884
14885	if input == nil {
14886		input = &UpdateLoadBalancerAttributeInput{}
14887	}
14888
14889	output = &UpdateLoadBalancerAttributeOutput{}
14890	req = c.newRequest(op, input, output)
14891	return
14892}
14893
14894// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
14895//
14896// Updates the specified attribute for a load balancer. You can only update
14897// one attribute at a time.
14898//
14899// The update load balancer attribute operation supports tag-based access control
14900// via resource tags applied to the resource identified by load balancer name.
14901// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
14902//
14903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14904// with awserr.Error's Code and Message methods to get detailed information about
14905// the error.
14906//
14907// See the AWS API reference guide for Amazon Lightsail's
14908// API operation UpdateLoadBalancerAttribute for usage and error information.
14909//
14910// Returned Error Types:
14911//   * ServiceException
14912//   A general service exception.
14913//
14914//   * InvalidInputException
14915//   Lightsail throws this exception when user input does not conform to the validation
14916//   rules of an input field.
14917//
14918//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
14919//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
14920//   view, or edit these resources.
14921//
14922//   * NotFoundException
14923//   Lightsail throws this exception when it cannot find a resource.
14924//
14925//   * OperationFailureException
14926//   Lightsail throws this exception when an operation fails to execute.
14927//
14928//   * AccessDeniedException
14929//   Lightsail throws this exception when the user cannot be authenticated or
14930//   uses invalid credentials to access a resource.
14931//
14932//   * AccountSetupInProgressException
14933//   Lightsail throws this exception when an account is still in the setup in
14934//   progress state.
14935//
14936//   * UnauthenticatedException
14937//   Lightsail throws this exception when the user has not been authenticated.
14938//
14939// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
14940func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
14941	req, out := c.UpdateLoadBalancerAttributeRequest(input)
14942	return out, req.Send()
14943}
14944
14945// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
14946// the ability to pass a context and additional request options.
14947//
14948// See UpdateLoadBalancerAttribute for details on how to use this API operation.
14949//
14950// The context must be non-nil and will be used for request cancellation. If
14951// the context is nil a panic will occur. In the future the SDK may create
14952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14953// for more information on using Contexts.
14954func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
14955	req, out := c.UpdateLoadBalancerAttributeRequest(input)
14956	req.SetContext(ctx)
14957	req.ApplyOptions(opts...)
14958	return out, req.Send()
14959}
14960
14961const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
14962
14963// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
14964// client's request for the UpdateRelationalDatabase operation. The "output" return
14965// value will be populated with the request's response once the request completes
14966// successfully.
14967//
14968// Use "Send" method on the returned Request to send the API call to the service.
14969// the "output" return value is not valid until after Send returns without error.
14970//
14971// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
14972// API call, and error handling.
14973//
14974// This method is useful when you want to inject custom logic or configuration
14975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14976//
14977//
14978//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
14979//    req, resp := client.UpdateRelationalDatabaseRequest(params)
14980//
14981//    err := req.Send()
14982//    if err == nil { // resp is now filled
14983//        fmt.Println(resp)
14984//    }
14985//
14986// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
14987func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
14988	op := &request.Operation{
14989		Name:       opUpdateRelationalDatabase,
14990		HTTPMethod: "POST",
14991		HTTPPath:   "/",
14992	}
14993
14994	if input == nil {
14995		input = &UpdateRelationalDatabaseInput{}
14996	}
14997
14998	output = &UpdateRelationalDatabaseOutput{}
14999	req = c.newRequest(op, input, output)
15000	return
15001}
15002
15003// UpdateRelationalDatabase API operation for Amazon Lightsail.
15004//
15005// Allows the update of one or more attributes of a database in Amazon Lightsail.
15006//
15007// Updates are applied immediately, or in cases where the updates could result
15008// in an outage, are applied during the database's predefined maintenance window.
15009//
15010// The update relational database operation supports tag-based access control
15011// via resource tags applied to the resource identified by relationalDatabaseName.
15012// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
15013//
15014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15015// with awserr.Error's Code and Message methods to get detailed information about
15016// the error.
15017//
15018// See the AWS API reference guide for Amazon Lightsail's
15019// API operation UpdateRelationalDatabase for usage and error information.
15020//
15021// Returned Error Types:
15022//   * ServiceException
15023//   A general service exception.
15024//
15025//   * InvalidInputException
15026//   Lightsail throws this exception when user input does not conform to the validation
15027//   rules of an input field.
15028//
15029//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15030//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15031//   view, or edit these resources.
15032//
15033//   * NotFoundException
15034//   Lightsail throws this exception when it cannot find a resource.
15035//
15036//   * OperationFailureException
15037//   Lightsail throws this exception when an operation fails to execute.
15038//
15039//   * AccessDeniedException
15040//   Lightsail throws this exception when the user cannot be authenticated or
15041//   uses invalid credentials to access a resource.
15042//
15043//   * AccountSetupInProgressException
15044//   Lightsail throws this exception when an account is still in the setup in
15045//   progress state.
15046//
15047//   * UnauthenticatedException
15048//   Lightsail throws this exception when the user has not been authenticated.
15049//
15050// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
15051func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
15052	req, out := c.UpdateRelationalDatabaseRequest(input)
15053	return out, req.Send()
15054}
15055
15056// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
15057// the ability to pass a context and additional request options.
15058//
15059// See UpdateRelationalDatabase for details on how to use this API operation.
15060//
15061// The context must be non-nil and will be used for request cancellation. If
15062// the context is nil a panic will occur. In the future the SDK may create
15063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15064// for more information on using Contexts.
15065func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
15066	req, out := c.UpdateRelationalDatabaseRequest(input)
15067	req.SetContext(ctx)
15068	req.ApplyOptions(opts...)
15069	return out, req.Send()
15070}
15071
15072const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
15073
15074// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
15075// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
15076// value will be populated with the request's response once the request completes
15077// successfully.
15078//
15079// Use "Send" method on the returned Request to send the API call to the service.
15080// the "output" return value is not valid until after Send returns without error.
15081//
15082// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
15083// API call, and error handling.
15084//
15085// This method is useful when you want to inject custom logic or configuration
15086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15087//
15088//
15089//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
15090//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
15091//
15092//    err := req.Send()
15093//    if err == nil { // resp is now filled
15094//        fmt.Println(resp)
15095//    }
15096//
15097// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
15098func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
15099	op := &request.Operation{
15100		Name:       opUpdateRelationalDatabaseParameters,
15101		HTTPMethod: "POST",
15102		HTTPPath:   "/",
15103	}
15104
15105	if input == nil {
15106		input = &UpdateRelationalDatabaseParametersInput{}
15107	}
15108
15109	output = &UpdateRelationalDatabaseParametersOutput{}
15110	req = c.newRequest(op, input, output)
15111	return
15112}
15113
15114// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
15115//
15116// Allows the update of one or more parameters of a database in Amazon Lightsail.
15117//
15118// Parameter updates don't cause outages; therefore, their application is not
15119// subject to the preferred maintenance window. However, there are two ways
15120// in which parameter updates are applied: dynamic or pending-reboot. Parameters
15121// marked with a dynamic apply type are applied immediately. Parameters marked
15122// with a pending-reboot apply type are applied only after the database is rebooted
15123// using the reboot relational database operation.
15124//
15125// The update relational database parameters operation supports tag-based access
15126// control via resource tags applied to the resource identified by relationalDatabaseName.
15127// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
15128//
15129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15130// with awserr.Error's Code and Message methods to get detailed information about
15131// the error.
15132//
15133// See the AWS API reference guide for Amazon Lightsail's
15134// API operation UpdateRelationalDatabaseParameters for usage and error information.
15135//
15136// Returned Error Types:
15137//   * ServiceException
15138//   A general service exception.
15139//
15140//   * InvalidInputException
15141//   Lightsail throws this exception when user input does not conform to the validation
15142//   rules of an input field.
15143//
15144//   Domain and distribution APIs are only available in the N. Virginia (us-east-1)
15145//   AWS Region. Please set your AWS Region configuration to us-east-1 to create,
15146//   view, or edit these resources.
15147//
15148//   * NotFoundException
15149//   Lightsail throws this exception when it cannot find a resource.
15150//
15151//   * OperationFailureException
15152//   Lightsail throws this exception when an operation fails to execute.
15153//
15154//   * AccessDeniedException
15155//   Lightsail throws this exception when the user cannot be authenticated or
15156//   uses invalid credentials to access a resource.
15157//
15158//   * AccountSetupInProgressException
15159//   Lightsail throws this exception when an account is still in the setup in
15160//   progress state.
15161//
15162//   * UnauthenticatedException
15163//   Lightsail throws this exception when the user has not been authenticated.
15164//
15165// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
15166func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
15167	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
15168	return out, req.Send()
15169}
15170
15171// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
15172// the ability to pass a context and additional request options.
15173//
15174// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
15175//
15176// The context must be non-nil and will be used for request cancellation. If
15177// the context is nil a panic will occur. In the future the SDK may create
15178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15179// for more information on using Contexts.
15180func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
15181	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
15182	req.SetContext(ctx)
15183	req.ApplyOptions(opts...)
15184	return out, req.Send()
15185}
15186
15187// Lightsail throws this exception when the user cannot be authenticated or
15188// uses invalid credentials to access a resource.
15189type AccessDeniedException struct {
15190	_            struct{}                  `type:"structure"`
15191	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15192
15193	Code_ *string `locationName:"code" type:"string"`
15194
15195	Docs *string `locationName:"docs" type:"string"`
15196
15197	Message_ *string `locationName:"message" type:"string"`
15198
15199	Tip *string `locationName:"tip" type:"string"`
15200}
15201
15202// String returns the string representation
15203func (s AccessDeniedException) String() string {
15204	return awsutil.Prettify(s)
15205}
15206
15207// GoString returns the string representation
15208func (s AccessDeniedException) GoString() string {
15209	return s.String()
15210}
15211
15212func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
15213	return &AccessDeniedException{
15214		RespMetadata: v,
15215	}
15216}
15217
15218// Code returns the exception type name.
15219func (s *AccessDeniedException) Code() string {
15220	return "AccessDeniedException"
15221}
15222
15223// Message returns the exception's message.
15224func (s *AccessDeniedException) Message() string {
15225	if s.Message_ != nil {
15226		return *s.Message_
15227	}
15228	return ""
15229}
15230
15231// OrigErr always returns nil, satisfies awserr.Error interface.
15232func (s *AccessDeniedException) OrigErr() error {
15233	return nil
15234}
15235
15236func (s *AccessDeniedException) Error() string {
15237	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15238}
15239
15240// Status code returns the HTTP status code for the request's response error.
15241func (s *AccessDeniedException) StatusCode() int {
15242	return s.RespMetadata.StatusCode
15243}
15244
15245// RequestID returns the service's response RequestID for request.
15246func (s *AccessDeniedException) RequestID() string {
15247	return s.RespMetadata.RequestID
15248}
15249
15250// Lightsail throws this exception when an account is still in the setup in
15251// progress state.
15252type AccountSetupInProgressException struct {
15253	_            struct{}                  `type:"structure"`
15254	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15255
15256	Code_ *string `locationName:"code" type:"string"`
15257
15258	Docs *string `locationName:"docs" type:"string"`
15259
15260	Message_ *string `locationName:"message" type:"string"`
15261
15262	Tip *string `locationName:"tip" type:"string"`
15263}
15264
15265// String returns the string representation
15266func (s AccountSetupInProgressException) String() string {
15267	return awsutil.Prettify(s)
15268}
15269
15270// GoString returns the string representation
15271func (s AccountSetupInProgressException) GoString() string {
15272	return s.String()
15273}
15274
15275func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
15276	return &AccountSetupInProgressException{
15277		RespMetadata: v,
15278	}
15279}
15280
15281// Code returns the exception type name.
15282func (s *AccountSetupInProgressException) Code() string {
15283	return "AccountSetupInProgressException"
15284}
15285
15286// Message returns the exception's message.
15287func (s *AccountSetupInProgressException) Message() string {
15288	if s.Message_ != nil {
15289		return *s.Message_
15290	}
15291	return ""
15292}
15293
15294// OrigErr always returns nil, satisfies awserr.Error interface.
15295func (s *AccountSetupInProgressException) OrigErr() error {
15296	return nil
15297}
15298
15299func (s *AccountSetupInProgressException) Error() string {
15300	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15301}
15302
15303// Status code returns the HTTP status code for the request's response error.
15304func (s *AccountSetupInProgressException) StatusCode() int {
15305	return s.RespMetadata.StatusCode
15306}
15307
15308// RequestID returns the service's response RequestID for request.
15309func (s *AccountSetupInProgressException) RequestID() string {
15310	return s.RespMetadata.RequestID
15311}
15312
15313// Describes an add-on that is enabled for an Amazon Lightsail resource.
15314type AddOn struct {
15315	_ struct{} `type:"structure"`
15316
15317	// The name of the add-on.
15318	Name *string `locationName:"name" type:"string"`
15319
15320	// The next daily time an automatic snapshot will be created.
15321	//
15322	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
15323	//
15324	// The snapshot is automatically created between the time shown and up to 45
15325	// minutes after.
15326	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
15327
15328	// The daily time when an automatic snapshot is created.
15329	//
15330	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
15331	//
15332	// The snapshot is automatically created between the time shown and up to 45
15333	// minutes after.
15334	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
15335
15336	// The status of the add-on.
15337	Status *string `locationName:"status" type:"string"`
15338}
15339
15340// String returns the string representation
15341func (s AddOn) String() string {
15342	return awsutil.Prettify(s)
15343}
15344
15345// GoString returns the string representation
15346func (s AddOn) GoString() string {
15347	return s.String()
15348}
15349
15350// SetName sets the Name field's value.
15351func (s *AddOn) SetName(v string) *AddOn {
15352	s.Name = &v
15353	return s
15354}
15355
15356// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
15357func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
15358	s.NextSnapshotTimeOfDay = &v
15359	return s
15360}
15361
15362// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
15363func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
15364	s.SnapshotTimeOfDay = &v
15365	return s
15366}
15367
15368// SetStatus sets the Status field's value.
15369func (s *AddOn) SetStatus(v string) *AddOn {
15370	s.Status = &v
15371	return s
15372}
15373
15374// Describes a request to enable, modify, or disable an add-on for an Amazon
15375// Lightsail resource.
15376//
15377// An additional cost may be associated with enabling add-ons. For more information,
15378// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
15379type AddOnRequest struct {
15380	_ struct{} `type:"structure"`
15381
15382	// The add-on type.
15383	//
15384	// AddOnType is a required field
15385	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
15386
15387	// An object that represents additional parameters when enabling or modifying
15388	// the automatic snapshot add-on.
15389	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
15390}
15391
15392// String returns the string representation
15393func (s AddOnRequest) String() string {
15394	return awsutil.Prettify(s)
15395}
15396
15397// GoString returns the string representation
15398func (s AddOnRequest) GoString() string {
15399	return s.String()
15400}
15401
15402// Validate inspects the fields of the type to determine if they are valid.
15403func (s *AddOnRequest) Validate() error {
15404	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
15405	if s.AddOnType == nil {
15406		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
15407	}
15408
15409	if invalidParams.Len() > 0 {
15410		return invalidParams
15411	}
15412	return nil
15413}
15414
15415// SetAddOnType sets the AddOnType field's value.
15416func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
15417	s.AddOnType = &v
15418	return s
15419}
15420
15421// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
15422func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
15423	s.AutoSnapshotAddOnRequest = v
15424	return s
15425}
15426
15427// Describes an alarm.
15428//
15429// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
15430// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
15431type Alarm struct {
15432	_ struct{} `type:"structure"`
15433
15434	// The Amazon Resource Name (ARN) of the alarm.
15435	Arn *string `locationName:"arn" type:"string"`
15436
15437	// The arithmetic operation used when comparing the specified statistic and
15438	// threshold.
15439	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
15440
15441	// The contact protocols for the alarm, such as Email, SMS (text messaging),
15442	// or both.
15443	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
15444
15445	// The timestamp when the alarm was created.
15446	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15447
15448	// The number of data points that must not within the specified threshold to
15449	// trigger the alarm.
15450	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
15451
15452	// The number of periods over which data is compared to the specified threshold.
15453	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
15454
15455	// An object that lists information about the location of the alarm.
15456	Location *ResourceLocation `locationName:"location" type:"structure"`
15457
15458	// The name of the metric associated with the alarm.
15459	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
15460
15461	// An object that lists information about the resource monitored by the alarm.
15462	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
15463
15464	// The name of the alarm.
15465	Name *string `locationName:"name" type:"string"`
15466
15467	// Indicates whether the alarm is enabled.
15468	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
15469
15470	// The alarm states that trigger a notification.
15471	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
15472
15473	// The period, in seconds, over which the statistic is applied.
15474	Period *int64 `locationName:"period" min:"60" type:"integer"`
15475
15476	// The Lightsail resource type (e.g., Alarm).
15477	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15478
15479	// The current state of the alarm.
15480	//
15481	// An alarm has the following possible states:
15482	//
15483	//    * ALARM - The metric is outside of the defined threshold.
15484	//
15485	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
15486	//    or not enough data is available for the metric to determine the alarm
15487	//    state.
15488	//
15489	//    * OK - The metric is within the defined threshold.
15490	State *string `locationName:"state" type:"string" enum:"AlarmState"`
15491
15492	// The statistic for the metric associated with the alarm.
15493	//
15494	// The following statistics are available:
15495	//
15496	//    * Minimum - The lowest value observed during the specified period. Use
15497	//    this value to determine low volumes of activity for your application.
15498	//
15499	//    * Maximum - The highest value observed during the specified period. Use
15500	//    this value to determine high volumes of activity for your application.
15501	//
15502	//    * Sum - All values submitted for the matching metric added together. You
15503	//    can use this statistic to determine the total volume of a metric.
15504	//
15505	//    * Average - The value of Sum / SampleCount during the specified period.
15506	//    By comparing this statistic with the Minimum and Maximum values, you can
15507	//    determine the full scope of a metric and how close the average use is
15508	//    to the Minimum and Maximum values. This comparison helps you to know when
15509	//    to increase or decrease your resources.
15510	//
15511	//    * SampleCount - The count, or number, of data points used for the statistical
15512	//    calculation.
15513	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
15514
15515	// The support code. Include this code in your email to support when you have
15516	// questions about your Lightsail alarm. This code enables our support team
15517	// to look up your Lightsail information more easily.
15518	SupportCode *string `locationName:"supportCode" type:"string"`
15519
15520	// The value against which the specified statistic is compared.
15521	Threshold *float64 `locationName:"threshold" type:"double"`
15522
15523	// Specifies how the alarm handles missing data points.
15524	//
15525	// An alarm can treat missing data in the following ways:
15526	//
15527	//    * breaching - Assume the missing data is not within the threshold. Missing
15528	//    data counts towards the number of times the metric is not within the threshold.
15529	//
15530	//    * notBreaching - Assume the missing data is within the threshold. Missing
15531	//    data does not count towards the number of times the metric is not within
15532	//    the threshold.
15533	//
15534	//    * ignore - Ignore the missing data. Maintains the current alarm state.
15535	//
15536	//    * missing - Missing data is treated as missing.
15537	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
15538
15539	// The unit of the metric associated with the alarm.
15540	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
15541}
15542
15543// String returns the string representation
15544func (s Alarm) String() string {
15545	return awsutil.Prettify(s)
15546}
15547
15548// GoString returns the string representation
15549func (s Alarm) GoString() string {
15550	return s.String()
15551}
15552
15553// SetArn sets the Arn field's value.
15554func (s *Alarm) SetArn(v string) *Alarm {
15555	s.Arn = &v
15556	return s
15557}
15558
15559// SetComparisonOperator sets the ComparisonOperator field's value.
15560func (s *Alarm) SetComparisonOperator(v string) *Alarm {
15561	s.ComparisonOperator = &v
15562	return s
15563}
15564
15565// SetContactProtocols sets the ContactProtocols field's value.
15566func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
15567	s.ContactProtocols = v
15568	return s
15569}
15570
15571// SetCreatedAt sets the CreatedAt field's value.
15572func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
15573	s.CreatedAt = &v
15574	return s
15575}
15576
15577// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
15578func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
15579	s.DatapointsToAlarm = &v
15580	return s
15581}
15582
15583// SetEvaluationPeriods sets the EvaluationPeriods field's value.
15584func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
15585	s.EvaluationPeriods = &v
15586	return s
15587}
15588
15589// SetLocation sets the Location field's value.
15590func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
15591	s.Location = v
15592	return s
15593}
15594
15595// SetMetricName sets the MetricName field's value.
15596func (s *Alarm) SetMetricName(v string) *Alarm {
15597	s.MetricName = &v
15598	return s
15599}
15600
15601// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
15602func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
15603	s.MonitoredResourceInfo = v
15604	return s
15605}
15606
15607// SetName sets the Name field's value.
15608func (s *Alarm) SetName(v string) *Alarm {
15609	s.Name = &v
15610	return s
15611}
15612
15613// SetNotificationEnabled sets the NotificationEnabled field's value.
15614func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
15615	s.NotificationEnabled = &v
15616	return s
15617}
15618
15619// SetNotificationTriggers sets the NotificationTriggers field's value.
15620func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
15621	s.NotificationTriggers = v
15622	return s
15623}
15624
15625// SetPeriod sets the Period field's value.
15626func (s *Alarm) SetPeriod(v int64) *Alarm {
15627	s.Period = &v
15628	return s
15629}
15630
15631// SetResourceType sets the ResourceType field's value.
15632func (s *Alarm) SetResourceType(v string) *Alarm {
15633	s.ResourceType = &v
15634	return s
15635}
15636
15637// SetState sets the State field's value.
15638func (s *Alarm) SetState(v string) *Alarm {
15639	s.State = &v
15640	return s
15641}
15642
15643// SetStatistic sets the Statistic field's value.
15644func (s *Alarm) SetStatistic(v string) *Alarm {
15645	s.Statistic = &v
15646	return s
15647}
15648
15649// SetSupportCode sets the SupportCode field's value.
15650func (s *Alarm) SetSupportCode(v string) *Alarm {
15651	s.SupportCode = &v
15652	return s
15653}
15654
15655// SetThreshold sets the Threshold field's value.
15656func (s *Alarm) SetThreshold(v float64) *Alarm {
15657	s.Threshold = &v
15658	return s
15659}
15660
15661// SetTreatMissingData sets the TreatMissingData field's value.
15662func (s *Alarm) SetTreatMissingData(v string) *Alarm {
15663	s.TreatMissingData = &v
15664	return s
15665}
15666
15667// SetUnit sets the Unit field's value.
15668func (s *Alarm) SetUnit(v string) *Alarm {
15669	s.Unit = &v
15670	return s
15671}
15672
15673type AllocateStaticIpInput struct {
15674	_ struct{} `type:"structure"`
15675
15676	// The name of the static IP address.
15677	//
15678	// StaticIpName is a required field
15679	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
15680}
15681
15682// String returns the string representation
15683func (s AllocateStaticIpInput) String() string {
15684	return awsutil.Prettify(s)
15685}
15686
15687// GoString returns the string representation
15688func (s AllocateStaticIpInput) GoString() string {
15689	return s.String()
15690}
15691
15692// Validate inspects the fields of the type to determine if they are valid.
15693func (s *AllocateStaticIpInput) Validate() error {
15694	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
15695	if s.StaticIpName == nil {
15696		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
15697	}
15698
15699	if invalidParams.Len() > 0 {
15700		return invalidParams
15701	}
15702	return nil
15703}
15704
15705// SetStaticIpName sets the StaticIpName field's value.
15706func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
15707	s.StaticIpName = &v
15708	return s
15709}
15710
15711type AllocateStaticIpOutput struct {
15712	_ struct{} `type:"structure"`
15713
15714	// An array of objects that describe the result of the action, such as the status
15715	// of the request, the timestamp of the request, and the resources affected
15716	// by the request.
15717	Operations []*Operation `locationName:"operations" type:"list"`
15718}
15719
15720// String returns the string representation
15721func (s AllocateStaticIpOutput) String() string {
15722	return awsutil.Prettify(s)
15723}
15724
15725// GoString returns the string representation
15726func (s AllocateStaticIpOutput) GoString() string {
15727	return s.String()
15728}
15729
15730// SetOperations sets the Operations field's value.
15731func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
15732	s.Operations = v
15733	return s
15734}
15735
15736type AttachCertificateToDistributionInput struct {
15737	_ struct{} `type:"structure"`
15738
15739	// The name of the certificate to attach to a distribution.
15740	//
15741	// Only certificates with a status of ISSUED can be attached to a distribution.
15742	//
15743	// Use the GetCertificates action to get a list of certificate names that you
15744	// can specify.
15745	//
15746	// This is the name of the certificate resource type and is used only to reference
15747	// the certificate in other API actions. It can be different than the domain
15748	// name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate
15749	// and the domain name of the certificate might be example.com.
15750	//
15751	// CertificateName is a required field
15752	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
15753
15754	// The name of the distribution that the certificate will be attached to.
15755	//
15756	// Use the GetDistributions action to get a list of distribution names that
15757	// you can specify.
15758	//
15759	// DistributionName is a required field
15760	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
15761}
15762
15763// String returns the string representation
15764func (s AttachCertificateToDistributionInput) String() string {
15765	return awsutil.Prettify(s)
15766}
15767
15768// GoString returns the string representation
15769func (s AttachCertificateToDistributionInput) GoString() string {
15770	return s.String()
15771}
15772
15773// Validate inspects the fields of the type to determine if they are valid.
15774func (s *AttachCertificateToDistributionInput) Validate() error {
15775	invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"}
15776	if s.CertificateName == nil {
15777		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
15778	}
15779	if s.DistributionName == nil {
15780		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
15781	}
15782
15783	if invalidParams.Len() > 0 {
15784		return invalidParams
15785	}
15786	return nil
15787}
15788
15789// SetCertificateName sets the CertificateName field's value.
15790func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput {
15791	s.CertificateName = &v
15792	return s
15793}
15794
15795// SetDistributionName sets the DistributionName field's value.
15796func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput {
15797	s.DistributionName = &v
15798	return s
15799}
15800
15801type AttachCertificateToDistributionOutput struct {
15802	_ struct{} `type:"structure"`
15803
15804	// An object that describes the result of the action, such as the status of
15805	// the request, the timestamp of the request, and the resources affected by
15806	// the request.
15807	Operation *Operation `locationName:"operation" type:"structure"`
15808}
15809
15810// String returns the string representation
15811func (s AttachCertificateToDistributionOutput) String() string {
15812	return awsutil.Prettify(s)
15813}
15814
15815// GoString returns the string representation
15816func (s AttachCertificateToDistributionOutput) GoString() string {
15817	return s.String()
15818}
15819
15820// SetOperation sets the Operation field's value.
15821func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput {
15822	s.Operation = v
15823	return s
15824}
15825
15826type AttachDiskInput struct {
15827	_ struct{} `type:"structure"`
15828
15829	// The unique Lightsail disk name (e.g., my-disk).
15830	//
15831	// DiskName is a required field
15832	DiskName *string `locationName:"diskName" type:"string" required:"true"`
15833
15834	// The disk path to expose to the instance (e.g., /dev/xvdf).
15835	//
15836	// DiskPath is a required field
15837	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
15838
15839	// The name of the Lightsail instance where you want to utilize the storage
15840	// disk.
15841	//
15842	// InstanceName is a required field
15843	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
15844}
15845
15846// String returns the string representation
15847func (s AttachDiskInput) String() string {
15848	return awsutil.Prettify(s)
15849}
15850
15851// GoString returns the string representation
15852func (s AttachDiskInput) GoString() string {
15853	return s.String()
15854}
15855
15856// Validate inspects the fields of the type to determine if they are valid.
15857func (s *AttachDiskInput) Validate() error {
15858	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
15859	if s.DiskName == nil {
15860		invalidParams.Add(request.NewErrParamRequired("DiskName"))
15861	}
15862	if s.DiskPath == nil {
15863		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
15864	}
15865	if s.InstanceName == nil {
15866		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
15867	}
15868
15869	if invalidParams.Len() > 0 {
15870		return invalidParams
15871	}
15872	return nil
15873}
15874
15875// SetDiskName sets the DiskName field's value.
15876func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
15877	s.DiskName = &v
15878	return s
15879}
15880
15881// SetDiskPath sets the DiskPath field's value.
15882func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
15883	s.DiskPath = &v
15884	return s
15885}
15886
15887// SetInstanceName sets the InstanceName field's value.
15888func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
15889	s.InstanceName = &v
15890	return s
15891}
15892
15893type AttachDiskOutput struct {
15894	_ struct{} `type:"structure"`
15895
15896	// An array of objects that describe the result of the action, such as the status
15897	// of the request, the timestamp of the request, and the resources affected
15898	// by the request.
15899	Operations []*Operation `locationName:"operations" type:"list"`
15900}
15901
15902// String returns the string representation
15903func (s AttachDiskOutput) String() string {
15904	return awsutil.Prettify(s)
15905}
15906
15907// GoString returns the string representation
15908func (s AttachDiskOutput) GoString() string {
15909	return s.String()
15910}
15911
15912// SetOperations sets the Operations field's value.
15913func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
15914	s.Operations = v
15915	return s
15916}
15917
15918type AttachInstancesToLoadBalancerInput struct {
15919	_ struct{} `type:"structure"`
15920
15921	// An array of strings representing the instance name(s) you want to attach
15922	// to your load balancer.
15923	//
15924	// An instance must be running before you can attach it to your load balancer.
15925	//
15926	// There are no additional limits on the number of instances you can attach
15927	// to your load balancer, aside from the limit of Lightsail instances you can
15928	// create in your account (20).
15929	//
15930	// InstanceNames is a required field
15931	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
15932
15933	// The name of the load balancer.
15934	//
15935	// LoadBalancerName is a required field
15936	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15937}
15938
15939// String returns the string representation
15940func (s AttachInstancesToLoadBalancerInput) String() string {
15941	return awsutil.Prettify(s)
15942}
15943
15944// GoString returns the string representation
15945func (s AttachInstancesToLoadBalancerInput) GoString() string {
15946	return s.String()
15947}
15948
15949// Validate inspects the fields of the type to determine if they are valid.
15950func (s *AttachInstancesToLoadBalancerInput) Validate() error {
15951	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
15952	if s.InstanceNames == nil {
15953		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
15954	}
15955	if s.LoadBalancerName == nil {
15956		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15957	}
15958
15959	if invalidParams.Len() > 0 {
15960		return invalidParams
15961	}
15962	return nil
15963}
15964
15965// SetInstanceNames sets the InstanceNames field's value.
15966func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
15967	s.InstanceNames = v
15968	return s
15969}
15970
15971// SetLoadBalancerName sets the LoadBalancerName field's value.
15972func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
15973	s.LoadBalancerName = &v
15974	return s
15975}
15976
15977type AttachInstancesToLoadBalancerOutput struct {
15978	_ struct{} `type:"structure"`
15979
15980	// An array of objects that describe the result of the action, such as the status
15981	// of the request, the timestamp of the request, and the resources affected
15982	// by the request.
15983	Operations []*Operation `locationName:"operations" type:"list"`
15984}
15985
15986// String returns the string representation
15987func (s AttachInstancesToLoadBalancerOutput) String() string {
15988	return awsutil.Prettify(s)
15989}
15990
15991// GoString returns the string representation
15992func (s AttachInstancesToLoadBalancerOutput) GoString() string {
15993	return s.String()
15994}
15995
15996// SetOperations sets the Operations field's value.
15997func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
15998	s.Operations = v
15999	return s
16000}
16001
16002type AttachLoadBalancerTlsCertificateInput struct {
16003	_ struct{} `type:"structure"`
16004
16005	// The name of your SSL/TLS certificate.
16006	//
16007	// CertificateName is a required field
16008	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
16009
16010	// The name of the load balancer to which you want to associate the SSL/TLS
16011	// certificate.
16012	//
16013	// LoadBalancerName is a required field
16014	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
16015}
16016
16017// String returns the string representation
16018func (s AttachLoadBalancerTlsCertificateInput) String() string {
16019	return awsutil.Prettify(s)
16020}
16021
16022// GoString returns the string representation
16023func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
16024	return s.String()
16025}
16026
16027// Validate inspects the fields of the type to determine if they are valid.
16028func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
16029	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
16030	if s.CertificateName == nil {
16031		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
16032	}
16033	if s.LoadBalancerName == nil {
16034		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
16035	}
16036
16037	if invalidParams.Len() > 0 {
16038		return invalidParams
16039	}
16040	return nil
16041}
16042
16043// SetCertificateName sets the CertificateName field's value.
16044func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
16045	s.CertificateName = &v
16046	return s
16047}
16048
16049// SetLoadBalancerName sets the LoadBalancerName field's value.
16050func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
16051	s.LoadBalancerName = &v
16052	return s
16053}
16054
16055type AttachLoadBalancerTlsCertificateOutput struct {
16056	_ struct{} `type:"structure"`
16057
16058	// An array of objects that describe the result of the action, such as the status
16059	// of the request, the timestamp of the request, and the resources affected
16060	// by the request.
16061	//
16062	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
16063	// can't get the certificate and use it for another purpose.
16064	Operations []*Operation `locationName:"operations" type:"list"`
16065}
16066
16067// String returns the string representation
16068func (s AttachLoadBalancerTlsCertificateOutput) String() string {
16069	return awsutil.Prettify(s)
16070}
16071
16072// GoString returns the string representation
16073func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
16074	return s.String()
16075}
16076
16077// SetOperations sets the Operations field's value.
16078func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
16079	s.Operations = v
16080	return s
16081}
16082
16083type AttachStaticIpInput struct {
16084	_ struct{} `type:"structure"`
16085
16086	// The instance name to which you want to attach the static IP address.
16087	//
16088	// InstanceName is a required field
16089	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
16090
16091	// The name of the static IP.
16092	//
16093	// StaticIpName is a required field
16094	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
16095}
16096
16097// String returns the string representation
16098func (s AttachStaticIpInput) String() string {
16099	return awsutil.Prettify(s)
16100}
16101
16102// GoString returns the string representation
16103func (s AttachStaticIpInput) GoString() string {
16104	return s.String()
16105}
16106
16107// Validate inspects the fields of the type to determine if they are valid.
16108func (s *AttachStaticIpInput) Validate() error {
16109	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
16110	if s.InstanceName == nil {
16111		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
16112	}
16113	if s.StaticIpName == nil {
16114		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
16115	}
16116
16117	if invalidParams.Len() > 0 {
16118		return invalidParams
16119	}
16120	return nil
16121}
16122
16123// SetInstanceName sets the InstanceName field's value.
16124func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
16125	s.InstanceName = &v
16126	return s
16127}
16128
16129// SetStaticIpName sets the StaticIpName field's value.
16130func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
16131	s.StaticIpName = &v
16132	return s
16133}
16134
16135type AttachStaticIpOutput struct {
16136	_ struct{} `type:"structure"`
16137
16138	// An array of objects that describe the result of the action, such as the status
16139	// of the request, the timestamp of the request, and the resources affected
16140	// by the request.
16141	Operations []*Operation `locationName:"operations" type:"list"`
16142}
16143
16144// String returns the string representation
16145func (s AttachStaticIpOutput) String() string {
16146	return awsutil.Prettify(s)
16147}
16148
16149// GoString returns the string representation
16150func (s AttachStaticIpOutput) GoString() string {
16151	return s.String()
16152}
16153
16154// SetOperations sets the Operations field's value.
16155func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
16156	s.Operations = v
16157	return s
16158}
16159
16160// Describes a block storage disk that is attached to an instance, and is included
16161// in an automatic snapshot.
16162type AttachedDisk struct {
16163	_ struct{} `type:"structure"`
16164
16165	// The path of the disk (e.g., /dev/xvdf).
16166	Path *string `locationName:"path" type:"string"`
16167
16168	// The size of the disk in GB.
16169	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
16170}
16171
16172// String returns the string representation
16173func (s AttachedDisk) String() string {
16174	return awsutil.Prettify(s)
16175}
16176
16177// GoString returns the string representation
16178func (s AttachedDisk) GoString() string {
16179	return s.String()
16180}
16181
16182// SetPath sets the Path field's value.
16183func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
16184	s.Path = &v
16185	return s
16186}
16187
16188// SetSizeInGb sets the SizeInGb field's value.
16189func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
16190	s.SizeInGb = &v
16191	return s
16192}
16193
16194// Describes a request to enable or modify the automatic snapshot add-on for
16195// an Amazon Lightsail instance or disk.
16196//
16197// When you modify the automatic snapshot time for a resource, it is typically
16198// effective immediately except under the following conditions:
16199//
16200//    * If an automatic snapshot has been created for the current day, and you
16201//    change the snapshot time to a later time of day, then the new snapshot
16202//    time will be effective the following day. This ensures that two snapshots
16203//    are not created for the current day.
16204//
16205//    * If an automatic snapshot has not yet been created for the current day,
16206//    and you change the snapshot time to an earlier time of day, then the new
16207//    snapshot time will be effective the following day and a snapshot is automatically
16208//    created at the previously set time for the current day. This ensures that
16209//    a snapshot is created for the current day.
16210//
16211//    * If an automatic snapshot has not yet been created for the current day,
16212//    and you change the snapshot time to a time that is within 30 minutes from
16213//    your current time, then the new snapshot time will be effective the following
16214//    day and a snapshot is automatically created at the previously set time
16215//    for the current day. This ensures that a snapshot is created for the current
16216//    day, because 30 minutes is required between your current time and the
16217//    new snapshot time that you specify.
16218//
16219//    * If an automatic snapshot is scheduled to be created within 30 minutes
16220//    from your current time and you change the snapshot time, then the new
16221//    snapshot time will be effective the following day and a snapshot is automatically
16222//    created at the previously set time for the current day. This ensures that
16223//    a snapshot is created for the current day, because 30 minutes is required
16224//    between your current time and the new snapshot time that you specify.
16225type AutoSnapshotAddOnRequest struct {
16226	_ struct{} `type:"structure"`
16227
16228	// The daily time when an automatic snapshot will be created.
16229	//
16230	// Constraints:
16231	//
16232	//    * Must be in HH:00 format, and in an hourly increment.
16233	//
16234	//    * Specified in Coordinated Universal Time (UTC).
16235	//
16236	//    * The snapshot will be automatically created between the time specified
16237	//    and up to 45 minutes after.
16238	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
16239}
16240
16241// String returns the string representation
16242func (s AutoSnapshotAddOnRequest) String() string {
16243	return awsutil.Prettify(s)
16244}
16245
16246// GoString returns the string representation
16247func (s AutoSnapshotAddOnRequest) GoString() string {
16248	return s.String()
16249}
16250
16251// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
16252func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
16253	s.SnapshotTimeOfDay = &v
16254	return s
16255}
16256
16257// Describes an automatic snapshot.
16258type AutoSnapshotDetails struct {
16259	_ struct{} `type:"structure"`
16260
16261	// The timestamp when the automatic snapshot was created.
16262	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16263
16264	// The date of the automatic snapshot in YYYY-MM-DD format.
16265	Date *string `locationName:"date" type:"string"`
16266
16267	// An array of objects that describe the block storage disks attached to the
16268	// instance when the automatic snapshot was created.
16269	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
16270
16271	// The status of the automatic snapshot.
16272	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
16273}
16274
16275// String returns the string representation
16276func (s AutoSnapshotDetails) String() string {
16277	return awsutil.Prettify(s)
16278}
16279
16280// GoString returns the string representation
16281func (s AutoSnapshotDetails) GoString() string {
16282	return s.String()
16283}
16284
16285// SetCreatedAt sets the CreatedAt field's value.
16286func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
16287	s.CreatedAt = &v
16288	return s
16289}
16290
16291// SetDate sets the Date field's value.
16292func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
16293	s.Date = &v
16294	return s
16295}
16296
16297// SetFromAttachedDisks sets the FromAttachedDisks field's value.
16298func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
16299	s.FromAttachedDisks = v
16300	return s
16301}
16302
16303// SetStatus sets the Status field's value.
16304func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
16305	s.Status = &v
16306	return s
16307}
16308
16309// Describes an Availability Zone.
16310type AvailabilityZone struct {
16311	_ struct{} `type:"structure"`
16312
16313	// The state of the Availability Zone.
16314	State *string `locationName:"state" type:"string"`
16315
16316	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
16317	ZoneName *string `locationName:"zoneName" type:"string"`
16318}
16319
16320// String returns the string representation
16321func (s AvailabilityZone) String() string {
16322	return awsutil.Prettify(s)
16323}
16324
16325// GoString returns the string representation
16326func (s AvailabilityZone) GoString() string {
16327	return s.String()
16328}
16329
16330// SetState sets the State field's value.
16331func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
16332	s.State = &v
16333	return s
16334}
16335
16336// SetZoneName sets the ZoneName field's value.
16337func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
16338	s.ZoneName = &v
16339	return s
16340}
16341
16342// Describes a blueprint (a virtual private server image).
16343type Blueprint struct {
16344	_ struct{} `type:"structure"`
16345
16346	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
16347	BlueprintId *string `locationName:"blueprintId" type:"string"`
16348
16349	// The description of the blueprint.
16350	Description *string `locationName:"description" type:"string"`
16351
16352	// The group name of the blueprint (e.g., amazon-linux).
16353	Group *string `locationName:"group" type:"string"`
16354
16355	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
16356	// are listed to support customers with existing instances but are not necessarily
16357	// available for launch of new instances. Blueprints are marked inactive when
16358	// they become outdated due to operating system updates or new application releases.
16359	IsActive *bool `locationName:"isActive" type:"boolean"`
16360
16361	// The end-user license agreement URL for the image or blueprint.
16362	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
16363
16364	// The minimum bundle power required to run this blueprint. For example, you
16365	// need a bundle with a power value of 500 or more to create an instance that
16366	// uses a blueprint with a minimum power value of 500. 0 indicates that the
16367	// blueprint runs on all instance sizes.
16368	MinPower *int64 `locationName:"minPower" type:"integer"`
16369
16370	// The friendly name of the blueprint (e.g., Amazon Linux).
16371	Name *string `locationName:"name" type:"string"`
16372
16373	// The operating system platform (either Linux/Unix-based or Windows Server-based)
16374	// of the blueprint.
16375	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
16376
16377	// The product URL to learn more about the image or blueprint.
16378	ProductUrl *string `locationName:"productUrl" type:"string"`
16379
16380	// The type of the blueprint (e.g., os or app).
16381	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
16382
16383	// The version number of the operating system, application, or stack (e.g.,
16384	// 2016.03.0).
16385	Version *string `locationName:"version" type:"string"`
16386
16387	// The version code.
16388	VersionCode *string `locationName:"versionCode" type:"string"`
16389}
16390
16391// String returns the string representation
16392func (s Blueprint) String() string {
16393	return awsutil.Prettify(s)
16394}
16395
16396// GoString returns the string representation
16397func (s Blueprint) GoString() string {
16398	return s.String()
16399}
16400
16401// SetBlueprintId sets the BlueprintId field's value.
16402func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
16403	s.BlueprintId = &v
16404	return s
16405}
16406
16407// SetDescription sets the Description field's value.
16408func (s *Blueprint) SetDescription(v string) *Blueprint {
16409	s.Description = &v
16410	return s
16411}
16412
16413// SetGroup sets the Group field's value.
16414func (s *Blueprint) SetGroup(v string) *Blueprint {
16415	s.Group = &v
16416	return s
16417}
16418
16419// SetIsActive sets the IsActive field's value.
16420func (s *Blueprint) SetIsActive(v bool) *Blueprint {
16421	s.IsActive = &v
16422	return s
16423}
16424
16425// SetLicenseUrl sets the LicenseUrl field's value.
16426func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
16427	s.LicenseUrl = &v
16428	return s
16429}
16430
16431// SetMinPower sets the MinPower field's value.
16432func (s *Blueprint) SetMinPower(v int64) *Blueprint {
16433	s.MinPower = &v
16434	return s
16435}
16436
16437// SetName sets the Name field's value.
16438func (s *Blueprint) SetName(v string) *Blueprint {
16439	s.Name = &v
16440	return s
16441}
16442
16443// SetPlatform sets the Platform field's value.
16444func (s *Blueprint) SetPlatform(v string) *Blueprint {
16445	s.Platform = &v
16446	return s
16447}
16448
16449// SetProductUrl sets the ProductUrl field's value.
16450func (s *Blueprint) SetProductUrl(v string) *Blueprint {
16451	s.ProductUrl = &v
16452	return s
16453}
16454
16455// SetType sets the Type field's value.
16456func (s *Blueprint) SetType(v string) *Blueprint {
16457	s.Type = &v
16458	return s
16459}
16460
16461// SetVersion sets the Version field's value.
16462func (s *Blueprint) SetVersion(v string) *Blueprint {
16463	s.Version = &v
16464	return s
16465}
16466
16467// SetVersionCode sets the VersionCode field's value.
16468func (s *Blueprint) SetVersionCode(v string) *Blueprint {
16469	s.VersionCode = &v
16470	return s
16471}
16472
16473// Describes a bundle, which is a set of specs describing your virtual private
16474// server (or instance).
16475type Bundle struct {
16476	_ struct{} `type:"structure"`
16477
16478	// The bundle ID (e.g., micro_1_0).
16479	BundleId *string `locationName:"bundleId" type:"string"`
16480
16481	// The number of vCPUs included in the bundle (e.g., 2).
16482	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
16483
16484	// The size of the SSD (e.g., 30).
16485	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
16486
16487	// The Amazon EC2 instance type (e.g., t2.micro).
16488	InstanceType *string `locationName:"instanceType" type:"string"`
16489
16490	// A Boolean value indicating whether the bundle is active.
16491	IsActive *bool `locationName:"isActive" type:"boolean"`
16492
16493	// A friendly name for the bundle (e.g., Micro).
16494	Name *string `locationName:"name" type:"string"`
16495
16496	// A numeric value that represents the power of the bundle (e.g., 500). You
16497	// can use the bundle's power value in conjunction with a blueprint's minimum
16498	// power value to determine whether the blueprint will run on the bundle. For
16499	// example, you need a bundle with a power value of 500 or more to create an
16500	// instance that uses a blueprint with a minimum power value of 500.
16501	Power *int64 `locationName:"power" type:"integer"`
16502
16503	// The price in US dollars (e.g., 5.0) of the bundle.
16504	Price *float64 `locationName:"price" type:"float"`
16505
16506	// The amount of RAM in GB (e.g., 2.0).
16507	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
16508
16509	// The operating system platform (Linux/Unix-based or Windows Server-based)
16510	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
16511	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
16512	// bundle.
16513	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
16514
16515	// The data transfer rate per month in GB (e.g., 2000).
16516	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
16517}
16518
16519// String returns the string representation
16520func (s Bundle) String() string {
16521	return awsutil.Prettify(s)
16522}
16523
16524// GoString returns the string representation
16525func (s Bundle) GoString() string {
16526	return s.String()
16527}
16528
16529// SetBundleId sets the BundleId field's value.
16530func (s *Bundle) SetBundleId(v string) *Bundle {
16531	s.BundleId = &v
16532	return s
16533}
16534
16535// SetCpuCount sets the CpuCount field's value.
16536func (s *Bundle) SetCpuCount(v int64) *Bundle {
16537	s.CpuCount = &v
16538	return s
16539}
16540
16541// SetDiskSizeInGb sets the DiskSizeInGb field's value.
16542func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
16543	s.DiskSizeInGb = &v
16544	return s
16545}
16546
16547// SetInstanceType sets the InstanceType field's value.
16548func (s *Bundle) SetInstanceType(v string) *Bundle {
16549	s.InstanceType = &v
16550	return s
16551}
16552
16553// SetIsActive sets the IsActive field's value.
16554func (s *Bundle) SetIsActive(v bool) *Bundle {
16555	s.IsActive = &v
16556	return s
16557}
16558
16559// SetName sets the Name field's value.
16560func (s *Bundle) SetName(v string) *Bundle {
16561	s.Name = &v
16562	return s
16563}
16564
16565// SetPower sets the Power field's value.
16566func (s *Bundle) SetPower(v int64) *Bundle {
16567	s.Power = &v
16568	return s
16569}
16570
16571// SetPrice sets the Price field's value.
16572func (s *Bundle) SetPrice(v float64) *Bundle {
16573	s.Price = &v
16574	return s
16575}
16576
16577// SetRamSizeInGb sets the RamSizeInGb field's value.
16578func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
16579	s.RamSizeInGb = &v
16580	return s
16581}
16582
16583// SetSupportedPlatforms sets the SupportedPlatforms field's value.
16584func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
16585	s.SupportedPlatforms = v
16586	return s
16587}
16588
16589// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
16590func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
16591	s.TransferPerMonthInGb = &v
16592	return s
16593}
16594
16595// Describes the default cache behavior of an Amazon Lightsail content delivery
16596// network (CDN) distribution.
16597type CacheBehavior struct {
16598	_ struct{} `type:"structure"`
16599
16600	// The cache behavior of the distribution.
16601	//
16602	// The following cache behaviors can be specified:
16603	//
16604	//    * cache - This option is best for static sites. When specified, your distribution
16605	//    caches and serves your entire website as static content. This behavior
16606	//    is ideal for websites with static content that doesn't change depending
16607	//    on who views it, or for websites that don't use cookies, headers, or query
16608	//    strings to personalize content.
16609	//
16610	//    * dont-cache - This option is best for sites that serve a mix of static
16611	//    and dynamic content. When specified, your distribution caches and serve
16612	//    only the content that is specified in the distribution's CacheBehaviorPerPath
16613	//    parameter. This behavior is ideal for websites or web applications that
16614	//    use cookies, headers, and query strings to personalize content for individual
16615	//    users.
16616	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
16617}
16618
16619// String returns the string representation
16620func (s CacheBehavior) String() string {
16621	return awsutil.Prettify(s)
16622}
16623
16624// GoString returns the string representation
16625func (s CacheBehavior) GoString() string {
16626	return s.String()
16627}
16628
16629// SetBehavior sets the Behavior field's value.
16630func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior {
16631	s.Behavior = &v
16632	return s
16633}
16634
16635// Describes the per-path cache behavior of an Amazon Lightsail content delivery
16636// network (CDN) distribution.
16637//
16638// A per-path cache behavior is used to override, or add an exception to, the
16639// default cache behavior of a distribution. For example, if the cacheBehavior
16640// is set to cache, then a per-path cache behavior can be used to specify a
16641// directory, file, or file type that your distribution will cache. Alternately,
16642// if the distribution's cacheBehavior is dont-cache, then a per-path cache
16643// behavior can be used to specify a directory, file, or file type that your
16644// distribution will not cache.
16645//
16646// if the cacheBehavior's behavior is set to 'cache', then
16647type CacheBehaviorPerPath struct {
16648	_ struct{} `type:"structure"`
16649
16650	// The cache behavior for the specified path.
16651	//
16652	// You can specify one of the following per-path cache behaviors:
16653	//
16654	//    * cache - This behavior caches the specified path.
16655	//
16656	//    * dont-cache - This behavior doesn't cache the specified path.
16657	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
16658
16659	// The path to a directory or file to cached, or not cache. Use an asterisk
16660	// symbol to specify wildcard directories (path/to/assets/*), and file types
16661	// (*.html, *jpg, *js). Directories and file paths are case-sensitive.
16662	//
16663	// Examples:
16664	//
16665	//    * Specify the following to cache all files in the document root of an
16666	//    Apache web server running on a Lightsail instance. var/www/html/
16667	//
16668	//    * Specify the following file to cache only the index page in the document
16669	//    root of an Apache web server. var/www/html/index.html
16670	//
16671	//    * Specify the following to cache only the .html files in the document
16672	//    root of an Apache web server. var/www/html/*.html
16673	//
16674	//    * Specify the following to cache only the .jpg, .png, and .gif files in
16675	//    the images sub-directory of the document root of an Apache web server.
16676	//    var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif
16677	//    Specify the following to cache all files in the images sub-directory of
16678	//    the document root of an Apache web server. var/www/html/images/
16679	Path *string `locationName:"path" type:"string"`
16680}
16681
16682// String returns the string representation
16683func (s CacheBehaviorPerPath) String() string {
16684	return awsutil.Prettify(s)
16685}
16686
16687// GoString returns the string representation
16688func (s CacheBehaviorPerPath) GoString() string {
16689	return s.String()
16690}
16691
16692// SetBehavior sets the Behavior field's value.
16693func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath {
16694	s.Behavior = &v
16695	return s
16696}
16697
16698// SetPath sets the Path field's value.
16699func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath {
16700	s.Path = &v
16701	return s
16702}
16703
16704// Describes the cache settings of an Amazon Lightsail content delivery network
16705// (CDN) distribution.
16706//
16707// These settings apply only to your distribution's cacheBehaviors (including
16708// the defaultCacheBehavior) that have a behavior of cache.
16709type CacheSettings struct {
16710	_ struct{} `type:"structure"`
16711
16712	// The HTTP methods that are processed and forwarded to the distribution's origin.
16713	//
16714	// You can specify the following options:
16715	//
16716	//    * GET,HEAD - The distribution forwards the GET and HEAD methods.
16717	//
16718	//    * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS
16719	//    methods.
16720	//
16721	//    * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the
16722	//    GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods.
16723	//
16724	// If you specify the third option, you might need to restrict access to your
16725	// distribution's origin so users can't perform operations that you don't want
16726	// them to. For example, you might not want users to have permission to delete
16727	// objects from your origin.
16728	AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"`
16729
16730	// The HTTP method responses that are cached by your distribution.
16731	//
16732	// You can specify the following options:
16733	//
16734	//    * GET,HEAD - The distribution caches responses to the GET and HEAD methods.
16735	//
16736	//    * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD,
16737	//    and OPTIONS methods.
16738	CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"`
16739
16740	// The default amount of time that objects stay in the distribution's cache
16741	// before the distribution forwards another request to the origin to determine
16742	// whether the content has been updated.
16743	//
16744	// The value specified applies only when the origin does not add HTTP headers
16745	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
16746	DefaultTTL *int64 `locationName:"defaultTTL" type:"long"`
16747
16748	// An object that describes the cookies that are forwarded to the origin. Your
16749	// content is cached based on the cookies that are forwarded.
16750	ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"`
16751
16752	// An object that describes the headers that are forwarded to the origin. Your
16753	// content is cached based on the headers that are forwarded.
16754	ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"`
16755
16756	// An object that describes the query strings that are forwarded to the origin.
16757	// Your content is cached based on the query strings that are forwarded.
16758	ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"`
16759
16760	// The maximum amount of time that objects stay in the distribution's cache
16761	// before the distribution forwards another request to the origin to determine
16762	// whether the object has been updated.
16763	//
16764	// The value specified applies only when the origin adds HTTP headers such as
16765	// Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
16766	MaximumTTL *int64 `locationName:"maximumTTL" type:"long"`
16767
16768	// The minimum amount of time that objects stay in the distribution's cache
16769	// before the distribution forwards another request to the origin to determine
16770	// whether the object has been updated.
16771	//
16772	// A value of 0 must be specified for minimumTTL if the distribution is configured
16773	// to forward all headers to the origin.
16774	MinimumTTL *int64 `locationName:"minimumTTL" type:"long"`
16775}
16776
16777// String returns the string representation
16778func (s CacheSettings) String() string {
16779	return awsutil.Prettify(s)
16780}
16781
16782// GoString returns the string representation
16783func (s CacheSettings) GoString() string {
16784	return s.String()
16785}
16786
16787// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value.
16788func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings {
16789	s.AllowedHTTPMethods = &v
16790	return s
16791}
16792
16793// SetCachedHTTPMethods sets the CachedHTTPMethods field's value.
16794func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings {
16795	s.CachedHTTPMethods = &v
16796	return s
16797}
16798
16799// SetDefaultTTL sets the DefaultTTL field's value.
16800func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings {
16801	s.DefaultTTL = &v
16802	return s
16803}
16804
16805// SetForwardedCookies sets the ForwardedCookies field's value.
16806func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings {
16807	s.ForwardedCookies = v
16808	return s
16809}
16810
16811// SetForwardedHeaders sets the ForwardedHeaders field's value.
16812func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings {
16813	s.ForwardedHeaders = v
16814	return s
16815}
16816
16817// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value.
16818func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings {
16819	s.ForwardedQueryStrings = v
16820	return s
16821}
16822
16823// SetMaximumTTL sets the MaximumTTL field's value.
16824func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings {
16825	s.MaximumTTL = &v
16826	return s
16827}
16828
16829// SetMinimumTTL sets the MinimumTTL field's value.
16830func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings {
16831	s.MinimumTTL = &v
16832	return s
16833}
16834
16835// Describes the full details of an Amazon Lightsail SSL/TLS certificate.
16836//
16837// To get a summary of a certificate, use the GetCertificates action and ommit
16838// includeCertificateDetails from your request. The response will include only
16839// the certificate Amazon Resource Name (ARN), certificate name, domain name,
16840// and tags.
16841type Certificate struct {
16842	_ struct{} `type:"structure"`
16843
16844	// The Amazon Resource Name (ARN) of the certificate.
16845	Arn *string `locationName:"arn" type:"string"`
16846
16847	// The timestamp when the certificate was created.
16848	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16849
16850	// The domain name of the certificate.
16851	DomainName *string `locationName:"domainName" type:"string"`
16852
16853	// An array of objects that describe the domain validation records of the certificate.
16854	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
16855
16856	// The renewal eligibility of the certificate.
16857	EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"`
16858
16859	// The number of Lightsail resources that the certificate is attached to.
16860	InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"`
16861
16862	// The timestamp when the certificate was issued.
16863	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
16864
16865	// The certificate authority that issued the certificate.
16866	IssuerCA *string `locationName:"issuerCA" type:"string"`
16867
16868	// The algorithm used to generate the key pair (the public and private key)
16869	// of the certificate.
16870	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
16871
16872	// The name of the certificate (e.g., my-certificate).
16873	Name *string `locationName:"name" type:"string"`
16874
16875	// The timestamp when the certificate expires.
16876	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
16877
16878	// The timestamp when the certificate is first valid.
16879	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
16880
16881	// An object that describes the status of the certificate renewal managed by
16882	// Lightsail.
16883	RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"`
16884
16885	// The validation failure reason, if any, of the certificate.
16886	//
16887	// The following failure reasons are possible:
16888	//
16889	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
16890	//    is not available for Lightsail certificates.
16891	//
16892	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
16893	//    to process this certificate request. This can happen as a fraud-protection
16894	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
16895	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
16896	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
16897	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
16898	//    elasticbeanstalk.com.
16899	//
16900	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
16901	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
16902	//    To correct the problem, search for your domain name on the VirusTotal
16903	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
16904	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
16905	//    to learn what you can do. If you believe that the result is a false positive,
16906	//    notify the organization that is reporting the domain. VirusTotal is an
16907	//    aggregate of several antivirus and URL scanners and cannot remove your
16908	//    domain from a block list itself. After you correct the problem and the
16909	//    VirusTotal registry has been updated, request a new certificate. If you
16910	//    see this error and your domain is not included in the VirusTotal list,
16911	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
16912	//    and create a case.
16913	//
16914	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
16915	//    request is not valid. Typically, this is because a domain name in the
16916	//    request is not a valid top-level domain. Try to request a certificate
16917	//    again, correcting any spelling errors or typos that were in the failed
16918	//    request, and ensure that all domain names in the request are for valid
16919	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
16920	//    because invalidpublicdomain is not a valid top-level domain.
16921	//
16922	//    * OTHER - Typically, this failure occurs when there is a typographical
16923	//    error in one or more of the domain names in the certificate request. Try
16924	//    to request a certificate again, correcting any spelling errors or typos
16925	//    that were in the failed request.
16926	RequestFailureReason *string `locationName:"requestFailureReason" type:"string"`
16927
16928	// The reason the certificate was revoked. This value is present only when the
16929	// certificate status is REVOKED.
16930	RevocationReason *string `locationName:"revocationReason" type:"string"`
16931
16932	// The timestamp when the certificate was revoked. This value is present only
16933	// when the certificate status is REVOKED.
16934	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
16935
16936	// The serial number of the certificate.
16937	SerialNumber *string `locationName:"serialNumber" type:"string"`
16938
16939	// The validation status of the certificate.
16940	Status *string `locationName:"status" type:"string" enum:"CertificateStatus"`
16941
16942	// An array of strings that specify the alternate domains (e.g., example2.com)
16943	// and subdomains (e.g., blog.example.com) of the certificate.
16944	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
16945
16946	// The support code. Include this code in your email to support when you have
16947	// questions about your Lightsail certificate. This code enables our support
16948	// team to look up your Lightsail information more easily.
16949	SupportCode *string `locationName:"supportCode" type:"string"`
16950
16951	// The tag keys and optional values for the resource. For more information about
16952	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
16953	Tags []*Tag `locationName:"tags" type:"list"`
16954}
16955
16956// String returns the string representation
16957func (s Certificate) String() string {
16958	return awsutil.Prettify(s)
16959}
16960
16961// GoString returns the string representation
16962func (s Certificate) GoString() string {
16963	return s.String()
16964}
16965
16966// SetArn sets the Arn field's value.
16967func (s *Certificate) SetArn(v string) *Certificate {
16968	s.Arn = &v
16969	return s
16970}
16971
16972// SetCreatedAt sets the CreatedAt field's value.
16973func (s *Certificate) SetCreatedAt(v time.Time) *Certificate {
16974	s.CreatedAt = &v
16975	return s
16976}
16977
16978// SetDomainName sets the DomainName field's value.
16979func (s *Certificate) SetDomainName(v string) *Certificate {
16980	s.DomainName = &v
16981	return s
16982}
16983
16984// SetDomainValidationRecords sets the DomainValidationRecords field's value.
16985func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate {
16986	s.DomainValidationRecords = v
16987	return s
16988}
16989
16990// SetEligibleToRenew sets the EligibleToRenew field's value.
16991func (s *Certificate) SetEligibleToRenew(v string) *Certificate {
16992	s.EligibleToRenew = &v
16993	return s
16994}
16995
16996// SetInUseResourceCount sets the InUseResourceCount field's value.
16997func (s *Certificate) SetInUseResourceCount(v int64) *Certificate {
16998	s.InUseResourceCount = &v
16999	return s
17000}
17001
17002// SetIssuedAt sets the IssuedAt field's value.
17003func (s *Certificate) SetIssuedAt(v time.Time) *Certificate {
17004	s.IssuedAt = &v
17005	return s
17006}
17007
17008// SetIssuerCA sets the IssuerCA field's value.
17009func (s *Certificate) SetIssuerCA(v string) *Certificate {
17010	s.IssuerCA = &v
17011	return s
17012}
17013
17014// SetKeyAlgorithm sets the KeyAlgorithm field's value.
17015func (s *Certificate) SetKeyAlgorithm(v string) *Certificate {
17016	s.KeyAlgorithm = &v
17017	return s
17018}
17019
17020// SetName sets the Name field's value.
17021func (s *Certificate) SetName(v string) *Certificate {
17022	s.Name = &v
17023	return s
17024}
17025
17026// SetNotAfter sets the NotAfter field's value.
17027func (s *Certificate) SetNotAfter(v time.Time) *Certificate {
17028	s.NotAfter = &v
17029	return s
17030}
17031
17032// SetNotBefore sets the NotBefore field's value.
17033func (s *Certificate) SetNotBefore(v time.Time) *Certificate {
17034	s.NotBefore = &v
17035	return s
17036}
17037
17038// SetRenewalSummary sets the RenewalSummary field's value.
17039func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate {
17040	s.RenewalSummary = v
17041	return s
17042}
17043
17044// SetRequestFailureReason sets the RequestFailureReason field's value.
17045func (s *Certificate) SetRequestFailureReason(v string) *Certificate {
17046	s.RequestFailureReason = &v
17047	return s
17048}
17049
17050// SetRevocationReason sets the RevocationReason field's value.
17051func (s *Certificate) SetRevocationReason(v string) *Certificate {
17052	s.RevocationReason = &v
17053	return s
17054}
17055
17056// SetRevokedAt sets the RevokedAt field's value.
17057func (s *Certificate) SetRevokedAt(v time.Time) *Certificate {
17058	s.RevokedAt = &v
17059	return s
17060}
17061
17062// SetSerialNumber sets the SerialNumber field's value.
17063func (s *Certificate) SetSerialNumber(v string) *Certificate {
17064	s.SerialNumber = &v
17065	return s
17066}
17067
17068// SetStatus sets the Status field's value.
17069func (s *Certificate) SetStatus(v string) *Certificate {
17070	s.Status = &v
17071	return s
17072}
17073
17074// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
17075func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate {
17076	s.SubjectAlternativeNames = v
17077	return s
17078}
17079
17080// SetSupportCode sets the SupportCode field's value.
17081func (s *Certificate) SetSupportCode(v string) *Certificate {
17082	s.SupportCode = &v
17083	return s
17084}
17085
17086// SetTags sets the Tags field's value.
17087func (s *Certificate) SetTags(v []*Tag) *Certificate {
17088	s.Tags = v
17089	return s
17090}
17091
17092// Describes an Amazon Lightsail SSL/TLS certificate.
17093type CertificateSummary struct {
17094	_ struct{} `type:"structure"`
17095
17096	// The Amazon Resource Name (ARN) of the certificate.
17097	CertificateArn *string `locationName:"certificateArn" type:"string"`
17098
17099	// An object that describes a certificate in detail.
17100	CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"`
17101
17102	// The name of the certificate.
17103	CertificateName *string `locationName:"certificateName" type:"string"`
17104
17105	// The domain name of the certificate.
17106	DomainName *string `locationName:"domainName" type:"string"`
17107
17108	// The tag keys and optional values for the resource. For more information about
17109	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17110	Tags []*Tag `locationName:"tags" type:"list"`
17111}
17112
17113// String returns the string representation
17114func (s CertificateSummary) String() string {
17115	return awsutil.Prettify(s)
17116}
17117
17118// GoString returns the string representation
17119func (s CertificateSummary) GoString() string {
17120	return s.String()
17121}
17122
17123// SetCertificateArn sets the CertificateArn field's value.
17124func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary {
17125	s.CertificateArn = &v
17126	return s
17127}
17128
17129// SetCertificateDetail sets the CertificateDetail field's value.
17130func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary {
17131	s.CertificateDetail = v
17132	return s
17133}
17134
17135// SetCertificateName sets the CertificateName field's value.
17136func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary {
17137	s.CertificateName = &v
17138	return s
17139}
17140
17141// SetDomainName sets the DomainName field's value.
17142func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary {
17143	s.DomainName = &v
17144	return s
17145}
17146
17147// SetTags sets the Tags field's value.
17148func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary {
17149	s.Tags = v
17150	return s
17151}
17152
17153type CloseInstancePublicPortsInput struct {
17154	_ struct{} `type:"structure"`
17155
17156	// The name of the instance for which to close ports.
17157	//
17158	// InstanceName is a required field
17159	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17160
17161	// An object to describe the ports to close for the specified instance.
17162	//
17163	// PortInfo is a required field
17164	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
17165}
17166
17167// String returns the string representation
17168func (s CloseInstancePublicPortsInput) String() string {
17169	return awsutil.Prettify(s)
17170}
17171
17172// GoString returns the string representation
17173func (s CloseInstancePublicPortsInput) GoString() string {
17174	return s.String()
17175}
17176
17177// Validate inspects the fields of the type to determine if they are valid.
17178func (s *CloseInstancePublicPortsInput) Validate() error {
17179	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
17180	if s.InstanceName == nil {
17181		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17182	}
17183	if s.PortInfo == nil {
17184		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
17185	}
17186	if s.PortInfo != nil {
17187		if err := s.PortInfo.Validate(); err != nil {
17188			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
17189		}
17190	}
17191
17192	if invalidParams.Len() > 0 {
17193		return invalidParams
17194	}
17195	return nil
17196}
17197
17198// SetInstanceName sets the InstanceName field's value.
17199func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
17200	s.InstanceName = &v
17201	return s
17202}
17203
17204// SetPortInfo sets the PortInfo field's value.
17205func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
17206	s.PortInfo = v
17207	return s
17208}
17209
17210type CloseInstancePublicPortsOutput struct {
17211	_ struct{} `type:"structure"`
17212
17213	// An object that describes the result of the action, such as the status of
17214	// the request, the timestamp of the request, and the resources affected by
17215	// the request.
17216	Operation *Operation `locationName:"operation" type:"structure"`
17217}
17218
17219// String returns the string representation
17220func (s CloseInstancePublicPortsOutput) String() string {
17221	return awsutil.Prettify(s)
17222}
17223
17224// GoString returns the string representation
17225func (s CloseInstancePublicPortsOutput) GoString() string {
17226	return s.String()
17227}
17228
17229// SetOperation sets the Operation field's value.
17230func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
17231	s.Operation = v
17232	return s
17233}
17234
17235// Describes a CloudFormation stack record created as a result of the create
17236// cloud formation stack operation.
17237//
17238// A CloudFormation stack record provides information about the AWS CloudFormation
17239// stack used to create a new Amazon Elastic Compute Cloud instance from an
17240// exported Lightsail instance snapshot.
17241type CloudFormationStackRecord struct {
17242	_ struct{} `type:"structure"`
17243
17244	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
17245	Arn *string `locationName:"arn" type:"string"`
17246
17247	// The date when the CloudFormation stack record was created.
17248	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17249
17250	// A list of objects describing the destination service, which is AWS CloudFormation,
17251	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
17252	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
17253
17254	// A list of objects describing the Availability Zone and AWS Region of the
17255	// CloudFormation stack record.
17256	Location *ResourceLocation `locationName:"location" type:"structure"`
17257
17258	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
17259	// followed by a GUID.
17260	Name *string `locationName:"name" type:"string"`
17261
17262	// The Lightsail resource type (e.g., CloudFormationStackRecord).
17263	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17264
17265	// A list of objects describing the source of the CloudFormation stack record.
17266	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
17267
17268	// The current state of the CloudFormation stack record.
17269	State *string `locationName:"state" type:"string" enum:"RecordState"`
17270}
17271
17272// String returns the string representation
17273func (s CloudFormationStackRecord) String() string {
17274	return awsutil.Prettify(s)
17275}
17276
17277// GoString returns the string representation
17278func (s CloudFormationStackRecord) GoString() string {
17279	return s.String()
17280}
17281
17282// SetArn sets the Arn field's value.
17283func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
17284	s.Arn = &v
17285	return s
17286}
17287
17288// SetCreatedAt sets the CreatedAt field's value.
17289func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
17290	s.CreatedAt = &v
17291	return s
17292}
17293
17294// SetDestinationInfo sets the DestinationInfo field's value.
17295func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
17296	s.DestinationInfo = v
17297	return s
17298}
17299
17300// SetLocation sets the Location field's value.
17301func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
17302	s.Location = v
17303	return s
17304}
17305
17306// SetName sets the Name field's value.
17307func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
17308	s.Name = &v
17309	return s
17310}
17311
17312// SetResourceType sets the ResourceType field's value.
17313func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
17314	s.ResourceType = &v
17315	return s
17316}
17317
17318// SetSourceInfo sets the SourceInfo field's value.
17319func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
17320	s.SourceInfo = v
17321	return s
17322}
17323
17324// SetState sets the State field's value.
17325func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
17326	s.State = &v
17327	return s
17328}
17329
17330// Describes the source of a CloudFormation stack record (i.e., the export snapshot
17331// record).
17332type CloudFormationStackRecordSourceInfo struct {
17333	_ struct{} `type:"structure"`
17334
17335	// The Amazon Resource Name (ARN) of the export snapshot record.
17336	Arn *string `locationName:"arn" type:"string"`
17337
17338	// The name of the record.
17339	Name *string `locationName:"name" type:"string"`
17340
17341	// The Lightsail resource type (e.g., ExportSnapshotRecord).
17342	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
17343}
17344
17345// String returns the string representation
17346func (s CloudFormationStackRecordSourceInfo) String() string {
17347	return awsutil.Prettify(s)
17348}
17349
17350// GoString returns the string representation
17351func (s CloudFormationStackRecordSourceInfo) GoString() string {
17352	return s.String()
17353}
17354
17355// SetArn sets the Arn field's value.
17356func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
17357	s.Arn = &v
17358	return s
17359}
17360
17361// SetName sets the Name field's value.
17362func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
17363	s.Name = &v
17364	return s
17365}
17366
17367// SetResourceType sets the ResourceType field's value.
17368func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
17369	s.ResourceType = &v
17370	return s
17371}
17372
17373// Describes a contact method.
17374//
17375// A contact method is a way to send you notifications. For more information,
17376// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
17377type ContactMethod struct {
17378	_ struct{} `type:"structure"`
17379
17380	// The Amazon Resource Name (ARN) of the contact method.
17381	Arn *string `locationName:"arn" type:"string"`
17382
17383	// The destination of the contact method, such as an email address or a mobile
17384	// phone number.
17385	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
17386
17387	// The timestamp when the contact method was created.
17388	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17389
17390	// Describes the resource location.
17391	Location *ResourceLocation `locationName:"location" type:"structure"`
17392
17393	// The name of the contact method.
17394	Name *string `locationName:"name" type:"string"`
17395
17396	// The protocol of the contact method, such as email or SMS (text messaging).
17397	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
17398
17399	// The Lightsail resource type (e.g., ContactMethod).
17400	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17401
17402	// The current status of the contact method.
17403	//
17404	// A contact method has the following possible status:
17405	//
17406	//    * PendingVerification - The contact method has not yet been verified,
17407	//    and the verification has not yet expired.
17408	//
17409	//    * Valid - The contact method has been verified.
17410	//
17411	//    * InValid - An attempt was made to verify the contact method, but the
17412	//    verification has expired.
17413	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
17414
17415	// The support code. Include this code in your email to support when you have
17416	// questions about your Lightsail contact method. This code enables our support
17417	// team to look up your Lightsail information more easily.
17418	SupportCode *string `locationName:"supportCode" type:"string"`
17419}
17420
17421// String returns the string representation
17422func (s ContactMethod) String() string {
17423	return awsutil.Prettify(s)
17424}
17425
17426// GoString returns the string representation
17427func (s ContactMethod) GoString() string {
17428	return s.String()
17429}
17430
17431// SetArn sets the Arn field's value.
17432func (s *ContactMethod) SetArn(v string) *ContactMethod {
17433	s.Arn = &v
17434	return s
17435}
17436
17437// SetContactEndpoint sets the ContactEndpoint field's value.
17438func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
17439	s.ContactEndpoint = &v
17440	return s
17441}
17442
17443// SetCreatedAt sets the CreatedAt field's value.
17444func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
17445	s.CreatedAt = &v
17446	return s
17447}
17448
17449// SetLocation sets the Location field's value.
17450func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
17451	s.Location = v
17452	return s
17453}
17454
17455// SetName sets the Name field's value.
17456func (s *ContactMethod) SetName(v string) *ContactMethod {
17457	s.Name = &v
17458	return s
17459}
17460
17461// SetProtocol sets the Protocol field's value.
17462func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
17463	s.Protocol = &v
17464	return s
17465}
17466
17467// SetResourceType sets the ResourceType field's value.
17468func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
17469	s.ResourceType = &v
17470	return s
17471}
17472
17473// SetStatus sets the Status field's value.
17474func (s *ContactMethod) SetStatus(v string) *ContactMethod {
17475	s.Status = &v
17476	return s
17477}
17478
17479// SetSupportCode sets the SupportCode field's value.
17480func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
17481	s.SupportCode = &v
17482	return s
17483}
17484
17485// Describes the settings of a container that will be launched, or that is launched,
17486// to an Amazon Lightsail container service.
17487type Container struct {
17488	_ struct{} `type:"structure"`
17489
17490	// The launch command for the container.
17491	Command []*string `locationName:"command" type:"list"`
17492
17493	// The environment variables of the container.
17494	Environment map[string]*string `locationName:"environment" type:"map"`
17495
17496	// The name of the image used for the container.
17497	//
17498	// Container images sourced from your Lightsail container service, that are
17499	// registered and stored on your service, start with a colon (:). For example,
17500	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
17501	// registry like Docker Hub don't start with a colon. For example, nginx:latest
17502	// or nginx.
17503	Image *string `locationName:"image" type:"string"`
17504
17505	// The open firewall ports of the container.
17506	Ports map[string]*string `locationName:"ports" type:"map"`
17507}
17508
17509// String returns the string representation
17510func (s Container) String() string {
17511	return awsutil.Prettify(s)
17512}
17513
17514// GoString returns the string representation
17515func (s Container) GoString() string {
17516	return s.String()
17517}
17518
17519// SetCommand sets the Command field's value.
17520func (s *Container) SetCommand(v []*string) *Container {
17521	s.Command = v
17522	return s
17523}
17524
17525// SetEnvironment sets the Environment field's value.
17526func (s *Container) SetEnvironment(v map[string]*string) *Container {
17527	s.Environment = v
17528	return s
17529}
17530
17531// SetImage sets the Image field's value.
17532func (s *Container) SetImage(v string) *Container {
17533	s.Image = &v
17534	return s
17535}
17536
17537// SetPorts sets the Ports field's value.
17538func (s *Container) SetPorts(v map[string]*string) *Container {
17539	s.Ports = v
17540	return s
17541}
17542
17543// Describes a container image that is registered to an Amazon Lightsail container
17544// service.
17545type ContainerImage struct {
17546	_ struct{} `type:"structure"`
17547
17548	// The timestamp when the container image was created.
17549	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17550
17551	// The digest of the container image.
17552	Digest *string `locationName:"digest" type:"string"`
17553
17554	// The name of the container image.
17555	Image *string `locationName:"image" type:"string"`
17556}
17557
17558// String returns the string representation
17559func (s ContainerImage) String() string {
17560	return awsutil.Prettify(s)
17561}
17562
17563// GoString returns the string representation
17564func (s ContainerImage) GoString() string {
17565	return s.String()
17566}
17567
17568// SetCreatedAt sets the CreatedAt field's value.
17569func (s *ContainerImage) SetCreatedAt(v time.Time) *ContainerImage {
17570	s.CreatedAt = &v
17571	return s
17572}
17573
17574// SetDigest sets the Digest field's value.
17575func (s *ContainerImage) SetDigest(v string) *ContainerImage {
17576	s.Digest = &v
17577	return s
17578}
17579
17580// SetImage sets the Image field's value.
17581func (s *ContainerImage) SetImage(v string) *ContainerImage {
17582	s.Image = &v
17583	return s
17584}
17585
17586// Describes an Amazon Lightsail container service.
17587type ContainerService struct {
17588	_ struct{} `type:"structure"`
17589
17590	// The Amazon Resource Name (ARN) of the container service.
17591	Arn *string `locationName:"arn" type:"string"`
17592
17593	// The name of the container service.
17594	ContainerServiceName *string `locationName:"containerServiceName" min:"1" type:"string"`
17595
17596	// The timestamp when the container service was created.
17597	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17598
17599	// An object that describes the current container deployment of the container
17600	// service.
17601	CurrentDeployment *ContainerServiceDeployment `locationName:"currentDeployment" type:"structure"`
17602
17603	// A Boolean value indicating whether the container service is disabled.
17604	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
17605
17606	// An object that describes the location of the container service, such as the
17607	// AWS Region and Availability Zone.
17608	Location *ResourceLocation `locationName:"location" type:"structure"`
17609
17610	// An object that describes the next deployment of the container service.
17611	//
17612	// This value is null when there is no deployment in a pending state.
17613	NextDeployment *ContainerServiceDeployment `locationName:"nextDeployment" type:"structure"`
17614
17615	// The power specification of the container service.
17616	//
17617	// The power specifies the amount of RAM, the number of vCPUs, and the base
17618	// price of the container service.
17619	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
17620
17621	// The ID of the power of the container service.
17622	PowerId *string `locationName:"powerId" type:"string"`
17623
17624	// The principal ARN of the container service.
17625	//
17626	// The principal ARN can be used to create a trust relationship between your
17627	// standard AWS account and your Lightsail container service. This allows you
17628	// to give your service permission to access resources in your standard AWS
17629	// account.
17630	PrincipalArn *string `locationName:"principalArn" type:"string"`
17631
17632	// The private domain name of the container service.
17633	//
17634	// The private domain name is accessible only by other resources within the
17635	// default virtual private cloud (VPC) of your Lightsail account.
17636	PrivateDomainName *string `locationName:"privateDomainName" type:"string"`
17637
17638	// The public domain name of the container service, such as example.com and
17639	// www.example.com.
17640	//
17641	// You can specify up to four public domain names for a container service. The
17642	// domain names that you specify are used when you create a deployment with
17643	// a container configured as the public endpoint of your container service.
17644	//
17645	// If you don't specify public domain names, then you can use the default domain
17646	// of the container service.
17647	//
17648	// You must create and validate an SSL/TLS certificate before you can use public
17649	// domain names with your container service. Use the CreateCertificate action
17650	// to create a certificate for the public domain names you want to use with
17651	// your container service.
17652	//
17653	// See CreateContainerService or UpdateContainerService for information about
17654	// how to specify public domain names for your Lightsail container service.
17655	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
17656
17657	// The Lightsail resource type of the container service (i.e., ContainerService).
17658	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
17659
17660	// The scale specification of the container service.
17661	//
17662	// The scale specifies the allocated compute nodes of the container service.
17663	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
17664
17665	// The current state of the container service.
17666	//
17667	// The state can be:
17668	//
17669	//    * Pending - The container service is being created.
17670	//
17671	//    * Ready - The container service is created but does not have a container
17672	//    deployment.
17673	//
17674	//    * Disabled - The container service is disabled.
17675	//
17676	//    * Updating - The container service capacity or other setting is being
17677	//    updated.
17678	//
17679	//    * Deploying - The container service is launching a container deployment.
17680	//
17681	//    * Running - The container service is created and it has a container deployment.
17682	State *string `locationName:"state" type:"string" enum:"ContainerServiceState"`
17683
17684	// The tag keys and optional values for the resource. For more information about
17685	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17686	Tags []*Tag `locationName:"tags" type:"list"`
17687
17688	// The publicly accessible URL of the container service.
17689	//
17690	// If no public endpoint is specified in the currentDeployment, this URL returns
17691	// a 404 response.
17692	Url *string `locationName:"url" type:"string"`
17693}
17694
17695// String returns the string representation
17696func (s ContainerService) String() string {
17697	return awsutil.Prettify(s)
17698}
17699
17700// GoString returns the string representation
17701func (s ContainerService) GoString() string {
17702	return s.String()
17703}
17704
17705// SetArn sets the Arn field's value.
17706func (s *ContainerService) SetArn(v string) *ContainerService {
17707	s.Arn = &v
17708	return s
17709}
17710
17711// SetContainerServiceName sets the ContainerServiceName field's value.
17712func (s *ContainerService) SetContainerServiceName(v string) *ContainerService {
17713	s.ContainerServiceName = &v
17714	return s
17715}
17716
17717// SetCreatedAt sets the CreatedAt field's value.
17718func (s *ContainerService) SetCreatedAt(v time.Time) *ContainerService {
17719	s.CreatedAt = &v
17720	return s
17721}
17722
17723// SetCurrentDeployment sets the CurrentDeployment field's value.
17724func (s *ContainerService) SetCurrentDeployment(v *ContainerServiceDeployment) *ContainerService {
17725	s.CurrentDeployment = v
17726	return s
17727}
17728
17729// SetIsDisabled sets the IsDisabled field's value.
17730func (s *ContainerService) SetIsDisabled(v bool) *ContainerService {
17731	s.IsDisabled = &v
17732	return s
17733}
17734
17735// SetLocation sets the Location field's value.
17736func (s *ContainerService) SetLocation(v *ResourceLocation) *ContainerService {
17737	s.Location = v
17738	return s
17739}
17740
17741// SetNextDeployment sets the NextDeployment field's value.
17742func (s *ContainerService) SetNextDeployment(v *ContainerServiceDeployment) *ContainerService {
17743	s.NextDeployment = v
17744	return s
17745}
17746
17747// SetPower sets the Power field's value.
17748func (s *ContainerService) SetPower(v string) *ContainerService {
17749	s.Power = &v
17750	return s
17751}
17752
17753// SetPowerId sets the PowerId field's value.
17754func (s *ContainerService) SetPowerId(v string) *ContainerService {
17755	s.PowerId = &v
17756	return s
17757}
17758
17759// SetPrincipalArn sets the PrincipalArn field's value.
17760func (s *ContainerService) SetPrincipalArn(v string) *ContainerService {
17761	s.PrincipalArn = &v
17762	return s
17763}
17764
17765// SetPrivateDomainName sets the PrivateDomainName field's value.
17766func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService {
17767	s.PrivateDomainName = &v
17768	return s
17769}
17770
17771// SetPublicDomainNames sets the PublicDomainNames field's value.
17772func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService {
17773	s.PublicDomainNames = v
17774	return s
17775}
17776
17777// SetResourceType sets the ResourceType field's value.
17778func (s *ContainerService) SetResourceType(v string) *ContainerService {
17779	s.ResourceType = &v
17780	return s
17781}
17782
17783// SetScale sets the Scale field's value.
17784func (s *ContainerService) SetScale(v int64) *ContainerService {
17785	s.Scale = &v
17786	return s
17787}
17788
17789// SetState sets the State field's value.
17790func (s *ContainerService) SetState(v string) *ContainerService {
17791	s.State = &v
17792	return s
17793}
17794
17795// SetTags sets the Tags field's value.
17796func (s *ContainerService) SetTags(v []*Tag) *ContainerService {
17797	s.Tags = v
17798	return s
17799}
17800
17801// SetUrl sets the Url field's value.
17802func (s *ContainerService) SetUrl(v string) *ContainerService {
17803	s.Url = &v
17804	return s
17805}
17806
17807// Describes a container deployment configuration of an Amazon Lightsail container
17808// service.
17809//
17810// A deployment specifies the settings, such as the ports and launch command,
17811// of containers that are deployed to your container service.
17812type ContainerServiceDeployment struct {
17813	_ struct{} `type:"structure"`
17814
17815	// An object that describes the configuration for the containers of the deployment.
17816	Containers map[string]*Container `locationName:"containers" type:"map"`
17817
17818	// The timestamp when the deployment was created.
17819	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17820
17821	// An object that describes the endpoint of the deployment.
17822	PublicEndpoint *ContainerServiceEndpoint `locationName:"publicEndpoint" type:"structure"`
17823
17824	// The state of the deployment.
17825	//
17826	// A deployment can be in one of the following states:
17827	//
17828	//    * Activating - The deployment is being created.
17829	//
17830	//    * Active - The deployment was successfully created, and it's currently
17831	//    running on the container service. The container service can have only
17832	//    one deployment in an active state at a time.
17833	//
17834	//    * Inactive - The deployment was previously successfully created, but it
17835	//    is not currently running on the container service.
17836	//
17837	//    * Failed - The deployment failed. Use the GetContainerLog action to view
17838	//    the log events for the containers in the deployment to try to determine
17839	//    the reason for the failure.
17840	State *string `locationName:"state" type:"string" enum:"ContainerServiceDeploymentState"`
17841
17842	// The version number of the deployment.
17843	Version *int64 `locationName:"version" type:"integer"`
17844}
17845
17846// String returns the string representation
17847func (s ContainerServiceDeployment) String() string {
17848	return awsutil.Prettify(s)
17849}
17850
17851// GoString returns the string representation
17852func (s ContainerServiceDeployment) GoString() string {
17853	return s.String()
17854}
17855
17856// SetContainers sets the Containers field's value.
17857func (s *ContainerServiceDeployment) SetContainers(v map[string]*Container) *ContainerServiceDeployment {
17858	s.Containers = v
17859	return s
17860}
17861
17862// SetCreatedAt sets the CreatedAt field's value.
17863func (s *ContainerServiceDeployment) SetCreatedAt(v time.Time) *ContainerServiceDeployment {
17864	s.CreatedAt = &v
17865	return s
17866}
17867
17868// SetPublicEndpoint sets the PublicEndpoint field's value.
17869func (s *ContainerServiceDeployment) SetPublicEndpoint(v *ContainerServiceEndpoint) *ContainerServiceDeployment {
17870	s.PublicEndpoint = v
17871	return s
17872}
17873
17874// SetState sets the State field's value.
17875func (s *ContainerServiceDeployment) SetState(v string) *ContainerServiceDeployment {
17876	s.State = &v
17877	return s
17878}
17879
17880// SetVersion sets the Version field's value.
17881func (s *ContainerServiceDeployment) SetVersion(v int64) *ContainerServiceDeployment {
17882	s.Version = &v
17883	return s
17884}
17885
17886// Describes a container deployment configuration of an Amazon Lightsail container
17887// service.
17888//
17889// A deployment specifies the settings, such as the ports and launch command,
17890// of containers that are deployed to your container service.
17891type ContainerServiceDeploymentRequest struct {
17892	_ struct{} `type:"structure"`
17893
17894	// An object that describes the configuration for the containers of the deployment.
17895	Containers map[string]*Container `locationName:"containers" type:"map"`
17896
17897	// An object that describes the endpoint of the deployment.
17898	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
17899}
17900
17901// String returns the string representation
17902func (s ContainerServiceDeploymentRequest) String() string {
17903	return awsutil.Prettify(s)
17904}
17905
17906// GoString returns the string representation
17907func (s ContainerServiceDeploymentRequest) GoString() string {
17908	return s.String()
17909}
17910
17911// Validate inspects the fields of the type to determine if they are valid.
17912func (s *ContainerServiceDeploymentRequest) Validate() error {
17913	invalidParams := request.ErrInvalidParams{Context: "ContainerServiceDeploymentRequest"}
17914	if s.PublicEndpoint != nil {
17915		if err := s.PublicEndpoint.Validate(); err != nil {
17916			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
17917		}
17918	}
17919
17920	if invalidParams.Len() > 0 {
17921		return invalidParams
17922	}
17923	return nil
17924}
17925
17926// SetContainers sets the Containers field's value.
17927func (s *ContainerServiceDeploymentRequest) SetContainers(v map[string]*Container) *ContainerServiceDeploymentRequest {
17928	s.Containers = v
17929	return s
17930}
17931
17932// SetPublicEndpoint sets the PublicEndpoint field's value.
17933func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest) *ContainerServiceDeploymentRequest {
17934	s.PublicEndpoint = v
17935	return s
17936}
17937
17938// Describes the public endpoint configuration of a deployment of an Amazon
17939// Lightsail container service.
17940type ContainerServiceEndpoint struct {
17941	_ struct{} `type:"structure"`
17942
17943	// The name of the container entry of the deployment that the endpoint configuration
17944	// applies to.
17945	ContainerName *string `locationName:"containerName" type:"string"`
17946
17947	// The port of the specified container to which traffic is forwarded to.
17948	ContainerPort *int64 `locationName:"containerPort" type:"integer"`
17949
17950	// An object that describes the health check configuration of the container.
17951	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
17952}
17953
17954// String returns the string representation
17955func (s ContainerServiceEndpoint) String() string {
17956	return awsutil.Prettify(s)
17957}
17958
17959// GoString returns the string representation
17960func (s ContainerServiceEndpoint) GoString() string {
17961	return s.String()
17962}
17963
17964// SetContainerName sets the ContainerName field's value.
17965func (s *ContainerServiceEndpoint) SetContainerName(v string) *ContainerServiceEndpoint {
17966	s.ContainerName = &v
17967	return s
17968}
17969
17970// SetContainerPort sets the ContainerPort field's value.
17971func (s *ContainerServiceEndpoint) SetContainerPort(v int64) *ContainerServiceEndpoint {
17972	s.ContainerPort = &v
17973	return s
17974}
17975
17976// SetHealthCheck sets the HealthCheck field's value.
17977func (s *ContainerServiceEndpoint) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *ContainerServiceEndpoint {
17978	s.HealthCheck = v
17979	return s
17980}
17981
17982// Describes the health check configuration of an Amazon Lightsail container
17983// service.
17984type ContainerServiceHealthCheckConfig struct {
17985	_ struct{} `type:"structure"`
17986
17987	// The number of consecutive health checks successes required before moving
17988	// the container to the Healthy state. The default value is 2.
17989	HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"`
17990
17991	// The approximate interval, in seconds, between health checks of an individual
17992	// container. You can specify between 5 and 300 seconds. The default value is
17993	// 5.
17994	IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"`
17995
17996	// The path on the container on which to perform the health check. The default
17997	// value is /.
17998	Path *string `locationName:"path" type:"string"`
17999
18000	// The HTTP codes to use when checking for a successful response from a container.
18001	// You can specify values between 200 and 499.
18002	SuccessCodes *string `locationName:"successCodes" type:"string"`
18003
18004	// The amount of time, in seconds, during which no response means a failed health
18005	// check. You can specify between 2 and 60 seconds. The default value is 2.
18006	TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"`
18007
18008	// The number of consecutive health check failures required before moving the
18009	// container to the Unhealthy state. The default value is 2.
18010	UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"`
18011}
18012
18013// String returns the string representation
18014func (s ContainerServiceHealthCheckConfig) String() string {
18015	return awsutil.Prettify(s)
18016}
18017
18018// GoString returns the string representation
18019func (s ContainerServiceHealthCheckConfig) GoString() string {
18020	return s.String()
18021}
18022
18023// SetHealthyThreshold sets the HealthyThreshold field's value.
18024func (s *ContainerServiceHealthCheckConfig) SetHealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
18025	s.HealthyThreshold = &v
18026	return s
18027}
18028
18029// SetIntervalSeconds sets the IntervalSeconds field's value.
18030func (s *ContainerServiceHealthCheckConfig) SetIntervalSeconds(v int64) *ContainerServiceHealthCheckConfig {
18031	s.IntervalSeconds = &v
18032	return s
18033}
18034
18035// SetPath sets the Path field's value.
18036func (s *ContainerServiceHealthCheckConfig) SetPath(v string) *ContainerServiceHealthCheckConfig {
18037	s.Path = &v
18038	return s
18039}
18040
18041// SetSuccessCodes sets the SuccessCodes field's value.
18042func (s *ContainerServiceHealthCheckConfig) SetSuccessCodes(v string) *ContainerServiceHealthCheckConfig {
18043	s.SuccessCodes = &v
18044	return s
18045}
18046
18047// SetTimeoutSeconds sets the TimeoutSeconds field's value.
18048func (s *ContainerServiceHealthCheckConfig) SetTimeoutSeconds(v int64) *ContainerServiceHealthCheckConfig {
18049	s.TimeoutSeconds = &v
18050	return s
18051}
18052
18053// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
18054func (s *ContainerServiceHealthCheckConfig) SetUnhealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
18055	s.UnhealthyThreshold = &v
18056	return s
18057}
18058
18059// Describes the log events of a container of an Amazon Lightsail container
18060// service.
18061type ContainerServiceLogEvent struct {
18062	_ struct{} `type:"structure"`
18063
18064	// The timestamp when the container service log event was created.
18065	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18066
18067	// The message of the container service log event.
18068	Message *string `locationName:"message" type:"string"`
18069}
18070
18071// String returns the string representation
18072func (s ContainerServiceLogEvent) String() string {
18073	return awsutil.Prettify(s)
18074}
18075
18076// GoString returns the string representation
18077func (s ContainerServiceLogEvent) GoString() string {
18078	return s.String()
18079}
18080
18081// SetCreatedAt sets the CreatedAt field's value.
18082func (s *ContainerServiceLogEvent) SetCreatedAt(v time.Time) *ContainerServiceLogEvent {
18083	s.CreatedAt = &v
18084	return s
18085}
18086
18087// SetMessage sets the Message field's value.
18088func (s *ContainerServiceLogEvent) SetMessage(v string) *ContainerServiceLogEvent {
18089	s.Message = &v
18090	return s
18091}
18092
18093// Describes the powers that can be specified for an Amazon Lightsail container
18094// service.
18095//
18096// The power specifies the amount of RAM, the number of vCPUs, and the base
18097// price of the container service.
18098type ContainerServicePower struct {
18099	_ struct{} `type:"structure"`
18100
18101	// The number of vCPUs included in the power.
18102	CpuCount *float64 `locationName:"cpuCount" type:"float"`
18103
18104	// A Boolean value indicating whether the power is active and can be specified
18105	// for container services.
18106	IsActive *bool `locationName:"isActive" type:"boolean"`
18107
18108	// The friendly name of the power (e.g., nano).
18109	Name *string `locationName:"name" type:"string"`
18110
18111	// The ID of the power (e.g., nano-1).
18112	PowerId *string `locationName:"powerId" type:"string"`
18113
18114	// The monthly price of the power in USD.
18115	Price *float64 `locationName:"price" type:"float"`
18116
18117	// The amount of RAM (in GB) of the power.
18118	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
18119}
18120
18121// String returns the string representation
18122func (s ContainerServicePower) String() string {
18123	return awsutil.Prettify(s)
18124}
18125
18126// GoString returns the string representation
18127func (s ContainerServicePower) GoString() string {
18128	return s.String()
18129}
18130
18131// SetCpuCount sets the CpuCount field's value.
18132func (s *ContainerServicePower) SetCpuCount(v float64) *ContainerServicePower {
18133	s.CpuCount = &v
18134	return s
18135}
18136
18137// SetIsActive sets the IsActive field's value.
18138func (s *ContainerServicePower) SetIsActive(v bool) *ContainerServicePower {
18139	s.IsActive = &v
18140	return s
18141}
18142
18143// SetName sets the Name field's value.
18144func (s *ContainerServicePower) SetName(v string) *ContainerServicePower {
18145	s.Name = &v
18146	return s
18147}
18148
18149// SetPowerId sets the PowerId field's value.
18150func (s *ContainerServicePower) SetPowerId(v string) *ContainerServicePower {
18151	s.PowerId = &v
18152	return s
18153}
18154
18155// SetPrice sets the Price field's value.
18156func (s *ContainerServicePower) SetPrice(v float64) *ContainerServicePower {
18157	s.Price = &v
18158	return s
18159}
18160
18161// SetRamSizeInGb sets the RamSizeInGb field's value.
18162func (s *ContainerServicePower) SetRamSizeInGb(v float64) *ContainerServicePower {
18163	s.RamSizeInGb = &v
18164	return s
18165}
18166
18167// Describes the login information for the container image registry of an Amazon
18168// Lightsail account.
18169type ContainerServiceRegistryLogin struct {
18170	_ struct{} `type:"structure"`
18171
18172	// The timestamp of when the container image registry username and password
18173	// expire.
18174	//
18175	// The log in credentials expire 12 hours after they are created, at which point
18176	// you will need to create a new set of log in credentials using the CreateContainerServiceRegistryLogin
18177	// action.
18178	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
18179
18180	// The container service registry password to use to push container images to
18181	// the container image registry of a Lightsail account
18182	Password *string `locationName:"password" type:"string"`
18183
18184	// The address to use to push container images to the container image registry
18185	// of a Lightsail account.
18186	Registry *string `locationName:"registry" type:"string"`
18187
18188	// The container service registry username to use to push container images to
18189	// the container image registry of a Lightsail account.
18190	Username *string `locationName:"username" type:"string"`
18191}
18192
18193// String returns the string representation
18194func (s ContainerServiceRegistryLogin) String() string {
18195	return awsutil.Prettify(s)
18196}
18197
18198// GoString returns the string representation
18199func (s ContainerServiceRegistryLogin) GoString() string {
18200	return s.String()
18201}
18202
18203// SetExpiresAt sets the ExpiresAt field's value.
18204func (s *ContainerServiceRegistryLogin) SetExpiresAt(v time.Time) *ContainerServiceRegistryLogin {
18205	s.ExpiresAt = &v
18206	return s
18207}
18208
18209// SetPassword sets the Password field's value.
18210func (s *ContainerServiceRegistryLogin) SetPassword(v string) *ContainerServiceRegistryLogin {
18211	s.Password = &v
18212	return s
18213}
18214
18215// SetRegistry sets the Registry field's value.
18216func (s *ContainerServiceRegistryLogin) SetRegistry(v string) *ContainerServiceRegistryLogin {
18217	s.Registry = &v
18218	return s
18219}
18220
18221// SetUsername sets the Username field's value.
18222func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceRegistryLogin {
18223	s.Username = &v
18224	return s
18225}
18226
18227// Describes whether an Amazon Lightsail content delivery network (CDN) distribution
18228// forwards cookies to the origin and, if so, which ones.
18229//
18230// For the cookies that you specify, your distribution caches separate versions
18231// of the specified content based on the cookie values in viewer requests.
18232type CookieObject struct {
18233	_ struct{} `type:"structure"`
18234
18235	// The specific cookies to forward to your distribution's origin.
18236	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
18237
18238	// Specifies which cookies to forward to the distribution's origin for a cache
18239	// behavior: all, none, or allow-list to forward only the cookies specified
18240	// in the cookiesAllowList parameter.
18241	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
18242}
18243
18244// String returns the string representation
18245func (s CookieObject) String() string {
18246	return awsutil.Prettify(s)
18247}
18248
18249// GoString returns the string representation
18250func (s CookieObject) GoString() string {
18251	return s.String()
18252}
18253
18254// SetCookiesAllowList sets the CookiesAllowList field's value.
18255func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
18256	s.CookiesAllowList = v
18257	return s
18258}
18259
18260// SetOption sets the Option field's value.
18261func (s *CookieObject) SetOption(v string) *CookieObject {
18262	s.Option = &v
18263	return s
18264}
18265
18266type CopySnapshotInput struct {
18267	_ struct{} `type:"structure"`
18268
18269	// The date of the source automatic snapshot to copy. Use the get auto snapshots
18270	// operation to identify the dates of the available automatic snapshots.
18271	//
18272	// Constraints:
18273	//
18274	//    * Must be specified in YYYY-MM-DD format.
18275	//
18276	//    * This parameter cannot be defined together with the use latest restorable
18277	//    auto snapshot parameter. The restore date and use latest restorable auto
18278	//    snapshot parameters are mutually exclusive.
18279	//
18280	//    * Define this parameter only when copying an automatic snapshot as a manual
18281	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18282	RestoreDate *string `locationName:"restoreDate" type:"string"`
18283
18284	// The AWS Region where the source manual or automatic snapshot is located.
18285	//
18286	// SourceRegion is a required field
18287	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
18288
18289	// The name of the source instance or disk from which the source automatic snapshot
18290	// was created.
18291	//
18292	// Constraint:
18293	//
18294	//    * Define this parameter only when copying an automatic snapshot as a manual
18295	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18296	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
18297
18298	// The name of the source manual snapshot to copy.
18299	//
18300	// Constraint:
18301	//
18302	//    * Define this parameter only when copying a manual snapshot as another
18303	//    manual snapshot.
18304	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
18305
18306	// The name of the new manual snapshot to be created as a copy.
18307	//
18308	// TargetSnapshotName is a required field
18309	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
18310
18311	// A Boolean value to indicate whether to use the latest available automatic
18312	// snapshot of the specified source instance or disk.
18313	//
18314	// Constraints:
18315	//
18316	//    * This parameter cannot be defined together with the restore date parameter.
18317	//    The use latest restorable auto snapshot and restore date parameters are
18318	//    mutually exclusive.
18319	//
18320	//    * Define this parameter only when copying an automatic snapshot as a manual
18321	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18322	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
18323}
18324
18325// String returns the string representation
18326func (s CopySnapshotInput) String() string {
18327	return awsutil.Prettify(s)
18328}
18329
18330// GoString returns the string representation
18331func (s CopySnapshotInput) GoString() string {
18332	return s.String()
18333}
18334
18335// Validate inspects the fields of the type to determine if they are valid.
18336func (s *CopySnapshotInput) Validate() error {
18337	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
18338	if s.SourceRegion == nil {
18339		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
18340	}
18341	if s.TargetSnapshotName == nil {
18342		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
18343	}
18344
18345	if invalidParams.Len() > 0 {
18346		return invalidParams
18347	}
18348	return nil
18349}
18350
18351// SetRestoreDate sets the RestoreDate field's value.
18352func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
18353	s.RestoreDate = &v
18354	return s
18355}
18356
18357// SetSourceRegion sets the SourceRegion field's value.
18358func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
18359	s.SourceRegion = &v
18360	return s
18361}
18362
18363// SetSourceResourceName sets the SourceResourceName field's value.
18364func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
18365	s.SourceResourceName = &v
18366	return s
18367}
18368
18369// SetSourceSnapshotName sets the SourceSnapshotName field's value.
18370func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
18371	s.SourceSnapshotName = &v
18372	return s
18373}
18374
18375// SetTargetSnapshotName sets the TargetSnapshotName field's value.
18376func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
18377	s.TargetSnapshotName = &v
18378	return s
18379}
18380
18381// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
18382func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
18383	s.UseLatestRestorableAutoSnapshot = &v
18384	return s
18385}
18386
18387type CopySnapshotOutput struct {
18388	_ struct{} `type:"structure"`
18389
18390	// An array of objects that describe the result of the action, such as the status
18391	// of the request, the timestamp of the request, and the resources affected
18392	// by the request.
18393	Operations []*Operation `locationName:"operations" type:"list"`
18394}
18395
18396// String returns the string representation
18397func (s CopySnapshotOutput) String() string {
18398	return awsutil.Prettify(s)
18399}
18400
18401// GoString returns the string representation
18402func (s CopySnapshotOutput) GoString() string {
18403	return s.String()
18404}
18405
18406// SetOperations sets the Operations field's value.
18407func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
18408	s.Operations = v
18409	return s
18410}
18411
18412type CreateCertificateInput struct {
18413	_ struct{} `type:"structure"`
18414
18415	// The name for the certificate.
18416	//
18417	// CertificateName is a required field
18418	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
18419
18420	// The domain name (e.g., example.com) for the certificate.
18421	//
18422	// DomainName is a required field
18423	DomainName *string `locationName:"domainName" type:"string" required:"true"`
18424
18425	// An array of strings that specify the alternate domains (e.g., example2.com)
18426	// and subdomains (e.g., blog.example.com) for the certificate.
18427	//
18428	// You can specify a maximum of nine alternate domains (in addition to the primary
18429	// domain name).
18430	//
18431	// Wildcard domain entries (e.g., *.example.com) are not supported.
18432	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
18433
18434	// The tag keys and optional values to add to the certificate during create.
18435	//
18436	// Use the TagResource action to tag a resource after it's created.
18437	Tags []*Tag `locationName:"tags" type:"list"`
18438}
18439
18440// String returns the string representation
18441func (s CreateCertificateInput) String() string {
18442	return awsutil.Prettify(s)
18443}
18444
18445// GoString returns the string representation
18446func (s CreateCertificateInput) GoString() string {
18447	return s.String()
18448}
18449
18450// Validate inspects the fields of the type to determine if they are valid.
18451func (s *CreateCertificateInput) Validate() error {
18452	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
18453	if s.CertificateName == nil {
18454		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
18455	}
18456	if s.DomainName == nil {
18457		invalidParams.Add(request.NewErrParamRequired("DomainName"))
18458	}
18459
18460	if invalidParams.Len() > 0 {
18461		return invalidParams
18462	}
18463	return nil
18464}
18465
18466// SetCertificateName sets the CertificateName field's value.
18467func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
18468	s.CertificateName = &v
18469	return s
18470}
18471
18472// SetDomainName sets the DomainName field's value.
18473func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
18474	s.DomainName = &v
18475	return s
18476}
18477
18478// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
18479func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
18480	s.SubjectAlternativeNames = v
18481	return s
18482}
18483
18484// SetTags sets the Tags field's value.
18485func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
18486	s.Tags = v
18487	return s
18488}
18489
18490type CreateCertificateOutput struct {
18491	_ struct{} `type:"structure"`
18492
18493	// An object that describes the certificate created.
18494	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
18495
18496	// An array of objects that describe the result of the action, such as the status
18497	// of the request, the timestamp of the request, and the resources affected
18498	// by the request.
18499	Operations []*Operation `locationName:"operations" type:"list"`
18500}
18501
18502// String returns the string representation
18503func (s CreateCertificateOutput) String() string {
18504	return awsutil.Prettify(s)
18505}
18506
18507// GoString returns the string representation
18508func (s CreateCertificateOutput) GoString() string {
18509	return s.String()
18510}
18511
18512// SetCertificate sets the Certificate field's value.
18513func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
18514	s.Certificate = v
18515	return s
18516}
18517
18518// SetOperations sets the Operations field's value.
18519func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
18520	s.Operations = v
18521	return s
18522}
18523
18524type CreateCloudFormationStackInput struct {
18525	_ struct{} `type:"structure"`
18526
18527	// An array of parameters that will be used to create the new Amazon EC2 instance.
18528	// You can only pass one instance entry at a time in this array. You will get
18529	// an invalid parameter error if you pass more than one instance entry in this
18530	// array.
18531	//
18532	// Instances is a required field
18533	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
18534}
18535
18536// String returns the string representation
18537func (s CreateCloudFormationStackInput) String() string {
18538	return awsutil.Prettify(s)
18539}
18540
18541// GoString returns the string representation
18542func (s CreateCloudFormationStackInput) GoString() string {
18543	return s.String()
18544}
18545
18546// Validate inspects the fields of the type to determine if they are valid.
18547func (s *CreateCloudFormationStackInput) Validate() error {
18548	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
18549	if s.Instances == nil {
18550		invalidParams.Add(request.NewErrParamRequired("Instances"))
18551	}
18552	if s.Instances != nil {
18553		for i, v := range s.Instances {
18554			if v == nil {
18555				continue
18556			}
18557			if err := v.Validate(); err != nil {
18558				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
18559			}
18560		}
18561	}
18562
18563	if invalidParams.Len() > 0 {
18564		return invalidParams
18565	}
18566	return nil
18567}
18568
18569// SetInstances sets the Instances field's value.
18570func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
18571	s.Instances = v
18572	return s
18573}
18574
18575type CreateCloudFormationStackOutput struct {
18576	_ struct{} `type:"structure"`
18577
18578	// An array of objects that describe the result of the action, such as the status
18579	// of the request, the timestamp of the request, and the resources affected
18580	// by the request.
18581	Operations []*Operation `locationName:"operations" type:"list"`
18582}
18583
18584// String returns the string representation
18585func (s CreateCloudFormationStackOutput) String() string {
18586	return awsutil.Prettify(s)
18587}
18588
18589// GoString returns the string representation
18590func (s CreateCloudFormationStackOutput) GoString() string {
18591	return s.String()
18592}
18593
18594// SetOperations sets the Operations field's value.
18595func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
18596	s.Operations = v
18597	return s
18598}
18599
18600type CreateContactMethodInput struct {
18601	_ struct{} `type:"structure"`
18602
18603	// The destination of the contact method, such as an email address or a mobile
18604	// phone number.
18605	//
18606	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
18607	// for the phone number structure used for international telecommunication.
18608	// Phone numbers that follow this format can have a maximum of 15 digits, and
18609	// they are prefixed with the plus character (+) and the country code. For example,
18610	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
18611	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
18612	//
18613	// ContactEndpoint is a required field
18614	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
18615
18616	// The protocol of the contact method, such as Email or SMS (text messaging).
18617	//
18618	// The SMS protocol is supported only in the following AWS Regions.
18619	//
18620	//    * US East (N. Virginia) (us-east-1)
18621	//
18622	//    * US West (Oregon) (us-west-2)
18623	//
18624	//    * Europe (Ireland) (eu-west-1)
18625	//
18626	//    * Asia Pacific (Tokyo) (ap-northeast-1)
18627	//
18628	//    * Asia Pacific (Singapore) (ap-southeast-1)
18629	//
18630	//    * Asia Pacific (Sydney) (ap-southeast-2)
18631	//
18632	// For a list of countries/regions where SMS text messages can be sent, and
18633	// the latest AWS Regions where SMS text messaging is supported, see Supported
18634	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
18635	// in the Amazon SNS Developer Guide.
18636	//
18637	// For more information about notifications in Amazon Lightsail, see Notifications
18638	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
18639	//
18640	// Protocol is a required field
18641	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
18642}
18643
18644// String returns the string representation
18645func (s CreateContactMethodInput) String() string {
18646	return awsutil.Prettify(s)
18647}
18648
18649// GoString returns the string representation
18650func (s CreateContactMethodInput) GoString() string {
18651	return s.String()
18652}
18653
18654// Validate inspects the fields of the type to determine if they are valid.
18655func (s *CreateContactMethodInput) Validate() error {
18656	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
18657	if s.ContactEndpoint == nil {
18658		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
18659	}
18660	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
18661		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
18662	}
18663	if s.Protocol == nil {
18664		invalidParams.Add(request.NewErrParamRequired("Protocol"))
18665	}
18666
18667	if invalidParams.Len() > 0 {
18668		return invalidParams
18669	}
18670	return nil
18671}
18672
18673// SetContactEndpoint sets the ContactEndpoint field's value.
18674func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
18675	s.ContactEndpoint = &v
18676	return s
18677}
18678
18679// SetProtocol sets the Protocol field's value.
18680func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
18681	s.Protocol = &v
18682	return s
18683}
18684
18685type CreateContactMethodOutput struct {
18686	_ struct{} `type:"structure"`
18687
18688	// An array of objects that describe the result of the action, such as the status
18689	// of the request, the timestamp of the request, and the resources affected
18690	// by the request.
18691	Operations []*Operation `locationName:"operations" type:"list"`
18692}
18693
18694// String returns the string representation
18695func (s CreateContactMethodOutput) String() string {
18696	return awsutil.Prettify(s)
18697}
18698
18699// GoString returns the string representation
18700func (s CreateContactMethodOutput) GoString() string {
18701	return s.String()
18702}
18703
18704// SetOperations sets the Operations field's value.
18705func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
18706	s.Operations = v
18707	return s
18708}
18709
18710type CreateContainerServiceDeploymentInput struct {
18711	_ struct{} `type:"structure"`
18712
18713	// An object that describes the settings of the containers that will be launched
18714	// on the container service.
18715	Containers map[string]*Container `locationName:"containers" type:"map"`
18716
18717	// An object that describes the settings of the public endpoint for the container
18718	// service.
18719	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
18720
18721	// The name of the container service for which to create the deployment.
18722	//
18723	// ServiceName is a required field
18724	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
18725}
18726
18727// String returns the string representation
18728func (s CreateContainerServiceDeploymentInput) String() string {
18729	return awsutil.Prettify(s)
18730}
18731
18732// GoString returns the string representation
18733func (s CreateContainerServiceDeploymentInput) GoString() string {
18734	return s.String()
18735}
18736
18737// Validate inspects the fields of the type to determine if they are valid.
18738func (s *CreateContainerServiceDeploymentInput) Validate() error {
18739	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceDeploymentInput"}
18740	if s.ServiceName == nil {
18741		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
18742	}
18743	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
18744		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
18745	}
18746	if s.PublicEndpoint != nil {
18747		if err := s.PublicEndpoint.Validate(); err != nil {
18748			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
18749		}
18750	}
18751
18752	if invalidParams.Len() > 0 {
18753		return invalidParams
18754	}
18755	return nil
18756}
18757
18758// SetContainers sets the Containers field's value.
18759func (s *CreateContainerServiceDeploymentInput) SetContainers(v map[string]*Container) *CreateContainerServiceDeploymentInput {
18760	s.Containers = v
18761	return s
18762}
18763
18764// SetPublicEndpoint sets the PublicEndpoint field's value.
18765func (s *CreateContainerServiceDeploymentInput) SetPublicEndpoint(v *EndpointRequest) *CreateContainerServiceDeploymentInput {
18766	s.PublicEndpoint = v
18767	return s
18768}
18769
18770// SetServiceName sets the ServiceName field's value.
18771func (s *CreateContainerServiceDeploymentInput) SetServiceName(v string) *CreateContainerServiceDeploymentInput {
18772	s.ServiceName = &v
18773	return s
18774}
18775
18776type CreateContainerServiceDeploymentOutput struct {
18777	_ struct{} `type:"structure"`
18778
18779	// An object that describes a container service.
18780	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
18781}
18782
18783// String returns the string representation
18784func (s CreateContainerServiceDeploymentOutput) String() string {
18785	return awsutil.Prettify(s)
18786}
18787
18788// GoString returns the string representation
18789func (s CreateContainerServiceDeploymentOutput) GoString() string {
18790	return s.String()
18791}
18792
18793// SetContainerService sets the ContainerService field's value.
18794func (s *CreateContainerServiceDeploymentOutput) SetContainerService(v *ContainerService) *CreateContainerServiceDeploymentOutput {
18795	s.ContainerService = v
18796	return s
18797}
18798
18799type CreateContainerServiceInput struct {
18800	_ struct{} `type:"structure"`
18801
18802	// An object that describes a deployment for the container service.
18803	//
18804	// A deployment specifies the containers that will be launched on the container
18805	// service and their settings, such as the ports to open, the environment variables
18806	// to apply, and the launch command to run. It also specifies the container
18807	// that will serve as the public endpoint of the deployment and its settings,
18808	// such as the HTTP or HTTPS port to use, and the health check configuration.
18809	Deployment *ContainerServiceDeploymentRequest `locationName:"deployment" type:"structure"`
18810
18811	// The power specification for the container service.
18812	//
18813	// The power specifies the amount of memory, vCPUs, and base monthly cost of
18814	// each node of the container service. The power and scale of a container service
18815	// makes up its configured capacity. To determine the monthly price of your
18816	// container service, multiply the base price of the power with the scale (the
18817	// number of nodes) of the service.
18818	//
18819	// Use the GetContainerServicePowers action to get a list of power options that
18820	// you can specify using this parameter, and their base monthly cost.
18821	//
18822	// Power is a required field
18823	Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"`
18824
18825	// The public domain names to use with the container service, such as example.com
18826	// and www.example.com.
18827	//
18828	// You can specify up to four public domain names for a container service. The
18829	// domain names that you specify are used when you create a deployment with
18830	// a container configured as the public endpoint of your container service.
18831	//
18832	// If you don't specify public domain names, then you can use the default domain
18833	// of the container service.
18834	//
18835	// You must create and validate an SSL/TLS certificate before you can use public
18836	// domain names with your container service. Use the CreateCertificate action
18837	// to create a certificate for the public domain names you want to use with
18838	// your container service.
18839	//
18840	// You can specify public domain names using a string to array map as shown
18841	// in the example later on this page.
18842	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
18843
18844	// The scale specification for the container service.
18845	//
18846	// The scale specifies the allocated compute nodes of the container service.
18847	// The power and scale of a container service makes up its configured capacity.
18848	// To determine the monthly price of your container service, multiply the base
18849	// price of the power with the scale (the number of nodes) of the service.
18850	//
18851	// Scale is a required field
18852	Scale *int64 `locationName:"scale" min:"1" type:"integer" required:"true"`
18853
18854	// The name for the container service.
18855	//
18856	// The name that you specify for your container service will make up part of
18857	// its default domain. The default domain of a container service is typically
18858	// https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. If
18859	// the name of your container service is container-service-1, and it's located
18860	// in the US East (Ohio) AWS region (us-east-2), then the domain for your container
18861	// service will be like the following example: https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com
18862	//
18863	// The following are the requirements for container service names:
18864	//
18865	//    * Must be unique within each AWS Region in your Lightsail account.
18866	//
18867	//    * Must contain 1 to 63 characters.
18868	//
18869	//    * Must contain only alphanumeric characters and hyphens.
18870	//
18871	//    * A hyphen (-) can separate words but cannot be at the start or end of
18872	//    the name.
18873	//
18874	// ServiceName is a required field
18875	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
18876
18877	// The tag keys and optional values for the container service.
18878	//
18879	// For more information about tags in Lightsail, see the Lightsail Dev Guide
18880	// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
18881	Tags []*Tag `locationName:"tags" type:"list"`
18882}
18883
18884// String returns the string representation
18885func (s CreateContainerServiceInput) String() string {
18886	return awsutil.Prettify(s)
18887}
18888
18889// GoString returns the string representation
18890func (s CreateContainerServiceInput) GoString() string {
18891	return s.String()
18892}
18893
18894// Validate inspects the fields of the type to determine if they are valid.
18895func (s *CreateContainerServiceInput) Validate() error {
18896	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceInput"}
18897	if s.Power == nil {
18898		invalidParams.Add(request.NewErrParamRequired("Power"))
18899	}
18900	if s.Scale == nil {
18901		invalidParams.Add(request.NewErrParamRequired("Scale"))
18902	}
18903	if s.Scale != nil && *s.Scale < 1 {
18904		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
18905	}
18906	if s.ServiceName == nil {
18907		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
18908	}
18909	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
18910		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
18911	}
18912	if s.Deployment != nil {
18913		if err := s.Deployment.Validate(); err != nil {
18914			invalidParams.AddNested("Deployment", err.(request.ErrInvalidParams))
18915		}
18916	}
18917
18918	if invalidParams.Len() > 0 {
18919		return invalidParams
18920	}
18921	return nil
18922}
18923
18924// SetDeployment sets the Deployment field's value.
18925func (s *CreateContainerServiceInput) SetDeployment(v *ContainerServiceDeploymentRequest) *CreateContainerServiceInput {
18926	s.Deployment = v
18927	return s
18928}
18929
18930// SetPower sets the Power field's value.
18931func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerServiceInput {
18932	s.Power = &v
18933	return s
18934}
18935
18936// SetPublicDomainNames sets the PublicDomainNames field's value.
18937func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput {
18938	s.PublicDomainNames = v
18939	return s
18940}
18941
18942// SetScale sets the Scale field's value.
18943func (s *CreateContainerServiceInput) SetScale(v int64) *CreateContainerServiceInput {
18944	s.Scale = &v
18945	return s
18946}
18947
18948// SetServiceName sets the ServiceName field's value.
18949func (s *CreateContainerServiceInput) SetServiceName(v string) *CreateContainerServiceInput {
18950	s.ServiceName = &v
18951	return s
18952}
18953
18954// SetTags sets the Tags field's value.
18955func (s *CreateContainerServiceInput) SetTags(v []*Tag) *CreateContainerServiceInput {
18956	s.Tags = v
18957	return s
18958}
18959
18960type CreateContainerServiceOutput struct {
18961	_ struct{} `type:"structure"`
18962
18963	// An object that describes a container service.
18964	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
18965}
18966
18967// String returns the string representation
18968func (s CreateContainerServiceOutput) String() string {
18969	return awsutil.Prettify(s)
18970}
18971
18972// GoString returns the string representation
18973func (s CreateContainerServiceOutput) GoString() string {
18974	return s.String()
18975}
18976
18977// SetContainerService sets the ContainerService field's value.
18978func (s *CreateContainerServiceOutput) SetContainerService(v *ContainerService) *CreateContainerServiceOutput {
18979	s.ContainerService = v
18980	return s
18981}
18982
18983type CreateContainerServiceRegistryLoginInput struct {
18984	_ struct{} `type:"structure"`
18985}
18986
18987// String returns the string representation
18988func (s CreateContainerServiceRegistryLoginInput) String() string {
18989	return awsutil.Prettify(s)
18990}
18991
18992// GoString returns the string representation
18993func (s CreateContainerServiceRegistryLoginInput) GoString() string {
18994	return s.String()
18995}
18996
18997type CreateContainerServiceRegistryLoginOutput struct {
18998	_ struct{} `type:"structure"`
18999
19000	// An object that describes the log in information for the container service
19001	// registry of your Lightsail account.
19002	RegistryLogin *ContainerServiceRegistryLogin `locationName:"registryLogin" type:"structure"`
19003}
19004
19005// String returns the string representation
19006func (s CreateContainerServiceRegistryLoginOutput) String() string {
19007	return awsutil.Prettify(s)
19008}
19009
19010// GoString returns the string representation
19011func (s CreateContainerServiceRegistryLoginOutput) GoString() string {
19012	return s.String()
19013}
19014
19015// SetRegistryLogin sets the RegistryLogin field's value.
19016func (s *CreateContainerServiceRegistryLoginOutput) SetRegistryLogin(v *ContainerServiceRegistryLogin) *CreateContainerServiceRegistryLoginOutput {
19017	s.RegistryLogin = v
19018	return s
19019}
19020
19021type CreateDiskFromSnapshotInput struct {
19022	_ struct{} `type:"structure"`
19023
19024	// An array of objects that represent the add-ons to enable for the new disk.
19025	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19026
19027	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
19028	// Choose the same Availability Zone as the Lightsail instance where you want
19029	// to create the disk.
19030	//
19031	// Use the GetRegions operation to list the Availability Zones where Lightsail
19032	// is currently available.
19033	//
19034	// AvailabilityZone is a required field
19035	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19036
19037	// The unique Lightsail disk name (e.g., my-disk).
19038	//
19039	// DiskName is a required field
19040	DiskName *string `locationName:"diskName" type:"string" required:"true"`
19041
19042	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
19043	// new storage disk.
19044	//
19045	// Constraint:
19046	//
19047	//    * This parameter cannot be defined together with the source disk name
19048	//    parameter. The disk snapshot name and source disk name parameters are
19049	//    mutually exclusive.
19050	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
19051
19052	// The date of the automatic snapshot to use for the new disk. Use the get auto
19053	// snapshots operation to identify the dates of the available automatic snapshots.
19054	//
19055	// Constraints:
19056	//
19057	//    * Must be specified in YYYY-MM-DD format.
19058	//
19059	//    * This parameter cannot be defined together with the use latest restorable
19060	//    auto snapshot parameter. The restore date and use latest restorable auto
19061	//    snapshot parameters are mutually exclusive.
19062	//
19063	//    * Define this parameter only when creating a new disk from an automatic
19064	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19065	RestoreDate *string `locationName:"restoreDate" type:"string"`
19066
19067	// The size of the disk in GB (e.g., 32).
19068	//
19069	// SizeInGb is a required field
19070	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
19071
19072	// The name of the source disk from which the source automatic snapshot was
19073	// created.
19074	//
19075	// Constraints:
19076	//
19077	//    * This parameter cannot be defined together with the disk snapshot name
19078	//    parameter. The source disk name and disk snapshot name parameters are
19079	//    mutually exclusive.
19080	//
19081	//    * Define this parameter only when creating a new disk from an automatic
19082	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19083	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
19084
19085	// The tag keys and optional values to add to the resource during create.
19086	//
19087	// Use the TagResource action to tag a resource after it's created.
19088	Tags []*Tag `locationName:"tags" type:"list"`
19089
19090	// A Boolean value to indicate whether to use the latest available automatic
19091	// snapshot.
19092	//
19093	// Constraints:
19094	//
19095	//    * This parameter cannot be defined together with the restore date parameter.
19096	//    The use latest restorable auto snapshot and restore date parameters are
19097	//    mutually exclusive.
19098	//
19099	//    * Define this parameter only when creating a new disk from an automatic
19100	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19101	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
19102}
19103
19104// String returns the string representation
19105func (s CreateDiskFromSnapshotInput) String() string {
19106	return awsutil.Prettify(s)
19107}
19108
19109// GoString returns the string representation
19110func (s CreateDiskFromSnapshotInput) GoString() string {
19111	return s.String()
19112}
19113
19114// Validate inspects the fields of the type to determine if they are valid.
19115func (s *CreateDiskFromSnapshotInput) Validate() error {
19116	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
19117	if s.AvailabilityZone == nil {
19118		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19119	}
19120	if s.DiskName == nil {
19121		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19122	}
19123	if s.SizeInGb == nil {
19124		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
19125	}
19126	if s.AddOns != nil {
19127		for i, v := range s.AddOns {
19128			if v == nil {
19129				continue
19130			}
19131			if err := v.Validate(); err != nil {
19132				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
19133			}
19134		}
19135	}
19136
19137	if invalidParams.Len() > 0 {
19138		return invalidParams
19139	}
19140	return nil
19141}
19142
19143// SetAddOns sets the AddOns field's value.
19144func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
19145	s.AddOns = v
19146	return s
19147}
19148
19149// SetAvailabilityZone sets the AvailabilityZone field's value.
19150func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
19151	s.AvailabilityZone = &v
19152	return s
19153}
19154
19155// SetDiskName sets the DiskName field's value.
19156func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
19157	s.DiskName = &v
19158	return s
19159}
19160
19161// SetDiskSnapshotName sets the DiskSnapshotName field's value.
19162func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
19163	s.DiskSnapshotName = &v
19164	return s
19165}
19166
19167// SetRestoreDate sets the RestoreDate field's value.
19168func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
19169	s.RestoreDate = &v
19170	return s
19171}
19172
19173// SetSizeInGb sets the SizeInGb field's value.
19174func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
19175	s.SizeInGb = &v
19176	return s
19177}
19178
19179// SetSourceDiskName sets the SourceDiskName field's value.
19180func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
19181	s.SourceDiskName = &v
19182	return s
19183}
19184
19185// SetTags sets the Tags field's value.
19186func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
19187	s.Tags = v
19188	return s
19189}
19190
19191// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
19192func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
19193	s.UseLatestRestorableAutoSnapshot = &v
19194	return s
19195}
19196
19197type CreateDiskFromSnapshotOutput struct {
19198	_ struct{} `type:"structure"`
19199
19200	// An array of objects that describe the result of the action, such as the status
19201	// of the request, the timestamp of the request, and the resources affected
19202	// by the request.
19203	Operations []*Operation `locationName:"operations" type:"list"`
19204}
19205
19206// String returns the string representation
19207func (s CreateDiskFromSnapshotOutput) String() string {
19208	return awsutil.Prettify(s)
19209}
19210
19211// GoString returns the string representation
19212func (s CreateDiskFromSnapshotOutput) GoString() string {
19213	return s.String()
19214}
19215
19216// SetOperations sets the Operations field's value.
19217func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
19218	s.Operations = v
19219	return s
19220}
19221
19222type CreateDiskInput struct {
19223	_ struct{} `type:"structure"`
19224
19225	// An array of objects that represent the add-ons to enable for the new disk.
19226	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19227
19228	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
19229	// Use the same Availability Zone as the Lightsail instance to which you want
19230	// to attach the disk.
19231	//
19232	// Use the get regions operation to list the Availability Zones where Lightsail
19233	// is currently available.
19234	//
19235	// AvailabilityZone is a required field
19236	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19237
19238	// The unique Lightsail disk name (e.g., my-disk).
19239	//
19240	// DiskName is a required field
19241	DiskName *string `locationName:"diskName" type:"string" required:"true"`
19242
19243	// The size of the disk in GB (e.g., 32).
19244	//
19245	// SizeInGb is a required field
19246	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
19247
19248	// The tag keys and optional values to add to the resource during create.
19249	//
19250	// Use the TagResource action to tag a resource after it's created.
19251	Tags []*Tag `locationName:"tags" type:"list"`
19252}
19253
19254// String returns the string representation
19255func (s CreateDiskInput) String() string {
19256	return awsutil.Prettify(s)
19257}
19258
19259// GoString returns the string representation
19260func (s CreateDiskInput) GoString() string {
19261	return s.String()
19262}
19263
19264// Validate inspects the fields of the type to determine if they are valid.
19265func (s *CreateDiskInput) Validate() error {
19266	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
19267	if s.AvailabilityZone == nil {
19268		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19269	}
19270	if s.DiskName == nil {
19271		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19272	}
19273	if s.SizeInGb == nil {
19274		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
19275	}
19276	if s.AddOns != nil {
19277		for i, v := range s.AddOns {
19278			if v == nil {
19279				continue
19280			}
19281			if err := v.Validate(); err != nil {
19282				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
19283			}
19284		}
19285	}
19286
19287	if invalidParams.Len() > 0 {
19288		return invalidParams
19289	}
19290	return nil
19291}
19292
19293// SetAddOns sets the AddOns field's value.
19294func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
19295	s.AddOns = v
19296	return s
19297}
19298
19299// SetAvailabilityZone sets the AvailabilityZone field's value.
19300func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
19301	s.AvailabilityZone = &v
19302	return s
19303}
19304
19305// SetDiskName sets the DiskName field's value.
19306func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
19307	s.DiskName = &v
19308	return s
19309}
19310
19311// SetSizeInGb sets the SizeInGb field's value.
19312func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
19313	s.SizeInGb = &v
19314	return s
19315}
19316
19317// SetTags sets the Tags field's value.
19318func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
19319	s.Tags = v
19320	return s
19321}
19322
19323type CreateDiskOutput struct {
19324	_ struct{} `type:"structure"`
19325
19326	// An array of objects that describe the result of the action, such as the status
19327	// of the request, the timestamp of the request, and the resources affected
19328	// by the request.
19329	Operations []*Operation `locationName:"operations" type:"list"`
19330}
19331
19332// String returns the string representation
19333func (s CreateDiskOutput) String() string {
19334	return awsutil.Prettify(s)
19335}
19336
19337// GoString returns the string representation
19338func (s CreateDiskOutput) GoString() string {
19339	return s.String()
19340}
19341
19342// SetOperations sets the Operations field's value.
19343func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
19344	s.Operations = v
19345	return s
19346}
19347
19348type CreateDiskSnapshotInput struct {
19349	_ struct{} `type:"structure"`
19350
19351	// The unique name of the source disk (e.g., Disk-Virginia-1).
19352	//
19353	// This parameter cannot be defined together with the instance name parameter.
19354	// The disk name and instance name parameters are mutually exclusive.
19355	DiskName *string `locationName:"diskName" type:"string"`
19356
19357	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
19358	// on the source disk.
19359	//
19360	// DiskSnapshotName is a required field
19361	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
19362
19363	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
19364	// When this is defined, a snapshot of the instance's system volume is created.
19365	//
19366	// This parameter cannot be defined together with the disk name parameter. The
19367	// instance name and disk name parameters are mutually exclusive.
19368	InstanceName *string `locationName:"instanceName" type:"string"`
19369
19370	// The tag keys and optional values to add to the resource during create.
19371	//
19372	// Use the TagResource action to tag a resource after it's created.
19373	Tags []*Tag `locationName:"tags" type:"list"`
19374}
19375
19376// String returns the string representation
19377func (s CreateDiskSnapshotInput) String() string {
19378	return awsutil.Prettify(s)
19379}
19380
19381// GoString returns the string representation
19382func (s CreateDiskSnapshotInput) GoString() string {
19383	return s.String()
19384}
19385
19386// Validate inspects the fields of the type to determine if they are valid.
19387func (s *CreateDiskSnapshotInput) Validate() error {
19388	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
19389	if s.DiskSnapshotName == nil {
19390		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
19391	}
19392
19393	if invalidParams.Len() > 0 {
19394		return invalidParams
19395	}
19396	return nil
19397}
19398
19399// SetDiskName sets the DiskName field's value.
19400func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
19401	s.DiskName = &v
19402	return s
19403}
19404
19405// SetDiskSnapshotName sets the DiskSnapshotName field's value.
19406func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
19407	s.DiskSnapshotName = &v
19408	return s
19409}
19410
19411// SetInstanceName sets the InstanceName field's value.
19412func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
19413	s.InstanceName = &v
19414	return s
19415}
19416
19417// SetTags sets the Tags field's value.
19418func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
19419	s.Tags = v
19420	return s
19421}
19422
19423type CreateDiskSnapshotOutput struct {
19424	_ struct{} `type:"structure"`
19425
19426	// An array of objects that describe the result of the action, such as the status
19427	// of the request, the timestamp of the request, and the resources affected
19428	// by the request.
19429	Operations []*Operation `locationName:"operations" type:"list"`
19430}
19431
19432// String returns the string representation
19433func (s CreateDiskSnapshotOutput) String() string {
19434	return awsutil.Prettify(s)
19435}
19436
19437// GoString returns the string representation
19438func (s CreateDiskSnapshotOutput) GoString() string {
19439	return s.String()
19440}
19441
19442// SetOperations sets the Operations field's value.
19443func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
19444	s.Operations = v
19445	return s
19446}
19447
19448type CreateDistributionInput struct {
19449	_ struct{} `type:"structure"`
19450
19451	// The bundle ID to use for the distribution.
19452	//
19453	// A distribution bundle describes the specifications of your distribution,
19454	// such as the monthly cost and monthly network transfer quota.
19455	//
19456	// Use the GetDistributionBundles action to get a list of distribution bundle
19457	// IDs that you can specify.
19458	//
19459	// BundleId is a required field
19460	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
19461
19462	// An object that describes the cache behavior settings for the distribution.
19463	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
19464
19465	// An array of objects that describe the per-path cache behavior for the distribution.
19466	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
19467
19468	// An object that describes the default cache behavior for the distribution.
19469	//
19470	// DefaultCacheBehavior is a required field
19471	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
19472
19473	// The name for the distribution.
19474	//
19475	// DistributionName is a required field
19476	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
19477
19478	// The IP address type for the distribution.
19479	//
19480	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
19481	//
19482	// The default value is dualstack.
19483	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
19484
19485	// An object that describes the origin resource for the distribution, such as
19486	// a Lightsail instance or load balancer.
19487	//
19488	// The distribution pulls, caches, and serves content from the origin.
19489	//
19490	// Origin is a required field
19491	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
19492
19493	// The tag keys and optional values to add to the distribution during create.
19494	//
19495	// Use the TagResource action to tag a resource after it's created.
19496	Tags []*Tag `locationName:"tags" type:"list"`
19497}
19498
19499// String returns the string representation
19500func (s CreateDistributionInput) String() string {
19501	return awsutil.Prettify(s)
19502}
19503
19504// GoString returns the string representation
19505func (s CreateDistributionInput) GoString() string {
19506	return s.String()
19507}
19508
19509// Validate inspects the fields of the type to determine if they are valid.
19510func (s *CreateDistributionInput) Validate() error {
19511	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
19512	if s.BundleId == nil {
19513		invalidParams.Add(request.NewErrParamRequired("BundleId"))
19514	}
19515	if s.DefaultCacheBehavior == nil {
19516		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
19517	}
19518	if s.DistributionName == nil {
19519		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
19520	}
19521	if s.Origin == nil {
19522		invalidParams.Add(request.NewErrParamRequired("Origin"))
19523	}
19524
19525	if invalidParams.Len() > 0 {
19526		return invalidParams
19527	}
19528	return nil
19529}
19530
19531// SetBundleId sets the BundleId field's value.
19532func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
19533	s.BundleId = &v
19534	return s
19535}
19536
19537// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
19538func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
19539	s.CacheBehaviorSettings = v
19540	return s
19541}
19542
19543// SetCacheBehaviors sets the CacheBehaviors field's value.
19544func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
19545	s.CacheBehaviors = v
19546	return s
19547}
19548
19549// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
19550func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
19551	s.DefaultCacheBehavior = v
19552	return s
19553}
19554
19555// SetDistributionName sets the DistributionName field's value.
19556func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
19557	s.DistributionName = &v
19558	return s
19559}
19560
19561// SetIpAddressType sets the IpAddressType field's value.
19562func (s *CreateDistributionInput) SetIpAddressType(v string) *CreateDistributionInput {
19563	s.IpAddressType = &v
19564	return s
19565}
19566
19567// SetOrigin sets the Origin field's value.
19568func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
19569	s.Origin = v
19570	return s
19571}
19572
19573// SetTags sets the Tags field's value.
19574func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
19575	s.Tags = v
19576	return s
19577}
19578
19579type CreateDistributionOutput struct {
19580	_ struct{} `type:"structure"`
19581
19582	// An object that describes the distribution created.
19583	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
19584
19585	// An array of objects that describe the result of the action, such as the status
19586	// of the request, the timestamp of the request, and the resources affected
19587	// by the request.
19588	Operation *Operation `locationName:"operation" type:"structure"`
19589}
19590
19591// String returns the string representation
19592func (s CreateDistributionOutput) String() string {
19593	return awsutil.Prettify(s)
19594}
19595
19596// GoString returns the string representation
19597func (s CreateDistributionOutput) GoString() string {
19598	return s.String()
19599}
19600
19601// SetDistribution sets the Distribution field's value.
19602func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
19603	s.Distribution = v
19604	return s
19605}
19606
19607// SetOperation sets the Operation field's value.
19608func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
19609	s.Operation = v
19610	return s
19611}
19612
19613type CreateDomainEntryInput struct {
19614	_ struct{} `type:"structure"`
19615
19616	// An array of key-value pairs containing information about the domain entry
19617	// request.
19618	//
19619	// DomainEntry is a required field
19620	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
19621
19622	// The domain name (e.g., example.com) for which you want to create the domain
19623	// entry.
19624	//
19625	// DomainName is a required field
19626	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19627}
19628
19629// String returns the string representation
19630func (s CreateDomainEntryInput) String() string {
19631	return awsutil.Prettify(s)
19632}
19633
19634// GoString returns the string representation
19635func (s CreateDomainEntryInput) GoString() string {
19636	return s.String()
19637}
19638
19639// Validate inspects the fields of the type to determine if they are valid.
19640func (s *CreateDomainEntryInput) Validate() error {
19641	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
19642	if s.DomainEntry == nil {
19643		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
19644	}
19645	if s.DomainName == nil {
19646		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19647	}
19648
19649	if invalidParams.Len() > 0 {
19650		return invalidParams
19651	}
19652	return nil
19653}
19654
19655// SetDomainEntry sets the DomainEntry field's value.
19656func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
19657	s.DomainEntry = v
19658	return s
19659}
19660
19661// SetDomainName sets the DomainName field's value.
19662func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
19663	s.DomainName = &v
19664	return s
19665}
19666
19667type CreateDomainEntryOutput struct {
19668	_ struct{} `type:"structure"`
19669
19670	// An array of objects that describe the result of the action, such as the status
19671	// of the request, the timestamp of the request, and the resources affected
19672	// by the request.
19673	Operation *Operation `locationName:"operation" type:"structure"`
19674}
19675
19676// String returns the string representation
19677func (s CreateDomainEntryOutput) String() string {
19678	return awsutil.Prettify(s)
19679}
19680
19681// GoString returns the string representation
19682func (s CreateDomainEntryOutput) GoString() string {
19683	return s.String()
19684}
19685
19686// SetOperation sets the Operation field's value.
19687func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
19688	s.Operation = v
19689	return s
19690}
19691
19692type CreateDomainInput struct {
19693	_ struct{} `type:"structure"`
19694
19695	// The domain name to manage (e.g., example.com).
19696	//
19697	// You cannot register a new domain name using Lightsail. You must register
19698	// a domain name using Amazon Route 53 or another domain name registrar. If
19699	// you have already registered your domain, you can enter its name in this parameter
19700	// to manage the DNS records for that domain.
19701	//
19702	// DomainName is a required field
19703	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19704
19705	// The tag keys and optional values to add to the resource during create.
19706	//
19707	// Use the TagResource action to tag a resource after it's created.
19708	Tags []*Tag `locationName:"tags" type:"list"`
19709}
19710
19711// String returns the string representation
19712func (s CreateDomainInput) String() string {
19713	return awsutil.Prettify(s)
19714}
19715
19716// GoString returns the string representation
19717func (s CreateDomainInput) GoString() string {
19718	return s.String()
19719}
19720
19721// Validate inspects the fields of the type to determine if they are valid.
19722func (s *CreateDomainInput) Validate() error {
19723	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
19724	if s.DomainName == nil {
19725		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19726	}
19727
19728	if invalidParams.Len() > 0 {
19729		return invalidParams
19730	}
19731	return nil
19732}
19733
19734// SetDomainName sets the DomainName field's value.
19735func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
19736	s.DomainName = &v
19737	return s
19738}
19739
19740// SetTags sets the Tags field's value.
19741func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
19742	s.Tags = v
19743	return s
19744}
19745
19746type CreateDomainOutput struct {
19747	_ struct{} `type:"structure"`
19748
19749	// An array of objects that describe the result of the action, such as the status
19750	// of the request, the timestamp of the request, and the resources affected
19751	// by the request.
19752	Operation *Operation `locationName:"operation" type:"structure"`
19753}
19754
19755// String returns the string representation
19756func (s CreateDomainOutput) String() string {
19757	return awsutil.Prettify(s)
19758}
19759
19760// GoString returns the string representation
19761func (s CreateDomainOutput) GoString() string {
19762	return s.String()
19763}
19764
19765// SetOperation sets the Operation field's value.
19766func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
19767	s.Operation = v
19768	return s
19769}
19770
19771type CreateInstanceSnapshotInput struct {
19772	_ struct{} `type:"structure"`
19773
19774	// The Lightsail instance on which to base your snapshot.
19775	//
19776	// InstanceName is a required field
19777	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19778
19779	// The name for your new snapshot.
19780	//
19781	// InstanceSnapshotName is a required field
19782	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
19783
19784	// The tag keys and optional values to add to the resource during create.
19785	//
19786	// Use the TagResource action to tag a resource after it's created.
19787	Tags []*Tag `locationName:"tags" type:"list"`
19788}
19789
19790// String returns the string representation
19791func (s CreateInstanceSnapshotInput) String() string {
19792	return awsutil.Prettify(s)
19793}
19794
19795// GoString returns the string representation
19796func (s CreateInstanceSnapshotInput) GoString() string {
19797	return s.String()
19798}
19799
19800// Validate inspects the fields of the type to determine if they are valid.
19801func (s *CreateInstanceSnapshotInput) Validate() error {
19802	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
19803	if s.InstanceName == nil {
19804		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19805	}
19806	if s.InstanceSnapshotName == nil {
19807		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
19808	}
19809
19810	if invalidParams.Len() > 0 {
19811		return invalidParams
19812	}
19813	return nil
19814}
19815
19816// SetInstanceName sets the InstanceName field's value.
19817func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
19818	s.InstanceName = &v
19819	return s
19820}
19821
19822// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
19823func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
19824	s.InstanceSnapshotName = &v
19825	return s
19826}
19827
19828// SetTags sets the Tags field's value.
19829func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
19830	s.Tags = v
19831	return s
19832}
19833
19834type CreateInstanceSnapshotOutput struct {
19835	_ struct{} `type:"structure"`
19836
19837	// An array of objects that describe the result of the action, such as the status
19838	// of the request, the timestamp of the request, and the resources affected
19839	// by the request.
19840	Operations []*Operation `locationName:"operations" type:"list"`
19841}
19842
19843// String returns the string representation
19844func (s CreateInstanceSnapshotOutput) String() string {
19845	return awsutil.Prettify(s)
19846}
19847
19848// GoString returns the string representation
19849func (s CreateInstanceSnapshotOutput) GoString() string {
19850	return s.String()
19851}
19852
19853// SetOperations sets the Operations field's value.
19854func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
19855	s.Operations = v
19856	return s
19857}
19858
19859type CreateInstancesFromSnapshotInput struct {
19860	_ struct{} `type:"structure"`
19861
19862	// An array of objects representing the add-ons to enable for the new instance.
19863	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19864
19865	// An object containing information about one or more disk mappings.
19866	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
19867
19868	// The Availability Zone where you want to create your instances. Use the following
19869	// formatting: us-east-2a (case sensitive). You can get a list of Availability
19870	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
19871	// operation. Be sure to add the include Availability Zones parameter to your
19872	// request.
19873	//
19874	// AvailabilityZone is a required field
19875	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19876
19877	// The bundle of specification information for your virtual private server (or
19878	// instance), including the pricing plan (e.g., micro_1_0).
19879	//
19880	// BundleId is a required field
19881	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
19882
19883	// The names for your new instances.
19884	//
19885	// InstanceNames is a required field
19886	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
19887
19888	// The name of the instance snapshot on which you are basing your new instances.
19889	// Use the get instance snapshots operation to return information about your
19890	// existing snapshots.
19891	//
19892	// Constraint:
19893	//
19894	//    * This parameter cannot be defined together with the source instance name
19895	//    parameter. The instance snapshot name and source instance name parameters
19896	//    are mutually exclusive.
19897	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
19898
19899	// The IP address type for the instance.
19900	//
19901	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
19902	//
19903	// The default value is dualstack.
19904	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
19905
19906	// The name for your key pair.
19907	KeyPairName *string `locationName:"keyPairName" type:"string"`
19908
19909	// The date of the automatic snapshot to use for the new instance. Use the get
19910	// auto snapshots operation to identify the dates of the available automatic
19911	// snapshots.
19912	//
19913	// Constraints:
19914	//
19915	//    * Must be specified in YYYY-MM-DD format.
19916	//
19917	//    * This parameter cannot be defined together with the use latest restorable
19918	//    auto snapshot parameter. The restore date and use latest restorable auto
19919	//    snapshot parameters are mutually exclusive.
19920	//
19921	//    * Define this parameter only when creating a new instance from an automatic
19922	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19923	RestoreDate *string `locationName:"restoreDate" type:"string"`
19924
19925	// The name of the source instance from which the source automatic snapshot
19926	// was created.
19927	//
19928	// Constraints:
19929	//
19930	//    * This parameter cannot be defined together with the instance snapshot
19931	//    name parameter. The source instance name and instance snapshot name parameters
19932	//    are mutually exclusive.
19933	//
19934	//    * Define this parameter only when creating a new instance from an automatic
19935	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19936	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
19937
19938	// The tag keys and optional values to add to the resource during create.
19939	//
19940	// Use the TagResource action to tag a resource after it's created.
19941	Tags []*Tag `locationName:"tags" type:"list"`
19942
19943	// A Boolean value to indicate whether to use the latest available automatic
19944	// snapshot.
19945	//
19946	// Constraints:
19947	//
19948	//    * This parameter cannot be defined together with the restore date parameter.
19949	//    The use latest restorable auto snapshot and restore date parameters are
19950	//    mutually exclusive.
19951	//
19952	//    * Define this parameter only when creating a new instance from an automatic
19953	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19954	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
19955
19956	// You can create a launch script that configures a server with additional user
19957	// data. For example, apt-get -y update.
19958	//
19959	// Depending on the machine image you choose, the command to get software on
19960	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
19961	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
19962	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
19963	UserData *string `locationName:"userData" type:"string"`
19964}
19965
19966// String returns the string representation
19967func (s CreateInstancesFromSnapshotInput) String() string {
19968	return awsutil.Prettify(s)
19969}
19970
19971// GoString returns the string representation
19972func (s CreateInstancesFromSnapshotInput) GoString() string {
19973	return s.String()
19974}
19975
19976// Validate inspects the fields of the type to determine if they are valid.
19977func (s *CreateInstancesFromSnapshotInput) Validate() error {
19978	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
19979	if s.AvailabilityZone == nil {
19980		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19981	}
19982	if s.BundleId == nil {
19983		invalidParams.Add(request.NewErrParamRequired("BundleId"))
19984	}
19985	if s.InstanceNames == nil {
19986		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
19987	}
19988	if s.AddOns != nil {
19989		for i, v := range s.AddOns {
19990			if v == nil {
19991				continue
19992			}
19993			if err := v.Validate(); err != nil {
19994				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
19995			}
19996		}
19997	}
19998
19999	if invalidParams.Len() > 0 {
20000		return invalidParams
20001	}
20002	return nil
20003}
20004
20005// SetAddOns sets the AddOns field's value.
20006func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
20007	s.AddOns = v
20008	return s
20009}
20010
20011// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
20012func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
20013	s.AttachedDiskMapping = v
20014	return s
20015}
20016
20017// SetAvailabilityZone sets the AvailabilityZone field's value.
20018func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
20019	s.AvailabilityZone = &v
20020	return s
20021}
20022
20023// SetBundleId sets the BundleId field's value.
20024func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
20025	s.BundleId = &v
20026	return s
20027}
20028
20029// SetInstanceNames sets the InstanceNames field's value.
20030func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
20031	s.InstanceNames = v
20032	return s
20033}
20034
20035// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
20036func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
20037	s.InstanceSnapshotName = &v
20038	return s
20039}
20040
20041// SetIpAddressType sets the IpAddressType field's value.
20042func (s *CreateInstancesFromSnapshotInput) SetIpAddressType(v string) *CreateInstancesFromSnapshotInput {
20043	s.IpAddressType = &v
20044	return s
20045}
20046
20047// SetKeyPairName sets the KeyPairName field's value.
20048func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
20049	s.KeyPairName = &v
20050	return s
20051}
20052
20053// SetRestoreDate sets the RestoreDate field's value.
20054func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
20055	s.RestoreDate = &v
20056	return s
20057}
20058
20059// SetSourceInstanceName sets the SourceInstanceName field's value.
20060func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
20061	s.SourceInstanceName = &v
20062	return s
20063}
20064
20065// SetTags sets the Tags field's value.
20066func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
20067	s.Tags = v
20068	return s
20069}
20070
20071// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
20072func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
20073	s.UseLatestRestorableAutoSnapshot = &v
20074	return s
20075}
20076
20077// SetUserData sets the UserData field's value.
20078func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
20079	s.UserData = &v
20080	return s
20081}
20082
20083type CreateInstancesFromSnapshotOutput struct {
20084	_ struct{} `type:"structure"`
20085
20086	// An array of objects that describe the result of the action, such as the status
20087	// of the request, the timestamp of the request, and the resources affected
20088	// by the request.
20089	Operations []*Operation `locationName:"operations" type:"list"`
20090}
20091
20092// String returns the string representation
20093func (s CreateInstancesFromSnapshotOutput) String() string {
20094	return awsutil.Prettify(s)
20095}
20096
20097// GoString returns the string representation
20098func (s CreateInstancesFromSnapshotOutput) GoString() string {
20099	return s.String()
20100}
20101
20102// SetOperations sets the Operations field's value.
20103func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
20104	s.Operations = v
20105	return s
20106}
20107
20108type CreateInstancesInput struct {
20109	_ struct{} `type:"structure"`
20110
20111	// An array of objects representing the add-ons to enable for the new instance.
20112	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
20113
20114	// The Availability Zone in which to create your instance. Use the following
20115	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
20116	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
20117	// operation. Be sure to add the include Availability Zones parameter to your
20118	// request.
20119	//
20120	// AvailabilityZone is a required field
20121	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
20122
20123	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
20124	// Use the get blueprints operation to return a list of available images (or
20125	// blueprints).
20126	//
20127	// Use active blueprints when creating new instances. Inactive blueprints are
20128	// listed to support customers with existing instances and are not necessarily
20129	// available to create new instances. Blueprints are marked inactive when they
20130	// become outdated due to operating system updates or new application releases.
20131	//
20132	// BlueprintId is a required field
20133	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
20134
20135	// The bundle of specification information for your virtual private server (or
20136	// instance), including the pricing plan (e.g., micro_1_0).
20137	//
20138	// BundleId is a required field
20139	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
20140
20141	// (Deprecated) The name for your custom image.
20142	//
20143	// In releases prior to June 12, 2017, this parameter was ignored by the API.
20144	// It is now deprecated.
20145	//
20146	// Deprecated: CustomImageName has been deprecated
20147	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
20148
20149	// The names to use for your new Lightsail instances. Separate multiple values
20150	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
20151	//
20152	// InstanceNames is a required field
20153	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
20154
20155	// The IP address type for the instance.
20156	//
20157	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
20158	//
20159	// The default value is dualstack.
20160	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
20161
20162	// The name of your key pair.
20163	KeyPairName *string `locationName:"keyPairName" type:"string"`
20164
20165	// The tag keys and optional values to add to the resource during create.
20166	//
20167	// Use the TagResource action to tag a resource after it's created.
20168	Tags []*Tag `locationName:"tags" type:"list"`
20169
20170	// A launch script you can create that configures a server with additional user
20171	// data. For example, you might want to run apt-get -y update.
20172	//
20173	// Depending on the machine image you choose, the command to get software on
20174	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
20175	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
20176	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
20177	UserData *string `locationName:"userData" type:"string"`
20178}
20179
20180// String returns the string representation
20181func (s CreateInstancesInput) String() string {
20182	return awsutil.Prettify(s)
20183}
20184
20185// GoString returns the string representation
20186func (s CreateInstancesInput) GoString() string {
20187	return s.String()
20188}
20189
20190// Validate inspects the fields of the type to determine if they are valid.
20191func (s *CreateInstancesInput) Validate() error {
20192	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
20193	if s.AvailabilityZone == nil {
20194		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
20195	}
20196	if s.BlueprintId == nil {
20197		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
20198	}
20199	if s.BundleId == nil {
20200		invalidParams.Add(request.NewErrParamRequired("BundleId"))
20201	}
20202	if s.InstanceNames == nil {
20203		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
20204	}
20205	if s.AddOns != nil {
20206		for i, v := range s.AddOns {
20207			if v == nil {
20208				continue
20209			}
20210			if err := v.Validate(); err != nil {
20211				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
20212			}
20213		}
20214	}
20215
20216	if invalidParams.Len() > 0 {
20217		return invalidParams
20218	}
20219	return nil
20220}
20221
20222// SetAddOns sets the AddOns field's value.
20223func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
20224	s.AddOns = v
20225	return s
20226}
20227
20228// SetAvailabilityZone sets the AvailabilityZone field's value.
20229func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
20230	s.AvailabilityZone = &v
20231	return s
20232}
20233
20234// SetBlueprintId sets the BlueprintId field's value.
20235func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
20236	s.BlueprintId = &v
20237	return s
20238}
20239
20240// SetBundleId sets the BundleId field's value.
20241func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
20242	s.BundleId = &v
20243	return s
20244}
20245
20246// SetCustomImageName sets the CustomImageName field's value.
20247func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
20248	s.CustomImageName = &v
20249	return s
20250}
20251
20252// SetInstanceNames sets the InstanceNames field's value.
20253func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
20254	s.InstanceNames = v
20255	return s
20256}
20257
20258// SetIpAddressType sets the IpAddressType field's value.
20259func (s *CreateInstancesInput) SetIpAddressType(v string) *CreateInstancesInput {
20260	s.IpAddressType = &v
20261	return s
20262}
20263
20264// SetKeyPairName sets the KeyPairName field's value.
20265func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
20266	s.KeyPairName = &v
20267	return s
20268}
20269
20270// SetTags sets the Tags field's value.
20271func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
20272	s.Tags = v
20273	return s
20274}
20275
20276// SetUserData sets the UserData field's value.
20277func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
20278	s.UserData = &v
20279	return s
20280}
20281
20282type CreateInstancesOutput struct {
20283	_ struct{} `type:"structure"`
20284
20285	// An array of objects that describe the result of the action, such as the status
20286	// of the request, the timestamp of the request, and the resources affected
20287	// by the request.
20288	Operations []*Operation `locationName:"operations" type:"list"`
20289}
20290
20291// String returns the string representation
20292func (s CreateInstancesOutput) String() string {
20293	return awsutil.Prettify(s)
20294}
20295
20296// GoString returns the string representation
20297func (s CreateInstancesOutput) GoString() string {
20298	return s.String()
20299}
20300
20301// SetOperations sets the Operations field's value.
20302func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
20303	s.Operations = v
20304	return s
20305}
20306
20307type CreateKeyPairInput struct {
20308	_ struct{} `type:"structure"`
20309
20310	// The name for your new key pair.
20311	//
20312	// KeyPairName is a required field
20313	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
20314
20315	// The tag keys and optional values to add to the resource during create.
20316	//
20317	// Use the TagResource action to tag a resource after it's created.
20318	Tags []*Tag `locationName:"tags" type:"list"`
20319}
20320
20321// String returns the string representation
20322func (s CreateKeyPairInput) String() string {
20323	return awsutil.Prettify(s)
20324}
20325
20326// GoString returns the string representation
20327func (s CreateKeyPairInput) GoString() string {
20328	return s.String()
20329}
20330
20331// Validate inspects the fields of the type to determine if they are valid.
20332func (s *CreateKeyPairInput) Validate() error {
20333	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
20334	if s.KeyPairName == nil {
20335		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
20336	}
20337
20338	if invalidParams.Len() > 0 {
20339		return invalidParams
20340	}
20341	return nil
20342}
20343
20344// SetKeyPairName sets the KeyPairName field's value.
20345func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
20346	s.KeyPairName = &v
20347	return s
20348}
20349
20350// SetTags sets the Tags field's value.
20351func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
20352	s.Tags = v
20353	return s
20354}
20355
20356type CreateKeyPairOutput struct {
20357	_ struct{} `type:"structure"`
20358
20359	// An array of key-value pairs containing information about the new key pair
20360	// you just created.
20361	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
20362
20363	// An array of objects that describe the result of the action, such as the status
20364	// of the request, the timestamp of the request, and the resources affected
20365	// by the request.
20366	Operation *Operation `locationName:"operation" type:"structure"`
20367
20368	// A base64-encoded RSA private key.
20369	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
20370
20371	// A base64-encoded public key of the ssh-rsa type.
20372	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
20373}
20374
20375// String returns the string representation
20376func (s CreateKeyPairOutput) String() string {
20377	return awsutil.Prettify(s)
20378}
20379
20380// GoString returns the string representation
20381func (s CreateKeyPairOutput) GoString() string {
20382	return s.String()
20383}
20384
20385// SetKeyPair sets the KeyPair field's value.
20386func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
20387	s.KeyPair = v
20388	return s
20389}
20390
20391// SetOperation sets the Operation field's value.
20392func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
20393	s.Operation = v
20394	return s
20395}
20396
20397// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
20398func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
20399	s.PrivateKeyBase64 = &v
20400	return s
20401}
20402
20403// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
20404func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
20405	s.PublicKeyBase64 = &v
20406	return s
20407}
20408
20409type CreateLoadBalancerInput struct {
20410	_ struct{} `type:"structure"`
20411
20412	// The optional alternative domains and subdomains to use with your SSL/TLS
20413	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
20414	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
20415
20416	// The domain name with which your certificate is associated (e.g., example.com).
20417	//
20418	// If you specify certificateDomainName, then certificateName is required (and
20419	// vice-versa).
20420	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
20421
20422	// The name of the SSL/TLS certificate.
20423	//
20424	// If you specify certificateName, then certificateDomainName is required (and
20425	// vice-versa).
20426	CertificateName *string `locationName:"certificateName" type:"string"`
20427
20428	// The path you provided to perform the load balancer health check. If you didn't
20429	// specify a health check path, Lightsail uses the root path of your website
20430	// (e.g., "/").
20431	//
20432	// You may want to specify a custom health check path other than the root of
20433	// your application if your home page loads slowly or has a lot of media or
20434	// scripting on it.
20435	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
20436
20437	// The instance port where you're creating your load balancer.
20438	//
20439	// InstancePort is a required field
20440	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
20441
20442	// The IP address type for the load balancer.
20443	//
20444	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
20445	//
20446	// The default value is dualstack.
20447	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
20448
20449	// The name of your load balancer.
20450	//
20451	// LoadBalancerName is a required field
20452	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20453
20454	// The tag keys and optional values to add to the resource during create.
20455	//
20456	// Use the TagResource action to tag a resource after it's created.
20457	Tags []*Tag `locationName:"tags" type:"list"`
20458}
20459
20460// String returns the string representation
20461func (s CreateLoadBalancerInput) String() string {
20462	return awsutil.Prettify(s)
20463}
20464
20465// GoString returns the string representation
20466func (s CreateLoadBalancerInput) GoString() string {
20467	return s.String()
20468}
20469
20470// Validate inspects the fields of the type to determine if they are valid.
20471func (s *CreateLoadBalancerInput) Validate() error {
20472	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
20473	if s.InstancePort == nil {
20474		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
20475	}
20476	if s.InstancePort != nil && *s.InstancePort < -1 {
20477		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
20478	}
20479	if s.LoadBalancerName == nil {
20480		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20481	}
20482
20483	if invalidParams.Len() > 0 {
20484		return invalidParams
20485	}
20486	return nil
20487}
20488
20489// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
20490func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
20491	s.CertificateAlternativeNames = v
20492	return s
20493}
20494
20495// SetCertificateDomainName sets the CertificateDomainName field's value.
20496func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
20497	s.CertificateDomainName = &v
20498	return s
20499}
20500
20501// SetCertificateName sets the CertificateName field's value.
20502func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
20503	s.CertificateName = &v
20504	return s
20505}
20506
20507// SetHealthCheckPath sets the HealthCheckPath field's value.
20508func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
20509	s.HealthCheckPath = &v
20510	return s
20511}
20512
20513// SetInstancePort sets the InstancePort field's value.
20514func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
20515	s.InstancePort = &v
20516	return s
20517}
20518
20519// SetIpAddressType sets the IpAddressType field's value.
20520func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
20521	s.IpAddressType = &v
20522	return s
20523}
20524
20525// SetLoadBalancerName sets the LoadBalancerName field's value.
20526func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
20527	s.LoadBalancerName = &v
20528	return s
20529}
20530
20531// SetTags sets the Tags field's value.
20532func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
20533	s.Tags = v
20534	return s
20535}
20536
20537type CreateLoadBalancerOutput struct {
20538	_ struct{} `type:"structure"`
20539
20540	// An array of objects that describe the result of the action, such as the status
20541	// of the request, the timestamp of the request, and the resources affected
20542	// by the request.
20543	Operations []*Operation `locationName:"operations" type:"list"`
20544}
20545
20546// String returns the string representation
20547func (s CreateLoadBalancerOutput) String() string {
20548	return awsutil.Prettify(s)
20549}
20550
20551// GoString returns the string representation
20552func (s CreateLoadBalancerOutput) GoString() string {
20553	return s.String()
20554}
20555
20556// SetOperations sets the Operations field's value.
20557func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
20558	s.Operations = v
20559	return s
20560}
20561
20562type CreateLoadBalancerTlsCertificateInput struct {
20563	_ struct{} `type:"structure"`
20564
20565	// An array of strings listing alternative domains and subdomains for your SSL/TLS
20566	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
20567	// of 9 alternative names (in addition to the 1 primary domain). We do not support
20568	// wildcards (e.g., *.example.com).
20569	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
20570
20571	// The domain name (e.g., example.com) for your SSL/TLS certificate.
20572	//
20573	// CertificateDomainName is a required field
20574	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
20575
20576	// The SSL/TLS certificate name.
20577	//
20578	// You can have up to 10 certificates in your account at one time. Each Lightsail
20579	// load balancer can have up to 2 certificates associated with it at one time.
20580	// There is also an overall limit to the number of certificates that can be
20581	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
20582	//
20583	// CertificateName is a required field
20584	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
20585
20586	// The load balancer name where you want to create the SSL/TLS certificate.
20587	//
20588	// LoadBalancerName is a required field
20589	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20590
20591	// The tag keys and optional values to add to the resource during create.
20592	//
20593	// Use the TagResource action to tag a resource after it's created.
20594	Tags []*Tag `locationName:"tags" type:"list"`
20595}
20596
20597// String returns the string representation
20598func (s CreateLoadBalancerTlsCertificateInput) String() string {
20599	return awsutil.Prettify(s)
20600}
20601
20602// GoString returns the string representation
20603func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
20604	return s.String()
20605}
20606
20607// Validate inspects the fields of the type to determine if they are valid.
20608func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
20609	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
20610	if s.CertificateDomainName == nil {
20611		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
20612	}
20613	if s.CertificateName == nil {
20614		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
20615	}
20616	if s.LoadBalancerName == nil {
20617		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20618	}
20619
20620	if invalidParams.Len() > 0 {
20621		return invalidParams
20622	}
20623	return nil
20624}
20625
20626// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
20627func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
20628	s.CertificateAlternativeNames = v
20629	return s
20630}
20631
20632// SetCertificateDomainName sets the CertificateDomainName field's value.
20633func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
20634	s.CertificateDomainName = &v
20635	return s
20636}
20637
20638// SetCertificateName sets the CertificateName field's value.
20639func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
20640	s.CertificateName = &v
20641	return s
20642}
20643
20644// SetLoadBalancerName sets the LoadBalancerName field's value.
20645func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
20646	s.LoadBalancerName = &v
20647	return s
20648}
20649
20650// SetTags sets the Tags field's value.
20651func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
20652	s.Tags = v
20653	return s
20654}
20655
20656type CreateLoadBalancerTlsCertificateOutput struct {
20657	_ struct{} `type:"structure"`
20658
20659	// An array of objects that describe the result of the action, such as the status
20660	// of the request, the timestamp of the request, and the resources affected
20661	// by the request.
20662	Operations []*Operation `locationName:"operations" type:"list"`
20663}
20664
20665// String returns the string representation
20666func (s CreateLoadBalancerTlsCertificateOutput) String() string {
20667	return awsutil.Prettify(s)
20668}
20669
20670// GoString returns the string representation
20671func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
20672	return s.String()
20673}
20674
20675// SetOperations sets the Operations field's value.
20676func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
20677	s.Operations = v
20678	return s
20679}
20680
20681type CreateRelationalDatabaseFromSnapshotInput struct {
20682	_ struct{} `type:"structure"`
20683
20684	// The Availability Zone in which to create your new database. Use the us-east-2a
20685	// case-sensitive format.
20686	//
20687	// You can get a list of Availability Zones by using the get regions operation.
20688	// Be sure to add the include relational database Availability Zones parameter
20689	// to your request.
20690	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
20691
20692	// Specifies the accessibility options for your new database. A value of true
20693	// specifies a database that is available to resources outside of your Lightsail
20694	// account. A value of false specifies a database that is available only to
20695	// your Lightsail resources in the same region as your database.
20696	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
20697
20698	// The bundle ID for your new database. A bundle describes the performance specifications
20699	// for your database.
20700	//
20701	// You can get a list of database bundle IDs by using the get relational database
20702	// bundles operation.
20703	//
20704	// When creating a new database from a snapshot, you cannot choose a bundle
20705	// that is smaller than the bundle of the source database.
20706	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
20707
20708	// The name to use for your new database.
20709	//
20710	// Constraints:
20711	//
20712	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
20713	//
20714	//    * The first and last character must be a letter or number.
20715	//
20716	// RelationalDatabaseName is a required field
20717	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
20718
20719	// The name of the database snapshot from which to create your new database.
20720	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
20721
20722	// The date and time to restore your database from.
20723	//
20724	// Constraints:
20725	//
20726	//    * Must be before the latest restorable time for the database.
20727	//
20728	//    * Cannot be specified if the use latest restorable time parameter is true.
20729	//
20730	//    * Specified in Coordinated Universal Time (UTC).
20731	//
20732	//    * Specified in the Unix time format. For example, if you wish to use a
20733	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
20734	//    as the restore time.
20735	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
20736
20737	// The name of the source database.
20738	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
20739
20740	// The tag keys and optional values to add to the resource during create.
20741	//
20742	// Use the TagResource action to tag a resource after it's created.
20743	Tags []*Tag `locationName:"tags" type:"list"`
20744
20745	// Specifies whether your database is restored from the latest backup time.
20746	// A value of true restores from the latest backup time.
20747	//
20748	// Default: false
20749	//
20750	// Constraints: Cannot be specified if the restore time parameter is provided.
20751	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
20752}
20753
20754// String returns the string representation
20755func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
20756	return awsutil.Prettify(s)
20757}
20758
20759// GoString returns the string representation
20760func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
20761	return s.String()
20762}
20763
20764// Validate inspects the fields of the type to determine if they are valid.
20765func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
20766	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
20767	if s.RelationalDatabaseName == nil {
20768		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
20769	}
20770
20771	if invalidParams.Len() > 0 {
20772		return invalidParams
20773	}
20774	return nil
20775}
20776
20777// SetAvailabilityZone sets the AvailabilityZone field's value.
20778func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
20779	s.AvailabilityZone = &v
20780	return s
20781}
20782
20783// SetPubliclyAccessible sets the PubliclyAccessible field's value.
20784func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
20785	s.PubliclyAccessible = &v
20786	return s
20787}
20788
20789// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
20790func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
20791	s.RelationalDatabaseBundleId = &v
20792	return s
20793}
20794
20795// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
20796func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20797	s.RelationalDatabaseName = &v
20798	return s
20799}
20800
20801// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
20802func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20803	s.RelationalDatabaseSnapshotName = &v
20804	return s
20805}
20806
20807// SetRestoreTime sets the RestoreTime field's value.
20808func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
20809	s.RestoreTime = &v
20810	return s
20811}
20812
20813// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
20814func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20815	s.SourceRelationalDatabaseName = &v
20816	return s
20817}
20818
20819// SetTags sets the Tags field's value.
20820func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
20821	s.Tags = v
20822	return s
20823}
20824
20825// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
20826func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
20827	s.UseLatestRestorableTime = &v
20828	return s
20829}
20830
20831type CreateRelationalDatabaseFromSnapshotOutput struct {
20832	_ struct{} `type:"structure"`
20833
20834	// An array of objects that describe the result of the action, such as the status
20835	// of the request, the timestamp of the request, and the resources affected
20836	// by the request.
20837	Operations []*Operation `locationName:"operations" type:"list"`
20838}
20839
20840// String returns the string representation
20841func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
20842	return awsutil.Prettify(s)
20843}
20844
20845// GoString returns the string representation
20846func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
20847	return s.String()
20848}
20849
20850// SetOperations sets the Operations field's value.
20851func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
20852	s.Operations = v
20853	return s
20854}
20855
20856type CreateRelationalDatabaseInput struct {
20857	_ struct{} `type:"structure"`
20858
20859	// The Availability Zone in which to create your new database. Use the us-east-2a
20860	// case-sensitive format.
20861	//
20862	// You can get a list of Availability Zones by using the get regions operation.
20863	// Be sure to add the include relational database Availability Zones parameter
20864	// to your request.
20865	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
20866
20867	// The name of the master database created when the Lightsail database resource
20868	// is created.
20869	//
20870	// Constraints:
20871	//
20872	//    * Must contain from 1 to 64 alphanumeric characters.
20873	//
20874	//    * Cannot be a word reserved by the specified database engine
20875	//
20876	// MasterDatabaseName is a required field
20877	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
20878
20879	// The password for the master user of your new database. The password can include
20880	// any printable ASCII character except "/", """, or "@".
20881	//
20882	// Constraints: Must contain 8 to 41 characters.
20883	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
20884
20885	// The master user name for your new database.
20886	//
20887	// Constraints:
20888	//
20889	//    * Master user name is required.
20890	//
20891	//    * Must contain from 1 to 16 alphanumeric characters.
20892	//
20893	//    * The first character must be a letter.
20894	//
20895	//    * Cannot be a reserved word for the database engine you choose. For more
20896	//    information about reserved words in MySQL 5.6 or 5.7, see the Keywords
20897	//    and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html)
20898	//    or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively.
20899	//
20900	// MasterUsername is a required field
20901	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
20902
20903	// The daily time range during which automated backups are created for your
20904	// new database if automated backups are enabled.
20905	//
20906	// The default is a 30-minute window selected at random from an 8-hour block
20907	// of time for each AWS Region. For more information about the preferred backup
20908	// 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)
20909	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
20910	//
20911	// Constraints:
20912	//
20913	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
20914	//
20915	//    * Specified in Coordinated Universal Time (UTC).
20916	//
20917	//    * Must not conflict with the preferred maintenance window.
20918	//
20919	//    * Must be at least 30 minutes.
20920	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
20921
20922	// The weekly time range during which system maintenance can occur on your new
20923	// database.
20924	//
20925	// The default is a 30-minute window selected at random from an 8-hour block
20926	// of time for each AWS Region, occurring on a random day of the week.
20927	//
20928	// Constraints:
20929	//
20930	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
20931	//
20932	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
20933	//
20934	//    * Must be at least 30 minutes.
20935	//
20936	//    * Specified in Coordinated Universal Time (UTC).
20937	//
20938	//    * Example: Tue:17:00-Tue:17:30
20939	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
20940
20941	// Specifies the accessibility options for your new database. A value of true
20942	// specifies a database that is available to resources outside of your Lightsail
20943	// account. A value of false specifies a database that is available only to
20944	// your Lightsail resources in the same region as your database.
20945	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
20946
20947	// The blueprint ID for your new database. A blueprint describes the major engine
20948	// version of a database.
20949	//
20950	// You can get a list of database blueprints IDs by using the get relational
20951	// database blueprints operation.
20952	//
20953	// RelationalDatabaseBlueprintId is a required field
20954	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
20955
20956	// The bundle ID for your new database. A bundle describes the performance specifications
20957	// for your database.
20958	//
20959	// You can get a list of database bundle IDs by using the get relational database
20960	// bundles operation.
20961	//
20962	// RelationalDatabaseBundleId is a required field
20963	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
20964
20965	// The name to use for your new Lightsail database resource.
20966	//
20967	// Constraints:
20968	//
20969	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
20970	//
20971	//    * The first and last character must be a letter or number.
20972	//
20973	// RelationalDatabaseName is a required field
20974	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
20975
20976	// The tag keys and optional values to add to the resource during create.
20977	//
20978	// Use the TagResource action to tag a resource after it's created.
20979	Tags []*Tag `locationName:"tags" type:"list"`
20980}
20981
20982// String returns the string representation
20983func (s CreateRelationalDatabaseInput) String() string {
20984	return awsutil.Prettify(s)
20985}
20986
20987// GoString returns the string representation
20988func (s CreateRelationalDatabaseInput) GoString() string {
20989	return s.String()
20990}
20991
20992// Validate inspects the fields of the type to determine if they are valid.
20993func (s *CreateRelationalDatabaseInput) Validate() error {
20994	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
20995	if s.MasterDatabaseName == nil {
20996		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
20997	}
20998	if s.MasterUsername == nil {
20999		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
21000	}
21001	if s.RelationalDatabaseBlueprintId == nil {
21002		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
21003	}
21004	if s.RelationalDatabaseBundleId == nil {
21005		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
21006	}
21007	if s.RelationalDatabaseName == nil {
21008		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21009	}
21010
21011	if invalidParams.Len() > 0 {
21012		return invalidParams
21013	}
21014	return nil
21015}
21016
21017// SetAvailabilityZone sets the AvailabilityZone field's value.
21018func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
21019	s.AvailabilityZone = &v
21020	return s
21021}
21022
21023// SetMasterDatabaseName sets the MasterDatabaseName field's value.
21024func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
21025	s.MasterDatabaseName = &v
21026	return s
21027}
21028
21029// SetMasterUserPassword sets the MasterUserPassword field's value.
21030func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
21031	s.MasterUserPassword = &v
21032	return s
21033}
21034
21035// SetMasterUsername sets the MasterUsername field's value.
21036func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
21037	s.MasterUsername = &v
21038	return s
21039}
21040
21041// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21042func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
21043	s.PreferredBackupWindow = &v
21044	return s
21045}
21046
21047// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21048func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
21049	s.PreferredMaintenanceWindow = &v
21050	return s
21051}
21052
21053// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21054func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
21055	s.PubliclyAccessible = &v
21056	return s
21057}
21058
21059// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
21060func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
21061	s.RelationalDatabaseBlueprintId = &v
21062	return s
21063}
21064
21065// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
21066func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
21067	s.RelationalDatabaseBundleId = &v
21068	return s
21069}
21070
21071// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21072func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
21073	s.RelationalDatabaseName = &v
21074	return s
21075}
21076
21077// SetTags sets the Tags field's value.
21078func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
21079	s.Tags = v
21080	return s
21081}
21082
21083type CreateRelationalDatabaseOutput struct {
21084	_ struct{} `type:"structure"`
21085
21086	// An array of objects that describe the result of the action, such as the status
21087	// of the request, the timestamp of the request, and the resources affected
21088	// by the request.
21089	Operations []*Operation `locationName:"operations" type:"list"`
21090}
21091
21092// String returns the string representation
21093func (s CreateRelationalDatabaseOutput) String() string {
21094	return awsutil.Prettify(s)
21095}
21096
21097// GoString returns the string representation
21098func (s CreateRelationalDatabaseOutput) GoString() string {
21099	return s.String()
21100}
21101
21102// SetOperations sets the Operations field's value.
21103func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
21104	s.Operations = v
21105	return s
21106}
21107
21108type CreateRelationalDatabaseSnapshotInput struct {
21109	_ struct{} `type:"structure"`
21110
21111	// The name of the database on which to base your new snapshot.
21112	//
21113	// RelationalDatabaseName is a required field
21114	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21115
21116	// The name for your new database snapshot.
21117	//
21118	// Constraints:
21119	//
21120	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
21121	//
21122	//    * The first and last character must be a letter or number.
21123	//
21124	// RelationalDatabaseSnapshotName is a required field
21125	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
21126
21127	// The tag keys and optional values to add to the resource during create.
21128	//
21129	// Use the TagResource action to tag a resource after it's created.
21130	Tags []*Tag `locationName:"tags" type:"list"`
21131}
21132
21133// String returns the string representation
21134func (s CreateRelationalDatabaseSnapshotInput) String() string {
21135	return awsutil.Prettify(s)
21136}
21137
21138// GoString returns the string representation
21139func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
21140	return s.String()
21141}
21142
21143// Validate inspects the fields of the type to determine if they are valid.
21144func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
21145	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
21146	if s.RelationalDatabaseName == nil {
21147		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21148	}
21149	if s.RelationalDatabaseSnapshotName == nil {
21150		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
21151	}
21152
21153	if invalidParams.Len() > 0 {
21154		return invalidParams
21155	}
21156	return nil
21157}
21158
21159// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21160func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
21161	s.RelationalDatabaseName = &v
21162	return s
21163}
21164
21165// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
21166func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
21167	s.RelationalDatabaseSnapshotName = &v
21168	return s
21169}
21170
21171// SetTags sets the Tags field's value.
21172func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
21173	s.Tags = v
21174	return s
21175}
21176
21177type CreateRelationalDatabaseSnapshotOutput struct {
21178	_ struct{} `type:"structure"`
21179
21180	// An array of objects that describe the result of the action, such as the status
21181	// of the request, the timestamp of the request, and the resources affected
21182	// by the request.
21183	Operations []*Operation `locationName:"operations" type:"list"`
21184}
21185
21186// String returns the string representation
21187func (s CreateRelationalDatabaseSnapshotOutput) String() string {
21188	return awsutil.Prettify(s)
21189}
21190
21191// GoString returns the string representation
21192func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
21193	return s.String()
21194}
21195
21196// SetOperations sets the Operations field's value.
21197func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
21198	s.Operations = v
21199	return s
21200}
21201
21202type DeleteAlarmInput struct {
21203	_ struct{} `type:"structure"`
21204
21205	// The name of the alarm to delete.
21206	//
21207	// AlarmName is a required field
21208	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
21209}
21210
21211// String returns the string representation
21212func (s DeleteAlarmInput) String() string {
21213	return awsutil.Prettify(s)
21214}
21215
21216// GoString returns the string representation
21217func (s DeleteAlarmInput) GoString() string {
21218	return s.String()
21219}
21220
21221// Validate inspects the fields of the type to determine if they are valid.
21222func (s *DeleteAlarmInput) Validate() error {
21223	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
21224	if s.AlarmName == nil {
21225		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
21226	}
21227
21228	if invalidParams.Len() > 0 {
21229		return invalidParams
21230	}
21231	return nil
21232}
21233
21234// SetAlarmName sets the AlarmName field's value.
21235func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
21236	s.AlarmName = &v
21237	return s
21238}
21239
21240type DeleteAlarmOutput struct {
21241	_ struct{} `type:"structure"`
21242
21243	// An array of objects that describe the result of the action, such as the status
21244	// of the request, the timestamp of the request, and the resources affected
21245	// by the request.
21246	Operations []*Operation `locationName:"operations" type:"list"`
21247}
21248
21249// String returns the string representation
21250func (s DeleteAlarmOutput) String() string {
21251	return awsutil.Prettify(s)
21252}
21253
21254// GoString returns the string representation
21255func (s DeleteAlarmOutput) GoString() string {
21256	return s.String()
21257}
21258
21259// SetOperations sets the Operations field's value.
21260func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
21261	s.Operations = v
21262	return s
21263}
21264
21265type DeleteAutoSnapshotInput struct {
21266	_ struct{} `type:"structure"`
21267
21268	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
21269	// get auto snapshots operation to get the available automatic snapshots for
21270	// a resource.
21271	//
21272	// Date is a required field
21273	Date *string `locationName:"date" type:"string" required:"true"`
21274
21275	// The name of the source instance or disk from which to delete the automatic
21276	// snapshot.
21277	//
21278	// ResourceName is a required field
21279	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
21280}
21281
21282// String returns the string representation
21283func (s DeleteAutoSnapshotInput) String() string {
21284	return awsutil.Prettify(s)
21285}
21286
21287// GoString returns the string representation
21288func (s DeleteAutoSnapshotInput) GoString() string {
21289	return s.String()
21290}
21291
21292// Validate inspects the fields of the type to determine if they are valid.
21293func (s *DeleteAutoSnapshotInput) Validate() error {
21294	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
21295	if s.Date == nil {
21296		invalidParams.Add(request.NewErrParamRequired("Date"))
21297	}
21298	if s.ResourceName == nil {
21299		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
21300	}
21301
21302	if invalidParams.Len() > 0 {
21303		return invalidParams
21304	}
21305	return nil
21306}
21307
21308// SetDate sets the Date field's value.
21309func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
21310	s.Date = &v
21311	return s
21312}
21313
21314// SetResourceName sets the ResourceName field's value.
21315func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
21316	s.ResourceName = &v
21317	return s
21318}
21319
21320type DeleteAutoSnapshotOutput struct {
21321	_ struct{} `type:"structure"`
21322
21323	// An array of objects that describe the result of the action, such as the status
21324	// of the request, the timestamp of the request, and the resources affected
21325	// by the request.
21326	Operations []*Operation `locationName:"operations" type:"list"`
21327}
21328
21329// String returns the string representation
21330func (s DeleteAutoSnapshotOutput) String() string {
21331	return awsutil.Prettify(s)
21332}
21333
21334// GoString returns the string representation
21335func (s DeleteAutoSnapshotOutput) GoString() string {
21336	return s.String()
21337}
21338
21339// SetOperations sets the Operations field's value.
21340func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
21341	s.Operations = v
21342	return s
21343}
21344
21345type DeleteCertificateInput struct {
21346	_ struct{} `type:"structure"`
21347
21348	// The name of the certificate to delete.
21349	//
21350	// Use the GetCertificates action to get a list of certificate names that you
21351	// can specify.
21352	//
21353	// CertificateName is a required field
21354	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
21355}
21356
21357// String returns the string representation
21358func (s DeleteCertificateInput) String() string {
21359	return awsutil.Prettify(s)
21360}
21361
21362// GoString returns the string representation
21363func (s DeleteCertificateInput) GoString() string {
21364	return s.String()
21365}
21366
21367// Validate inspects the fields of the type to determine if they are valid.
21368func (s *DeleteCertificateInput) Validate() error {
21369	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
21370	if s.CertificateName == nil {
21371		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
21372	}
21373
21374	if invalidParams.Len() > 0 {
21375		return invalidParams
21376	}
21377	return nil
21378}
21379
21380// SetCertificateName sets the CertificateName field's value.
21381func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
21382	s.CertificateName = &v
21383	return s
21384}
21385
21386type DeleteCertificateOutput struct {
21387	_ struct{} `type:"structure"`
21388
21389	// An array of objects that describe the result of the action, such as the status
21390	// of the request, the timestamp of the request, and the resources affected
21391	// by the request.
21392	Operations []*Operation `locationName:"operations" type:"list"`
21393}
21394
21395// String returns the string representation
21396func (s DeleteCertificateOutput) String() string {
21397	return awsutil.Prettify(s)
21398}
21399
21400// GoString returns the string representation
21401func (s DeleteCertificateOutput) GoString() string {
21402	return s.String()
21403}
21404
21405// SetOperations sets the Operations field's value.
21406func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
21407	s.Operations = v
21408	return s
21409}
21410
21411type DeleteContactMethodInput struct {
21412	_ struct{} `type:"structure"`
21413
21414	// The protocol that will be deleted, such as Email or SMS (text messaging).
21415	//
21416	// To delete an Email and an SMS contact method if you added both, you must
21417	// run separate DeleteContactMethod actions to delete each protocol.
21418	//
21419	// Protocol is a required field
21420	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
21421}
21422
21423// String returns the string representation
21424func (s DeleteContactMethodInput) String() string {
21425	return awsutil.Prettify(s)
21426}
21427
21428// GoString returns the string representation
21429func (s DeleteContactMethodInput) GoString() string {
21430	return s.String()
21431}
21432
21433// Validate inspects the fields of the type to determine if they are valid.
21434func (s *DeleteContactMethodInput) Validate() error {
21435	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
21436	if s.Protocol == nil {
21437		invalidParams.Add(request.NewErrParamRequired("Protocol"))
21438	}
21439
21440	if invalidParams.Len() > 0 {
21441		return invalidParams
21442	}
21443	return nil
21444}
21445
21446// SetProtocol sets the Protocol field's value.
21447func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
21448	s.Protocol = &v
21449	return s
21450}
21451
21452type DeleteContactMethodOutput struct {
21453	_ struct{} `type:"structure"`
21454
21455	// An array of objects that describe the result of the action, such as the status
21456	// of the request, the timestamp of the request, and the resources affected
21457	// by the request.
21458	Operations []*Operation `locationName:"operations" type:"list"`
21459}
21460
21461// String returns the string representation
21462func (s DeleteContactMethodOutput) String() string {
21463	return awsutil.Prettify(s)
21464}
21465
21466// GoString returns the string representation
21467func (s DeleteContactMethodOutput) GoString() string {
21468	return s.String()
21469}
21470
21471// SetOperations sets the Operations field's value.
21472func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
21473	s.Operations = v
21474	return s
21475}
21476
21477type DeleteContainerImageInput struct {
21478	_ struct{} `type:"structure"`
21479
21480	// The name of the container image to delete from the container service.
21481	//
21482	// Use the GetContainerImages action to get the name of the container images
21483	// that are registered to a container service.
21484	//
21485	// Container images sourced from your Lightsail container service, that are
21486	// registered and stored on your service, start with a colon (:). For example,
21487	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
21488	// registry like Docker Hub don't start with a colon. For example, nginx:latest
21489	// or nginx.
21490	//
21491	// Image is a required field
21492	Image *string `locationName:"image" type:"string" required:"true"`
21493
21494	// The name of the container service for which to delete a registered container
21495	// image.
21496	//
21497	// ServiceName is a required field
21498	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21499}
21500
21501// String returns the string representation
21502func (s DeleteContainerImageInput) String() string {
21503	return awsutil.Prettify(s)
21504}
21505
21506// GoString returns the string representation
21507func (s DeleteContainerImageInput) GoString() string {
21508	return s.String()
21509}
21510
21511// Validate inspects the fields of the type to determine if they are valid.
21512func (s *DeleteContainerImageInput) Validate() error {
21513	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerImageInput"}
21514	if s.Image == nil {
21515		invalidParams.Add(request.NewErrParamRequired("Image"))
21516	}
21517	if s.ServiceName == nil {
21518		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21519	}
21520	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21521		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21522	}
21523
21524	if invalidParams.Len() > 0 {
21525		return invalidParams
21526	}
21527	return nil
21528}
21529
21530// SetImage sets the Image field's value.
21531func (s *DeleteContainerImageInput) SetImage(v string) *DeleteContainerImageInput {
21532	s.Image = &v
21533	return s
21534}
21535
21536// SetServiceName sets the ServiceName field's value.
21537func (s *DeleteContainerImageInput) SetServiceName(v string) *DeleteContainerImageInput {
21538	s.ServiceName = &v
21539	return s
21540}
21541
21542type DeleteContainerImageOutput struct {
21543	_ struct{} `type:"structure"`
21544}
21545
21546// String returns the string representation
21547func (s DeleteContainerImageOutput) String() string {
21548	return awsutil.Prettify(s)
21549}
21550
21551// GoString returns the string representation
21552func (s DeleteContainerImageOutput) GoString() string {
21553	return s.String()
21554}
21555
21556type DeleteContainerServiceInput struct {
21557	_ struct{} `type:"structure"`
21558
21559	// The name of the container service to delete.
21560	//
21561	// ServiceName is a required field
21562	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21563}
21564
21565// String returns the string representation
21566func (s DeleteContainerServiceInput) String() string {
21567	return awsutil.Prettify(s)
21568}
21569
21570// GoString returns the string representation
21571func (s DeleteContainerServiceInput) GoString() string {
21572	return s.String()
21573}
21574
21575// Validate inspects the fields of the type to determine if they are valid.
21576func (s *DeleteContainerServiceInput) Validate() error {
21577	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerServiceInput"}
21578	if s.ServiceName == nil {
21579		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21580	}
21581	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21582		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21583	}
21584
21585	if invalidParams.Len() > 0 {
21586		return invalidParams
21587	}
21588	return nil
21589}
21590
21591// SetServiceName sets the ServiceName field's value.
21592func (s *DeleteContainerServiceInput) SetServiceName(v string) *DeleteContainerServiceInput {
21593	s.ServiceName = &v
21594	return s
21595}
21596
21597type DeleteContainerServiceOutput struct {
21598	_ struct{} `type:"structure"`
21599}
21600
21601// String returns the string representation
21602func (s DeleteContainerServiceOutput) String() string {
21603	return awsutil.Prettify(s)
21604}
21605
21606// GoString returns the string representation
21607func (s DeleteContainerServiceOutput) GoString() string {
21608	return s.String()
21609}
21610
21611type DeleteDiskInput struct {
21612	_ struct{} `type:"structure"`
21613
21614	// The unique name of the disk you want to delete (e.g., my-disk).
21615	//
21616	// DiskName is a required field
21617	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21618
21619	// A Boolean value to indicate whether to delete the enabled add-ons for the
21620	// disk.
21621	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
21622}
21623
21624// String returns the string representation
21625func (s DeleteDiskInput) String() string {
21626	return awsutil.Prettify(s)
21627}
21628
21629// GoString returns the string representation
21630func (s DeleteDiskInput) GoString() string {
21631	return s.String()
21632}
21633
21634// Validate inspects the fields of the type to determine if they are valid.
21635func (s *DeleteDiskInput) Validate() error {
21636	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
21637	if s.DiskName == nil {
21638		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21639	}
21640
21641	if invalidParams.Len() > 0 {
21642		return invalidParams
21643	}
21644	return nil
21645}
21646
21647// SetDiskName sets the DiskName field's value.
21648func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
21649	s.DiskName = &v
21650	return s
21651}
21652
21653// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
21654func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
21655	s.ForceDeleteAddOns = &v
21656	return s
21657}
21658
21659type DeleteDiskOutput struct {
21660	_ struct{} `type:"structure"`
21661
21662	// An array of objects that describe the result of the action, such as the status
21663	// of the request, the timestamp of the request, and the resources affected
21664	// by the request.
21665	Operations []*Operation `locationName:"operations" type:"list"`
21666}
21667
21668// String returns the string representation
21669func (s DeleteDiskOutput) String() string {
21670	return awsutil.Prettify(s)
21671}
21672
21673// GoString returns the string representation
21674func (s DeleteDiskOutput) GoString() string {
21675	return s.String()
21676}
21677
21678// SetOperations sets the Operations field's value.
21679func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
21680	s.Operations = v
21681	return s
21682}
21683
21684type DeleteDiskSnapshotInput struct {
21685	_ struct{} `type:"structure"`
21686
21687	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
21688	//
21689	// DiskSnapshotName is a required field
21690	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
21691}
21692
21693// String returns the string representation
21694func (s DeleteDiskSnapshotInput) String() string {
21695	return awsutil.Prettify(s)
21696}
21697
21698// GoString returns the string representation
21699func (s DeleteDiskSnapshotInput) GoString() string {
21700	return s.String()
21701}
21702
21703// Validate inspects the fields of the type to determine if they are valid.
21704func (s *DeleteDiskSnapshotInput) Validate() error {
21705	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
21706	if s.DiskSnapshotName == nil {
21707		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
21708	}
21709
21710	if invalidParams.Len() > 0 {
21711		return invalidParams
21712	}
21713	return nil
21714}
21715
21716// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21717func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
21718	s.DiskSnapshotName = &v
21719	return s
21720}
21721
21722type DeleteDiskSnapshotOutput struct {
21723	_ struct{} `type:"structure"`
21724
21725	// An array of objects that describe the result of the action, such as the status
21726	// of the request, the timestamp of the request, and the resources affected
21727	// by the request.
21728	Operations []*Operation `locationName:"operations" type:"list"`
21729}
21730
21731// String returns the string representation
21732func (s DeleteDiskSnapshotOutput) String() string {
21733	return awsutil.Prettify(s)
21734}
21735
21736// GoString returns the string representation
21737func (s DeleteDiskSnapshotOutput) GoString() string {
21738	return s.String()
21739}
21740
21741// SetOperations sets the Operations field's value.
21742func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
21743	s.Operations = v
21744	return s
21745}
21746
21747type DeleteDistributionInput struct {
21748	_ struct{} `type:"structure"`
21749
21750	// The name of the distribution to delete.
21751	//
21752	// Use the GetDistributions action to get a list of distribution names that
21753	// you can specify.
21754	DistributionName *string `locationName:"distributionName" type:"string"`
21755}
21756
21757// String returns the string representation
21758func (s DeleteDistributionInput) String() string {
21759	return awsutil.Prettify(s)
21760}
21761
21762// GoString returns the string representation
21763func (s DeleteDistributionInput) GoString() string {
21764	return s.String()
21765}
21766
21767// SetDistributionName sets the DistributionName field's value.
21768func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
21769	s.DistributionName = &v
21770	return s
21771}
21772
21773type DeleteDistributionOutput struct {
21774	_ struct{} `type:"structure"`
21775
21776	// An object that describes the result of the action, such as the status of
21777	// the request, the timestamp of the request, and the resources affected by
21778	// the request.
21779	Operation *Operation `locationName:"operation" type:"structure"`
21780}
21781
21782// String returns the string representation
21783func (s DeleteDistributionOutput) String() string {
21784	return awsutil.Prettify(s)
21785}
21786
21787// GoString returns the string representation
21788func (s DeleteDistributionOutput) GoString() string {
21789	return s.String()
21790}
21791
21792// SetOperation sets the Operation field's value.
21793func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
21794	s.Operation = v
21795	return s
21796}
21797
21798type DeleteDomainEntryInput struct {
21799	_ struct{} `type:"structure"`
21800
21801	// An array of key-value pairs containing information about your domain entries.
21802	//
21803	// DomainEntry is a required field
21804	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
21805
21806	// The name of the domain entry to delete.
21807	//
21808	// DomainName is a required field
21809	DomainName *string `locationName:"domainName" type:"string" required:"true"`
21810}
21811
21812// String returns the string representation
21813func (s DeleteDomainEntryInput) String() string {
21814	return awsutil.Prettify(s)
21815}
21816
21817// GoString returns the string representation
21818func (s DeleteDomainEntryInput) GoString() string {
21819	return s.String()
21820}
21821
21822// Validate inspects the fields of the type to determine if they are valid.
21823func (s *DeleteDomainEntryInput) Validate() error {
21824	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
21825	if s.DomainEntry == nil {
21826		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
21827	}
21828	if s.DomainName == nil {
21829		invalidParams.Add(request.NewErrParamRequired("DomainName"))
21830	}
21831
21832	if invalidParams.Len() > 0 {
21833		return invalidParams
21834	}
21835	return nil
21836}
21837
21838// SetDomainEntry sets the DomainEntry field's value.
21839func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
21840	s.DomainEntry = v
21841	return s
21842}
21843
21844// SetDomainName sets the DomainName field's value.
21845func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
21846	s.DomainName = &v
21847	return s
21848}
21849
21850type DeleteDomainEntryOutput struct {
21851	_ struct{} `type:"structure"`
21852
21853	// An array of objects that describe the result of the action, such as the status
21854	// of the request, the timestamp of the request, and the resources affected
21855	// by the request.
21856	Operation *Operation `locationName:"operation" type:"structure"`
21857}
21858
21859// String returns the string representation
21860func (s DeleteDomainEntryOutput) String() string {
21861	return awsutil.Prettify(s)
21862}
21863
21864// GoString returns the string representation
21865func (s DeleteDomainEntryOutput) GoString() string {
21866	return s.String()
21867}
21868
21869// SetOperation sets the Operation field's value.
21870func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
21871	s.Operation = v
21872	return s
21873}
21874
21875type DeleteDomainInput struct {
21876	_ struct{} `type:"structure"`
21877
21878	// The specific domain name to delete.
21879	//
21880	// DomainName is a required field
21881	DomainName *string `locationName:"domainName" type:"string" required:"true"`
21882}
21883
21884// String returns the string representation
21885func (s DeleteDomainInput) String() string {
21886	return awsutil.Prettify(s)
21887}
21888
21889// GoString returns the string representation
21890func (s DeleteDomainInput) GoString() string {
21891	return s.String()
21892}
21893
21894// Validate inspects the fields of the type to determine if they are valid.
21895func (s *DeleteDomainInput) Validate() error {
21896	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
21897	if s.DomainName == nil {
21898		invalidParams.Add(request.NewErrParamRequired("DomainName"))
21899	}
21900
21901	if invalidParams.Len() > 0 {
21902		return invalidParams
21903	}
21904	return nil
21905}
21906
21907// SetDomainName sets the DomainName field's value.
21908func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
21909	s.DomainName = &v
21910	return s
21911}
21912
21913type DeleteDomainOutput struct {
21914	_ struct{} `type:"structure"`
21915
21916	// An array of objects that describe the result of the action, such as the status
21917	// of the request, the timestamp of the request, and the resources affected
21918	// by the request.
21919	Operation *Operation `locationName:"operation" type:"structure"`
21920}
21921
21922// String returns the string representation
21923func (s DeleteDomainOutput) String() string {
21924	return awsutil.Prettify(s)
21925}
21926
21927// GoString returns the string representation
21928func (s DeleteDomainOutput) GoString() string {
21929	return s.String()
21930}
21931
21932// SetOperation sets the Operation field's value.
21933func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
21934	s.Operation = v
21935	return s
21936}
21937
21938type DeleteInstanceInput struct {
21939	_ struct{} `type:"structure"`
21940
21941	// A Boolean value to indicate whether to delete the enabled add-ons for the
21942	// disk.
21943	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
21944
21945	// The name of the instance to delete.
21946	//
21947	// InstanceName is a required field
21948	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
21949}
21950
21951// String returns the string representation
21952func (s DeleteInstanceInput) String() string {
21953	return awsutil.Prettify(s)
21954}
21955
21956// GoString returns the string representation
21957func (s DeleteInstanceInput) GoString() string {
21958	return s.String()
21959}
21960
21961// Validate inspects the fields of the type to determine if they are valid.
21962func (s *DeleteInstanceInput) Validate() error {
21963	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
21964	if s.InstanceName == nil {
21965		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
21966	}
21967
21968	if invalidParams.Len() > 0 {
21969		return invalidParams
21970	}
21971	return nil
21972}
21973
21974// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
21975func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
21976	s.ForceDeleteAddOns = &v
21977	return s
21978}
21979
21980// SetInstanceName sets the InstanceName field's value.
21981func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
21982	s.InstanceName = &v
21983	return s
21984}
21985
21986type DeleteInstanceOutput struct {
21987	_ struct{} `type:"structure"`
21988
21989	// An array of objects that describe the result of the action, such as the status
21990	// of the request, the timestamp of the request, and the resources affected
21991	// by the request.
21992	Operations []*Operation `locationName:"operations" type:"list"`
21993}
21994
21995// String returns the string representation
21996func (s DeleteInstanceOutput) String() string {
21997	return awsutil.Prettify(s)
21998}
21999
22000// GoString returns the string representation
22001func (s DeleteInstanceOutput) GoString() string {
22002	return s.String()
22003}
22004
22005// SetOperations sets the Operations field's value.
22006func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
22007	s.Operations = v
22008	return s
22009}
22010
22011type DeleteInstanceSnapshotInput struct {
22012	_ struct{} `type:"structure"`
22013
22014	// The name of the snapshot to delete.
22015	//
22016	// InstanceSnapshotName is a required field
22017	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
22018}
22019
22020// String returns the string representation
22021func (s DeleteInstanceSnapshotInput) String() string {
22022	return awsutil.Prettify(s)
22023}
22024
22025// GoString returns the string representation
22026func (s DeleteInstanceSnapshotInput) GoString() string {
22027	return s.String()
22028}
22029
22030// Validate inspects the fields of the type to determine if they are valid.
22031func (s *DeleteInstanceSnapshotInput) Validate() error {
22032	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
22033	if s.InstanceSnapshotName == nil {
22034		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
22035	}
22036
22037	if invalidParams.Len() > 0 {
22038		return invalidParams
22039	}
22040	return nil
22041}
22042
22043// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
22044func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
22045	s.InstanceSnapshotName = &v
22046	return s
22047}
22048
22049type DeleteInstanceSnapshotOutput struct {
22050	_ struct{} `type:"structure"`
22051
22052	// An array of objects that describe the result of the action, such as the status
22053	// of the request, the timestamp of the request, and the resources affected
22054	// by the request.
22055	Operations []*Operation `locationName:"operations" type:"list"`
22056}
22057
22058// String returns the string representation
22059func (s DeleteInstanceSnapshotOutput) String() string {
22060	return awsutil.Prettify(s)
22061}
22062
22063// GoString returns the string representation
22064func (s DeleteInstanceSnapshotOutput) GoString() string {
22065	return s.String()
22066}
22067
22068// SetOperations sets the Operations field's value.
22069func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
22070	s.Operations = v
22071	return s
22072}
22073
22074type DeleteKeyPairInput struct {
22075	_ struct{} `type:"structure"`
22076
22077	// The name of the key pair to delete.
22078	//
22079	// KeyPairName is a required field
22080	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
22081}
22082
22083// String returns the string representation
22084func (s DeleteKeyPairInput) String() string {
22085	return awsutil.Prettify(s)
22086}
22087
22088// GoString returns the string representation
22089func (s DeleteKeyPairInput) GoString() string {
22090	return s.String()
22091}
22092
22093// Validate inspects the fields of the type to determine if they are valid.
22094func (s *DeleteKeyPairInput) Validate() error {
22095	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
22096	if s.KeyPairName == nil {
22097		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
22098	}
22099
22100	if invalidParams.Len() > 0 {
22101		return invalidParams
22102	}
22103	return nil
22104}
22105
22106// SetKeyPairName sets the KeyPairName field's value.
22107func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
22108	s.KeyPairName = &v
22109	return s
22110}
22111
22112type DeleteKeyPairOutput struct {
22113	_ struct{} `type:"structure"`
22114
22115	// An array of objects that describe the result of the action, such as the status
22116	// of the request, the timestamp of the request, and the resources affected
22117	// by the request.
22118	Operation *Operation `locationName:"operation" type:"structure"`
22119}
22120
22121// String returns the string representation
22122func (s DeleteKeyPairOutput) String() string {
22123	return awsutil.Prettify(s)
22124}
22125
22126// GoString returns the string representation
22127func (s DeleteKeyPairOutput) GoString() string {
22128	return s.String()
22129}
22130
22131// SetOperation sets the Operation field's value.
22132func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
22133	s.Operation = v
22134	return s
22135}
22136
22137type DeleteKnownHostKeysInput struct {
22138	_ struct{} `type:"structure"`
22139
22140	// The name of the instance for which you want to reset the host key or certificate.
22141	//
22142	// InstanceName is a required field
22143	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22144}
22145
22146// String returns the string representation
22147func (s DeleteKnownHostKeysInput) String() string {
22148	return awsutil.Prettify(s)
22149}
22150
22151// GoString returns the string representation
22152func (s DeleteKnownHostKeysInput) GoString() string {
22153	return s.String()
22154}
22155
22156// Validate inspects the fields of the type to determine if they are valid.
22157func (s *DeleteKnownHostKeysInput) Validate() error {
22158	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
22159	if s.InstanceName == nil {
22160		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22161	}
22162
22163	if invalidParams.Len() > 0 {
22164		return invalidParams
22165	}
22166	return nil
22167}
22168
22169// SetInstanceName sets the InstanceName field's value.
22170func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
22171	s.InstanceName = &v
22172	return s
22173}
22174
22175type DeleteKnownHostKeysOutput struct {
22176	_ struct{} `type:"structure"`
22177
22178	// An array of objects that describe the result of the action, such as the status
22179	// of the request, the timestamp of the request, and the resources affected
22180	// by the request.
22181	Operations []*Operation `locationName:"operations" type:"list"`
22182}
22183
22184// String returns the string representation
22185func (s DeleteKnownHostKeysOutput) String() string {
22186	return awsutil.Prettify(s)
22187}
22188
22189// GoString returns the string representation
22190func (s DeleteKnownHostKeysOutput) GoString() string {
22191	return s.String()
22192}
22193
22194// SetOperations sets the Operations field's value.
22195func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
22196	s.Operations = v
22197	return s
22198}
22199
22200type DeleteLoadBalancerInput struct {
22201	_ struct{} `type:"structure"`
22202
22203	// The name of the load balancer you want to delete.
22204	//
22205	// LoadBalancerName is a required field
22206	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22207}
22208
22209// String returns the string representation
22210func (s DeleteLoadBalancerInput) String() string {
22211	return awsutil.Prettify(s)
22212}
22213
22214// GoString returns the string representation
22215func (s DeleteLoadBalancerInput) GoString() string {
22216	return s.String()
22217}
22218
22219// Validate inspects the fields of the type to determine if they are valid.
22220func (s *DeleteLoadBalancerInput) Validate() error {
22221	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
22222	if s.LoadBalancerName == nil {
22223		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22224	}
22225
22226	if invalidParams.Len() > 0 {
22227		return invalidParams
22228	}
22229	return nil
22230}
22231
22232// SetLoadBalancerName sets the LoadBalancerName field's value.
22233func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
22234	s.LoadBalancerName = &v
22235	return s
22236}
22237
22238type DeleteLoadBalancerOutput struct {
22239	_ struct{} `type:"structure"`
22240
22241	// An array of objects that describe the result of the action, such as the status
22242	// of the request, the timestamp of the request, and the resources affected
22243	// by the request.
22244	Operations []*Operation `locationName:"operations" type:"list"`
22245}
22246
22247// String returns the string representation
22248func (s DeleteLoadBalancerOutput) String() string {
22249	return awsutil.Prettify(s)
22250}
22251
22252// GoString returns the string representation
22253func (s DeleteLoadBalancerOutput) GoString() string {
22254	return s.String()
22255}
22256
22257// SetOperations sets the Operations field's value.
22258func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
22259	s.Operations = v
22260	return s
22261}
22262
22263type DeleteLoadBalancerTlsCertificateInput struct {
22264	_ struct{} `type:"structure"`
22265
22266	// The SSL/TLS certificate name.
22267	//
22268	// CertificateName is a required field
22269	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
22270
22271	// When true, forces the deletion of an SSL/TLS certificate.
22272	//
22273	// There can be two certificates associated with a Lightsail load balancer:
22274	// the primary and the backup. The force parameter is required when the primary
22275	// SSL/TLS certificate is in use by an instance attached to the load balancer.
22276	Force *bool `locationName:"force" type:"boolean"`
22277
22278	// The load balancer name.
22279	//
22280	// LoadBalancerName is a required field
22281	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22282}
22283
22284// String returns the string representation
22285func (s DeleteLoadBalancerTlsCertificateInput) String() string {
22286	return awsutil.Prettify(s)
22287}
22288
22289// GoString returns the string representation
22290func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
22291	return s.String()
22292}
22293
22294// Validate inspects the fields of the type to determine if they are valid.
22295func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
22296	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
22297	if s.CertificateName == nil {
22298		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
22299	}
22300	if s.LoadBalancerName == nil {
22301		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22302	}
22303
22304	if invalidParams.Len() > 0 {
22305		return invalidParams
22306	}
22307	return nil
22308}
22309
22310// SetCertificateName sets the CertificateName field's value.
22311func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
22312	s.CertificateName = &v
22313	return s
22314}
22315
22316// SetForce sets the Force field's value.
22317func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
22318	s.Force = &v
22319	return s
22320}
22321
22322// SetLoadBalancerName sets the LoadBalancerName field's value.
22323func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
22324	s.LoadBalancerName = &v
22325	return s
22326}
22327
22328type DeleteLoadBalancerTlsCertificateOutput struct {
22329	_ struct{} `type:"structure"`
22330
22331	// An array of objects that describe the result of the action, such as the status
22332	// of the request, the timestamp of the request, and the resources affected
22333	// by the request.
22334	Operations []*Operation `locationName:"operations" type:"list"`
22335}
22336
22337// String returns the string representation
22338func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
22339	return awsutil.Prettify(s)
22340}
22341
22342// GoString returns the string representation
22343func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
22344	return s.String()
22345}
22346
22347// SetOperations sets the Operations field's value.
22348func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
22349	s.Operations = v
22350	return s
22351}
22352
22353type DeleteRelationalDatabaseInput struct {
22354	_ struct{} `type:"structure"`
22355
22356	// The name of the database snapshot created if skip final snapshot is false,
22357	// which is the default value for that parameter.
22358	//
22359	// Specifying this parameter and also specifying the skip final snapshot parameter
22360	// to true results in an error.
22361	//
22362	// Constraints:
22363	//
22364	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
22365	//
22366	//    * The first and last character must be a letter or number.
22367	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
22368
22369	// The name of the database that you are deleting.
22370	//
22371	// RelationalDatabaseName is a required field
22372	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22373
22374	// Determines whether a final database snapshot is created before your database
22375	// is deleted. If true is specified, no database snapshot is created. If false
22376	// is specified, a database snapshot is created before your database is deleted.
22377	//
22378	// You must specify the final relational database snapshot name parameter if
22379	// the skip final snapshot parameter is false.
22380	//
22381	// Default: false
22382	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
22383}
22384
22385// String returns the string representation
22386func (s DeleteRelationalDatabaseInput) String() string {
22387	return awsutil.Prettify(s)
22388}
22389
22390// GoString returns the string representation
22391func (s DeleteRelationalDatabaseInput) GoString() string {
22392	return s.String()
22393}
22394
22395// Validate inspects the fields of the type to determine if they are valid.
22396func (s *DeleteRelationalDatabaseInput) Validate() error {
22397	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
22398	if s.RelationalDatabaseName == nil {
22399		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22400	}
22401
22402	if invalidParams.Len() > 0 {
22403		return invalidParams
22404	}
22405	return nil
22406}
22407
22408// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
22409func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
22410	s.FinalRelationalDatabaseSnapshotName = &v
22411	return s
22412}
22413
22414// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22415func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
22416	s.RelationalDatabaseName = &v
22417	return s
22418}
22419
22420// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
22421func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
22422	s.SkipFinalSnapshot = &v
22423	return s
22424}
22425
22426type DeleteRelationalDatabaseOutput struct {
22427	_ struct{} `type:"structure"`
22428
22429	// An array of objects that describe the result of the action, such as the status
22430	// of the request, the timestamp of the request, and the resources affected
22431	// by the request.
22432	Operations []*Operation `locationName:"operations" type:"list"`
22433}
22434
22435// String returns the string representation
22436func (s DeleteRelationalDatabaseOutput) String() string {
22437	return awsutil.Prettify(s)
22438}
22439
22440// GoString returns the string representation
22441func (s DeleteRelationalDatabaseOutput) GoString() string {
22442	return s.String()
22443}
22444
22445// SetOperations sets the Operations field's value.
22446func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
22447	s.Operations = v
22448	return s
22449}
22450
22451type DeleteRelationalDatabaseSnapshotInput struct {
22452	_ struct{} `type:"structure"`
22453
22454	// The name of the database snapshot that you are deleting.
22455	//
22456	// RelationalDatabaseSnapshotName is a required field
22457	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
22458}
22459
22460// String returns the string representation
22461func (s DeleteRelationalDatabaseSnapshotInput) String() string {
22462	return awsutil.Prettify(s)
22463}
22464
22465// GoString returns the string representation
22466func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
22467	return s.String()
22468}
22469
22470// Validate inspects the fields of the type to determine if they are valid.
22471func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
22472	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
22473	if s.RelationalDatabaseSnapshotName == nil {
22474		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
22475	}
22476
22477	if invalidParams.Len() > 0 {
22478		return invalidParams
22479	}
22480	return nil
22481}
22482
22483// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
22484func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
22485	s.RelationalDatabaseSnapshotName = &v
22486	return s
22487}
22488
22489type DeleteRelationalDatabaseSnapshotOutput struct {
22490	_ struct{} `type:"structure"`
22491
22492	// An array of objects that describe the result of the action, such as the status
22493	// of the request, the timestamp of the request, and the resources affected
22494	// by the request.
22495	Operations []*Operation `locationName:"operations" type:"list"`
22496}
22497
22498// String returns the string representation
22499func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
22500	return awsutil.Prettify(s)
22501}
22502
22503// GoString returns the string representation
22504func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
22505	return s.String()
22506}
22507
22508// SetOperations sets the Operations field's value.
22509func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
22510	s.Operations = v
22511	return s
22512}
22513
22514// Describes the destination of a record.
22515type DestinationInfo struct {
22516	_ struct{} `type:"structure"`
22517
22518	// The ID of the resource created at the destination.
22519	Id *string `locationName:"id" type:"string"`
22520
22521	// The destination service of the record.
22522	Service *string `locationName:"service" type:"string"`
22523}
22524
22525// String returns the string representation
22526func (s DestinationInfo) String() string {
22527	return awsutil.Prettify(s)
22528}
22529
22530// GoString returns the string representation
22531func (s DestinationInfo) GoString() string {
22532	return s.String()
22533}
22534
22535// SetId sets the Id field's value.
22536func (s *DestinationInfo) SetId(v string) *DestinationInfo {
22537	s.Id = &v
22538	return s
22539}
22540
22541// SetService sets the Service field's value.
22542func (s *DestinationInfo) SetService(v string) *DestinationInfo {
22543	s.Service = &v
22544	return s
22545}
22546
22547type DetachCertificateFromDistributionInput struct {
22548	_ struct{} `type:"structure"`
22549
22550	// The name of the distribution from which to detach the certificate.
22551	//
22552	// Use the GetDistributions action to get a list of distribution names that
22553	// you can specify.
22554	//
22555	// DistributionName is a required field
22556	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
22557}
22558
22559// String returns the string representation
22560func (s DetachCertificateFromDistributionInput) String() string {
22561	return awsutil.Prettify(s)
22562}
22563
22564// GoString returns the string representation
22565func (s DetachCertificateFromDistributionInput) GoString() string {
22566	return s.String()
22567}
22568
22569// Validate inspects the fields of the type to determine if they are valid.
22570func (s *DetachCertificateFromDistributionInput) Validate() error {
22571	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
22572	if s.DistributionName == nil {
22573		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
22574	}
22575
22576	if invalidParams.Len() > 0 {
22577		return invalidParams
22578	}
22579	return nil
22580}
22581
22582// SetDistributionName sets the DistributionName field's value.
22583func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
22584	s.DistributionName = &v
22585	return s
22586}
22587
22588type DetachCertificateFromDistributionOutput struct {
22589	_ struct{} `type:"structure"`
22590
22591	// An object that describes the result of the action, such as the status of
22592	// the request, the timestamp of the request, and the resources affected by
22593	// the request.
22594	Operation *Operation `locationName:"operation" type:"structure"`
22595}
22596
22597// String returns the string representation
22598func (s DetachCertificateFromDistributionOutput) String() string {
22599	return awsutil.Prettify(s)
22600}
22601
22602// GoString returns the string representation
22603func (s DetachCertificateFromDistributionOutput) GoString() string {
22604	return s.String()
22605}
22606
22607// SetOperation sets the Operation field's value.
22608func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
22609	s.Operation = v
22610	return s
22611}
22612
22613type DetachDiskInput struct {
22614	_ struct{} `type:"structure"`
22615
22616	// The unique name of the disk you want to detach from your instance (e.g.,
22617	// my-disk).
22618	//
22619	// DiskName is a required field
22620	DiskName *string `locationName:"diskName" type:"string" required:"true"`
22621}
22622
22623// String returns the string representation
22624func (s DetachDiskInput) String() string {
22625	return awsutil.Prettify(s)
22626}
22627
22628// GoString returns the string representation
22629func (s DetachDiskInput) GoString() string {
22630	return s.String()
22631}
22632
22633// Validate inspects the fields of the type to determine if they are valid.
22634func (s *DetachDiskInput) Validate() error {
22635	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
22636	if s.DiskName == nil {
22637		invalidParams.Add(request.NewErrParamRequired("DiskName"))
22638	}
22639
22640	if invalidParams.Len() > 0 {
22641		return invalidParams
22642	}
22643	return nil
22644}
22645
22646// SetDiskName sets the DiskName field's value.
22647func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
22648	s.DiskName = &v
22649	return s
22650}
22651
22652type DetachDiskOutput struct {
22653	_ struct{} `type:"structure"`
22654
22655	// An array of objects that describe the result of the action, such as the status
22656	// of the request, the timestamp of the request, and the resources affected
22657	// by the request.
22658	Operations []*Operation `locationName:"operations" type:"list"`
22659}
22660
22661// String returns the string representation
22662func (s DetachDiskOutput) String() string {
22663	return awsutil.Prettify(s)
22664}
22665
22666// GoString returns the string representation
22667func (s DetachDiskOutput) GoString() string {
22668	return s.String()
22669}
22670
22671// SetOperations sets the Operations field's value.
22672func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
22673	s.Operations = v
22674	return s
22675}
22676
22677type DetachInstancesFromLoadBalancerInput struct {
22678	_ struct{} `type:"structure"`
22679
22680	// An array of strings containing the names of the instances you want to detach
22681	// from the load balancer.
22682	//
22683	// InstanceNames is a required field
22684	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
22685
22686	// The name of the Lightsail load balancer.
22687	//
22688	// LoadBalancerName is a required field
22689	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22690}
22691
22692// String returns the string representation
22693func (s DetachInstancesFromLoadBalancerInput) String() string {
22694	return awsutil.Prettify(s)
22695}
22696
22697// GoString returns the string representation
22698func (s DetachInstancesFromLoadBalancerInput) GoString() string {
22699	return s.String()
22700}
22701
22702// Validate inspects the fields of the type to determine if they are valid.
22703func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
22704	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
22705	if s.InstanceNames == nil {
22706		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
22707	}
22708	if s.LoadBalancerName == nil {
22709		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22710	}
22711
22712	if invalidParams.Len() > 0 {
22713		return invalidParams
22714	}
22715	return nil
22716}
22717
22718// SetInstanceNames sets the InstanceNames field's value.
22719func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
22720	s.InstanceNames = v
22721	return s
22722}
22723
22724// SetLoadBalancerName sets the LoadBalancerName field's value.
22725func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
22726	s.LoadBalancerName = &v
22727	return s
22728}
22729
22730type DetachInstancesFromLoadBalancerOutput struct {
22731	_ struct{} `type:"structure"`
22732
22733	// An array of objects that describe the result of the action, such as the status
22734	// of the request, the timestamp of the request, and the resources affected
22735	// by the request.
22736	Operations []*Operation `locationName:"operations" type:"list"`
22737}
22738
22739// String returns the string representation
22740func (s DetachInstancesFromLoadBalancerOutput) String() string {
22741	return awsutil.Prettify(s)
22742}
22743
22744// GoString returns the string representation
22745func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
22746	return s.String()
22747}
22748
22749// SetOperations sets the Operations field's value.
22750func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
22751	s.Operations = v
22752	return s
22753}
22754
22755type DetachStaticIpInput struct {
22756	_ struct{} `type:"structure"`
22757
22758	// The name of the static IP to detach from the instance.
22759	//
22760	// StaticIpName is a required field
22761	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
22762}
22763
22764// String returns the string representation
22765func (s DetachStaticIpInput) String() string {
22766	return awsutil.Prettify(s)
22767}
22768
22769// GoString returns the string representation
22770func (s DetachStaticIpInput) GoString() string {
22771	return s.String()
22772}
22773
22774// Validate inspects the fields of the type to determine if they are valid.
22775func (s *DetachStaticIpInput) Validate() error {
22776	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
22777	if s.StaticIpName == nil {
22778		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
22779	}
22780
22781	if invalidParams.Len() > 0 {
22782		return invalidParams
22783	}
22784	return nil
22785}
22786
22787// SetStaticIpName sets the StaticIpName field's value.
22788func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
22789	s.StaticIpName = &v
22790	return s
22791}
22792
22793type DetachStaticIpOutput struct {
22794	_ struct{} `type:"structure"`
22795
22796	// An array of objects that describe the result of the action, such as the status
22797	// of the request, the timestamp of the request, and the resources affected
22798	// by the request.
22799	Operations []*Operation `locationName:"operations" type:"list"`
22800}
22801
22802// String returns the string representation
22803func (s DetachStaticIpOutput) String() string {
22804	return awsutil.Prettify(s)
22805}
22806
22807// GoString returns the string representation
22808func (s DetachStaticIpOutput) GoString() string {
22809	return s.String()
22810}
22811
22812// SetOperations sets the Operations field's value.
22813func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
22814	s.Operations = v
22815	return s
22816}
22817
22818type DisableAddOnInput struct {
22819	_ struct{} `type:"structure"`
22820
22821	// The add-on type to disable.
22822	//
22823	// AddOnType is a required field
22824	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
22825
22826	// The name of the source resource for which to disable the add-on.
22827	//
22828	// ResourceName is a required field
22829	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
22830}
22831
22832// String returns the string representation
22833func (s DisableAddOnInput) String() string {
22834	return awsutil.Prettify(s)
22835}
22836
22837// GoString returns the string representation
22838func (s DisableAddOnInput) GoString() string {
22839	return s.String()
22840}
22841
22842// Validate inspects the fields of the type to determine if they are valid.
22843func (s *DisableAddOnInput) Validate() error {
22844	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
22845	if s.AddOnType == nil {
22846		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
22847	}
22848	if s.ResourceName == nil {
22849		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
22850	}
22851
22852	if invalidParams.Len() > 0 {
22853		return invalidParams
22854	}
22855	return nil
22856}
22857
22858// SetAddOnType sets the AddOnType field's value.
22859func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
22860	s.AddOnType = &v
22861	return s
22862}
22863
22864// SetResourceName sets the ResourceName field's value.
22865func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
22866	s.ResourceName = &v
22867	return s
22868}
22869
22870type DisableAddOnOutput struct {
22871	_ struct{} `type:"structure"`
22872
22873	// An array of objects that describe the result of the action, such as the status
22874	// of the request, the timestamp of the request, and the resources affected
22875	// by the request.
22876	Operations []*Operation `locationName:"operations" type:"list"`
22877}
22878
22879// String returns the string representation
22880func (s DisableAddOnOutput) String() string {
22881	return awsutil.Prettify(s)
22882}
22883
22884// GoString returns the string representation
22885func (s DisableAddOnOutput) GoString() string {
22886	return s.String()
22887}
22888
22889// SetOperations sets the Operations field's value.
22890func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
22891	s.Operations = v
22892	return s
22893}
22894
22895// Describes a system disk or a block storage disk.
22896type Disk struct {
22897	_ struct{} `type:"structure"`
22898
22899	// An array of objects representing the add-ons enabled on the disk.
22900	AddOns []*AddOn `locationName:"addOns" type:"list"`
22901
22902	// The Amazon Resource Name (ARN) of the disk.
22903	Arn *string `locationName:"arn" type:"string"`
22904
22905	// The resources to which the disk is attached.
22906	AttachedTo *string `locationName:"attachedTo" type:"string"`
22907
22908	// (Deprecated) The attachment state of the disk.
22909	//
22910	// In releases prior to November 14, 2017, this parameter returned attached
22911	// for system disks in the API response. It is now deprecated, but still included
22912	// in the response. Use isAttached instead.
22913	//
22914	// Deprecated: AttachmentState has been deprecated
22915	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
22916
22917	// The date when the disk was created.
22918	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22919
22920	// (Deprecated) The number of GB in use by the disk.
22921	//
22922	// In releases prior to November 14, 2017, this parameter was not included in
22923	// the API response. It is now deprecated.
22924	//
22925	// Deprecated: GbInUse has been deprecated
22926	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
22927
22928	// The input/output operations per second (IOPS) of the disk.
22929	Iops *int64 `locationName:"iops" type:"integer"`
22930
22931	// A Boolean value indicating whether the disk is attached.
22932	IsAttached *bool `locationName:"isAttached" type:"boolean"`
22933
22934	// A Boolean value indicating whether this disk is a system disk (has an operating
22935	// system loaded on it).
22936	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
22937
22938	// The AWS Region and Availability Zone where the disk is located.
22939	Location *ResourceLocation `locationName:"location" type:"structure"`
22940
22941	// The unique name of the disk.
22942	Name *string `locationName:"name" type:"string"`
22943
22944	// The disk path.
22945	Path *string `locationName:"path" type:"string"`
22946
22947	// The Lightsail resource type (e.g., Disk).
22948	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22949
22950	// The size of the disk in GB.
22951	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
22952
22953	// Describes the status of the disk.
22954	State *string `locationName:"state" type:"string" enum:"DiskState"`
22955
22956	// The support code. Include this code in your email to support when you have
22957	// questions about an instance or another resource in Lightsail. This code enables
22958	// our support team to look up your Lightsail information more easily.
22959	SupportCode *string `locationName:"supportCode" type:"string"`
22960
22961	// The tag keys and optional values for the resource. For more information about
22962	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
22963	Tags []*Tag `locationName:"tags" type:"list"`
22964}
22965
22966// String returns the string representation
22967func (s Disk) String() string {
22968	return awsutil.Prettify(s)
22969}
22970
22971// GoString returns the string representation
22972func (s Disk) GoString() string {
22973	return s.String()
22974}
22975
22976// SetAddOns sets the AddOns field's value.
22977func (s *Disk) SetAddOns(v []*AddOn) *Disk {
22978	s.AddOns = v
22979	return s
22980}
22981
22982// SetArn sets the Arn field's value.
22983func (s *Disk) SetArn(v string) *Disk {
22984	s.Arn = &v
22985	return s
22986}
22987
22988// SetAttachedTo sets the AttachedTo field's value.
22989func (s *Disk) SetAttachedTo(v string) *Disk {
22990	s.AttachedTo = &v
22991	return s
22992}
22993
22994// SetAttachmentState sets the AttachmentState field's value.
22995func (s *Disk) SetAttachmentState(v string) *Disk {
22996	s.AttachmentState = &v
22997	return s
22998}
22999
23000// SetCreatedAt sets the CreatedAt field's value.
23001func (s *Disk) SetCreatedAt(v time.Time) *Disk {
23002	s.CreatedAt = &v
23003	return s
23004}
23005
23006// SetGbInUse sets the GbInUse field's value.
23007func (s *Disk) SetGbInUse(v int64) *Disk {
23008	s.GbInUse = &v
23009	return s
23010}
23011
23012// SetIops sets the Iops field's value.
23013func (s *Disk) SetIops(v int64) *Disk {
23014	s.Iops = &v
23015	return s
23016}
23017
23018// SetIsAttached sets the IsAttached field's value.
23019func (s *Disk) SetIsAttached(v bool) *Disk {
23020	s.IsAttached = &v
23021	return s
23022}
23023
23024// SetIsSystemDisk sets the IsSystemDisk field's value.
23025func (s *Disk) SetIsSystemDisk(v bool) *Disk {
23026	s.IsSystemDisk = &v
23027	return s
23028}
23029
23030// SetLocation sets the Location field's value.
23031func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
23032	s.Location = v
23033	return s
23034}
23035
23036// SetName sets the Name field's value.
23037func (s *Disk) SetName(v string) *Disk {
23038	s.Name = &v
23039	return s
23040}
23041
23042// SetPath sets the Path field's value.
23043func (s *Disk) SetPath(v string) *Disk {
23044	s.Path = &v
23045	return s
23046}
23047
23048// SetResourceType sets the ResourceType field's value.
23049func (s *Disk) SetResourceType(v string) *Disk {
23050	s.ResourceType = &v
23051	return s
23052}
23053
23054// SetSizeInGb sets the SizeInGb field's value.
23055func (s *Disk) SetSizeInGb(v int64) *Disk {
23056	s.SizeInGb = &v
23057	return s
23058}
23059
23060// SetState sets the State field's value.
23061func (s *Disk) SetState(v string) *Disk {
23062	s.State = &v
23063	return s
23064}
23065
23066// SetSupportCode sets the SupportCode field's value.
23067func (s *Disk) SetSupportCode(v string) *Disk {
23068	s.SupportCode = &v
23069	return s
23070}
23071
23072// SetTags sets the Tags field's value.
23073func (s *Disk) SetTags(v []*Tag) *Disk {
23074	s.Tags = v
23075	return s
23076}
23077
23078// Describes a disk.
23079type DiskInfo struct {
23080	_ struct{} `type:"structure"`
23081
23082	// A Boolean value indicating whether this disk is a system disk (has an operating
23083	// system loaded on it).
23084	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
23085
23086	// The disk name.
23087	Name *string `locationName:"name" type:"string"`
23088
23089	// The disk path.
23090	Path *string `locationName:"path" type:"string"`
23091
23092	// The size of the disk in GB (e.g., 32).
23093	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23094}
23095
23096// String returns the string representation
23097func (s DiskInfo) String() string {
23098	return awsutil.Prettify(s)
23099}
23100
23101// GoString returns the string representation
23102func (s DiskInfo) GoString() string {
23103	return s.String()
23104}
23105
23106// SetIsSystemDisk sets the IsSystemDisk field's value.
23107func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
23108	s.IsSystemDisk = &v
23109	return s
23110}
23111
23112// SetName sets the Name field's value.
23113func (s *DiskInfo) SetName(v string) *DiskInfo {
23114	s.Name = &v
23115	return s
23116}
23117
23118// SetPath sets the Path field's value.
23119func (s *DiskInfo) SetPath(v string) *DiskInfo {
23120	s.Path = &v
23121	return s
23122}
23123
23124// SetSizeInGb sets the SizeInGb field's value.
23125func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
23126	s.SizeInGb = &v
23127	return s
23128}
23129
23130// Describes a block storage disk mapping.
23131type DiskMap struct {
23132	_ struct{} `type:"structure"`
23133
23134	// The new disk name (e.g., my-new-disk).
23135	NewDiskName *string `locationName:"newDiskName" type:"string"`
23136
23137	// The original disk path exposed to the instance (for example, /dev/sdh).
23138	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
23139}
23140
23141// String returns the string representation
23142func (s DiskMap) String() string {
23143	return awsutil.Prettify(s)
23144}
23145
23146// GoString returns the string representation
23147func (s DiskMap) GoString() string {
23148	return s.String()
23149}
23150
23151// SetNewDiskName sets the NewDiskName field's value.
23152func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
23153	s.NewDiskName = &v
23154	return s
23155}
23156
23157// SetOriginalDiskPath sets the OriginalDiskPath field's value.
23158func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
23159	s.OriginalDiskPath = &v
23160	return s
23161}
23162
23163// Describes a block storage disk snapshot.
23164type DiskSnapshot struct {
23165	_ struct{} `type:"structure"`
23166
23167	// The Amazon Resource Name (ARN) of the disk snapshot.
23168	Arn *string `locationName:"arn" type:"string"`
23169
23170	// The date when the disk snapshot was created.
23171	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23172
23173	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
23174	// was created.
23175	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
23176
23177	// The unique name of the source disk from which the disk snapshot was created.
23178	FromDiskName *string `locationName:"fromDiskName" type:"string"`
23179
23180	// The Amazon Resource Name (ARN) of the source instance from which the disk
23181	// (system volume) snapshot was created.
23182	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
23183
23184	// The unique name of the source instance from which the disk (system volume)
23185	// snapshot was created.
23186	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
23187
23188	// A Boolean value indicating whether the snapshot was created from an automatic
23189	// snapshot.
23190	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
23191
23192	// The AWS Region and Availability Zone where the disk snapshot was created.
23193	Location *ResourceLocation `locationName:"location" type:"structure"`
23194
23195	// The name of the disk snapshot (e.g., my-disk-snapshot).
23196	Name *string `locationName:"name" type:"string"`
23197
23198	// The progress of the snapshot.
23199	Progress *string `locationName:"progress" type:"string"`
23200
23201	// The Lightsail resource type (e.g., DiskSnapshot).
23202	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23203
23204	// The size of the disk in GB.
23205	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23206
23207	// The status of the disk snapshot operation.
23208	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
23209
23210	// The support code. Include this code in your email to support when you have
23211	// questions about an instance or another resource in Lightsail. This code enables
23212	// our support team to look up your Lightsail information more easily.
23213	SupportCode *string `locationName:"supportCode" type:"string"`
23214
23215	// The tag keys and optional values for the resource. For more information about
23216	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23217	Tags []*Tag `locationName:"tags" type:"list"`
23218}
23219
23220// String returns the string representation
23221func (s DiskSnapshot) String() string {
23222	return awsutil.Prettify(s)
23223}
23224
23225// GoString returns the string representation
23226func (s DiskSnapshot) GoString() string {
23227	return s.String()
23228}
23229
23230// SetArn sets the Arn field's value.
23231func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
23232	s.Arn = &v
23233	return s
23234}
23235
23236// SetCreatedAt sets the CreatedAt field's value.
23237func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
23238	s.CreatedAt = &v
23239	return s
23240}
23241
23242// SetFromDiskArn sets the FromDiskArn field's value.
23243func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
23244	s.FromDiskArn = &v
23245	return s
23246}
23247
23248// SetFromDiskName sets the FromDiskName field's value.
23249func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
23250	s.FromDiskName = &v
23251	return s
23252}
23253
23254// SetFromInstanceArn sets the FromInstanceArn field's value.
23255func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
23256	s.FromInstanceArn = &v
23257	return s
23258}
23259
23260// SetFromInstanceName sets the FromInstanceName field's value.
23261func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
23262	s.FromInstanceName = &v
23263	return s
23264}
23265
23266// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
23267func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
23268	s.IsFromAutoSnapshot = &v
23269	return s
23270}
23271
23272// SetLocation sets the Location field's value.
23273func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
23274	s.Location = v
23275	return s
23276}
23277
23278// SetName sets the Name field's value.
23279func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
23280	s.Name = &v
23281	return s
23282}
23283
23284// SetProgress sets the Progress field's value.
23285func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
23286	s.Progress = &v
23287	return s
23288}
23289
23290// SetResourceType sets the ResourceType field's value.
23291func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
23292	s.ResourceType = &v
23293	return s
23294}
23295
23296// SetSizeInGb sets the SizeInGb field's value.
23297func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
23298	s.SizeInGb = &v
23299	return s
23300}
23301
23302// SetState sets the State field's value.
23303func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
23304	s.State = &v
23305	return s
23306}
23307
23308// SetSupportCode sets the SupportCode field's value.
23309func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
23310	s.SupportCode = &v
23311	return s
23312}
23313
23314// SetTags sets the Tags field's value.
23315func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
23316	s.Tags = v
23317	return s
23318}
23319
23320// Describes a disk snapshot.
23321type DiskSnapshotInfo struct {
23322	_ struct{} `type:"structure"`
23323
23324	// The size of the disk in GB (e.g., 32).
23325	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23326}
23327
23328// String returns the string representation
23329func (s DiskSnapshotInfo) String() string {
23330	return awsutil.Prettify(s)
23331}
23332
23333// GoString returns the string representation
23334func (s DiskSnapshotInfo) GoString() string {
23335	return s.String()
23336}
23337
23338// SetSizeInGb sets the SizeInGb field's value.
23339func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
23340	s.SizeInGb = &v
23341	return s
23342}
23343
23344// Describes the specifications of a distribution bundle.
23345type DistributionBundle struct {
23346	_ struct{} `type:"structure"`
23347
23348	// The ID of the bundle.
23349	BundleId *string `locationName:"bundleId" type:"string"`
23350
23351	// Indicates whether the bundle is active, and can be specified for a new distribution.
23352	IsActive *bool `locationName:"isActive" type:"boolean"`
23353
23354	// The name of the distribution bundle.
23355	Name *string `locationName:"name" type:"string"`
23356
23357	// The monthly price, in US dollars, of the bundle.
23358	Price *float64 `locationName:"price" type:"float"`
23359
23360	// The monthly network transfer quota of the bundle.
23361	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
23362}
23363
23364// String returns the string representation
23365func (s DistributionBundle) String() string {
23366	return awsutil.Prettify(s)
23367}
23368
23369// GoString returns the string representation
23370func (s DistributionBundle) GoString() string {
23371	return s.String()
23372}
23373
23374// SetBundleId sets the BundleId field's value.
23375func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
23376	s.BundleId = &v
23377	return s
23378}
23379
23380// SetIsActive sets the IsActive field's value.
23381func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
23382	s.IsActive = &v
23383	return s
23384}
23385
23386// SetName sets the Name field's value.
23387func (s *DistributionBundle) SetName(v string) *DistributionBundle {
23388	s.Name = &v
23389	return s
23390}
23391
23392// SetPrice sets the Price field's value.
23393func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
23394	s.Price = &v
23395	return s
23396}
23397
23398// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
23399func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
23400	s.TransferPerMonthInGb = &v
23401	return s
23402}
23403
23404// Describes a domain where you are storing recordsets in Lightsail.
23405type Domain struct {
23406	_ struct{} `type:"structure"`
23407
23408	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
23409	Arn *string `locationName:"arn" type:"string"`
23410
23411	// The date when the domain recordset was created.
23412	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23413
23414	// An array of key-value pairs containing information about the domain entries.
23415	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
23416
23417	// The AWS Region and Availability Zones where the domain recordset was created.
23418	Location *ResourceLocation `locationName:"location" type:"structure"`
23419
23420	// The name of the domain.
23421	Name *string `locationName:"name" type:"string"`
23422
23423	// The resource type.
23424	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23425
23426	// The support code. Include this code in your email to support when you have
23427	// questions about an instance or another resource in Lightsail. This code enables
23428	// our support team to look up your Lightsail information more easily.
23429	SupportCode *string `locationName:"supportCode" type:"string"`
23430
23431	// The tag keys and optional values for the resource. For more information about
23432	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23433	Tags []*Tag `locationName:"tags" type:"list"`
23434}
23435
23436// String returns the string representation
23437func (s Domain) String() string {
23438	return awsutil.Prettify(s)
23439}
23440
23441// GoString returns the string representation
23442func (s Domain) GoString() string {
23443	return s.String()
23444}
23445
23446// SetArn sets the Arn field's value.
23447func (s *Domain) SetArn(v string) *Domain {
23448	s.Arn = &v
23449	return s
23450}
23451
23452// SetCreatedAt sets the CreatedAt field's value.
23453func (s *Domain) SetCreatedAt(v time.Time) *Domain {
23454	s.CreatedAt = &v
23455	return s
23456}
23457
23458// SetDomainEntries sets the DomainEntries field's value.
23459func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
23460	s.DomainEntries = v
23461	return s
23462}
23463
23464// SetLocation sets the Location field's value.
23465func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
23466	s.Location = v
23467	return s
23468}
23469
23470// SetName sets the Name field's value.
23471func (s *Domain) SetName(v string) *Domain {
23472	s.Name = &v
23473	return s
23474}
23475
23476// SetResourceType sets the ResourceType field's value.
23477func (s *Domain) SetResourceType(v string) *Domain {
23478	s.ResourceType = &v
23479	return s
23480}
23481
23482// SetSupportCode sets the SupportCode field's value.
23483func (s *Domain) SetSupportCode(v string) *Domain {
23484	s.SupportCode = &v
23485	return s
23486}
23487
23488// SetTags sets the Tags field's value.
23489func (s *Domain) SetTags(v []*Tag) *Domain {
23490	s.Tags = v
23491	return s
23492}
23493
23494// Describes a domain recordset entry.
23495type DomainEntry struct {
23496	_ struct{} `type:"structure"`
23497
23498	// The ID of the domain recordset entry.
23499	Id *string `locationName:"id" type:"string"`
23500
23501	// When true, specifies whether the domain entry is an alias used by the Lightsail
23502	// load balancer. You can include an alias (A type) record in your request,
23503	// which points to a load balancer DNS name and routes traffic to your load
23504	// balancer.
23505	IsAlias *bool `locationName:"isAlias" type:"boolean"`
23506
23507	// The name of the domain.
23508	Name *string `locationName:"name" type:"string"`
23509
23510	// (Deprecated) The options for the domain entry.
23511	//
23512	// In releases prior to November 29, 2017, this parameter was not included in
23513	// the API response. It is now deprecated.
23514	//
23515	// Deprecated: Options has been deprecated
23516	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
23517
23518	// The target AWS name server (e.g., ns-111.awsdns-22.com.).
23519	//
23520	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
23521	// Be sure to also set isAlias to true when setting up an A record for a load
23522	// balancer.
23523	Target *string `locationName:"target" type:"string"`
23524
23525	// The type of domain entry, such as address (A), canonical name (CNAME), mail
23526	// exchanger (MX), name server (NS), start of authority (SOA), service locator
23527	// (SRV), or text (TXT).
23528	//
23529	// The following domain entry types can be used:
23530	//
23531	//    * A
23532	//
23533	//    * CNAME
23534	//
23535	//    * MX
23536	//
23537	//    * NS
23538	//
23539	//    * SOA
23540	//
23541	//    * SRV
23542	//
23543	//    * TXT
23544	Type *string `locationName:"type" type:"string"`
23545}
23546
23547// String returns the string representation
23548func (s DomainEntry) String() string {
23549	return awsutil.Prettify(s)
23550}
23551
23552// GoString returns the string representation
23553func (s DomainEntry) GoString() string {
23554	return s.String()
23555}
23556
23557// SetId sets the Id field's value.
23558func (s *DomainEntry) SetId(v string) *DomainEntry {
23559	s.Id = &v
23560	return s
23561}
23562
23563// SetIsAlias sets the IsAlias field's value.
23564func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
23565	s.IsAlias = &v
23566	return s
23567}
23568
23569// SetName sets the Name field's value.
23570func (s *DomainEntry) SetName(v string) *DomainEntry {
23571	s.Name = &v
23572	return s
23573}
23574
23575// SetOptions sets the Options field's value.
23576func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
23577	s.Options = v
23578	return s
23579}
23580
23581// SetTarget sets the Target field's value.
23582func (s *DomainEntry) SetTarget(v string) *DomainEntry {
23583	s.Target = &v
23584	return s
23585}
23586
23587// SetType sets the Type field's value.
23588func (s *DomainEntry) SetType(v string) *DomainEntry {
23589	s.Type = &v
23590	return s
23591}
23592
23593// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
23594type DomainValidationRecord struct {
23595	_ struct{} `type:"structure"`
23596
23597	// The domain name of the certificate validation record. For example, example.com
23598	// or www.example.com.
23599	DomainName *string `locationName:"domainName" type:"string"`
23600
23601	// An object that describes the DNS records to add to your domain's DNS to validate
23602	// it for the certificate.
23603	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
23604}
23605
23606// String returns the string representation
23607func (s DomainValidationRecord) String() string {
23608	return awsutil.Prettify(s)
23609}
23610
23611// GoString returns the string representation
23612func (s DomainValidationRecord) GoString() string {
23613	return s.String()
23614}
23615
23616// SetDomainName sets the DomainName field's value.
23617func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
23618	s.DomainName = &v
23619	return s
23620}
23621
23622// SetResourceRecord sets the ResourceRecord field's value.
23623func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
23624	s.ResourceRecord = v
23625	return s
23626}
23627
23628type DownloadDefaultKeyPairInput struct {
23629	_ struct{} `type:"structure"`
23630}
23631
23632// String returns the string representation
23633func (s DownloadDefaultKeyPairInput) String() string {
23634	return awsutil.Prettify(s)
23635}
23636
23637// GoString returns the string representation
23638func (s DownloadDefaultKeyPairInput) GoString() string {
23639	return s.String()
23640}
23641
23642type DownloadDefaultKeyPairOutput struct {
23643	_ struct{} `type:"structure"`
23644
23645	// A base64-encoded RSA private key.
23646	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
23647
23648	// A base64-encoded public key of the ssh-rsa type.
23649	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
23650}
23651
23652// String returns the string representation
23653func (s DownloadDefaultKeyPairOutput) String() string {
23654	return awsutil.Prettify(s)
23655}
23656
23657// GoString returns the string representation
23658func (s DownloadDefaultKeyPairOutput) GoString() string {
23659	return s.String()
23660}
23661
23662// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
23663func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
23664	s.PrivateKeyBase64 = &v
23665	return s
23666}
23667
23668// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
23669func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
23670	s.PublicKeyBase64 = &v
23671	return s
23672}
23673
23674type EnableAddOnInput struct {
23675	_ struct{} `type:"structure"`
23676
23677	// An array of strings representing the add-on to enable or modify.
23678	//
23679	// AddOnRequest is a required field
23680	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
23681
23682	// The name of the source resource for which to enable or modify the add-on.
23683	//
23684	// ResourceName is a required field
23685	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
23686}
23687
23688// String returns the string representation
23689func (s EnableAddOnInput) String() string {
23690	return awsutil.Prettify(s)
23691}
23692
23693// GoString returns the string representation
23694func (s EnableAddOnInput) GoString() string {
23695	return s.String()
23696}
23697
23698// Validate inspects the fields of the type to determine if they are valid.
23699func (s *EnableAddOnInput) Validate() error {
23700	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
23701	if s.AddOnRequest == nil {
23702		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
23703	}
23704	if s.ResourceName == nil {
23705		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
23706	}
23707	if s.AddOnRequest != nil {
23708		if err := s.AddOnRequest.Validate(); err != nil {
23709			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
23710		}
23711	}
23712
23713	if invalidParams.Len() > 0 {
23714		return invalidParams
23715	}
23716	return nil
23717}
23718
23719// SetAddOnRequest sets the AddOnRequest field's value.
23720func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
23721	s.AddOnRequest = v
23722	return s
23723}
23724
23725// SetResourceName sets the ResourceName field's value.
23726func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
23727	s.ResourceName = &v
23728	return s
23729}
23730
23731type EnableAddOnOutput struct {
23732	_ struct{} `type:"structure"`
23733
23734	// An array of objects that describe the result of the action, such as the status
23735	// of the request, the timestamp of the request, and the resources affected
23736	// by the request.
23737	Operations []*Operation `locationName:"operations" type:"list"`
23738}
23739
23740// String returns the string representation
23741func (s EnableAddOnOutput) String() string {
23742	return awsutil.Prettify(s)
23743}
23744
23745// GoString returns the string representation
23746func (s EnableAddOnOutput) GoString() string {
23747	return s.String()
23748}
23749
23750// SetOperations sets the Operations field's value.
23751func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
23752	s.Operations = v
23753	return s
23754}
23755
23756// Describes the settings of a public endpoint for an Amazon Lightsail container
23757// service.
23758type EndpointRequest struct {
23759	_ struct{} `type:"structure"`
23760
23761	// The name of the container for the endpoint.
23762	//
23763	// ContainerName is a required field
23764	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
23765
23766	// The port of the container to which traffic is forwarded to.
23767	//
23768	// ContainerPort is a required field
23769	ContainerPort *int64 `locationName:"containerPort" type:"integer" required:"true"`
23770
23771	// An object that describes the health check configuration of the container.
23772	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
23773}
23774
23775// String returns the string representation
23776func (s EndpointRequest) String() string {
23777	return awsutil.Prettify(s)
23778}
23779
23780// GoString returns the string representation
23781func (s EndpointRequest) GoString() string {
23782	return s.String()
23783}
23784
23785// Validate inspects the fields of the type to determine if they are valid.
23786func (s *EndpointRequest) Validate() error {
23787	invalidParams := request.ErrInvalidParams{Context: "EndpointRequest"}
23788	if s.ContainerName == nil {
23789		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
23790	}
23791	if s.ContainerPort == nil {
23792		invalidParams.Add(request.NewErrParamRequired("ContainerPort"))
23793	}
23794
23795	if invalidParams.Len() > 0 {
23796		return invalidParams
23797	}
23798	return nil
23799}
23800
23801// SetContainerName sets the ContainerName field's value.
23802func (s *EndpointRequest) SetContainerName(v string) *EndpointRequest {
23803	s.ContainerName = &v
23804	return s
23805}
23806
23807// SetContainerPort sets the ContainerPort field's value.
23808func (s *EndpointRequest) SetContainerPort(v int64) *EndpointRequest {
23809	s.ContainerPort = &v
23810	return s
23811}
23812
23813// SetHealthCheck sets the HealthCheck field's value.
23814func (s *EndpointRequest) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *EndpointRequest {
23815	s.HealthCheck = v
23816	return s
23817}
23818
23819type ExportSnapshotInput struct {
23820	_ struct{} `type:"structure"`
23821
23822	// The name of the instance or disk snapshot to be exported to Amazon EC2.
23823	//
23824	// SourceSnapshotName is a required field
23825	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
23826}
23827
23828// String returns the string representation
23829func (s ExportSnapshotInput) String() string {
23830	return awsutil.Prettify(s)
23831}
23832
23833// GoString returns the string representation
23834func (s ExportSnapshotInput) GoString() string {
23835	return s.String()
23836}
23837
23838// Validate inspects the fields of the type to determine if they are valid.
23839func (s *ExportSnapshotInput) Validate() error {
23840	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
23841	if s.SourceSnapshotName == nil {
23842		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
23843	}
23844
23845	if invalidParams.Len() > 0 {
23846		return invalidParams
23847	}
23848	return nil
23849}
23850
23851// SetSourceSnapshotName sets the SourceSnapshotName field's value.
23852func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
23853	s.SourceSnapshotName = &v
23854	return s
23855}
23856
23857type ExportSnapshotOutput struct {
23858	_ struct{} `type:"structure"`
23859
23860	// An array of objects that describe the result of the action, such as the status
23861	// of the request, the timestamp of the request, and the resources affected
23862	// by the request.
23863	Operations []*Operation `locationName:"operations" type:"list"`
23864}
23865
23866// String returns the string representation
23867func (s ExportSnapshotOutput) String() string {
23868	return awsutil.Prettify(s)
23869}
23870
23871// GoString returns the string representation
23872func (s ExportSnapshotOutput) GoString() string {
23873	return s.String()
23874}
23875
23876// SetOperations sets the Operations field's value.
23877func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
23878	s.Operations = v
23879	return s
23880}
23881
23882// Describes an export snapshot record.
23883type ExportSnapshotRecord struct {
23884	_ struct{} `type:"structure"`
23885
23886	// The Amazon Resource Name (ARN) of the export snapshot record.
23887	Arn *string `locationName:"arn" type:"string"`
23888
23889	// The date when the export snapshot record was created.
23890	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23891
23892	// A list of objects describing the destination of the export snapshot record.
23893	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
23894
23895	// The AWS Region and Availability Zone where the export snapshot record is
23896	// located.
23897	Location *ResourceLocation `locationName:"location" type:"structure"`
23898
23899	// The export snapshot record name.
23900	Name *string `locationName:"name" type:"string"`
23901
23902	// The Lightsail resource type (e.g., ExportSnapshotRecord).
23903	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23904
23905	// A list of objects describing the source of the export snapshot record.
23906	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
23907
23908	// The state of the export snapshot record.
23909	State *string `locationName:"state" type:"string" enum:"RecordState"`
23910}
23911
23912// String returns the string representation
23913func (s ExportSnapshotRecord) String() string {
23914	return awsutil.Prettify(s)
23915}
23916
23917// GoString returns the string representation
23918func (s ExportSnapshotRecord) GoString() string {
23919	return s.String()
23920}
23921
23922// SetArn sets the Arn field's value.
23923func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
23924	s.Arn = &v
23925	return s
23926}
23927
23928// SetCreatedAt sets the CreatedAt field's value.
23929func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
23930	s.CreatedAt = &v
23931	return s
23932}
23933
23934// SetDestinationInfo sets the DestinationInfo field's value.
23935func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
23936	s.DestinationInfo = v
23937	return s
23938}
23939
23940// SetLocation sets the Location field's value.
23941func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
23942	s.Location = v
23943	return s
23944}
23945
23946// SetName sets the Name field's value.
23947func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
23948	s.Name = &v
23949	return s
23950}
23951
23952// SetResourceType sets the ResourceType field's value.
23953func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
23954	s.ResourceType = &v
23955	return s
23956}
23957
23958// SetSourceInfo sets the SourceInfo field's value.
23959func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
23960	s.SourceInfo = v
23961	return s
23962}
23963
23964// SetState sets the State field's value.
23965func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
23966	s.State = &v
23967	return s
23968}
23969
23970// Describes the source of an export snapshot record.
23971type ExportSnapshotRecordSourceInfo struct {
23972	_ struct{} `type:"structure"`
23973
23974	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
23975	Arn *string `locationName:"arn" type:"string"`
23976
23977	// The date when the source instance or disk snapshot was created.
23978	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23979
23980	// A list of objects describing a disk snapshot.
23981	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
23982
23983	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
23984	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
23985
23986	// The name of the snapshot's source instance or disk.
23987	FromResourceName *string `locationName:"fromResourceName" type:"string"`
23988
23989	// A list of objects describing an instance snapshot.
23990	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
23991
23992	// The name of the source instance or disk snapshot.
23993	Name *string `locationName:"name" type:"string"`
23994
23995	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
23996	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
23997}
23998
23999// String returns the string representation
24000func (s ExportSnapshotRecordSourceInfo) String() string {
24001	return awsutil.Prettify(s)
24002}
24003
24004// GoString returns the string representation
24005func (s ExportSnapshotRecordSourceInfo) GoString() string {
24006	return s.String()
24007}
24008
24009// SetArn sets the Arn field's value.
24010func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
24011	s.Arn = &v
24012	return s
24013}
24014
24015// SetCreatedAt sets the CreatedAt field's value.
24016func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
24017	s.CreatedAt = &v
24018	return s
24019}
24020
24021// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
24022func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
24023	s.DiskSnapshotInfo = v
24024	return s
24025}
24026
24027// SetFromResourceArn sets the FromResourceArn field's value.
24028func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
24029	s.FromResourceArn = &v
24030	return s
24031}
24032
24033// SetFromResourceName sets the FromResourceName field's value.
24034func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
24035	s.FromResourceName = &v
24036	return s
24037}
24038
24039// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
24040func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
24041	s.InstanceSnapshotInfo = v
24042	return s
24043}
24044
24045// SetName sets the Name field's value.
24046func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
24047	s.Name = &v
24048	return s
24049}
24050
24051// SetResourceType sets the ResourceType field's value.
24052func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
24053	s.ResourceType = &v
24054	return s
24055}
24056
24057type GetActiveNamesInput struct {
24058	_ struct{} `type:"structure"`
24059
24060	// The token to advance to the next page of results from your request.
24061	//
24062	// To get a page token, perform an initial GetActiveNames request. If your results
24063	// are paginated, the response will return a next page token that you can specify
24064	// as the page token in a subsequent request.
24065	PageToken *string `locationName:"pageToken" type:"string"`
24066}
24067
24068// String returns the string representation
24069func (s GetActiveNamesInput) String() string {
24070	return awsutil.Prettify(s)
24071}
24072
24073// GoString returns the string representation
24074func (s GetActiveNamesInput) GoString() string {
24075	return s.String()
24076}
24077
24078// SetPageToken sets the PageToken field's value.
24079func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
24080	s.PageToken = &v
24081	return s
24082}
24083
24084type GetActiveNamesOutput struct {
24085	_ struct{} `type:"structure"`
24086
24087	// The list of active names returned by the get active names request.
24088	ActiveNames []*string `locationName:"activeNames" type:"list"`
24089
24090	// The token to advance to the next page of results from your request.
24091	//
24092	// A next page token is not returned if there are no more results to display.
24093	//
24094	// To get the next page of results, perform another GetActiveNames request and
24095	// specify the next page token using the pageToken parameter.
24096	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24097}
24098
24099// String returns the string representation
24100func (s GetActiveNamesOutput) String() string {
24101	return awsutil.Prettify(s)
24102}
24103
24104// GoString returns the string representation
24105func (s GetActiveNamesOutput) GoString() string {
24106	return s.String()
24107}
24108
24109// SetActiveNames sets the ActiveNames field's value.
24110func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
24111	s.ActiveNames = v
24112	return s
24113}
24114
24115// SetNextPageToken sets the NextPageToken field's value.
24116func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
24117	s.NextPageToken = &v
24118	return s
24119}
24120
24121type GetAlarmsInput struct {
24122	_ struct{} `type:"structure"`
24123
24124	// The name of the alarm.
24125	//
24126	// Specify an alarm name to return information about a specific alarm.
24127	AlarmName *string `locationName:"alarmName" type:"string"`
24128
24129	// The name of the Lightsail resource being monitored by the alarm.
24130	//
24131	// Specify a monitored resource name to return information about all alarms
24132	// for a specific resource.
24133	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
24134
24135	// The token to advance to the next page of results from your request.
24136	//
24137	// To get a page token, perform an initial GetAlarms request. If your results
24138	// are paginated, the response will return a next page token that you can specify
24139	// as the page token in a subsequent request.
24140	PageToken *string `locationName:"pageToken" type:"string"`
24141}
24142
24143// String returns the string representation
24144func (s GetAlarmsInput) String() string {
24145	return awsutil.Prettify(s)
24146}
24147
24148// GoString returns the string representation
24149func (s GetAlarmsInput) GoString() string {
24150	return s.String()
24151}
24152
24153// SetAlarmName sets the AlarmName field's value.
24154func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
24155	s.AlarmName = &v
24156	return s
24157}
24158
24159// SetMonitoredResourceName sets the MonitoredResourceName field's value.
24160func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
24161	s.MonitoredResourceName = &v
24162	return s
24163}
24164
24165// SetPageToken sets the PageToken field's value.
24166func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
24167	s.PageToken = &v
24168	return s
24169}
24170
24171type GetAlarmsOutput struct {
24172	_ struct{} `type:"structure"`
24173
24174	// An array of objects that describe the alarms.
24175	Alarms []*Alarm `locationName:"alarms" type:"list"`
24176
24177	// The token to advance to the next page of results from your request.
24178	//
24179	// A next page token is not returned if there are no more results to display.
24180	//
24181	// To get the next page of results, perform another GetAlarms request and specify
24182	// the next page token using the pageToken parameter.
24183	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24184}
24185
24186// String returns the string representation
24187func (s GetAlarmsOutput) String() string {
24188	return awsutil.Prettify(s)
24189}
24190
24191// GoString returns the string representation
24192func (s GetAlarmsOutput) GoString() string {
24193	return s.String()
24194}
24195
24196// SetAlarms sets the Alarms field's value.
24197func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
24198	s.Alarms = v
24199	return s
24200}
24201
24202// SetNextPageToken sets the NextPageToken field's value.
24203func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
24204	s.NextPageToken = &v
24205	return s
24206}
24207
24208type GetAutoSnapshotsInput struct {
24209	_ struct{} `type:"structure"`
24210
24211	// The name of the source instance or disk from which to get automatic snapshot
24212	// information.
24213	//
24214	// ResourceName is a required field
24215	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24216}
24217
24218// String returns the string representation
24219func (s GetAutoSnapshotsInput) String() string {
24220	return awsutil.Prettify(s)
24221}
24222
24223// GoString returns the string representation
24224func (s GetAutoSnapshotsInput) GoString() string {
24225	return s.String()
24226}
24227
24228// Validate inspects the fields of the type to determine if they are valid.
24229func (s *GetAutoSnapshotsInput) Validate() error {
24230	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
24231	if s.ResourceName == nil {
24232		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24233	}
24234
24235	if invalidParams.Len() > 0 {
24236		return invalidParams
24237	}
24238	return nil
24239}
24240
24241// SetResourceName sets the ResourceName field's value.
24242func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
24243	s.ResourceName = &v
24244	return s
24245}
24246
24247type GetAutoSnapshotsOutput struct {
24248	_ struct{} `type:"structure"`
24249
24250	// An array of objects that describe the automatic snapshots that are available
24251	// for the specified source instance or disk.
24252	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
24253
24254	// The name of the source instance or disk for the automatic snapshots.
24255	ResourceName *string `locationName:"resourceName" type:"string"`
24256
24257	// The resource type (e.g., Instance or Disk).
24258	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
24259}
24260
24261// String returns the string representation
24262func (s GetAutoSnapshotsOutput) String() string {
24263	return awsutil.Prettify(s)
24264}
24265
24266// GoString returns the string representation
24267func (s GetAutoSnapshotsOutput) GoString() string {
24268	return s.String()
24269}
24270
24271// SetAutoSnapshots sets the AutoSnapshots field's value.
24272func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
24273	s.AutoSnapshots = v
24274	return s
24275}
24276
24277// SetResourceName sets the ResourceName field's value.
24278func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
24279	s.ResourceName = &v
24280	return s
24281}
24282
24283// SetResourceType sets the ResourceType field's value.
24284func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
24285	s.ResourceType = &v
24286	return s
24287}
24288
24289type GetBlueprintsInput struct {
24290	_ struct{} `type:"structure"`
24291
24292	// A Boolean value indicating whether to include inactive results in your request.
24293	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
24294
24295	// The token to advance to the next page of results from your request.
24296	//
24297	// To get a page token, perform an initial GetBlueprints request. If your results
24298	// are paginated, the response will return a next page token that you can specify
24299	// as the page token in a subsequent request.
24300	PageToken *string `locationName:"pageToken" type:"string"`
24301}
24302
24303// String returns the string representation
24304func (s GetBlueprintsInput) String() string {
24305	return awsutil.Prettify(s)
24306}
24307
24308// GoString returns the string representation
24309func (s GetBlueprintsInput) GoString() string {
24310	return s.String()
24311}
24312
24313// SetIncludeInactive sets the IncludeInactive field's value.
24314func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
24315	s.IncludeInactive = &v
24316	return s
24317}
24318
24319// SetPageToken sets the PageToken field's value.
24320func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
24321	s.PageToken = &v
24322	return s
24323}
24324
24325type GetBlueprintsOutput struct {
24326	_ struct{} `type:"structure"`
24327
24328	// An array of key-value pairs that contains information about the available
24329	// blueprints.
24330	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
24331
24332	// The token to advance to the next page of results from your request.
24333	//
24334	// A next page token is not returned if there are no more results to display.
24335	//
24336	// To get the next page of results, perform another GetBlueprints request and
24337	// specify the next page token using the pageToken parameter.
24338	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24339}
24340
24341// String returns the string representation
24342func (s GetBlueprintsOutput) String() string {
24343	return awsutil.Prettify(s)
24344}
24345
24346// GoString returns the string representation
24347func (s GetBlueprintsOutput) GoString() string {
24348	return s.String()
24349}
24350
24351// SetBlueprints sets the Blueprints field's value.
24352func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
24353	s.Blueprints = v
24354	return s
24355}
24356
24357// SetNextPageToken sets the NextPageToken field's value.
24358func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
24359	s.NextPageToken = &v
24360	return s
24361}
24362
24363type GetBundlesInput struct {
24364	_ struct{} `type:"structure"`
24365
24366	// A Boolean value that indicates whether to include inactive bundle results
24367	// in your request.
24368	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
24369
24370	// The token to advance to the next page of results from your request.
24371	//
24372	// To get a page token, perform an initial GetBundles request. If your results
24373	// are paginated, the response will return a next page token that you can specify
24374	// as the page token in a subsequent request.
24375	PageToken *string `locationName:"pageToken" type:"string"`
24376}
24377
24378// String returns the string representation
24379func (s GetBundlesInput) String() string {
24380	return awsutil.Prettify(s)
24381}
24382
24383// GoString returns the string representation
24384func (s GetBundlesInput) GoString() string {
24385	return s.String()
24386}
24387
24388// SetIncludeInactive sets the IncludeInactive field's value.
24389func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
24390	s.IncludeInactive = &v
24391	return s
24392}
24393
24394// SetPageToken sets the PageToken field's value.
24395func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
24396	s.PageToken = &v
24397	return s
24398}
24399
24400type GetBundlesOutput struct {
24401	_ struct{} `type:"structure"`
24402
24403	// An array of key-value pairs that contains information about the available
24404	// bundles.
24405	Bundles []*Bundle `locationName:"bundles" type:"list"`
24406
24407	// The token to advance to the next page of results from your request.
24408	//
24409	// A next page token is not returned if there are no more results to display.
24410	//
24411	// To get the next page of results, perform another GetBundles request and specify
24412	// the next page token using the pageToken parameter.
24413	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24414}
24415
24416// String returns the string representation
24417func (s GetBundlesOutput) String() string {
24418	return awsutil.Prettify(s)
24419}
24420
24421// GoString returns the string representation
24422func (s GetBundlesOutput) GoString() string {
24423	return s.String()
24424}
24425
24426// SetBundles sets the Bundles field's value.
24427func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
24428	s.Bundles = v
24429	return s
24430}
24431
24432// SetNextPageToken sets the NextPageToken field's value.
24433func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
24434	s.NextPageToken = &v
24435	return s
24436}
24437
24438type GetCertificatesInput struct {
24439	_ struct{} `type:"structure"`
24440
24441	// The name for the certificate for which to return information.
24442	//
24443	// When omitted, the response includes all of your certificates in the AWS Region
24444	// where the request is made.
24445	CertificateName *string `locationName:"certificateName" type:"string"`
24446
24447	// The status of the certificates for which to return information.
24448	//
24449	// For example, specify ISSUED to return only certificates with an ISSUED status.
24450	//
24451	// When omitted, the response includes all of your certificates in the AWS Region
24452	// where the request is made, regardless of their current status.
24453	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
24454
24455	// Indicates whether to include detailed information about the certificates
24456	// in the response.
24457	//
24458	// When omitted, the response includes only the certificate names, Amazon Resource
24459	// Names (ARNs), domain names, and tags.
24460	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
24461}
24462
24463// String returns the string representation
24464func (s GetCertificatesInput) String() string {
24465	return awsutil.Prettify(s)
24466}
24467
24468// GoString returns the string representation
24469func (s GetCertificatesInput) GoString() string {
24470	return s.String()
24471}
24472
24473// SetCertificateName sets the CertificateName field's value.
24474func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
24475	s.CertificateName = &v
24476	return s
24477}
24478
24479// SetCertificateStatuses sets the CertificateStatuses field's value.
24480func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
24481	s.CertificateStatuses = v
24482	return s
24483}
24484
24485// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
24486func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
24487	s.IncludeCertificateDetails = &v
24488	return s
24489}
24490
24491type GetCertificatesOutput struct {
24492	_ struct{} `type:"structure"`
24493
24494	// An object that describes certificates.
24495	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
24496}
24497
24498// String returns the string representation
24499func (s GetCertificatesOutput) String() string {
24500	return awsutil.Prettify(s)
24501}
24502
24503// GoString returns the string representation
24504func (s GetCertificatesOutput) GoString() string {
24505	return s.String()
24506}
24507
24508// SetCertificates sets the Certificates field's value.
24509func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
24510	s.Certificates = v
24511	return s
24512}
24513
24514type GetCloudFormationStackRecordsInput struct {
24515	_ struct{} `type:"structure"`
24516
24517	// The token to advance to the next page of results from your request.
24518	//
24519	// To get a page token, perform an initial GetClouFormationStackRecords request.
24520	// If your results are paginated, the response will return a next page token
24521	// that you can specify as the page token in a subsequent request.
24522	PageToken *string `locationName:"pageToken" type:"string"`
24523}
24524
24525// String returns the string representation
24526func (s GetCloudFormationStackRecordsInput) String() string {
24527	return awsutil.Prettify(s)
24528}
24529
24530// GoString returns the string representation
24531func (s GetCloudFormationStackRecordsInput) GoString() string {
24532	return s.String()
24533}
24534
24535// SetPageToken sets the PageToken field's value.
24536func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
24537	s.PageToken = &v
24538	return s
24539}
24540
24541type GetCloudFormationStackRecordsOutput struct {
24542	_ struct{} `type:"structure"`
24543
24544	// A list of objects describing the CloudFormation stack records.
24545	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
24546
24547	// The token to advance to the next page of results from your request.
24548	//
24549	// A next page token is not returned if there are no more results to display.
24550	//
24551	// To get the next page of results, perform another GetCloudFormationStackRecords
24552	// request and specify the next page token using the pageToken parameter.
24553	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24554}
24555
24556// String returns the string representation
24557func (s GetCloudFormationStackRecordsOutput) String() string {
24558	return awsutil.Prettify(s)
24559}
24560
24561// GoString returns the string representation
24562func (s GetCloudFormationStackRecordsOutput) GoString() string {
24563	return s.String()
24564}
24565
24566// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
24567func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
24568	s.CloudFormationStackRecords = v
24569	return s
24570}
24571
24572// SetNextPageToken sets the NextPageToken field's value.
24573func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
24574	s.NextPageToken = &v
24575	return s
24576}
24577
24578type GetContactMethodsInput struct {
24579	_ struct{} `type:"structure"`
24580
24581	// The protocols used to send notifications, such as Email, or SMS (text messaging).
24582	//
24583	// Specify a protocol in your request to return information about a specific
24584	// contact method protocol.
24585	Protocols []*string `locationName:"protocols" type:"list"`
24586}
24587
24588// String returns the string representation
24589func (s GetContactMethodsInput) String() string {
24590	return awsutil.Prettify(s)
24591}
24592
24593// GoString returns the string representation
24594func (s GetContactMethodsInput) GoString() string {
24595	return s.String()
24596}
24597
24598// SetProtocols sets the Protocols field's value.
24599func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
24600	s.Protocols = v
24601	return s
24602}
24603
24604type GetContactMethodsOutput struct {
24605	_ struct{} `type:"structure"`
24606
24607	// An array of objects that describe the contact methods.
24608	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
24609}
24610
24611// String returns the string representation
24612func (s GetContactMethodsOutput) String() string {
24613	return awsutil.Prettify(s)
24614}
24615
24616// GoString returns the string representation
24617func (s GetContactMethodsOutput) GoString() string {
24618	return s.String()
24619}
24620
24621// SetContactMethods sets the ContactMethods field's value.
24622func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
24623	s.ContactMethods = v
24624	return s
24625}
24626
24627type GetContainerAPIMetadataInput struct {
24628	_ struct{} `type:"structure"`
24629}
24630
24631// String returns the string representation
24632func (s GetContainerAPIMetadataInput) String() string {
24633	return awsutil.Prettify(s)
24634}
24635
24636// GoString returns the string representation
24637func (s GetContainerAPIMetadataInput) GoString() string {
24638	return s.String()
24639}
24640
24641type GetContainerAPIMetadataOutput struct {
24642	_ struct{} `type:"structure"`
24643
24644	// Metadata about Lightsail containers, such as the current version of the Lightsail
24645	// Control (lightsailctl) plugin.
24646	Metadata []map[string]*string `locationName:"metadata" type:"list"`
24647}
24648
24649// String returns the string representation
24650func (s GetContainerAPIMetadataOutput) String() string {
24651	return awsutil.Prettify(s)
24652}
24653
24654// GoString returns the string representation
24655func (s GetContainerAPIMetadataOutput) GoString() string {
24656	return s.String()
24657}
24658
24659// SetMetadata sets the Metadata field's value.
24660func (s *GetContainerAPIMetadataOutput) SetMetadata(v []map[string]*string) *GetContainerAPIMetadataOutput {
24661	s.Metadata = v
24662	return s
24663}
24664
24665type GetContainerImagesInput struct {
24666	_ struct{} `type:"structure"`
24667
24668	// The name of the container service for which to return registered container
24669	// images.
24670	//
24671	// ServiceName is a required field
24672	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24673}
24674
24675// String returns the string representation
24676func (s GetContainerImagesInput) String() string {
24677	return awsutil.Prettify(s)
24678}
24679
24680// GoString returns the string representation
24681func (s GetContainerImagesInput) GoString() string {
24682	return s.String()
24683}
24684
24685// Validate inspects the fields of the type to determine if they are valid.
24686func (s *GetContainerImagesInput) Validate() error {
24687	invalidParams := request.ErrInvalidParams{Context: "GetContainerImagesInput"}
24688	if s.ServiceName == nil {
24689		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24690	}
24691	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24692		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24693	}
24694
24695	if invalidParams.Len() > 0 {
24696		return invalidParams
24697	}
24698	return nil
24699}
24700
24701// SetServiceName sets the ServiceName field's value.
24702func (s *GetContainerImagesInput) SetServiceName(v string) *GetContainerImagesInput {
24703	s.ServiceName = &v
24704	return s
24705}
24706
24707type GetContainerImagesOutput struct {
24708	_ struct{} `type:"structure"`
24709
24710	// An array of objects that describe container images that are registered to
24711	// the container service.
24712	ContainerImages []*ContainerImage `locationName:"containerImages" type:"list"`
24713}
24714
24715// String returns the string representation
24716func (s GetContainerImagesOutput) String() string {
24717	return awsutil.Prettify(s)
24718}
24719
24720// GoString returns the string representation
24721func (s GetContainerImagesOutput) GoString() string {
24722	return s.String()
24723}
24724
24725// SetContainerImages sets the ContainerImages field's value.
24726func (s *GetContainerImagesOutput) SetContainerImages(v []*ContainerImage) *GetContainerImagesOutput {
24727	s.ContainerImages = v
24728	return s
24729}
24730
24731type GetContainerLogInput struct {
24732	_ struct{} `type:"structure"`
24733
24734	// The name of the container that is either running or previously ran on the
24735	// container service for which to return a log.
24736	//
24737	// ContainerName is a required field
24738	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
24739
24740	// The end of the time interval for which to get log data.
24741	//
24742	// Constraints:
24743	//
24744	//    * Specified in Coordinated Universal Time (UTC).
24745	//
24746	//    * Specified in the Unix time format. For example, if you wish to use an
24747	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
24748	//    time.
24749	//
24750	// You can convert a human-friendly time to Unix time format using a converter
24751	// like Epoch converter (https://www.epochconverter.com/).
24752	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
24753
24754	// The pattern to use to filter the returned log events to a specific term.
24755	//
24756	// The following are a few examples of filter patterns that you can specify:
24757	//
24758	//    * To return all log events, specify a filter pattern of "".
24759	//
24760	//    * To exclude log events that contain the ERROR term, and return all other
24761	//    log events, specify a filter pattern of "-ERROR".
24762	//
24763	//    * To return log events that contain the ERROR term, specify a filter pattern
24764	//    of "ERROR".
24765	//
24766	//    * To return log events that contain both the ERROR and Exception terms,
24767	//    specify a filter pattern of "ERROR Exception".
24768	//
24769	//    * To return log events that contain the ERROR or the Exception term, specify
24770	//    a filter pattern of "?ERROR ?Exception".
24771	FilterPattern *string `locationName:"filterPattern" type:"string"`
24772
24773	// The token to advance to the next page of results from your request.
24774	//
24775	// To get a page token, perform an initial GetContainerLog request. If your
24776	// results are paginated, the response will return a next page token that you
24777	// can specify as the page token in a subsequent request.
24778	PageToken *string `locationName:"pageToken" type:"string"`
24779
24780	// The name of the container service for which to get a container log.
24781	//
24782	// ServiceName is a required field
24783	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24784
24785	// The start of the time interval for which to get log data.
24786	//
24787	// Constraints:
24788	//
24789	//    * Specified in Coordinated Universal Time (UTC).
24790	//
24791	//    * Specified in the Unix time format. For example, if you wish to use a
24792	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
24793	//    start time.
24794	//
24795	// You can convert a human-friendly time to Unix time format using a converter
24796	// like Epoch converter (https://www.epochconverter.com/).
24797	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
24798}
24799
24800// String returns the string representation
24801func (s GetContainerLogInput) String() string {
24802	return awsutil.Prettify(s)
24803}
24804
24805// GoString returns the string representation
24806func (s GetContainerLogInput) GoString() string {
24807	return s.String()
24808}
24809
24810// Validate inspects the fields of the type to determine if they are valid.
24811func (s *GetContainerLogInput) Validate() error {
24812	invalidParams := request.ErrInvalidParams{Context: "GetContainerLogInput"}
24813	if s.ContainerName == nil {
24814		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
24815	}
24816	if s.ServiceName == nil {
24817		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24818	}
24819	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24820		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24821	}
24822
24823	if invalidParams.Len() > 0 {
24824		return invalidParams
24825	}
24826	return nil
24827}
24828
24829// SetContainerName sets the ContainerName field's value.
24830func (s *GetContainerLogInput) SetContainerName(v string) *GetContainerLogInput {
24831	s.ContainerName = &v
24832	return s
24833}
24834
24835// SetEndTime sets the EndTime field's value.
24836func (s *GetContainerLogInput) SetEndTime(v time.Time) *GetContainerLogInput {
24837	s.EndTime = &v
24838	return s
24839}
24840
24841// SetFilterPattern sets the FilterPattern field's value.
24842func (s *GetContainerLogInput) SetFilterPattern(v string) *GetContainerLogInput {
24843	s.FilterPattern = &v
24844	return s
24845}
24846
24847// SetPageToken sets the PageToken field's value.
24848func (s *GetContainerLogInput) SetPageToken(v string) *GetContainerLogInput {
24849	s.PageToken = &v
24850	return s
24851}
24852
24853// SetServiceName sets the ServiceName field's value.
24854func (s *GetContainerLogInput) SetServiceName(v string) *GetContainerLogInput {
24855	s.ServiceName = &v
24856	return s
24857}
24858
24859// SetStartTime sets the StartTime field's value.
24860func (s *GetContainerLogInput) SetStartTime(v time.Time) *GetContainerLogInput {
24861	s.StartTime = &v
24862	return s
24863}
24864
24865type GetContainerLogOutput struct {
24866	_ struct{} `type:"structure"`
24867
24868	// An array of objects that describe the log events of a container.
24869	LogEvents []*ContainerServiceLogEvent `locationName:"logEvents" type:"list"`
24870
24871	// The token to advance to the next page of results from your request.
24872	//
24873	// A next page token is not returned if there are no more results to display.
24874	//
24875	// To get the next page of results, perform another GetContainerLog request
24876	// and specify the next page token using the pageToken parameter.
24877	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24878}
24879
24880// String returns the string representation
24881func (s GetContainerLogOutput) String() string {
24882	return awsutil.Prettify(s)
24883}
24884
24885// GoString returns the string representation
24886func (s GetContainerLogOutput) GoString() string {
24887	return s.String()
24888}
24889
24890// SetLogEvents sets the LogEvents field's value.
24891func (s *GetContainerLogOutput) SetLogEvents(v []*ContainerServiceLogEvent) *GetContainerLogOutput {
24892	s.LogEvents = v
24893	return s
24894}
24895
24896// SetNextPageToken sets the NextPageToken field's value.
24897func (s *GetContainerLogOutput) SetNextPageToken(v string) *GetContainerLogOutput {
24898	s.NextPageToken = &v
24899	return s
24900}
24901
24902type GetContainerServiceDeploymentsInput struct {
24903	_ struct{} `type:"structure"`
24904
24905	// The name of the container service for which to return deployments.
24906	//
24907	// ServiceName is a required field
24908	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24909}
24910
24911// String returns the string representation
24912func (s GetContainerServiceDeploymentsInput) String() string {
24913	return awsutil.Prettify(s)
24914}
24915
24916// GoString returns the string representation
24917func (s GetContainerServiceDeploymentsInput) GoString() string {
24918	return s.String()
24919}
24920
24921// Validate inspects the fields of the type to determine if they are valid.
24922func (s *GetContainerServiceDeploymentsInput) Validate() error {
24923	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceDeploymentsInput"}
24924	if s.ServiceName == nil {
24925		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24926	}
24927	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24928		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24929	}
24930
24931	if invalidParams.Len() > 0 {
24932		return invalidParams
24933	}
24934	return nil
24935}
24936
24937// SetServiceName sets the ServiceName field's value.
24938func (s *GetContainerServiceDeploymentsInput) SetServiceName(v string) *GetContainerServiceDeploymentsInput {
24939	s.ServiceName = &v
24940	return s
24941}
24942
24943type GetContainerServiceDeploymentsOutput struct {
24944	_ struct{} `type:"structure"`
24945
24946	// An array of objects that describe deployments for a container service.
24947	Deployments []*ContainerServiceDeployment `locationName:"deployments" type:"list"`
24948}
24949
24950// String returns the string representation
24951func (s GetContainerServiceDeploymentsOutput) String() string {
24952	return awsutil.Prettify(s)
24953}
24954
24955// GoString returns the string representation
24956func (s GetContainerServiceDeploymentsOutput) GoString() string {
24957	return s.String()
24958}
24959
24960// SetDeployments sets the Deployments field's value.
24961func (s *GetContainerServiceDeploymentsOutput) SetDeployments(v []*ContainerServiceDeployment) *GetContainerServiceDeploymentsOutput {
24962	s.Deployments = v
24963	return s
24964}
24965
24966type GetContainerServiceMetricDataInput struct {
24967	_ struct{} `type:"structure"`
24968
24969	// The end time of the time period.
24970	//
24971	// EndTime is a required field
24972	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
24973
24974	// The metric for which you want to return information.
24975	//
24976	// Valid container service metric names are listed below, along with the most
24977	// useful statistics to include in your request, and the published unit value.
24978	//
24979	//    * CPUUtilization - The average percentage of compute units that are currently
24980	//    in use across all nodes of the container service. This metric identifies
24981	//    the processing power required to run containers on each node of the container
24982	//    service. Statistics: The most useful statistics are Maximum and Average.
24983	//    Unit: The published unit is Percent.
24984	//
24985	//    * MemoryUtilization - The average percentage of available memory that
24986	//    is currently in use across all nodes of the container service. This metric
24987	//    identifies the memory required to run containers on each node of the container
24988	//    service. Statistics: The most useful statistics are Maximum and Average.
24989	//    Unit: The published unit is Percent.
24990	//
24991	// MetricName is a required field
24992	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"ContainerServiceMetricName"`
24993
24994	// The granularity, in seconds, of the returned data points.
24995	//
24996	// All container service metric data is available in 5-minute (300 seconds)
24997	// granularity.
24998	//
24999	// Period is a required field
25000	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
25001
25002	// The name of the container service for which to get metric data.
25003	//
25004	// ServiceName is a required field
25005	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
25006
25007	// The start time of the time period.
25008	//
25009	// StartTime is a required field
25010	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
25011
25012	// The statistic for the metric.
25013	//
25014	// The following statistics are available:
25015	//
25016	//    * Minimum - The lowest value observed during the specified period. Use
25017	//    this value to determine low volumes of activity for your application.
25018	//
25019	//    * Maximum - The highest value observed during the specified period. Use
25020	//    this value to determine high volumes of activity for your application.
25021	//
25022	//    * Sum - All values submitted for the matching metric added together. You
25023	//    can use this statistic to determine the total volume of a metric.
25024	//
25025	//    * Average - The value of Sum / SampleCount during the specified period.
25026	//    By comparing this statistic with the Minimum and Maximum values, you can
25027	//    determine the full scope of a metric and how close the average use is
25028	//    to the Minimum and Maximum values. This comparison helps you to know when
25029	//    to increase or decrease your resources.
25030	//
25031	//    * SampleCount - The count, or number, of data points used for the statistical
25032	//    calculation.
25033	//
25034	// Statistics is a required field
25035	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
25036}
25037
25038// String returns the string representation
25039func (s GetContainerServiceMetricDataInput) String() string {
25040	return awsutil.Prettify(s)
25041}
25042
25043// GoString returns the string representation
25044func (s GetContainerServiceMetricDataInput) GoString() string {
25045	return s.String()
25046}
25047
25048// Validate inspects the fields of the type to determine if they are valid.
25049func (s *GetContainerServiceMetricDataInput) Validate() error {
25050	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceMetricDataInput"}
25051	if s.EndTime == nil {
25052		invalidParams.Add(request.NewErrParamRequired("EndTime"))
25053	}
25054	if s.MetricName == nil {
25055		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25056	}
25057	if s.Period == nil {
25058		invalidParams.Add(request.NewErrParamRequired("Period"))
25059	}
25060	if s.Period != nil && *s.Period < 60 {
25061		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
25062	}
25063	if s.ServiceName == nil {
25064		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
25065	}
25066	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
25067		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
25068	}
25069	if s.StartTime == nil {
25070		invalidParams.Add(request.NewErrParamRequired("StartTime"))
25071	}
25072	if s.Statistics == nil {
25073		invalidParams.Add(request.NewErrParamRequired("Statistics"))
25074	}
25075
25076	if invalidParams.Len() > 0 {
25077		return invalidParams
25078	}
25079	return nil
25080}
25081
25082// SetEndTime sets the EndTime field's value.
25083func (s *GetContainerServiceMetricDataInput) SetEndTime(v time.Time) *GetContainerServiceMetricDataInput {
25084	s.EndTime = &v
25085	return s
25086}
25087
25088// SetMetricName sets the MetricName field's value.
25089func (s *GetContainerServiceMetricDataInput) SetMetricName(v string) *GetContainerServiceMetricDataInput {
25090	s.MetricName = &v
25091	return s
25092}
25093
25094// SetPeriod sets the Period field's value.
25095func (s *GetContainerServiceMetricDataInput) SetPeriod(v int64) *GetContainerServiceMetricDataInput {
25096	s.Period = &v
25097	return s
25098}
25099
25100// SetServiceName sets the ServiceName field's value.
25101func (s *GetContainerServiceMetricDataInput) SetServiceName(v string) *GetContainerServiceMetricDataInput {
25102	s.ServiceName = &v
25103	return s
25104}
25105
25106// SetStartTime sets the StartTime field's value.
25107func (s *GetContainerServiceMetricDataInput) SetStartTime(v time.Time) *GetContainerServiceMetricDataInput {
25108	s.StartTime = &v
25109	return s
25110}
25111
25112// SetStatistics sets the Statistics field's value.
25113func (s *GetContainerServiceMetricDataInput) SetStatistics(v []*string) *GetContainerServiceMetricDataInput {
25114	s.Statistics = v
25115	return s
25116}
25117
25118type GetContainerServiceMetricDataOutput struct {
25119	_ struct{} `type:"structure"`
25120
25121	// An array of objects that describe the metric data returned.
25122	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
25123
25124	// The name of the metric returned.
25125	MetricName *string `locationName:"metricName" type:"string" enum:"ContainerServiceMetricName"`
25126}
25127
25128// String returns the string representation
25129func (s GetContainerServiceMetricDataOutput) String() string {
25130	return awsutil.Prettify(s)
25131}
25132
25133// GoString returns the string representation
25134func (s GetContainerServiceMetricDataOutput) GoString() string {
25135	return s.String()
25136}
25137
25138// SetMetricData sets the MetricData field's value.
25139func (s *GetContainerServiceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetContainerServiceMetricDataOutput {
25140	s.MetricData = v
25141	return s
25142}
25143
25144// SetMetricName sets the MetricName field's value.
25145func (s *GetContainerServiceMetricDataOutput) SetMetricName(v string) *GetContainerServiceMetricDataOutput {
25146	s.MetricName = &v
25147	return s
25148}
25149
25150type GetContainerServicePowersInput struct {
25151	_ struct{} `type:"structure"`
25152}
25153
25154// String returns the string representation
25155func (s GetContainerServicePowersInput) String() string {
25156	return awsutil.Prettify(s)
25157}
25158
25159// GoString returns the string representation
25160func (s GetContainerServicePowersInput) GoString() string {
25161	return s.String()
25162}
25163
25164type GetContainerServicePowersOutput struct {
25165	_ struct{} `type:"structure"`
25166
25167	// An array of objects that describe the powers that can be specified for a
25168	// container service.
25169	Powers []*ContainerServicePower `locationName:"powers" type:"list"`
25170}
25171
25172// String returns the string representation
25173func (s GetContainerServicePowersOutput) String() string {
25174	return awsutil.Prettify(s)
25175}
25176
25177// GoString returns the string representation
25178func (s GetContainerServicePowersOutput) GoString() string {
25179	return s.String()
25180}
25181
25182// SetPowers sets the Powers field's value.
25183func (s *GetContainerServicePowersOutput) SetPowers(v []*ContainerServicePower) *GetContainerServicePowersOutput {
25184	s.Powers = v
25185	return s
25186}
25187
25188type GetContainerServicesInput struct {
25189	_ struct{} `type:"structure"`
25190
25191	// The name of the container service for which to return information.
25192	//
25193	// When omitted, the response includes all of your container services in the
25194	// AWS Region where the request is made.
25195	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
25196}
25197
25198// String returns the string representation
25199func (s GetContainerServicesInput) String() string {
25200	return awsutil.Prettify(s)
25201}
25202
25203// GoString returns the string representation
25204func (s GetContainerServicesInput) GoString() string {
25205	return s.String()
25206}
25207
25208// Validate inspects the fields of the type to determine if they are valid.
25209func (s *GetContainerServicesInput) Validate() error {
25210	invalidParams := request.ErrInvalidParams{Context: "GetContainerServicesInput"}
25211	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
25212		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
25213	}
25214
25215	if invalidParams.Len() > 0 {
25216		return invalidParams
25217	}
25218	return nil
25219}
25220
25221// SetServiceName sets the ServiceName field's value.
25222func (s *GetContainerServicesInput) SetServiceName(v string) *GetContainerServicesInput {
25223	s.ServiceName = &v
25224	return s
25225}
25226
25227type GetContainerServicesOutput struct {
25228	_ struct{} `type:"structure"`
25229
25230	// An array of objects that describe one or more container services.
25231	ContainerServices []*ContainerService `locationName:"containerServices" type:"list"`
25232}
25233
25234// String returns the string representation
25235func (s GetContainerServicesOutput) String() string {
25236	return awsutil.Prettify(s)
25237}
25238
25239// GoString returns the string representation
25240func (s GetContainerServicesOutput) GoString() string {
25241	return s.String()
25242}
25243
25244// SetContainerServices sets the ContainerServices field's value.
25245func (s *GetContainerServicesOutput) SetContainerServices(v []*ContainerService) *GetContainerServicesOutput {
25246	s.ContainerServices = v
25247	return s
25248}
25249
25250type GetDiskInput struct {
25251	_ struct{} `type:"structure"`
25252
25253	// The name of the disk (e.g., my-disk).
25254	//
25255	// DiskName is a required field
25256	DiskName *string `locationName:"diskName" type:"string" required:"true"`
25257}
25258
25259// String returns the string representation
25260func (s GetDiskInput) String() string {
25261	return awsutil.Prettify(s)
25262}
25263
25264// GoString returns the string representation
25265func (s GetDiskInput) GoString() string {
25266	return s.String()
25267}
25268
25269// Validate inspects the fields of the type to determine if they are valid.
25270func (s *GetDiskInput) Validate() error {
25271	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
25272	if s.DiskName == nil {
25273		invalidParams.Add(request.NewErrParamRequired("DiskName"))
25274	}
25275
25276	if invalidParams.Len() > 0 {
25277		return invalidParams
25278	}
25279	return nil
25280}
25281
25282// SetDiskName sets the DiskName field's value.
25283func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
25284	s.DiskName = &v
25285	return s
25286}
25287
25288type GetDiskOutput struct {
25289	_ struct{} `type:"structure"`
25290
25291	// An object containing information about the disk.
25292	Disk *Disk `locationName:"disk" type:"structure"`
25293}
25294
25295// String returns the string representation
25296func (s GetDiskOutput) String() string {
25297	return awsutil.Prettify(s)
25298}
25299
25300// GoString returns the string representation
25301func (s GetDiskOutput) GoString() string {
25302	return s.String()
25303}
25304
25305// SetDisk sets the Disk field's value.
25306func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
25307	s.Disk = v
25308	return s
25309}
25310
25311type GetDiskSnapshotInput struct {
25312	_ struct{} `type:"structure"`
25313
25314	// The name of the disk snapshot (e.g., my-disk-snapshot).
25315	//
25316	// DiskSnapshotName is a required field
25317	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
25318}
25319
25320// String returns the string representation
25321func (s GetDiskSnapshotInput) String() string {
25322	return awsutil.Prettify(s)
25323}
25324
25325// GoString returns the string representation
25326func (s GetDiskSnapshotInput) GoString() string {
25327	return s.String()
25328}
25329
25330// Validate inspects the fields of the type to determine if they are valid.
25331func (s *GetDiskSnapshotInput) Validate() error {
25332	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
25333	if s.DiskSnapshotName == nil {
25334		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
25335	}
25336
25337	if invalidParams.Len() > 0 {
25338		return invalidParams
25339	}
25340	return nil
25341}
25342
25343// SetDiskSnapshotName sets the DiskSnapshotName field's value.
25344func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
25345	s.DiskSnapshotName = &v
25346	return s
25347}
25348
25349type GetDiskSnapshotOutput struct {
25350	_ struct{} `type:"structure"`
25351
25352	// An object containing information about the disk snapshot.
25353	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
25354}
25355
25356// String returns the string representation
25357func (s GetDiskSnapshotOutput) String() string {
25358	return awsutil.Prettify(s)
25359}
25360
25361// GoString returns the string representation
25362func (s GetDiskSnapshotOutput) GoString() string {
25363	return s.String()
25364}
25365
25366// SetDiskSnapshot sets the DiskSnapshot field's value.
25367func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
25368	s.DiskSnapshot = v
25369	return s
25370}
25371
25372type GetDiskSnapshotsInput struct {
25373	_ struct{} `type:"structure"`
25374
25375	// The token to advance to the next page of results from your request.
25376	//
25377	// To get a page token, perform an initial GetDiskSnapshots request. If your
25378	// results are paginated, the response will return a next page token that you
25379	// can specify as the page token in a subsequent request.
25380	PageToken *string `locationName:"pageToken" type:"string"`
25381}
25382
25383// String returns the string representation
25384func (s GetDiskSnapshotsInput) String() string {
25385	return awsutil.Prettify(s)
25386}
25387
25388// GoString returns the string representation
25389func (s GetDiskSnapshotsInput) GoString() string {
25390	return s.String()
25391}
25392
25393// SetPageToken sets the PageToken field's value.
25394func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
25395	s.PageToken = &v
25396	return s
25397}
25398
25399type GetDiskSnapshotsOutput struct {
25400	_ struct{} `type:"structure"`
25401
25402	// An array of objects containing information about all block storage disk snapshots.
25403	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
25404
25405	// The token to advance to the next page of results from your request.
25406	//
25407	// A next page token is not returned if there are no more results to display.
25408	//
25409	// To get the next page of results, perform another GetDiskSnapshots request
25410	// and specify the next page token using the pageToken parameter.
25411	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25412}
25413
25414// String returns the string representation
25415func (s GetDiskSnapshotsOutput) String() string {
25416	return awsutil.Prettify(s)
25417}
25418
25419// GoString returns the string representation
25420func (s GetDiskSnapshotsOutput) GoString() string {
25421	return s.String()
25422}
25423
25424// SetDiskSnapshots sets the DiskSnapshots field's value.
25425func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
25426	s.DiskSnapshots = v
25427	return s
25428}
25429
25430// SetNextPageToken sets the NextPageToken field's value.
25431func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
25432	s.NextPageToken = &v
25433	return s
25434}
25435
25436type GetDisksInput struct {
25437	_ struct{} `type:"structure"`
25438
25439	// The token to advance to the next page of results from your request.
25440	//
25441	// To get a page token, perform an initial GetDisks request. If your results
25442	// are paginated, the response will return a next page token that you can specify
25443	// as the page token in a subsequent request.
25444	PageToken *string `locationName:"pageToken" type:"string"`
25445}
25446
25447// String returns the string representation
25448func (s GetDisksInput) String() string {
25449	return awsutil.Prettify(s)
25450}
25451
25452// GoString returns the string representation
25453func (s GetDisksInput) GoString() string {
25454	return s.String()
25455}
25456
25457// SetPageToken sets the PageToken field's value.
25458func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
25459	s.PageToken = &v
25460	return s
25461}
25462
25463type GetDisksOutput struct {
25464	_ struct{} `type:"structure"`
25465
25466	// An array of objects containing information about all block storage disks.
25467	Disks []*Disk `locationName:"disks" type:"list"`
25468
25469	// The token to advance to the next page of results from your request.
25470	//
25471	// A next page token is not returned if there are no more results to display.
25472	//
25473	// To get the next page of results, perform another GetDisks request and specify
25474	// the next page token using the pageToken parameter.
25475	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25476}
25477
25478// String returns the string representation
25479func (s GetDisksOutput) String() string {
25480	return awsutil.Prettify(s)
25481}
25482
25483// GoString returns the string representation
25484func (s GetDisksOutput) GoString() string {
25485	return s.String()
25486}
25487
25488// SetDisks sets the Disks field's value.
25489func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
25490	s.Disks = v
25491	return s
25492}
25493
25494// SetNextPageToken sets the NextPageToken field's value.
25495func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
25496	s.NextPageToken = &v
25497	return s
25498}
25499
25500type GetDistributionBundlesInput struct {
25501	_ struct{} `type:"structure"`
25502}
25503
25504// String returns the string representation
25505func (s GetDistributionBundlesInput) String() string {
25506	return awsutil.Prettify(s)
25507}
25508
25509// GoString returns the string representation
25510func (s GetDistributionBundlesInput) GoString() string {
25511	return s.String()
25512}
25513
25514type GetDistributionBundlesOutput struct {
25515	_ struct{} `type:"structure"`
25516
25517	// An object that describes a distribution bundle.
25518	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
25519}
25520
25521// String returns the string representation
25522func (s GetDistributionBundlesOutput) String() string {
25523	return awsutil.Prettify(s)
25524}
25525
25526// GoString returns the string representation
25527func (s GetDistributionBundlesOutput) GoString() string {
25528	return s.String()
25529}
25530
25531// SetBundles sets the Bundles field's value.
25532func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
25533	s.Bundles = v
25534	return s
25535}
25536
25537type GetDistributionLatestCacheResetInput struct {
25538	_ struct{} `type:"structure"`
25539
25540	// The name of the distribution for which to return the timestamp of the last
25541	// cache reset.
25542	//
25543	// Use the GetDistributions action to get a list of distribution names that
25544	// you can specify.
25545	//
25546	// When omitted, the response includes the latest cache reset timestamp of all
25547	// your distributions.
25548	DistributionName *string `locationName:"distributionName" type:"string"`
25549}
25550
25551// String returns the string representation
25552func (s GetDistributionLatestCacheResetInput) String() string {
25553	return awsutil.Prettify(s)
25554}
25555
25556// GoString returns the string representation
25557func (s GetDistributionLatestCacheResetInput) GoString() string {
25558	return s.String()
25559}
25560
25561// SetDistributionName sets the DistributionName field's value.
25562func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
25563	s.DistributionName = &v
25564	return s
25565}
25566
25567type GetDistributionLatestCacheResetOutput struct {
25568	_ struct{} `type:"structure"`
25569
25570	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
25571	// format.
25572	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
25573
25574	// The status of the last cache reset.
25575	Status *string `locationName:"status" type:"string"`
25576}
25577
25578// String returns the string representation
25579func (s GetDistributionLatestCacheResetOutput) String() string {
25580	return awsutil.Prettify(s)
25581}
25582
25583// GoString returns the string representation
25584func (s GetDistributionLatestCacheResetOutput) GoString() string {
25585	return s.String()
25586}
25587
25588// SetCreateTime sets the CreateTime field's value.
25589func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
25590	s.CreateTime = &v
25591	return s
25592}
25593
25594// SetStatus sets the Status field's value.
25595func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
25596	s.Status = &v
25597	return s
25598}
25599
25600type GetDistributionMetricDataInput struct {
25601	_ struct{} `type:"structure"`
25602
25603	// The name of the distribution for which to get metric data.
25604	//
25605	// Use the GetDistributions action to get a list of distribution names that
25606	// you can specify.
25607	//
25608	// DistributionName is a required field
25609	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
25610
25611	// The end of the time interval for which to get metric data.
25612	//
25613	// Constraints:
25614	//
25615	//    * Specified in Coordinated Universal Time (UTC).
25616	//
25617	//    * Specified in the Unix time format. For example, if you wish to use an
25618	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
25619	//    time.
25620	//
25621	// You can convert a human-friendly time to Unix time format using a converter
25622	// like Epoch converter (https://www.epochconverter.com/).
25623	//
25624	// EndTime is a required field
25625	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
25626
25627	// The metric for which you want to return information.
25628	//
25629	// Valid distribution metric names are listed below, along with the most useful
25630	// statistics to include in your request, and the published unit value.
25631	//
25632	//    * Requests - The total number of viewer requests received by your Lightsail
25633	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
25634	//    Statistics: The most useful statistic is Sum. Unit: The published unit
25635	//    is None.
25636	//
25637	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
25638	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
25639	//    Unit: The published unit is None.
25640	//
25641	//    * BytesUploaded - The number of bytes uploaded to your origin by your
25642	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
25643	//    useful statistic is Sum. Unit: The published unit is None.
25644	//
25645	//    * TotalErrorRate - The percentage of all viewer requests for which the
25646	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
25647	//    statistic is Average. Unit: The published unit is Percent.
25648	//
25649	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
25650	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
25651	//    have made an error. For example, a status code of 404 (Not Found) means
25652	//    that the client requested an object that could not be found. Statistics:
25653	//    The most useful statistic is Average. Unit: The published unit is Percent.
25654	//
25655	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
25656	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
25657	//    the requests. For example, a status code of 503 (Service Unavailable)
25658	//    means that the origin server is currently unavailable. Statistics: The
25659	//    most useful statistic is Average. Unit: The published unit is Percent.
25660	//
25661	// MetricName is a required field
25662	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
25663
25664	// The granularity, in seconds, for the metric data points that will be returned.
25665	//
25666	// Period is a required field
25667	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
25668
25669	// The start of the time interval for which to get metric data.
25670	//
25671	// Constraints:
25672	//
25673	//    * Specified in Coordinated Universal Time (UTC).
25674	//
25675	//    * Specified in the Unix time format. For example, if you wish to use a
25676	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
25677	//    start time.
25678	//
25679	// You can convert a human-friendly time to Unix time format using a converter
25680	// like Epoch converter (https://www.epochconverter.com/).
25681	//
25682	// StartTime is a required field
25683	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
25684
25685	// The statistic for the metric.
25686	//
25687	// The following statistics are available:
25688	//
25689	//    * Minimum - The lowest value observed during the specified period. Use
25690	//    this value to determine low volumes of activity for your application.
25691	//
25692	//    * Maximum - The highest value observed during the specified period. Use
25693	//    this value to determine high volumes of activity for your application.
25694	//
25695	//    * Sum - All values submitted for the matching metric added together. You
25696	//    can use this statistic to determine the total volume of a metric.
25697	//
25698	//    * Average - The value of Sum / SampleCount during the specified period.
25699	//    By comparing this statistic with the Minimum and Maximum values, you can
25700	//    determine the full scope of a metric and how close the average use is
25701	//    to the Minimum and Maximum values. This comparison helps you to know when
25702	//    to increase or decrease your resources.
25703	//
25704	//    * SampleCount - The count, or number, of data points used for the statistical
25705	//    calculation.
25706	//
25707	// Statistics is a required field
25708	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
25709
25710	// The unit for the metric data request.
25711	//
25712	// Valid units depend on the metric data being requested. For the valid units
25713	// with each available metric, see the metricName parameter.
25714	//
25715	// Unit is a required field
25716	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
25717}
25718
25719// String returns the string representation
25720func (s GetDistributionMetricDataInput) String() string {
25721	return awsutil.Prettify(s)
25722}
25723
25724// GoString returns the string representation
25725func (s GetDistributionMetricDataInput) GoString() string {
25726	return s.String()
25727}
25728
25729// Validate inspects the fields of the type to determine if they are valid.
25730func (s *GetDistributionMetricDataInput) Validate() error {
25731	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
25732	if s.DistributionName == nil {
25733		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
25734	}
25735	if s.EndTime == nil {
25736		invalidParams.Add(request.NewErrParamRequired("EndTime"))
25737	}
25738	if s.MetricName == nil {
25739		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25740	}
25741	if s.Period == nil {
25742		invalidParams.Add(request.NewErrParamRequired("Period"))
25743	}
25744	if s.Period != nil && *s.Period < 60 {
25745		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
25746	}
25747	if s.StartTime == nil {
25748		invalidParams.Add(request.NewErrParamRequired("StartTime"))
25749	}
25750	if s.Statistics == nil {
25751		invalidParams.Add(request.NewErrParamRequired("Statistics"))
25752	}
25753	if s.Unit == nil {
25754		invalidParams.Add(request.NewErrParamRequired("Unit"))
25755	}
25756
25757	if invalidParams.Len() > 0 {
25758		return invalidParams
25759	}
25760	return nil
25761}
25762
25763// SetDistributionName sets the DistributionName field's value.
25764func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
25765	s.DistributionName = &v
25766	return s
25767}
25768
25769// SetEndTime sets the EndTime field's value.
25770func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
25771	s.EndTime = &v
25772	return s
25773}
25774
25775// SetMetricName sets the MetricName field's value.
25776func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
25777	s.MetricName = &v
25778	return s
25779}
25780
25781// SetPeriod sets the Period field's value.
25782func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
25783	s.Period = &v
25784	return s
25785}
25786
25787// SetStartTime sets the StartTime field's value.
25788func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
25789	s.StartTime = &v
25790	return s
25791}
25792
25793// SetStatistics sets the Statistics field's value.
25794func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
25795	s.Statistics = v
25796	return s
25797}
25798
25799// SetUnit sets the Unit field's value.
25800func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
25801	s.Unit = &v
25802	return s
25803}
25804
25805type GetDistributionMetricDataOutput struct {
25806	_ struct{} `type:"structure"`
25807
25808	// An array of objects that describe the metric data returned.
25809	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
25810
25811	// The name of the metric returned.
25812	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
25813}
25814
25815// String returns the string representation
25816func (s GetDistributionMetricDataOutput) String() string {
25817	return awsutil.Prettify(s)
25818}
25819
25820// GoString returns the string representation
25821func (s GetDistributionMetricDataOutput) GoString() string {
25822	return s.String()
25823}
25824
25825// SetMetricData sets the MetricData field's value.
25826func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
25827	s.MetricData = v
25828	return s
25829}
25830
25831// SetMetricName sets the MetricName field's value.
25832func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
25833	s.MetricName = &v
25834	return s
25835}
25836
25837type GetDistributionsInput struct {
25838	_ struct{} `type:"structure"`
25839
25840	// The name of the distribution for which to return information.
25841	//
25842	// Use the GetDistributions action to get a list of distribution names that
25843	// you can specify.
25844	//
25845	// When omitted, the response includes all of your distributions in the AWS
25846	// Region where the request is made.
25847	DistributionName *string `locationName:"distributionName" type:"string"`
25848
25849	// The token to advance to the next page of results from your request.
25850	//
25851	// To get a page token, perform an initial GetDistributions request. If your
25852	// results are paginated, the response will return a next page token that you
25853	// can specify as the page token in a subsequent request.
25854	PageToken *string `locationName:"pageToken" type:"string"`
25855}
25856
25857// String returns the string representation
25858func (s GetDistributionsInput) String() string {
25859	return awsutil.Prettify(s)
25860}
25861
25862// GoString returns the string representation
25863func (s GetDistributionsInput) GoString() string {
25864	return s.String()
25865}
25866
25867// SetDistributionName sets the DistributionName field's value.
25868func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
25869	s.DistributionName = &v
25870	return s
25871}
25872
25873// SetPageToken sets the PageToken field's value.
25874func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
25875	s.PageToken = &v
25876	return s
25877}
25878
25879type GetDistributionsOutput struct {
25880	_ struct{} `type:"structure"`
25881
25882	// An array of objects that describe your distributions.
25883	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
25884
25885	// The token to advance to the next page of results from your request.
25886	//
25887	// A next page token is not returned if there are no more results to display.
25888	//
25889	// To get the next page of results, perform another GetDistributions request
25890	// and specify the next page token using the pageToken parameter.
25891	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25892}
25893
25894// String returns the string representation
25895func (s GetDistributionsOutput) String() string {
25896	return awsutil.Prettify(s)
25897}
25898
25899// GoString returns the string representation
25900func (s GetDistributionsOutput) GoString() string {
25901	return s.String()
25902}
25903
25904// SetDistributions sets the Distributions field's value.
25905func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
25906	s.Distributions = v
25907	return s
25908}
25909
25910// SetNextPageToken sets the NextPageToken field's value.
25911func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
25912	s.NextPageToken = &v
25913	return s
25914}
25915
25916type GetDomainInput struct {
25917	_ struct{} `type:"structure"`
25918
25919	// The domain name for which your want to return information about.
25920	//
25921	// DomainName is a required field
25922	DomainName *string `locationName:"domainName" type:"string" required:"true"`
25923}
25924
25925// String returns the string representation
25926func (s GetDomainInput) String() string {
25927	return awsutil.Prettify(s)
25928}
25929
25930// GoString returns the string representation
25931func (s GetDomainInput) GoString() string {
25932	return s.String()
25933}
25934
25935// Validate inspects the fields of the type to determine if they are valid.
25936func (s *GetDomainInput) Validate() error {
25937	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
25938	if s.DomainName == nil {
25939		invalidParams.Add(request.NewErrParamRequired("DomainName"))
25940	}
25941
25942	if invalidParams.Len() > 0 {
25943		return invalidParams
25944	}
25945	return nil
25946}
25947
25948// SetDomainName sets the DomainName field's value.
25949func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
25950	s.DomainName = &v
25951	return s
25952}
25953
25954type GetDomainOutput struct {
25955	_ struct{} `type:"structure"`
25956
25957	// An array of key-value pairs containing information about your get domain
25958	// request.
25959	Domain *Domain `locationName:"domain" type:"structure"`
25960}
25961
25962// String returns the string representation
25963func (s GetDomainOutput) String() string {
25964	return awsutil.Prettify(s)
25965}
25966
25967// GoString returns the string representation
25968func (s GetDomainOutput) GoString() string {
25969	return s.String()
25970}
25971
25972// SetDomain sets the Domain field's value.
25973func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
25974	s.Domain = v
25975	return s
25976}
25977
25978type GetDomainsInput struct {
25979	_ struct{} `type:"structure"`
25980
25981	// The token to advance to the next page of results from your request.
25982	//
25983	// To get a page token, perform an initial GetDomains request. If your results
25984	// are paginated, the response will return a next page token that you can specify
25985	// as the page token in a subsequent request.
25986	PageToken *string `locationName:"pageToken" type:"string"`
25987}
25988
25989// String returns the string representation
25990func (s GetDomainsInput) String() string {
25991	return awsutil.Prettify(s)
25992}
25993
25994// GoString returns the string representation
25995func (s GetDomainsInput) GoString() string {
25996	return s.String()
25997}
25998
25999// SetPageToken sets the PageToken field's value.
26000func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
26001	s.PageToken = &v
26002	return s
26003}
26004
26005type GetDomainsOutput struct {
26006	_ struct{} `type:"structure"`
26007
26008	// An array of key-value pairs containing information about each of the domain
26009	// entries in the user's account.
26010	Domains []*Domain `locationName:"domains" type:"list"`
26011
26012	// The token to advance to the next page of results from your request.
26013	//
26014	// A next page token is not returned if there are no more results to display.
26015	//
26016	// To get the next page of results, perform another GetDomains request and specify
26017	// the next page token using the pageToken parameter.
26018	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26019}
26020
26021// String returns the string representation
26022func (s GetDomainsOutput) String() string {
26023	return awsutil.Prettify(s)
26024}
26025
26026// GoString returns the string representation
26027func (s GetDomainsOutput) GoString() string {
26028	return s.String()
26029}
26030
26031// SetDomains sets the Domains field's value.
26032func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
26033	s.Domains = v
26034	return s
26035}
26036
26037// SetNextPageToken sets the NextPageToken field's value.
26038func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
26039	s.NextPageToken = &v
26040	return s
26041}
26042
26043type GetExportSnapshotRecordsInput struct {
26044	_ struct{} `type:"structure"`
26045
26046	// The token to advance to the next page of results from your request.
26047	//
26048	// To get a page token, perform an initial GetExportSnapshotRecords request.
26049	// If your results are paginated, the response will return a next page token
26050	// that you can specify as the page token in a subsequent request.
26051	PageToken *string `locationName:"pageToken" type:"string"`
26052}
26053
26054// String returns the string representation
26055func (s GetExportSnapshotRecordsInput) String() string {
26056	return awsutil.Prettify(s)
26057}
26058
26059// GoString returns the string representation
26060func (s GetExportSnapshotRecordsInput) GoString() string {
26061	return s.String()
26062}
26063
26064// SetPageToken sets the PageToken field's value.
26065func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
26066	s.PageToken = &v
26067	return s
26068}
26069
26070type GetExportSnapshotRecordsOutput struct {
26071	_ struct{} `type:"structure"`
26072
26073	// A list of objects describing the export snapshot records.
26074	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
26075
26076	// The token to advance to the next page of results from your request.
26077	//
26078	// A next page token is not returned if there are no more results to display.
26079	//
26080	// To get the next page of results, perform another GetExportSnapshotRecords
26081	// request and specify the next page token using the pageToken parameter.
26082	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26083}
26084
26085// String returns the string representation
26086func (s GetExportSnapshotRecordsOutput) String() string {
26087	return awsutil.Prettify(s)
26088}
26089
26090// GoString returns the string representation
26091func (s GetExportSnapshotRecordsOutput) GoString() string {
26092	return s.String()
26093}
26094
26095// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
26096func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
26097	s.ExportSnapshotRecords = v
26098	return s
26099}
26100
26101// SetNextPageToken sets the NextPageToken field's value.
26102func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
26103	s.NextPageToken = &v
26104	return s
26105}
26106
26107type GetInstanceAccessDetailsInput struct {
26108	_ struct{} `type:"structure"`
26109
26110	// The name of the instance to access.
26111	//
26112	// InstanceName is a required field
26113	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26114
26115	// The protocol to use to connect to your instance. Defaults to ssh.
26116	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
26117}
26118
26119// String returns the string representation
26120func (s GetInstanceAccessDetailsInput) String() string {
26121	return awsutil.Prettify(s)
26122}
26123
26124// GoString returns the string representation
26125func (s GetInstanceAccessDetailsInput) GoString() string {
26126	return s.String()
26127}
26128
26129// Validate inspects the fields of the type to determine if they are valid.
26130func (s *GetInstanceAccessDetailsInput) Validate() error {
26131	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
26132	if s.InstanceName == nil {
26133		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26134	}
26135
26136	if invalidParams.Len() > 0 {
26137		return invalidParams
26138	}
26139	return nil
26140}
26141
26142// SetInstanceName sets the InstanceName field's value.
26143func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
26144	s.InstanceName = &v
26145	return s
26146}
26147
26148// SetProtocol sets the Protocol field's value.
26149func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
26150	s.Protocol = &v
26151	return s
26152}
26153
26154type GetInstanceAccessDetailsOutput struct {
26155	_ struct{} `type:"structure"`
26156
26157	// An array of key-value pairs containing information about a get instance access
26158	// request.
26159	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
26160}
26161
26162// String returns the string representation
26163func (s GetInstanceAccessDetailsOutput) String() string {
26164	return awsutil.Prettify(s)
26165}
26166
26167// GoString returns the string representation
26168func (s GetInstanceAccessDetailsOutput) GoString() string {
26169	return s.String()
26170}
26171
26172// SetAccessDetails sets the AccessDetails field's value.
26173func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
26174	s.AccessDetails = v
26175	return s
26176}
26177
26178type GetInstanceInput struct {
26179	_ struct{} `type:"structure"`
26180
26181	// The name of the instance.
26182	//
26183	// InstanceName is a required field
26184	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26185}
26186
26187// String returns the string representation
26188func (s GetInstanceInput) String() string {
26189	return awsutil.Prettify(s)
26190}
26191
26192// GoString returns the string representation
26193func (s GetInstanceInput) GoString() string {
26194	return s.String()
26195}
26196
26197// Validate inspects the fields of the type to determine if they are valid.
26198func (s *GetInstanceInput) Validate() error {
26199	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
26200	if s.InstanceName == nil {
26201		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26202	}
26203
26204	if invalidParams.Len() > 0 {
26205		return invalidParams
26206	}
26207	return nil
26208}
26209
26210// SetInstanceName sets the InstanceName field's value.
26211func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
26212	s.InstanceName = &v
26213	return s
26214}
26215
26216type GetInstanceMetricDataInput struct {
26217	_ struct{} `type:"structure"`
26218
26219	// The end time of the time period.
26220	//
26221	// EndTime is a required field
26222	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
26223
26224	// The name of the instance for which you want to get metrics data.
26225	//
26226	// InstanceName is a required field
26227	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26228
26229	// The metric for which you want to return information.
26230	//
26231	// Valid instance metric names are listed below, along with the most useful
26232	// statistics to include in your request, and the published unit value.
26233	//
26234	//    * BurstCapacityPercentage - The percentage of CPU performance available
26235	//    for your instance to burst above its baseline. Your instance continuously
26236	//    accrues and consumes burst capacity. Burst capacity stops accruing when
26237	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
26238	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
26239	//    Statistics: The most useful statistics are Maximum and Average. Unit:
26240	//    The published unit is Percent.
26241	//
26242	//    * BurstCapacityTime - The available amount of time for your instance to
26243	//    burst at 100% CPU utilization. Your instance continuously accrues and
26244	//    consumes burst capacity. Burst capacity time stops accruing when your
26245	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
26246	//    time is consumed at the full rate only when your instance operates at
26247	//    100% CPU utilization. For example, if your instance operates at 50% CPU
26248	//    utilization in the burstable zone for a 5-minute period, then it consumes
26249	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
26250	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
26251	//    5-minute period. For more information, see Viewing instance burst capacity
26252	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
26253	//    Statistics: The most useful statistics are Maximum and Average. Unit:
26254	//    The published unit is Seconds.
26255	//
26256	//    * CPUUtilization - The percentage of allocated compute units that are
26257	//    currently in use on the instance. This metric identifies the processing
26258	//    power to run the applications on the instance. Tools in your operating
26259	//    system can show a lower percentage than Lightsail when the instance is
26260	//    not allocated a full processor core. Statistics: The most useful statistics
26261	//    are Maximum and Average. Unit: The published unit is Percent.
26262	//
26263	//    * NetworkIn - The number of bytes received on all network interfaces by
26264	//    the instance. This metric identifies the volume of incoming network traffic
26265	//    to the instance. The number reported is the number of bytes received during
26266	//    the period. Because this metric is reported in 5-minute intervals, divide
26267	//    the reported number by 300 to find Bytes/second. Statistics: The most
26268	//    useful statistic is Sum. Unit: The published unit is Bytes.
26269	//
26270	//    * NetworkOut - The number of bytes sent out on all network interfaces
26271	//    by the instance. This metric identifies the volume of outgoing network
26272	//    traffic from the instance. The number reported is the number of bytes
26273	//    sent during the period. Because this metric is reported in 5-minute intervals,
26274	//    divide the reported number by 300 to find Bytes/second. Statistics: The
26275	//    most useful statistic is Sum. Unit: The published unit is Bytes.
26276	//
26277	//    * StatusCheckFailed - Reports whether the instance passed or failed both
26278	//    the instance status check and the system status check. This metric can
26279	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
26280	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
26281	//    Unit: The published unit is Count.
26282	//
26283	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
26284	//    failed the instance status check. This metric can be either 0 (passed)
26285	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
26286	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
26287	//    unit is Count.
26288	//
26289	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
26290	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
26291	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
26292	//    The most useful statistic is Sum. Unit: The published unit is Count.
26293	//
26294	// MetricName is a required field
26295	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
26296
26297	// The granularity, in seconds, of the returned data points.
26298	//
26299	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
26300	// instance metric data is available in 1-minute (60 seconds) granularity. All
26301	// other instance metric data is available in 5-minute (300 seconds) granularity.
26302	//
26303	// Period is a required field
26304	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
26305
26306	// The start time of the time period.
26307	//
26308	// StartTime is a required field
26309	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
26310
26311	// The statistic for the metric.
26312	//
26313	// The following statistics are available:
26314	//
26315	//    * Minimum - The lowest value observed during the specified period. Use
26316	//    this value to determine low volumes of activity for your application.
26317	//
26318	//    * Maximum - The highest value observed during the specified period. Use
26319	//    this value to determine high volumes of activity for your application.
26320	//
26321	//    * Sum - All values submitted for the matching metric added together. You
26322	//    can use this statistic to determine the total volume of a metric.
26323	//
26324	//    * Average - The value of Sum / SampleCount during the specified period.
26325	//    By comparing this statistic with the Minimum and Maximum values, you can
26326	//    determine the full scope of a metric and how close the average use is
26327	//    to the Minimum and Maximum values. This comparison helps you to know when
26328	//    to increase or decrease your resources.
26329	//
26330	//    * SampleCount - The count, or number, of data points used for the statistical
26331	//    calculation.
26332	//
26333	// Statistics is a required field
26334	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
26335
26336	// The unit for the metric data request. Valid units depend on the metric data
26337	// being requested. For the valid units to specify with each available metric,
26338	// see the metricName parameter.
26339	//
26340	// Unit is a required field
26341	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
26342}
26343
26344// String returns the string representation
26345func (s GetInstanceMetricDataInput) String() string {
26346	return awsutil.Prettify(s)
26347}
26348
26349// GoString returns the string representation
26350func (s GetInstanceMetricDataInput) GoString() string {
26351	return s.String()
26352}
26353
26354// Validate inspects the fields of the type to determine if they are valid.
26355func (s *GetInstanceMetricDataInput) Validate() error {
26356	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
26357	if s.EndTime == nil {
26358		invalidParams.Add(request.NewErrParamRequired("EndTime"))
26359	}
26360	if s.InstanceName == nil {
26361		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26362	}
26363	if s.MetricName == nil {
26364		invalidParams.Add(request.NewErrParamRequired("MetricName"))
26365	}
26366	if s.Period == nil {
26367		invalidParams.Add(request.NewErrParamRequired("Period"))
26368	}
26369	if s.Period != nil && *s.Period < 60 {
26370		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
26371	}
26372	if s.StartTime == nil {
26373		invalidParams.Add(request.NewErrParamRequired("StartTime"))
26374	}
26375	if s.Statistics == nil {
26376		invalidParams.Add(request.NewErrParamRequired("Statistics"))
26377	}
26378	if s.Unit == nil {
26379		invalidParams.Add(request.NewErrParamRequired("Unit"))
26380	}
26381
26382	if invalidParams.Len() > 0 {
26383		return invalidParams
26384	}
26385	return nil
26386}
26387
26388// SetEndTime sets the EndTime field's value.
26389func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
26390	s.EndTime = &v
26391	return s
26392}
26393
26394// SetInstanceName sets the InstanceName field's value.
26395func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
26396	s.InstanceName = &v
26397	return s
26398}
26399
26400// SetMetricName sets the MetricName field's value.
26401func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
26402	s.MetricName = &v
26403	return s
26404}
26405
26406// SetPeriod sets the Period field's value.
26407func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
26408	s.Period = &v
26409	return s
26410}
26411
26412// SetStartTime sets the StartTime field's value.
26413func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
26414	s.StartTime = &v
26415	return s
26416}
26417
26418// SetStatistics sets the Statistics field's value.
26419func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
26420	s.Statistics = v
26421	return s
26422}
26423
26424// SetUnit sets the Unit field's value.
26425func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
26426	s.Unit = &v
26427	return s
26428}
26429
26430type GetInstanceMetricDataOutput struct {
26431	_ struct{} `type:"structure"`
26432
26433	// An array of objects that describe the metric data returned.
26434	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
26435
26436	// The name of the metric returned.
26437	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
26438}
26439
26440// String returns the string representation
26441func (s GetInstanceMetricDataOutput) String() string {
26442	return awsutil.Prettify(s)
26443}
26444
26445// GoString returns the string representation
26446func (s GetInstanceMetricDataOutput) GoString() string {
26447	return s.String()
26448}
26449
26450// SetMetricData sets the MetricData field's value.
26451func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
26452	s.MetricData = v
26453	return s
26454}
26455
26456// SetMetricName sets the MetricName field's value.
26457func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
26458	s.MetricName = &v
26459	return s
26460}
26461
26462type GetInstanceOutput struct {
26463	_ struct{} `type:"structure"`
26464
26465	// An array of key-value pairs containing information about the specified instance.
26466	Instance *Instance `locationName:"instance" type:"structure"`
26467}
26468
26469// String returns the string representation
26470func (s GetInstanceOutput) String() string {
26471	return awsutil.Prettify(s)
26472}
26473
26474// GoString returns the string representation
26475func (s GetInstanceOutput) GoString() string {
26476	return s.String()
26477}
26478
26479// SetInstance sets the Instance field's value.
26480func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
26481	s.Instance = v
26482	return s
26483}
26484
26485type GetInstancePortStatesInput struct {
26486	_ struct{} `type:"structure"`
26487
26488	// The name of the instance for which to return firewall port states.
26489	//
26490	// InstanceName is a required field
26491	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26492}
26493
26494// String returns the string representation
26495func (s GetInstancePortStatesInput) String() string {
26496	return awsutil.Prettify(s)
26497}
26498
26499// GoString returns the string representation
26500func (s GetInstancePortStatesInput) GoString() string {
26501	return s.String()
26502}
26503
26504// Validate inspects the fields of the type to determine if they are valid.
26505func (s *GetInstancePortStatesInput) Validate() error {
26506	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
26507	if s.InstanceName == nil {
26508		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26509	}
26510
26511	if invalidParams.Len() > 0 {
26512		return invalidParams
26513	}
26514	return nil
26515}
26516
26517// SetInstanceName sets the InstanceName field's value.
26518func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
26519	s.InstanceName = &v
26520	return s
26521}
26522
26523type GetInstancePortStatesOutput struct {
26524	_ struct{} `type:"structure"`
26525
26526	// An array of objects that describe the firewall port states for the specified
26527	// instance.
26528	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
26529}
26530
26531// String returns the string representation
26532func (s GetInstancePortStatesOutput) String() string {
26533	return awsutil.Prettify(s)
26534}
26535
26536// GoString returns the string representation
26537func (s GetInstancePortStatesOutput) GoString() string {
26538	return s.String()
26539}
26540
26541// SetPortStates sets the PortStates field's value.
26542func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
26543	s.PortStates = v
26544	return s
26545}
26546
26547type GetInstanceSnapshotInput struct {
26548	_ struct{} `type:"structure"`
26549
26550	// The name of the snapshot for which you are requesting information.
26551	//
26552	// InstanceSnapshotName is a required field
26553	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
26554}
26555
26556// String returns the string representation
26557func (s GetInstanceSnapshotInput) String() string {
26558	return awsutil.Prettify(s)
26559}
26560
26561// GoString returns the string representation
26562func (s GetInstanceSnapshotInput) GoString() string {
26563	return s.String()
26564}
26565
26566// Validate inspects the fields of the type to determine if they are valid.
26567func (s *GetInstanceSnapshotInput) Validate() error {
26568	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
26569	if s.InstanceSnapshotName == nil {
26570		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
26571	}
26572
26573	if invalidParams.Len() > 0 {
26574		return invalidParams
26575	}
26576	return nil
26577}
26578
26579// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
26580func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
26581	s.InstanceSnapshotName = &v
26582	return s
26583}
26584
26585type GetInstanceSnapshotOutput struct {
26586	_ struct{} `type:"structure"`
26587
26588	// An array of key-value pairs containing information about the results of your
26589	// get instance snapshot request.
26590	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
26591}
26592
26593// String returns the string representation
26594func (s GetInstanceSnapshotOutput) String() string {
26595	return awsutil.Prettify(s)
26596}
26597
26598// GoString returns the string representation
26599func (s GetInstanceSnapshotOutput) GoString() string {
26600	return s.String()
26601}
26602
26603// SetInstanceSnapshot sets the InstanceSnapshot field's value.
26604func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
26605	s.InstanceSnapshot = v
26606	return s
26607}
26608
26609type GetInstanceSnapshotsInput struct {
26610	_ struct{} `type:"structure"`
26611
26612	// The token to advance to the next page of results from your request.
26613	//
26614	// To get a page token, perform an initial GetInstanceSnapshots request. If
26615	// your results are paginated, the response will return a next page token that
26616	// you can specify as the page token in a subsequent request.
26617	PageToken *string `locationName:"pageToken" type:"string"`
26618}
26619
26620// String returns the string representation
26621func (s GetInstanceSnapshotsInput) String() string {
26622	return awsutil.Prettify(s)
26623}
26624
26625// GoString returns the string representation
26626func (s GetInstanceSnapshotsInput) GoString() string {
26627	return s.String()
26628}
26629
26630// SetPageToken sets the PageToken field's value.
26631func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
26632	s.PageToken = &v
26633	return s
26634}
26635
26636type GetInstanceSnapshotsOutput struct {
26637	_ struct{} `type:"structure"`
26638
26639	// An array of key-value pairs containing information about the results of your
26640	// get instance snapshots request.
26641	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
26642
26643	// The token to advance to the next page of results from your request.
26644	//
26645	// A next page token is not returned if there are no more results to display.
26646	//
26647	// To get the next page of results, perform another GetInstanceSnapshots request
26648	// and specify the next page token using the pageToken parameter.
26649	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26650}
26651
26652// String returns the string representation
26653func (s GetInstanceSnapshotsOutput) String() string {
26654	return awsutil.Prettify(s)
26655}
26656
26657// GoString returns the string representation
26658func (s GetInstanceSnapshotsOutput) GoString() string {
26659	return s.String()
26660}
26661
26662// SetInstanceSnapshots sets the InstanceSnapshots field's value.
26663func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
26664	s.InstanceSnapshots = v
26665	return s
26666}
26667
26668// SetNextPageToken sets the NextPageToken field's value.
26669func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
26670	s.NextPageToken = &v
26671	return s
26672}
26673
26674type GetInstanceStateInput struct {
26675	_ struct{} `type:"structure"`
26676
26677	// The name of the instance to get state information about.
26678	//
26679	// InstanceName is a required field
26680	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26681}
26682
26683// String returns the string representation
26684func (s GetInstanceStateInput) String() string {
26685	return awsutil.Prettify(s)
26686}
26687
26688// GoString returns the string representation
26689func (s GetInstanceStateInput) GoString() string {
26690	return s.String()
26691}
26692
26693// Validate inspects the fields of the type to determine if they are valid.
26694func (s *GetInstanceStateInput) Validate() error {
26695	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
26696	if s.InstanceName == nil {
26697		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26698	}
26699
26700	if invalidParams.Len() > 0 {
26701		return invalidParams
26702	}
26703	return nil
26704}
26705
26706// SetInstanceName sets the InstanceName field's value.
26707func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
26708	s.InstanceName = &v
26709	return s
26710}
26711
26712type GetInstanceStateOutput struct {
26713	_ struct{} `type:"structure"`
26714
26715	// The state of the instance.
26716	State *InstanceState `locationName:"state" type:"structure"`
26717}
26718
26719// String returns the string representation
26720func (s GetInstanceStateOutput) String() string {
26721	return awsutil.Prettify(s)
26722}
26723
26724// GoString returns the string representation
26725func (s GetInstanceStateOutput) GoString() string {
26726	return s.String()
26727}
26728
26729// SetState sets the State field's value.
26730func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
26731	s.State = v
26732	return s
26733}
26734
26735type GetInstancesInput struct {
26736	_ struct{} `type:"structure"`
26737
26738	// The token to advance to the next page of results from your request.
26739	//
26740	// To get a page token, perform an initial GetInstances request. If your results
26741	// are paginated, the response will return a next page token that you can specify
26742	// as the page token in a subsequent request.
26743	PageToken *string `locationName:"pageToken" type:"string"`
26744}
26745
26746// String returns the string representation
26747func (s GetInstancesInput) String() string {
26748	return awsutil.Prettify(s)
26749}
26750
26751// GoString returns the string representation
26752func (s GetInstancesInput) GoString() string {
26753	return s.String()
26754}
26755
26756// SetPageToken sets the PageToken field's value.
26757func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
26758	s.PageToken = &v
26759	return s
26760}
26761
26762type GetInstancesOutput struct {
26763	_ struct{} `type:"structure"`
26764
26765	// An array of key-value pairs containing information about your instances.
26766	Instances []*Instance `locationName:"instances" type:"list"`
26767
26768	// The token to advance to the next page of results from your request.
26769	//
26770	// A next page token is not returned if there are no more results to display.
26771	//
26772	// To get the next page of results, perform another GetInstances request and
26773	// specify the next page token using the pageToken parameter.
26774	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26775}
26776
26777// String returns the string representation
26778func (s GetInstancesOutput) String() string {
26779	return awsutil.Prettify(s)
26780}
26781
26782// GoString returns the string representation
26783func (s GetInstancesOutput) GoString() string {
26784	return s.String()
26785}
26786
26787// SetInstances sets the Instances field's value.
26788func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
26789	s.Instances = v
26790	return s
26791}
26792
26793// SetNextPageToken sets the NextPageToken field's value.
26794func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
26795	s.NextPageToken = &v
26796	return s
26797}
26798
26799type GetKeyPairInput struct {
26800	_ struct{} `type:"structure"`
26801
26802	// The name of the key pair for which you are requesting information.
26803	//
26804	// KeyPairName is a required field
26805	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
26806}
26807
26808// String returns the string representation
26809func (s GetKeyPairInput) String() string {
26810	return awsutil.Prettify(s)
26811}
26812
26813// GoString returns the string representation
26814func (s GetKeyPairInput) GoString() string {
26815	return s.String()
26816}
26817
26818// Validate inspects the fields of the type to determine if they are valid.
26819func (s *GetKeyPairInput) Validate() error {
26820	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
26821	if s.KeyPairName == nil {
26822		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
26823	}
26824
26825	if invalidParams.Len() > 0 {
26826		return invalidParams
26827	}
26828	return nil
26829}
26830
26831// SetKeyPairName sets the KeyPairName field's value.
26832func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
26833	s.KeyPairName = &v
26834	return s
26835}
26836
26837type GetKeyPairOutput struct {
26838	_ struct{} `type:"structure"`
26839
26840	// An array of key-value pairs containing information about the key pair.
26841	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
26842}
26843
26844// String returns the string representation
26845func (s GetKeyPairOutput) String() string {
26846	return awsutil.Prettify(s)
26847}
26848
26849// GoString returns the string representation
26850func (s GetKeyPairOutput) GoString() string {
26851	return s.String()
26852}
26853
26854// SetKeyPair sets the KeyPair field's value.
26855func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
26856	s.KeyPair = v
26857	return s
26858}
26859
26860type GetKeyPairsInput struct {
26861	_ struct{} `type:"structure"`
26862
26863	// The token to advance to the next page of results from your request.
26864	//
26865	// To get a page token, perform an initial GetKeyPairs request. If your results
26866	// are paginated, the response will return a next page token that you can specify
26867	// as the page token in a subsequent request.
26868	PageToken *string `locationName:"pageToken" type:"string"`
26869}
26870
26871// String returns the string representation
26872func (s GetKeyPairsInput) String() string {
26873	return awsutil.Prettify(s)
26874}
26875
26876// GoString returns the string representation
26877func (s GetKeyPairsInput) GoString() string {
26878	return s.String()
26879}
26880
26881// SetPageToken sets the PageToken field's value.
26882func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
26883	s.PageToken = &v
26884	return s
26885}
26886
26887type GetKeyPairsOutput struct {
26888	_ struct{} `type:"structure"`
26889
26890	// An array of key-value pairs containing information about the key pairs.
26891	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
26892
26893	// The token to advance to the next page of results from your request.
26894	//
26895	// A next page token is not returned if there are no more results to display.
26896	//
26897	// To get the next page of results, perform another GetKeyPairs request and
26898	// specify the next page token using the pageToken parameter.
26899	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26900}
26901
26902// String returns the string representation
26903func (s GetKeyPairsOutput) String() string {
26904	return awsutil.Prettify(s)
26905}
26906
26907// GoString returns the string representation
26908func (s GetKeyPairsOutput) GoString() string {
26909	return s.String()
26910}
26911
26912// SetKeyPairs sets the KeyPairs field's value.
26913func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
26914	s.KeyPairs = v
26915	return s
26916}
26917
26918// SetNextPageToken sets the NextPageToken field's value.
26919func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
26920	s.NextPageToken = &v
26921	return s
26922}
26923
26924type GetLoadBalancerInput struct {
26925	_ struct{} `type:"structure"`
26926
26927	// The name of the load balancer.
26928	//
26929	// LoadBalancerName is a required field
26930	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
26931}
26932
26933// String returns the string representation
26934func (s GetLoadBalancerInput) String() string {
26935	return awsutil.Prettify(s)
26936}
26937
26938// GoString returns the string representation
26939func (s GetLoadBalancerInput) GoString() string {
26940	return s.String()
26941}
26942
26943// Validate inspects the fields of the type to determine if they are valid.
26944func (s *GetLoadBalancerInput) Validate() error {
26945	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
26946	if s.LoadBalancerName == nil {
26947		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
26948	}
26949
26950	if invalidParams.Len() > 0 {
26951		return invalidParams
26952	}
26953	return nil
26954}
26955
26956// SetLoadBalancerName sets the LoadBalancerName field's value.
26957func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
26958	s.LoadBalancerName = &v
26959	return s
26960}
26961
26962type GetLoadBalancerMetricDataInput struct {
26963	_ struct{} `type:"structure"`
26964
26965	// The end time of the period.
26966	//
26967	// EndTime is a required field
26968	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
26969
26970	// The name of the load balancer.
26971	//
26972	// LoadBalancerName is a required field
26973	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
26974
26975	// The metric for which you want to return information.
26976	//
26977	// Valid load balancer metric names are listed below, along with the most useful
26978	// statistics to include in your request, and the published unit value.
26979	//
26980	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
26981	//    by the client that did not establish a session with the load balancer
26982	//    due to a TLS error generated by the load balancer. Possible causes include
26983	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
26984	//    is Sum. Unit: The published unit is Count.
26985	//
26986	//    * HealthyHostCount - The number of target instances that are considered
26987	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
26988	//    Maximum. Unit: The published unit is Count.
26989	//
26990	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
26991	//    generated by the target instances. This does not include any response
26992	//    codes generated by the load balancer. Statistics: The most useful statistic
26993	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
26994	//    published unit is Count.
26995	//
26996	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
26997	//    generated by the target instances. This does not include any response
26998	//    codes generated by the load balancer. Statistics: The most useful statistic
26999	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27000	//    published unit is Count.
27001	//
27002	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
27003	//    generated by the target instances. This does not include any response
27004	//    codes generated by the load balancer. Statistics: The most useful statistic
27005	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27006	//    published unit is Count.
27007	//
27008	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
27009	//    generated by the target instances. This does not include any response
27010	//    codes generated by the load balancer. Statistics: The most useful statistic
27011	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27012	//    published unit is Count.
27013	//
27014	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
27015	//    originated from the load balancer. Client errors are generated when requests
27016	//    are malformed or incomplete. These requests were not received by the target
27017	//    instance. This count does not include response codes generated by the
27018	//    target instances. Statistics: The most useful statistic is Sum. Note that
27019	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
27020	//    Count.
27021	//
27022	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
27023	//    originated from the load balancer. This does not include any response
27024	//    codes generated by the target instance. This metric is reported if there
27025	//    are no healthy instances attached to the load balancer, or if the request
27026	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
27027	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
27028	//    and Average all return 1. Unit: The published unit is Count.
27029	//
27030	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
27031	//    leaves the load balancer until a response from the target instance is
27032	//    received. Statistics: The most useful statistic is Average. Unit: The
27033	//    published unit is Seconds.
27034	//
27035	//    * RejectedConnectionCount - The number of connections that were rejected
27036	//    because the load balancer had reached its maximum number of connections.
27037	//    Statistics: The most useful statistic is Sum. Unit: The published unit
27038	//    is Count.
27039	//
27040	//    * RequestCount - The number of requests processed over IPv4. This count
27041	//    includes only the requests with a response generated by a target instance
27042	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
27043	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
27044	//    is Count.
27045	//
27046	//    * UnhealthyHostCount - The number of target instances that are considered
27047	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
27048	//    and Maximum. Unit: The published unit is Count.
27049	//
27050	// MetricName is a required field
27051	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
27052
27053	// The granularity, in seconds, of the returned data points.
27054	//
27055	// Period is a required field
27056	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
27057
27058	// The start time of the period.
27059	//
27060	// StartTime is a required field
27061	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
27062
27063	// The statistic for the metric.
27064	//
27065	// The following statistics are available:
27066	//
27067	//    * Minimum - The lowest value observed during the specified period. Use
27068	//    this value to determine low volumes of activity for your application.
27069	//
27070	//    * Maximum - The highest value observed during the specified period. Use
27071	//    this value to determine high volumes of activity for your application.
27072	//
27073	//    * Sum - All values submitted for the matching metric added together. You
27074	//    can use this statistic to determine the total volume of a metric.
27075	//
27076	//    * Average - The value of Sum / SampleCount during the specified period.
27077	//    By comparing this statistic with the Minimum and Maximum values, you can
27078	//    determine the full scope of a metric and how close the average use is
27079	//    to the Minimum and Maximum values. This comparison helps you to know when
27080	//    to increase or decrease your resources.
27081	//
27082	//    * SampleCount - The count, or number, of data points used for the statistical
27083	//    calculation.
27084	//
27085	// Statistics is a required field
27086	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
27087
27088	// The unit for the metric data request. Valid units depend on the metric data
27089	// being requested. For the valid units with each available metric, see the
27090	// metricName parameter.
27091	//
27092	// Unit is a required field
27093	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
27094}
27095
27096// String returns the string representation
27097func (s GetLoadBalancerMetricDataInput) String() string {
27098	return awsutil.Prettify(s)
27099}
27100
27101// GoString returns the string representation
27102func (s GetLoadBalancerMetricDataInput) GoString() string {
27103	return s.String()
27104}
27105
27106// Validate inspects the fields of the type to determine if they are valid.
27107func (s *GetLoadBalancerMetricDataInput) Validate() error {
27108	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
27109	if s.EndTime == nil {
27110		invalidParams.Add(request.NewErrParamRequired("EndTime"))
27111	}
27112	if s.LoadBalancerName == nil {
27113		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27114	}
27115	if s.MetricName == nil {
27116		invalidParams.Add(request.NewErrParamRequired("MetricName"))
27117	}
27118	if s.Period == nil {
27119		invalidParams.Add(request.NewErrParamRequired("Period"))
27120	}
27121	if s.Period != nil && *s.Period < 60 {
27122		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
27123	}
27124	if s.StartTime == nil {
27125		invalidParams.Add(request.NewErrParamRequired("StartTime"))
27126	}
27127	if s.Statistics == nil {
27128		invalidParams.Add(request.NewErrParamRequired("Statistics"))
27129	}
27130	if s.Unit == nil {
27131		invalidParams.Add(request.NewErrParamRequired("Unit"))
27132	}
27133
27134	if invalidParams.Len() > 0 {
27135		return invalidParams
27136	}
27137	return nil
27138}
27139
27140// SetEndTime sets the EndTime field's value.
27141func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
27142	s.EndTime = &v
27143	return s
27144}
27145
27146// SetLoadBalancerName sets the LoadBalancerName field's value.
27147func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
27148	s.LoadBalancerName = &v
27149	return s
27150}
27151
27152// SetMetricName sets the MetricName field's value.
27153func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
27154	s.MetricName = &v
27155	return s
27156}
27157
27158// SetPeriod sets the Period field's value.
27159func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
27160	s.Period = &v
27161	return s
27162}
27163
27164// SetStartTime sets the StartTime field's value.
27165func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
27166	s.StartTime = &v
27167	return s
27168}
27169
27170// SetStatistics sets the Statistics field's value.
27171func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
27172	s.Statistics = v
27173	return s
27174}
27175
27176// SetUnit sets the Unit field's value.
27177func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
27178	s.Unit = &v
27179	return s
27180}
27181
27182type GetLoadBalancerMetricDataOutput struct {
27183	_ struct{} `type:"structure"`
27184
27185	// An array of objects that describe the metric data returned.
27186	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
27187
27188	// The name of the metric returned.
27189	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
27190}
27191
27192// String returns the string representation
27193func (s GetLoadBalancerMetricDataOutput) String() string {
27194	return awsutil.Prettify(s)
27195}
27196
27197// GoString returns the string representation
27198func (s GetLoadBalancerMetricDataOutput) GoString() string {
27199	return s.String()
27200}
27201
27202// SetMetricData sets the MetricData field's value.
27203func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
27204	s.MetricData = v
27205	return s
27206}
27207
27208// SetMetricName sets the MetricName field's value.
27209func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
27210	s.MetricName = &v
27211	return s
27212}
27213
27214type GetLoadBalancerOutput struct {
27215	_ struct{} `type:"structure"`
27216
27217	// An object containing information about your load balancer.
27218	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
27219}
27220
27221// String returns the string representation
27222func (s GetLoadBalancerOutput) String() string {
27223	return awsutil.Prettify(s)
27224}
27225
27226// GoString returns the string representation
27227func (s GetLoadBalancerOutput) GoString() string {
27228	return s.String()
27229}
27230
27231// SetLoadBalancer sets the LoadBalancer field's value.
27232func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
27233	s.LoadBalancer = v
27234	return s
27235}
27236
27237type GetLoadBalancerTlsCertificatesInput struct {
27238	_ struct{} `type:"structure"`
27239
27240	// The name of the load balancer you associated with your SSL/TLS certificate.
27241	//
27242	// LoadBalancerName is a required field
27243	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
27244}
27245
27246// String returns the string representation
27247func (s GetLoadBalancerTlsCertificatesInput) String() string {
27248	return awsutil.Prettify(s)
27249}
27250
27251// GoString returns the string representation
27252func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
27253	return s.String()
27254}
27255
27256// Validate inspects the fields of the type to determine if they are valid.
27257func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
27258	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
27259	if s.LoadBalancerName == nil {
27260		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27261	}
27262
27263	if invalidParams.Len() > 0 {
27264		return invalidParams
27265	}
27266	return nil
27267}
27268
27269// SetLoadBalancerName sets the LoadBalancerName field's value.
27270func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
27271	s.LoadBalancerName = &v
27272	return s
27273}
27274
27275type GetLoadBalancerTlsCertificatesOutput struct {
27276	_ struct{} `type:"structure"`
27277
27278	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
27279	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
27280}
27281
27282// String returns the string representation
27283func (s GetLoadBalancerTlsCertificatesOutput) String() string {
27284	return awsutil.Prettify(s)
27285}
27286
27287// GoString returns the string representation
27288func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
27289	return s.String()
27290}
27291
27292// SetTlsCertificates sets the TlsCertificates field's value.
27293func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
27294	s.TlsCertificates = v
27295	return s
27296}
27297
27298type GetLoadBalancersInput struct {
27299	_ struct{} `type:"structure"`
27300
27301	// The token to advance to the next page of results from your request.
27302	//
27303	// To get a page token, perform an initial GetLoadBalancers request. If your
27304	// results are paginated, the response will return a next page token that you
27305	// can specify as the page token in a subsequent request.
27306	PageToken *string `locationName:"pageToken" type:"string"`
27307}
27308
27309// String returns the string representation
27310func (s GetLoadBalancersInput) String() string {
27311	return awsutil.Prettify(s)
27312}
27313
27314// GoString returns the string representation
27315func (s GetLoadBalancersInput) GoString() string {
27316	return s.String()
27317}
27318
27319// SetPageToken sets the PageToken field's value.
27320func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
27321	s.PageToken = &v
27322	return s
27323}
27324
27325type GetLoadBalancersOutput struct {
27326	_ struct{} `type:"structure"`
27327
27328	// An array of LoadBalancer objects describing your load balancers.
27329	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
27330
27331	// The token to advance to the next page of results from your request.
27332	//
27333	// A next page token is not returned if there are no more results to display.
27334	//
27335	// To get the next page of results, perform another GetLoadBalancers request
27336	// and specify the next page token using the pageToken parameter.
27337	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27338}
27339
27340// String returns the string representation
27341func (s GetLoadBalancersOutput) String() string {
27342	return awsutil.Prettify(s)
27343}
27344
27345// GoString returns the string representation
27346func (s GetLoadBalancersOutput) GoString() string {
27347	return s.String()
27348}
27349
27350// SetLoadBalancers sets the LoadBalancers field's value.
27351func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
27352	s.LoadBalancers = v
27353	return s
27354}
27355
27356// SetNextPageToken sets the NextPageToken field's value.
27357func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
27358	s.NextPageToken = &v
27359	return s
27360}
27361
27362type GetOperationInput struct {
27363	_ struct{} `type:"structure"`
27364
27365	// A GUID used to identify the operation.
27366	//
27367	// OperationId is a required field
27368	OperationId *string `locationName:"operationId" type:"string" required:"true"`
27369}
27370
27371// String returns the string representation
27372func (s GetOperationInput) String() string {
27373	return awsutil.Prettify(s)
27374}
27375
27376// GoString returns the string representation
27377func (s GetOperationInput) GoString() string {
27378	return s.String()
27379}
27380
27381// Validate inspects the fields of the type to determine if they are valid.
27382func (s *GetOperationInput) Validate() error {
27383	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
27384	if s.OperationId == nil {
27385		invalidParams.Add(request.NewErrParamRequired("OperationId"))
27386	}
27387
27388	if invalidParams.Len() > 0 {
27389		return invalidParams
27390	}
27391	return nil
27392}
27393
27394// SetOperationId sets the OperationId field's value.
27395func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
27396	s.OperationId = &v
27397	return s
27398}
27399
27400type GetOperationOutput struct {
27401	_ struct{} `type:"structure"`
27402
27403	// An array of objects that describe the result of the action, such as the status
27404	// of the request, the timestamp of the request, and the resources affected
27405	// by the request.
27406	Operation *Operation `locationName:"operation" type:"structure"`
27407}
27408
27409// String returns the string representation
27410func (s GetOperationOutput) String() string {
27411	return awsutil.Prettify(s)
27412}
27413
27414// GoString returns the string representation
27415func (s GetOperationOutput) GoString() string {
27416	return s.String()
27417}
27418
27419// SetOperation sets the Operation field's value.
27420func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
27421	s.Operation = v
27422	return s
27423}
27424
27425type GetOperationsForResourceInput struct {
27426	_ struct{} `type:"structure"`
27427
27428	// The token to advance to the next page of results from your request.
27429	//
27430	// To get a page token, perform an initial GetOperationsForResource request.
27431	// If your results are paginated, the response will return a next page token
27432	// that you can specify as the page token in a subsequent request.
27433	PageToken *string `locationName:"pageToken" type:"string"`
27434
27435	// The name of the resource for which you are requesting information.
27436	//
27437	// ResourceName is a required field
27438	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
27439}
27440
27441// String returns the string representation
27442func (s GetOperationsForResourceInput) String() string {
27443	return awsutil.Prettify(s)
27444}
27445
27446// GoString returns the string representation
27447func (s GetOperationsForResourceInput) GoString() string {
27448	return s.String()
27449}
27450
27451// Validate inspects the fields of the type to determine if they are valid.
27452func (s *GetOperationsForResourceInput) Validate() error {
27453	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
27454	if s.ResourceName == nil {
27455		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
27456	}
27457
27458	if invalidParams.Len() > 0 {
27459		return invalidParams
27460	}
27461	return nil
27462}
27463
27464// SetPageToken sets the PageToken field's value.
27465func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
27466	s.PageToken = &v
27467	return s
27468}
27469
27470// SetResourceName sets the ResourceName field's value.
27471func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
27472	s.ResourceName = &v
27473	return s
27474}
27475
27476type GetOperationsForResourceOutput struct {
27477	_ struct{} `type:"structure"`
27478
27479	// (Deprecated) Returns the number of pages of results that remain.
27480	//
27481	// In releases prior to June 12, 2017, this parameter returned null by the API.
27482	// It is now deprecated, and the API returns the next page token parameter instead.
27483	//
27484	// Deprecated: NextPageCount has been deprecated
27485	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
27486
27487	// The token to advance to the next page of results from your request.
27488	//
27489	// A next page token is not returned if there are no more results to display.
27490	//
27491	// To get the next page of results, perform another GetOperationsForResource
27492	// request and specify the next page token using the pageToken parameter.
27493	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27494
27495	// An array of objects that describe the result of the action, such as the status
27496	// of the request, the timestamp of the request, and the resources affected
27497	// by the request.
27498	Operations []*Operation `locationName:"operations" type:"list"`
27499}
27500
27501// String returns the string representation
27502func (s GetOperationsForResourceOutput) String() string {
27503	return awsutil.Prettify(s)
27504}
27505
27506// GoString returns the string representation
27507func (s GetOperationsForResourceOutput) GoString() string {
27508	return s.String()
27509}
27510
27511// SetNextPageCount sets the NextPageCount field's value.
27512func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
27513	s.NextPageCount = &v
27514	return s
27515}
27516
27517// SetNextPageToken sets the NextPageToken field's value.
27518func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
27519	s.NextPageToken = &v
27520	return s
27521}
27522
27523// SetOperations sets the Operations field's value.
27524func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
27525	s.Operations = v
27526	return s
27527}
27528
27529type GetOperationsInput struct {
27530	_ struct{} `type:"structure"`
27531
27532	// The token to advance to the next page of results from your request.
27533	//
27534	// To get a page token, perform an initial GetOperations request. If your results
27535	// are paginated, the response will return a next page token that you can specify
27536	// as the page token in a subsequent request.
27537	PageToken *string `locationName:"pageToken" type:"string"`
27538}
27539
27540// String returns the string representation
27541func (s GetOperationsInput) String() string {
27542	return awsutil.Prettify(s)
27543}
27544
27545// GoString returns the string representation
27546func (s GetOperationsInput) GoString() string {
27547	return s.String()
27548}
27549
27550// SetPageToken sets the PageToken field's value.
27551func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
27552	s.PageToken = &v
27553	return s
27554}
27555
27556type GetOperationsOutput struct {
27557	_ struct{} `type:"structure"`
27558
27559	// The token to advance to the next page of results from your request.
27560	//
27561	// A next page token is not returned if there are no more results to display.
27562	//
27563	// To get the next page of results, perform another GetOperations request and
27564	// specify the next page token using the pageToken parameter.
27565	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27566
27567	// An array of objects that describe the result of the action, such as the status
27568	// of the request, the timestamp of the request, and the resources affected
27569	// by the request.
27570	Operations []*Operation `locationName:"operations" type:"list"`
27571}
27572
27573// String returns the string representation
27574func (s GetOperationsOutput) String() string {
27575	return awsutil.Prettify(s)
27576}
27577
27578// GoString returns the string representation
27579func (s GetOperationsOutput) GoString() string {
27580	return s.String()
27581}
27582
27583// SetNextPageToken sets the NextPageToken field's value.
27584func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
27585	s.NextPageToken = &v
27586	return s
27587}
27588
27589// SetOperations sets the Operations field's value.
27590func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
27591	s.Operations = v
27592	return s
27593}
27594
27595type GetRegionsInput struct {
27596	_ struct{} `type:"structure"`
27597
27598	// A Boolean value indicating whether to also include Availability Zones in
27599	// your get regions request. Availability Zones are indicated with a letter:
27600	// e.g., us-east-2a.
27601	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
27602
27603	// A Boolean value indicating whether to also include Availability Zones for
27604	// databases in your get regions request. Availability Zones are indicated with
27605	// a letter (e.g., us-east-2a).
27606	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
27607}
27608
27609// String returns the string representation
27610func (s GetRegionsInput) String() string {
27611	return awsutil.Prettify(s)
27612}
27613
27614// GoString returns the string representation
27615func (s GetRegionsInput) GoString() string {
27616	return s.String()
27617}
27618
27619// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
27620func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
27621	s.IncludeAvailabilityZones = &v
27622	return s
27623}
27624
27625// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
27626func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
27627	s.IncludeRelationalDatabaseAvailabilityZones = &v
27628	return s
27629}
27630
27631type GetRegionsOutput struct {
27632	_ struct{} `type:"structure"`
27633
27634	// An array of key-value pairs containing information about your get regions
27635	// request.
27636	Regions []*Region `locationName:"regions" type:"list"`
27637}
27638
27639// String returns the string representation
27640func (s GetRegionsOutput) String() string {
27641	return awsutil.Prettify(s)
27642}
27643
27644// GoString returns the string representation
27645func (s GetRegionsOutput) GoString() string {
27646	return s.String()
27647}
27648
27649// SetRegions sets the Regions field's value.
27650func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
27651	s.Regions = v
27652	return s
27653}
27654
27655type GetRelationalDatabaseBlueprintsInput struct {
27656	_ struct{} `type:"structure"`
27657
27658	// The token to advance to the next page of results from your request.
27659	//
27660	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
27661	// If your results are paginated, the response will return a next page token
27662	// that you can specify as the page token in a subsequent request.
27663	PageToken *string `locationName:"pageToken" type:"string"`
27664}
27665
27666// String returns the string representation
27667func (s GetRelationalDatabaseBlueprintsInput) String() string {
27668	return awsutil.Prettify(s)
27669}
27670
27671// GoString returns the string representation
27672func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
27673	return s.String()
27674}
27675
27676// SetPageToken sets the PageToken field's value.
27677func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
27678	s.PageToken = &v
27679	return s
27680}
27681
27682type GetRelationalDatabaseBlueprintsOutput struct {
27683	_ struct{} `type:"structure"`
27684
27685	// An object describing the result of your get relational database blueprints
27686	// request.
27687	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
27688
27689	// The token to advance to the next page of results from your request.
27690	//
27691	// A next page token is not returned if there are no more results to display.
27692	//
27693	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
27694	// request and specify the next page token using the pageToken parameter.
27695	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27696}
27697
27698// String returns the string representation
27699func (s GetRelationalDatabaseBlueprintsOutput) String() string {
27700	return awsutil.Prettify(s)
27701}
27702
27703// GoString returns the string representation
27704func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
27705	return s.String()
27706}
27707
27708// SetBlueprints sets the Blueprints field's value.
27709func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
27710	s.Blueprints = v
27711	return s
27712}
27713
27714// SetNextPageToken sets the NextPageToken field's value.
27715func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
27716	s.NextPageToken = &v
27717	return s
27718}
27719
27720type GetRelationalDatabaseBundlesInput struct {
27721	_ struct{} `type:"structure"`
27722
27723	// The token to advance to the next page of results from your request.
27724	//
27725	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
27726	// If your results are paginated, the response will return a next page token
27727	// that you can specify as the page token in a subsequent request.
27728	PageToken *string `locationName:"pageToken" type:"string"`
27729}
27730
27731// String returns the string representation
27732func (s GetRelationalDatabaseBundlesInput) String() string {
27733	return awsutil.Prettify(s)
27734}
27735
27736// GoString returns the string representation
27737func (s GetRelationalDatabaseBundlesInput) GoString() string {
27738	return s.String()
27739}
27740
27741// SetPageToken sets the PageToken field's value.
27742func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
27743	s.PageToken = &v
27744	return s
27745}
27746
27747type GetRelationalDatabaseBundlesOutput struct {
27748	_ struct{} `type:"structure"`
27749
27750	// An object describing the result of your get relational database bundles request.
27751	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
27752
27753	// The token to advance to the next page of results from your request.
27754	//
27755	// A next page token is not returned if there are no more results to display.
27756	//
27757	// To get the next page of results, perform another GetRelationalDatabaseBundles
27758	// request and specify the next page token using the pageToken parameter.
27759	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27760}
27761
27762// String returns the string representation
27763func (s GetRelationalDatabaseBundlesOutput) String() string {
27764	return awsutil.Prettify(s)
27765}
27766
27767// GoString returns the string representation
27768func (s GetRelationalDatabaseBundlesOutput) GoString() string {
27769	return s.String()
27770}
27771
27772// SetBundles sets the Bundles field's value.
27773func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
27774	s.Bundles = v
27775	return s
27776}
27777
27778// SetNextPageToken sets the NextPageToken field's value.
27779func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
27780	s.NextPageToken = &v
27781	return s
27782}
27783
27784type GetRelationalDatabaseEventsInput struct {
27785	_ struct{} `type:"structure"`
27786
27787	// The number of minutes in the past from which to retrieve events. For example,
27788	// to get all events from the past 2 hours, enter 120.
27789	//
27790	// Default: 60
27791	//
27792	// The minimum is 1 and the maximum is 14 days (20160 minutes).
27793	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
27794
27795	// The token to advance to the next page of results from your request.
27796	//
27797	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
27798	// If your results are paginated, the response will return a next page token
27799	// that you can specify as the page token in a subsequent request.
27800	PageToken *string `locationName:"pageToken" type:"string"`
27801
27802	// The name of the database from which to get events.
27803	//
27804	// RelationalDatabaseName is a required field
27805	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27806}
27807
27808// String returns the string representation
27809func (s GetRelationalDatabaseEventsInput) String() string {
27810	return awsutil.Prettify(s)
27811}
27812
27813// GoString returns the string representation
27814func (s GetRelationalDatabaseEventsInput) GoString() string {
27815	return s.String()
27816}
27817
27818// Validate inspects the fields of the type to determine if they are valid.
27819func (s *GetRelationalDatabaseEventsInput) Validate() error {
27820	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
27821	if s.RelationalDatabaseName == nil {
27822		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27823	}
27824
27825	if invalidParams.Len() > 0 {
27826		return invalidParams
27827	}
27828	return nil
27829}
27830
27831// SetDurationInMinutes sets the DurationInMinutes field's value.
27832func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
27833	s.DurationInMinutes = &v
27834	return s
27835}
27836
27837// SetPageToken sets the PageToken field's value.
27838func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
27839	s.PageToken = &v
27840	return s
27841}
27842
27843// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
27844func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
27845	s.RelationalDatabaseName = &v
27846	return s
27847}
27848
27849type GetRelationalDatabaseEventsOutput struct {
27850	_ struct{} `type:"structure"`
27851
27852	// The token to advance to the next page of results from your request.
27853	//
27854	// A next page token is not returned if there are no more results to display.
27855	//
27856	// To get the next page of results, perform another GetRelationalDatabaseEvents
27857	// request and specify the next page token using the pageToken parameter.
27858	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27859
27860	// An object describing the result of your get relational database events request.
27861	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
27862}
27863
27864// String returns the string representation
27865func (s GetRelationalDatabaseEventsOutput) String() string {
27866	return awsutil.Prettify(s)
27867}
27868
27869// GoString returns the string representation
27870func (s GetRelationalDatabaseEventsOutput) GoString() string {
27871	return s.String()
27872}
27873
27874// SetNextPageToken sets the NextPageToken field's value.
27875func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
27876	s.NextPageToken = &v
27877	return s
27878}
27879
27880// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
27881func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
27882	s.RelationalDatabaseEvents = v
27883	return s
27884}
27885
27886type GetRelationalDatabaseInput struct {
27887	_ struct{} `type:"structure"`
27888
27889	// The name of the database that you are looking up.
27890	//
27891	// RelationalDatabaseName is a required field
27892	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27893}
27894
27895// String returns the string representation
27896func (s GetRelationalDatabaseInput) String() string {
27897	return awsutil.Prettify(s)
27898}
27899
27900// GoString returns the string representation
27901func (s GetRelationalDatabaseInput) GoString() string {
27902	return s.String()
27903}
27904
27905// Validate inspects the fields of the type to determine if they are valid.
27906func (s *GetRelationalDatabaseInput) Validate() error {
27907	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
27908	if s.RelationalDatabaseName == nil {
27909		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27910	}
27911
27912	if invalidParams.Len() > 0 {
27913		return invalidParams
27914	}
27915	return nil
27916}
27917
27918// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
27919func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
27920	s.RelationalDatabaseName = &v
27921	return s
27922}
27923
27924type GetRelationalDatabaseLogEventsInput struct {
27925	_ struct{} `type:"structure"`
27926
27927	// The end of the time interval from which to get log events.
27928	//
27929	// Constraints:
27930	//
27931	//    * Specified in Coordinated Universal Time (UTC).
27932	//
27933	//    * Specified in the Unix time format. For example, if you wish to use an
27934	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
27935	//    the end time.
27936	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
27937
27938	// The name of the log stream.
27939	//
27940	// Use the get relational database log streams operation to get a list of available
27941	// log streams.
27942	//
27943	// LogStreamName is a required field
27944	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
27945
27946	// The token to advance to the next or previous page of results from your request.
27947	//
27948	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
27949	// If your results are paginated, the response will return a next forward token
27950	// and/or next backward token that you can specify as the page token in a subsequent
27951	// request.
27952	PageToken *string `locationName:"pageToken" type:"string"`
27953
27954	// The name of your database for which to get log events.
27955	//
27956	// RelationalDatabaseName is a required field
27957	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27958
27959	// Parameter to specify if the log should start from head or tail. If true is
27960	// specified, the log event starts from the head of the log. If false is specified,
27961	// the log event starts from the tail of the log.
27962	//
27963	// For PostgreSQL, the default value of false is the only option available.
27964	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
27965
27966	// The start of the time interval from which to get log events.
27967	//
27968	// Constraints:
27969	//
27970	//    * Specified in Coordinated Universal Time (UTC).
27971	//
27972	//    * Specified in the Unix time format. For example, if you wish to use a
27973	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
27974	//    as the start time.
27975	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
27976}
27977
27978// String returns the string representation
27979func (s GetRelationalDatabaseLogEventsInput) String() string {
27980	return awsutil.Prettify(s)
27981}
27982
27983// GoString returns the string representation
27984func (s GetRelationalDatabaseLogEventsInput) GoString() string {
27985	return s.String()
27986}
27987
27988// Validate inspects the fields of the type to determine if they are valid.
27989func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
27990	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
27991	if s.LogStreamName == nil {
27992		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
27993	}
27994	if s.RelationalDatabaseName == nil {
27995		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27996	}
27997
27998	if invalidParams.Len() > 0 {
27999		return invalidParams
28000	}
28001	return nil
28002}
28003
28004// SetEndTime sets the EndTime field's value.
28005func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
28006	s.EndTime = &v
28007	return s
28008}
28009
28010// SetLogStreamName sets the LogStreamName field's value.
28011func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
28012	s.LogStreamName = &v
28013	return s
28014}
28015
28016// SetPageToken sets the PageToken field's value.
28017func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
28018	s.PageToken = &v
28019	return s
28020}
28021
28022// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28023func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
28024	s.RelationalDatabaseName = &v
28025	return s
28026}
28027
28028// SetStartFromHead sets the StartFromHead field's value.
28029func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
28030	s.StartFromHead = &v
28031	return s
28032}
28033
28034// SetStartTime sets the StartTime field's value.
28035func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
28036	s.StartTime = &v
28037	return s
28038}
28039
28040type GetRelationalDatabaseLogEventsOutput struct {
28041	_ struct{} `type:"structure"`
28042
28043	// A token used for advancing to the previous page of results from your get
28044	// relational database log events request.
28045	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
28046
28047	// A token used for advancing to the next page of results from your get relational
28048	// database log events request.
28049	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
28050
28051	// An object describing the result of your get relational database log events
28052	// request.
28053	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
28054}
28055
28056// String returns the string representation
28057func (s GetRelationalDatabaseLogEventsOutput) String() string {
28058	return awsutil.Prettify(s)
28059}
28060
28061// GoString returns the string representation
28062func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
28063	return s.String()
28064}
28065
28066// SetNextBackwardToken sets the NextBackwardToken field's value.
28067func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
28068	s.NextBackwardToken = &v
28069	return s
28070}
28071
28072// SetNextForwardToken sets the NextForwardToken field's value.
28073func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
28074	s.NextForwardToken = &v
28075	return s
28076}
28077
28078// SetResourceLogEvents sets the ResourceLogEvents field's value.
28079func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
28080	s.ResourceLogEvents = v
28081	return s
28082}
28083
28084type GetRelationalDatabaseLogStreamsInput struct {
28085	_ struct{} `type:"structure"`
28086
28087	// The name of your database for which to get log streams.
28088	//
28089	// RelationalDatabaseName is a required field
28090	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28091}
28092
28093// String returns the string representation
28094func (s GetRelationalDatabaseLogStreamsInput) String() string {
28095	return awsutil.Prettify(s)
28096}
28097
28098// GoString returns the string representation
28099func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
28100	return s.String()
28101}
28102
28103// Validate inspects the fields of the type to determine if they are valid.
28104func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
28105	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
28106	if s.RelationalDatabaseName == nil {
28107		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28108	}
28109
28110	if invalidParams.Len() > 0 {
28111		return invalidParams
28112	}
28113	return nil
28114}
28115
28116// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28117func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
28118	s.RelationalDatabaseName = &v
28119	return s
28120}
28121
28122type GetRelationalDatabaseLogStreamsOutput struct {
28123	_ struct{} `type:"structure"`
28124
28125	// An object describing the result of your get relational database log streams
28126	// request.
28127	LogStreams []*string `locationName:"logStreams" type:"list"`
28128}
28129
28130// String returns the string representation
28131func (s GetRelationalDatabaseLogStreamsOutput) String() string {
28132	return awsutil.Prettify(s)
28133}
28134
28135// GoString returns the string representation
28136func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
28137	return s.String()
28138}
28139
28140// SetLogStreams sets the LogStreams field's value.
28141func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
28142	s.LogStreams = v
28143	return s
28144}
28145
28146type GetRelationalDatabaseMasterUserPasswordInput struct {
28147	_ struct{} `type:"structure"`
28148
28149	// The password version to return.
28150	//
28151	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
28152	// respectively. Specifying PENDING returns the newest version of the password
28153	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
28154	// the PENDING password is no longer available.
28155	//
28156	// Default: CURRENT
28157	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
28158
28159	// The name of your database for which to get the master user password.
28160	//
28161	// RelationalDatabaseName is a required field
28162	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28163}
28164
28165// String returns the string representation
28166func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
28167	return awsutil.Prettify(s)
28168}
28169
28170// GoString returns the string representation
28171func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
28172	return s.String()
28173}
28174
28175// Validate inspects the fields of the type to determine if they are valid.
28176func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
28177	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
28178	if s.RelationalDatabaseName == nil {
28179		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28180	}
28181
28182	if invalidParams.Len() > 0 {
28183		return invalidParams
28184	}
28185	return nil
28186}
28187
28188// SetPasswordVersion sets the PasswordVersion field's value.
28189func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
28190	s.PasswordVersion = &v
28191	return s
28192}
28193
28194// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28195func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
28196	s.RelationalDatabaseName = &v
28197	return s
28198}
28199
28200type GetRelationalDatabaseMasterUserPasswordOutput struct {
28201	_ struct{} `type:"structure"`
28202
28203	// The timestamp when the specified version of the master user password was
28204	// created.
28205	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
28206
28207	// The master user password for the password version specified.
28208	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
28209}
28210
28211// String returns the string representation
28212func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
28213	return awsutil.Prettify(s)
28214}
28215
28216// GoString returns the string representation
28217func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
28218	return s.String()
28219}
28220
28221// SetCreatedAt sets the CreatedAt field's value.
28222func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
28223	s.CreatedAt = &v
28224	return s
28225}
28226
28227// SetMasterUserPassword sets the MasterUserPassword field's value.
28228func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
28229	s.MasterUserPassword = &v
28230	return s
28231}
28232
28233type GetRelationalDatabaseMetricDataInput struct {
28234	_ struct{} `type:"structure"`
28235
28236	// The end of the time interval from which to get metric data.
28237	//
28238	// Constraints:
28239	//
28240	//    * Specified in Coordinated Universal Time (UTC).
28241	//
28242	//    * Specified in the Unix time format. For example, if you wish to use an
28243	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
28244	//    the end time.
28245	//
28246	// EndTime is a required field
28247	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
28248
28249	// The metric for which you want to return information.
28250	//
28251	// Valid relational database metric names are listed below, along with the most
28252	// useful statistics to include in your request, and the published unit value.
28253	// All relational database metric data is available in 1-minute (60 seconds)
28254	// granularity.
28255	//
28256	//    * CPUUtilization - The percentage of CPU utilization currently in use
28257	//    on the database. Statistics: The most useful statistics are Maximum and
28258	//    Average. Unit: The published unit is Percent.
28259	//
28260	//    * DatabaseConnections - The number of database connections in use. Statistics:
28261	//    The most useful statistics are Maximum and Sum. Unit: The published unit
28262	//    is Count.
28263	//
28264	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
28265	//    that are waiting to access the disk. Statistics: The most useful statistic
28266	//    is Sum. Unit: The published unit is Count.
28267	//
28268	//    * FreeStorageSpace - The amount of available storage space. Statistics:
28269	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
28270	//
28271	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
28272	//    the database, including both customer database traffic and AWS traffic
28273	//    used for monitoring and replication. Statistics: The most useful statistic
28274	//    is Average. Unit: The published unit is Bytes/Second.
28275	//
28276	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
28277	//    on the database, including both customer database traffic and AWS traffic
28278	//    used for monitoring and replication. Statistics: The most useful statistic
28279	//    is Average. Unit: The published unit is Bytes/Second.
28280	//
28281	// MetricName is a required field
28282	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
28283
28284	// The granularity, in seconds, of the returned data points.
28285	//
28286	// All relational database metric data is available in 1-minute (60 seconds)
28287	// granularity.
28288	//
28289	// Period is a required field
28290	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
28291
28292	// The name of your database from which to get metric data.
28293	//
28294	// RelationalDatabaseName is a required field
28295	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28296
28297	// The start of the time interval from which to get metric data.
28298	//
28299	// Constraints:
28300	//
28301	//    * Specified in Coordinated Universal Time (UTC).
28302	//
28303	//    * Specified in the Unix time format. For example, if you wish to use a
28304	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
28305	//    as the start time.
28306	//
28307	// StartTime is a required field
28308	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
28309
28310	// The statistic for the metric.
28311	//
28312	// The following statistics are available:
28313	//
28314	//    * Minimum - The lowest value observed during the specified period. Use
28315	//    this value to determine low volumes of activity for your application.
28316	//
28317	//    * Maximum - The highest value observed during the specified period. Use
28318	//    this value to determine high volumes of activity for your application.
28319	//
28320	//    * Sum - All values submitted for the matching metric added together. You
28321	//    can use this statistic to determine the total volume of a metric.
28322	//
28323	//    * Average - The value of Sum / SampleCount during the specified period.
28324	//    By comparing this statistic with the Minimum and Maximum values, you can
28325	//    determine the full scope of a metric and how close the average use is
28326	//    to the Minimum and Maximum values. This comparison helps you to know when
28327	//    to increase or decrease your resources.
28328	//
28329	//    * SampleCount - The count, or number, of data points used for the statistical
28330	//    calculation.
28331	//
28332	// Statistics is a required field
28333	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
28334
28335	// The unit for the metric data request. Valid units depend on the metric data
28336	// being requested. For the valid units with each available metric, see the
28337	// metricName parameter.
28338	//
28339	// Unit is a required field
28340	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
28341}
28342
28343// String returns the string representation
28344func (s GetRelationalDatabaseMetricDataInput) String() string {
28345	return awsutil.Prettify(s)
28346}
28347
28348// GoString returns the string representation
28349func (s GetRelationalDatabaseMetricDataInput) GoString() string {
28350	return s.String()
28351}
28352
28353// Validate inspects the fields of the type to determine if they are valid.
28354func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
28355	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
28356	if s.EndTime == nil {
28357		invalidParams.Add(request.NewErrParamRequired("EndTime"))
28358	}
28359	if s.MetricName == nil {
28360		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28361	}
28362	if s.Period == nil {
28363		invalidParams.Add(request.NewErrParamRequired("Period"))
28364	}
28365	if s.Period != nil && *s.Period < 60 {
28366		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
28367	}
28368	if s.RelationalDatabaseName == nil {
28369		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28370	}
28371	if s.StartTime == nil {
28372		invalidParams.Add(request.NewErrParamRequired("StartTime"))
28373	}
28374	if s.Statistics == nil {
28375		invalidParams.Add(request.NewErrParamRequired("Statistics"))
28376	}
28377	if s.Unit == nil {
28378		invalidParams.Add(request.NewErrParamRequired("Unit"))
28379	}
28380
28381	if invalidParams.Len() > 0 {
28382		return invalidParams
28383	}
28384	return nil
28385}
28386
28387// SetEndTime sets the EndTime field's value.
28388func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
28389	s.EndTime = &v
28390	return s
28391}
28392
28393// SetMetricName sets the MetricName field's value.
28394func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
28395	s.MetricName = &v
28396	return s
28397}
28398
28399// SetPeriod sets the Period field's value.
28400func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
28401	s.Period = &v
28402	return s
28403}
28404
28405// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28406func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
28407	s.RelationalDatabaseName = &v
28408	return s
28409}
28410
28411// SetStartTime sets the StartTime field's value.
28412func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
28413	s.StartTime = &v
28414	return s
28415}
28416
28417// SetStatistics sets the Statistics field's value.
28418func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
28419	s.Statistics = v
28420	return s
28421}
28422
28423// SetUnit sets the Unit field's value.
28424func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
28425	s.Unit = &v
28426	return s
28427}
28428
28429type GetRelationalDatabaseMetricDataOutput struct {
28430	_ struct{} `type:"structure"`
28431
28432	// An array of objects that describe the metric data returned.
28433	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
28434
28435	// The name of the metric returned.
28436	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
28437}
28438
28439// String returns the string representation
28440func (s GetRelationalDatabaseMetricDataOutput) String() string {
28441	return awsutil.Prettify(s)
28442}
28443
28444// GoString returns the string representation
28445func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
28446	return s.String()
28447}
28448
28449// SetMetricData sets the MetricData field's value.
28450func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
28451	s.MetricData = v
28452	return s
28453}
28454
28455// SetMetricName sets the MetricName field's value.
28456func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
28457	s.MetricName = &v
28458	return s
28459}
28460
28461type GetRelationalDatabaseOutput struct {
28462	_ struct{} `type:"structure"`
28463
28464	// An object describing the specified database.
28465	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
28466}
28467
28468// String returns the string representation
28469func (s GetRelationalDatabaseOutput) String() string {
28470	return awsutil.Prettify(s)
28471}
28472
28473// GoString returns the string representation
28474func (s GetRelationalDatabaseOutput) GoString() string {
28475	return s.String()
28476}
28477
28478// SetRelationalDatabase sets the RelationalDatabase field's value.
28479func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
28480	s.RelationalDatabase = v
28481	return s
28482}
28483
28484type GetRelationalDatabaseParametersInput struct {
28485	_ struct{} `type:"structure"`
28486
28487	// The token to advance to the next page of results from your request.
28488	//
28489	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
28490	// If your results are paginated, the response will return a next page token
28491	// that you can specify as the page token in a subsequent request.
28492	PageToken *string `locationName:"pageToken" type:"string"`
28493
28494	// The name of your database for which to get parameters.
28495	//
28496	// RelationalDatabaseName is a required field
28497	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28498}
28499
28500// String returns the string representation
28501func (s GetRelationalDatabaseParametersInput) String() string {
28502	return awsutil.Prettify(s)
28503}
28504
28505// GoString returns the string representation
28506func (s GetRelationalDatabaseParametersInput) GoString() string {
28507	return s.String()
28508}
28509
28510// Validate inspects the fields of the type to determine if they are valid.
28511func (s *GetRelationalDatabaseParametersInput) Validate() error {
28512	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
28513	if s.RelationalDatabaseName == nil {
28514		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28515	}
28516
28517	if invalidParams.Len() > 0 {
28518		return invalidParams
28519	}
28520	return nil
28521}
28522
28523// SetPageToken sets the PageToken field's value.
28524func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
28525	s.PageToken = &v
28526	return s
28527}
28528
28529// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28530func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
28531	s.RelationalDatabaseName = &v
28532	return s
28533}
28534
28535type GetRelationalDatabaseParametersOutput struct {
28536	_ struct{} `type:"structure"`
28537
28538	// The token to advance to the next page of results from your request.
28539	//
28540	// A next page token is not returned if there are no more results to display.
28541	//
28542	// To get the next page of results, perform another GetRelationalDatabaseParameters
28543	// request and specify the next page token using the pageToken parameter.
28544	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28545
28546	// An object describing the result of your get relational database parameters
28547	// request.
28548	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
28549}
28550
28551// String returns the string representation
28552func (s GetRelationalDatabaseParametersOutput) String() string {
28553	return awsutil.Prettify(s)
28554}
28555
28556// GoString returns the string representation
28557func (s GetRelationalDatabaseParametersOutput) GoString() string {
28558	return s.String()
28559}
28560
28561// SetNextPageToken sets the NextPageToken field's value.
28562func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
28563	s.NextPageToken = &v
28564	return s
28565}
28566
28567// SetParameters sets the Parameters field's value.
28568func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
28569	s.Parameters = v
28570	return s
28571}
28572
28573type GetRelationalDatabaseSnapshotInput struct {
28574	_ struct{} `type:"structure"`
28575
28576	// The name of the database snapshot for which to get information.
28577	//
28578	// RelationalDatabaseSnapshotName is a required field
28579	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
28580}
28581
28582// String returns the string representation
28583func (s GetRelationalDatabaseSnapshotInput) String() string {
28584	return awsutil.Prettify(s)
28585}
28586
28587// GoString returns the string representation
28588func (s GetRelationalDatabaseSnapshotInput) GoString() string {
28589	return s.String()
28590}
28591
28592// Validate inspects the fields of the type to determine if they are valid.
28593func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
28594	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
28595	if s.RelationalDatabaseSnapshotName == nil {
28596		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
28597	}
28598
28599	if invalidParams.Len() > 0 {
28600		return invalidParams
28601	}
28602	return nil
28603}
28604
28605// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
28606func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
28607	s.RelationalDatabaseSnapshotName = &v
28608	return s
28609}
28610
28611type GetRelationalDatabaseSnapshotOutput struct {
28612	_ struct{} `type:"structure"`
28613
28614	// An object describing the specified database snapshot.
28615	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
28616}
28617
28618// String returns the string representation
28619func (s GetRelationalDatabaseSnapshotOutput) String() string {
28620	return awsutil.Prettify(s)
28621}
28622
28623// GoString returns the string representation
28624func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
28625	return s.String()
28626}
28627
28628// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
28629func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
28630	s.RelationalDatabaseSnapshot = v
28631	return s
28632}
28633
28634type GetRelationalDatabaseSnapshotsInput struct {
28635	_ struct{} `type:"structure"`
28636
28637	// The token to advance to the next page of results from your request.
28638	//
28639	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
28640	// If your results are paginated, the response will return a next page token
28641	// that you can specify as the page token in a subsequent request.
28642	PageToken *string `locationName:"pageToken" type:"string"`
28643}
28644
28645// String returns the string representation
28646func (s GetRelationalDatabaseSnapshotsInput) String() string {
28647	return awsutil.Prettify(s)
28648}
28649
28650// GoString returns the string representation
28651func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
28652	return s.String()
28653}
28654
28655// SetPageToken sets the PageToken field's value.
28656func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
28657	s.PageToken = &v
28658	return s
28659}
28660
28661type GetRelationalDatabaseSnapshotsOutput struct {
28662	_ struct{} `type:"structure"`
28663
28664	// The token to advance to the next page of results from your request.
28665	//
28666	// A next page token is not returned if there are no more results to display.
28667	//
28668	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
28669	// request and specify the next page token using the pageToken parameter.
28670	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28671
28672	// An object describing the result of your get relational database snapshots
28673	// request.
28674	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
28675}
28676
28677// String returns the string representation
28678func (s GetRelationalDatabaseSnapshotsOutput) String() string {
28679	return awsutil.Prettify(s)
28680}
28681
28682// GoString returns the string representation
28683func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
28684	return s.String()
28685}
28686
28687// SetNextPageToken sets the NextPageToken field's value.
28688func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
28689	s.NextPageToken = &v
28690	return s
28691}
28692
28693// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
28694func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
28695	s.RelationalDatabaseSnapshots = v
28696	return s
28697}
28698
28699type GetRelationalDatabasesInput struct {
28700	_ struct{} `type:"structure"`
28701
28702	// The token to advance to the next page of results from your request.
28703	//
28704	// To get a page token, perform an initial GetRelationalDatabases request. If
28705	// your results are paginated, the response will return a next page token that
28706	// you can specify as the page token in a subsequent request.
28707	PageToken *string `locationName:"pageToken" type:"string"`
28708}
28709
28710// String returns the string representation
28711func (s GetRelationalDatabasesInput) String() string {
28712	return awsutil.Prettify(s)
28713}
28714
28715// GoString returns the string representation
28716func (s GetRelationalDatabasesInput) GoString() string {
28717	return s.String()
28718}
28719
28720// SetPageToken sets the PageToken field's value.
28721func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
28722	s.PageToken = &v
28723	return s
28724}
28725
28726type GetRelationalDatabasesOutput struct {
28727	_ struct{} `type:"structure"`
28728
28729	// The token to advance to the next page of results from your request.
28730	//
28731	// A next page token is not returned if there are no more results to display.
28732	//
28733	// To get the next page of results, perform another GetRelationalDatabases request
28734	// and specify the next page token using the pageToken parameter.
28735	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28736
28737	// An object describing the result of your get relational databases request.
28738	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
28739}
28740
28741// String returns the string representation
28742func (s GetRelationalDatabasesOutput) String() string {
28743	return awsutil.Prettify(s)
28744}
28745
28746// GoString returns the string representation
28747func (s GetRelationalDatabasesOutput) GoString() string {
28748	return s.String()
28749}
28750
28751// SetNextPageToken sets the NextPageToken field's value.
28752func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
28753	s.NextPageToken = &v
28754	return s
28755}
28756
28757// SetRelationalDatabases sets the RelationalDatabases field's value.
28758func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
28759	s.RelationalDatabases = v
28760	return s
28761}
28762
28763type GetStaticIpInput struct {
28764	_ struct{} `type:"structure"`
28765
28766	// The name of the static IP in Lightsail.
28767	//
28768	// StaticIpName is a required field
28769	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
28770}
28771
28772// String returns the string representation
28773func (s GetStaticIpInput) String() string {
28774	return awsutil.Prettify(s)
28775}
28776
28777// GoString returns the string representation
28778func (s GetStaticIpInput) GoString() string {
28779	return s.String()
28780}
28781
28782// Validate inspects the fields of the type to determine if they are valid.
28783func (s *GetStaticIpInput) Validate() error {
28784	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
28785	if s.StaticIpName == nil {
28786		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
28787	}
28788
28789	if invalidParams.Len() > 0 {
28790		return invalidParams
28791	}
28792	return nil
28793}
28794
28795// SetStaticIpName sets the StaticIpName field's value.
28796func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
28797	s.StaticIpName = &v
28798	return s
28799}
28800
28801type GetStaticIpOutput struct {
28802	_ struct{} `type:"structure"`
28803
28804	// An array of key-value pairs containing information about the requested static
28805	// IP.
28806	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
28807}
28808
28809// String returns the string representation
28810func (s GetStaticIpOutput) String() string {
28811	return awsutil.Prettify(s)
28812}
28813
28814// GoString returns the string representation
28815func (s GetStaticIpOutput) GoString() string {
28816	return s.String()
28817}
28818
28819// SetStaticIp sets the StaticIp field's value.
28820func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
28821	s.StaticIp = v
28822	return s
28823}
28824
28825type GetStaticIpsInput struct {
28826	_ struct{} `type:"structure"`
28827
28828	// The token to advance to the next page of results from your request.
28829	//
28830	// To get a page token, perform an initial GetStaticIps request. If your results
28831	// are paginated, the response will return a next page token that you can specify
28832	// as the page token in a subsequent request.
28833	PageToken *string `locationName:"pageToken" type:"string"`
28834}
28835
28836// String returns the string representation
28837func (s GetStaticIpsInput) String() string {
28838	return awsutil.Prettify(s)
28839}
28840
28841// GoString returns the string representation
28842func (s GetStaticIpsInput) GoString() string {
28843	return s.String()
28844}
28845
28846// SetPageToken sets the PageToken field's value.
28847func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
28848	s.PageToken = &v
28849	return s
28850}
28851
28852type GetStaticIpsOutput struct {
28853	_ struct{} `type:"structure"`
28854
28855	// The token to advance to the next page of results from your request.
28856	//
28857	// A next page token is not returned if there are no more results to display.
28858	//
28859	// To get the next page of results, perform another GetStaticIps request and
28860	// specify the next page token using the pageToken parameter.
28861	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28862
28863	// An array of key-value pairs containing information about your get static
28864	// IPs request.
28865	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
28866}
28867
28868// String returns the string representation
28869func (s GetStaticIpsOutput) String() string {
28870	return awsutil.Prettify(s)
28871}
28872
28873// GoString returns the string representation
28874func (s GetStaticIpsOutput) GoString() string {
28875	return s.String()
28876}
28877
28878// SetNextPageToken sets the NextPageToken field's value.
28879func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
28880	s.NextPageToken = &v
28881	return s
28882}
28883
28884// SetStaticIps sets the StaticIps field's value.
28885func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
28886	s.StaticIps = v
28887	return s
28888}
28889
28890// Describes the request headers that a Lightsail distribution bases caching
28891// on.
28892//
28893// For the headers that you specify, your distribution caches separate versions
28894// of the specified content based on the header values in viewer requests. For
28895// example, suppose viewer requests for logo.jpg contain a custom product header
28896// that has a value of either acme or apex, and you configure your distribution
28897// to cache your content based on values in the product header. Your distribution
28898// forwards the product header to the origin and caches the response from the
28899// origin once for each header value.
28900type HeaderObject struct {
28901	_ struct{} `type:"structure"`
28902
28903	// The specific headers to forward to your distribution's origin.
28904	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
28905
28906	// The headers that you want your distribution to forward to your origin and
28907	// base caching on.
28908	//
28909	// You can configure your distribution to do one of the following:
28910	//
28911	//    * all - Forward all headers to your origin.
28912	//
28913	//    * none - Forward only the default headers.
28914	//
28915	//    * allow-list - Forward only the headers you specify using the headersAllowList
28916	//    parameter.
28917	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
28918}
28919
28920// String returns the string representation
28921func (s HeaderObject) String() string {
28922	return awsutil.Prettify(s)
28923}
28924
28925// GoString returns the string representation
28926func (s HeaderObject) GoString() string {
28927	return s.String()
28928}
28929
28930// SetHeadersAllowList sets the HeadersAllowList field's value.
28931func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
28932	s.HeadersAllowList = v
28933	return s
28934}
28935
28936// SetOption sets the Option field's value.
28937func (s *HeaderObject) SetOption(v string) *HeaderObject {
28938	s.Option = &v
28939	return s
28940}
28941
28942// Describes the public SSH host keys or the RDP certificate.
28943type HostKeyAttributes struct {
28944	_ struct{} `type:"structure"`
28945
28946	// The SSH host key algorithm or the RDP certificate format.
28947	//
28948	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
28949	// etc. For RDP certificates, the algorithm is always x509-cert.
28950	Algorithm *string `locationName:"algorithm" type:"string"`
28951
28952	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
28953	//
28954	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
28955	//
28956	//    * 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
28957	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
28958
28959	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
28960	//
28961	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
28962	//
28963	//    * 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
28964	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
28965
28966	// The returned RDP certificate is not valid after this point in time.
28967	//
28968	// This value is listed only for RDP certificates.
28969	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
28970
28971	// The returned RDP certificate is valid after this point in time.
28972	//
28973	// This value is listed only for RDP certificates.
28974	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
28975
28976	// The public SSH host key or the RDP certificate.
28977	PublicKey *string `locationName:"publicKey" type:"string"`
28978
28979	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
28980	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
28981}
28982
28983// String returns the string representation
28984func (s HostKeyAttributes) String() string {
28985	return awsutil.Prettify(s)
28986}
28987
28988// GoString returns the string representation
28989func (s HostKeyAttributes) GoString() string {
28990	return s.String()
28991}
28992
28993// SetAlgorithm sets the Algorithm field's value.
28994func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
28995	s.Algorithm = &v
28996	return s
28997}
28998
28999// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
29000func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
29001	s.FingerprintSHA1 = &v
29002	return s
29003}
29004
29005// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
29006func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
29007	s.FingerprintSHA256 = &v
29008	return s
29009}
29010
29011// SetNotValidAfter sets the NotValidAfter field's value.
29012func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
29013	s.NotValidAfter = &v
29014	return s
29015}
29016
29017// SetNotValidBefore sets the NotValidBefore field's value.
29018func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
29019	s.NotValidBefore = &v
29020	return s
29021}
29022
29023// SetPublicKey sets the PublicKey field's value.
29024func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
29025	s.PublicKey = &v
29026	return s
29027}
29028
29029// SetWitnessedAt sets the WitnessedAt field's value.
29030func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
29031	s.WitnessedAt = &v
29032	return s
29033}
29034
29035type ImportKeyPairInput struct {
29036	_ struct{} `type:"structure"`
29037
29038	// The name of the key pair for which you want to import the public key.
29039	//
29040	// KeyPairName is a required field
29041	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
29042
29043	// A base64-encoded public key of the ssh-rsa type.
29044	//
29045	// PublicKeyBase64 is a required field
29046	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
29047}
29048
29049// String returns the string representation
29050func (s ImportKeyPairInput) String() string {
29051	return awsutil.Prettify(s)
29052}
29053
29054// GoString returns the string representation
29055func (s ImportKeyPairInput) GoString() string {
29056	return s.String()
29057}
29058
29059// Validate inspects the fields of the type to determine if they are valid.
29060func (s *ImportKeyPairInput) Validate() error {
29061	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
29062	if s.KeyPairName == nil {
29063		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
29064	}
29065	if s.PublicKeyBase64 == nil {
29066		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
29067	}
29068
29069	if invalidParams.Len() > 0 {
29070		return invalidParams
29071	}
29072	return nil
29073}
29074
29075// SetKeyPairName sets the KeyPairName field's value.
29076func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
29077	s.KeyPairName = &v
29078	return s
29079}
29080
29081// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
29082func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
29083	s.PublicKeyBase64 = &v
29084	return s
29085}
29086
29087type ImportKeyPairOutput struct {
29088	_ struct{} `type:"structure"`
29089
29090	// An array of objects that describe the result of the action, such as the status
29091	// of the request, the timestamp of the request, and the resources affected
29092	// by the request.
29093	Operation *Operation `locationName:"operation" type:"structure"`
29094}
29095
29096// String returns the string representation
29097func (s ImportKeyPairOutput) String() string {
29098	return awsutil.Prettify(s)
29099}
29100
29101// GoString returns the string representation
29102func (s ImportKeyPairOutput) GoString() string {
29103	return s.String()
29104}
29105
29106// SetOperation sets the Operation field's value.
29107func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
29108	s.Operation = v
29109	return s
29110}
29111
29112// Describes the origin resource of an Amazon Lightsail content delivery network
29113// (CDN) distribution.
29114//
29115// An origin can be a Lightsail instance or load balancer. A distribution pulls
29116// content from an origin, caches it, and serves it to viewers via a worldwide
29117// network of edge servers.
29118type InputOrigin struct {
29119	_ struct{} `type:"structure"`
29120
29121	// The name of the origin resource.
29122	Name *string `locationName:"name" type:"string"`
29123
29124	// The protocol that your Amazon Lightsail distribution uses when establishing
29125	// a connection with your origin to pull content.
29126	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
29127
29128	// The AWS Region name of the origin resource.
29129	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
29130}
29131
29132// String returns the string representation
29133func (s InputOrigin) String() string {
29134	return awsutil.Prettify(s)
29135}
29136
29137// GoString returns the string representation
29138func (s InputOrigin) GoString() string {
29139	return s.String()
29140}
29141
29142// SetName sets the Name field's value.
29143func (s *InputOrigin) SetName(v string) *InputOrigin {
29144	s.Name = &v
29145	return s
29146}
29147
29148// SetProtocolPolicy sets the ProtocolPolicy field's value.
29149func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
29150	s.ProtocolPolicy = &v
29151	return s
29152}
29153
29154// SetRegionName sets the RegionName field's value.
29155func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
29156	s.RegionName = &v
29157	return s
29158}
29159
29160// Describes an instance (a virtual private server).
29161type Instance struct {
29162	_ struct{} `type:"structure"`
29163
29164	// An array of objects representing the add-ons enabled on the instance.
29165	AddOns []*AddOn `locationName:"addOns" type:"list"`
29166
29167	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
29168	Arn *string `locationName:"arn" type:"string"`
29169
29170	// The blueprint ID (e.g., os_amlinux_2016_03).
29171	BlueprintId *string `locationName:"blueprintId" type:"string"`
29172
29173	// The friendly name of the blueprint (e.g., Amazon Linux).
29174	BlueprintName *string `locationName:"blueprintName" type:"string"`
29175
29176	// The bundle for the instance (e.g., micro_1_0).
29177	BundleId *string `locationName:"bundleId" type:"string"`
29178
29179	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
29180	// time format.
29181	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
29182
29183	// The size of the vCPU and the amount of RAM for the instance.
29184	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
29185
29186	// The IP address type of the instance.
29187	//
29188	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
29189	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
29190
29191	// The IPv6 addresses of the instance.
29192	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
29193
29194	// A Boolean value indicating whether this instance has a static IP assigned
29195	// to it.
29196	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
29197
29198	// The region name and Availability Zone where the instance is located.
29199	Location *ResourceLocation `locationName:"location" type:"structure"`
29200
29201	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
29202	Name *string `locationName:"name" type:"string"`
29203
29204	// Information about the public ports and monthly data transfer rates for the
29205	// instance.
29206	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
29207
29208	// The private IP address of the instance.
29209	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
29210
29211	// The public IP address of the instance.
29212	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
29213
29214	// The type of resource (usually Instance).
29215	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
29216
29217	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
29218	SshKeyName *string `locationName:"sshKeyName" type:"string"`
29219
29220	// The status code and the state (e.g., running) for the instance.
29221	State *InstanceState `locationName:"state" type:"structure"`
29222
29223	// The support code. Include this code in your email to support when you have
29224	// questions about an instance or another resource in Lightsail. This code enables
29225	// our support team to look up your Lightsail information more easily.
29226	SupportCode *string `locationName:"supportCode" type:"string"`
29227
29228	// The tag keys and optional values for the resource. For more information about
29229	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
29230	Tags []*Tag `locationName:"tags" type:"list"`
29231
29232	// The user name for connecting to the instance (e.g., ec2-user).
29233	Username *string `locationName:"username" type:"string"`
29234}
29235
29236// String returns the string representation
29237func (s Instance) String() string {
29238	return awsutil.Prettify(s)
29239}
29240
29241// GoString returns the string representation
29242func (s Instance) GoString() string {
29243	return s.String()
29244}
29245
29246// SetAddOns sets the AddOns field's value.
29247func (s *Instance) SetAddOns(v []*AddOn) *Instance {
29248	s.AddOns = v
29249	return s
29250}
29251
29252// SetArn sets the Arn field's value.
29253func (s *Instance) SetArn(v string) *Instance {
29254	s.Arn = &v
29255	return s
29256}
29257
29258// SetBlueprintId sets the BlueprintId field's value.
29259func (s *Instance) SetBlueprintId(v string) *Instance {
29260	s.BlueprintId = &v
29261	return s
29262}
29263
29264// SetBlueprintName sets the BlueprintName field's value.
29265func (s *Instance) SetBlueprintName(v string) *Instance {
29266	s.BlueprintName = &v
29267	return s
29268}
29269
29270// SetBundleId sets the BundleId field's value.
29271func (s *Instance) SetBundleId(v string) *Instance {
29272	s.BundleId = &v
29273	return s
29274}
29275
29276// SetCreatedAt sets the CreatedAt field's value.
29277func (s *Instance) SetCreatedAt(v time.Time) *Instance {
29278	s.CreatedAt = &v
29279	return s
29280}
29281
29282// SetHardware sets the Hardware field's value.
29283func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
29284	s.Hardware = v
29285	return s
29286}
29287
29288// SetIpAddressType sets the IpAddressType field's value.
29289func (s *Instance) SetIpAddressType(v string) *Instance {
29290	s.IpAddressType = &v
29291	return s
29292}
29293
29294// SetIpv6Addresses sets the Ipv6Addresses field's value.
29295func (s *Instance) SetIpv6Addresses(v []*string) *Instance {
29296	s.Ipv6Addresses = v
29297	return s
29298}
29299
29300// SetIsStaticIp sets the IsStaticIp field's value.
29301func (s *Instance) SetIsStaticIp(v bool) *Instance {
29302	s.IsStaticIp = &v
29303	return s
29304}
29305
29306// SetLocation sets the Location field's value.
29307func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
29308	s.Location = v
29309	return s
29310}
29311
29312// SetName sets the Name field's value.
29313func (s *Instance) SetName(v string) *Instance {
29314	s.Name = &v
29315	return s
29316}
29317
29318// SetNetworking sets the Networking field's value.
29319func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
29320	s.Networking = v
29321	return s
29322}
29323
29324// SetPrivateIpAddress sets the PrivateIpAddress field's value.
29325func (s *Instance) SetPrivateIpAddress(v string) *Instance {
29326	s.PrivateIpAddress = &v
29327	return s
29328}
29329
29330// SetPublicIpAddress sets the PublicIpAddress field's value.
29331func (s *Instance) SetPublicIpAddress(v string) *Instance {
29332	s.PublicIpAddress = &v
29333	return s
29334}
29335
29336// SetResourceType sets the ResourceType field's value.
29337func (s *Instance) SetResourceType(v string) *Instance {
29338	s.ResourceType = &v
29339	return s
29340}
29341
29342// SetSshKeyName sets the SshKeyName field's value.
29343func (s *Instance) SetSshKeyName(v string) *Instance {
29344	s.SshKeyName = &v
29345	return s
29346}
29347
29348// SetState sets the State field's value.
29349func (s *Instance) SetState(v *InstanceState) *Instance {
29350	s.State = v
29351	return s
29352}
29353
29354// SetSupportCode sets the SupportCode field's value.
29355func (s *Instance) SetSupportCode(v string) *Instance {
29356	s.SupportCode = &v
29357	return s
29358}
29359
29360// SetTags sets the Tags field's value.
29361func (s *Instance) SetTags(v []*Tag) *Instance {
29362	s.Tags = v
29363	return s
29364}
29365
29366// SetUsername sets the Username field's value.
29367func (s *Instance) SetUsername(v string) *Instance {
29368	s.Username = &v
29369	return s
29370}
29371
29372// The parameters for gaining temporary access to one of your Amazon Lightsail
29373// instances.
29374type InstanceAccessDetails struct {
29375	_ struct{} `type:"structure"`
29376
29377	// For SSH access, the public key to use when accessing your instance For OpenSSH
29378	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
29379	CertKey *string `locationName:"certKey" type:"string"`
29380
29381	// For SSH access, the date on which the temporary keys expire.
29382	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
29383
29384	// Describes the public SSH host keys or the RDP certificate.
29385	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
29386
29387	// The name of this Amazon Lightsail instance.
29388	InstanceName *string `locationName:"instanceName" type:"string"`
29389
29390	// The public IP address of the Amazon Lightsail instance.
29391	IpAddress *string `locationName:"ipAddress" type:"string"`
29392
29393	// For RDP access, the password for your Amazon Lightsail instance. Password
29394	// will be an empty string if the password for your new instance is not ready
29395	// yet. When you create an instance, it can take up to 15 minutes for the instance
29396	// to be ready.
29397	//
29398	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
29399	// password will always be an empty string.
29400	//
29401	// If you change the Administrator password on the instance, Lightsail will
29402	// continue to return the original password value. When accessing the instance
29403	// using RDP, you need to manually enter the Administrator password after changing
29404	// it from the default.
29405	Password *string `locationName:"password" type:"string"`
29406
29407	// For a Windows Server-based instance, an object with the data you can use
29408	// to retrieve your password. This is only needed if password is empty and the
29409	// instance is not new (and therefore the password is not ready yet). When you
29410	// create an instance, it can take up to 15 minutes for the instance to be ready.
29411	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
29412
29413	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
29414	// line SSH), you should save this value to tempkey).
29415	PrivateKey *string `locationName:"privateKey" type:"string"`
29416
29417	// The protocol for these Amazon Lightsail instance access details.
29418	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
29419
29420	// The user name to use when logging in to the Amazon Lightsail instance.
29421	Username *string `locationName:"username" type:"string"`
29422}
29423
29424// String returns the string representation
29425func (s InstanceAccessDetails) String() string {
29426	return awsutil.Prettify(s)
29427}
29428
29429// GoString returns the string representation
29430func (s InstanceAccessDetails) GoString() string {
29431	return s.String()
29432}
29433
29434// SetCertKey sets the CertKey field's value.
29435func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
29436	s.CertKey = &v
29437	return s
29438}
29439
29440// SetExpiresAt sets the ExpiresAt field's value.
29441func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
29442	s.ExpiresAt = &v
29443	return s
29444}
29445
29446// SetHostKeys sets the HostKeys field's value.
29447func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
29448	s.HostKeys = v
29449	return s
29450}
29451
29452// SetInstanceName sets the InstanceName field's value.
29453func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
29454	s.InstanceName = &v
29455	return s
29456}
29457
29458// SetIpAddress sets the IpAddress field's value.
29459func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
29460	s.IpAddress = &v
29461	return s
29462}
29463
29464// SetPassword sets the Password field's value.
29465func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
29466	s.Password = &v
29467	return s
29468}
29469
29470// SetPasswordData sets the PasswordData field's value.
29471func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
29472	s.PasswordData = v
29473	return s
29474}
29475
29476// SetPrivateKey sets the PrivateKey field's value.
29477func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
29478	s.PrivateKey = &v
29479	return s
29480}
29481
29482// SetProtocol sets the Protocol field's value.
29483func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
29484	s.Protocol = &v
29485	return s
29486}
29487
29488// SetUsername sets the Username field's value.
29489func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
29490	s.Username = &v
29491	return s
29492}
29493
29494// Describes the Amazon Elastic Compute Cloud instance and related resources
29495// to be created using the create cloud formation stack operation.
29496type InstanceEntry struct {
29497	_ struct{} `type:"structure"`
29498
29499	// The Availability Zone for the new Amazon EC2 instance.
29500	//
29501	// AvailabilityZone is a required field
29502	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
29503
29504	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
29505	//
29506	// InstanceType is a required field
29507	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
29508
29509	// The port configuration to use for the new Amazon EC2 instance.
29510	//
29511	// The following configuration options are available:
29512	//
29513	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
29514	//    blueprint. If this is specified, then IPv4 and IPv6 will be configured
29515	//    for the new instance that is created in Amazon EC2.
29516	//
29517	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
29518	//    instance. If this is specified, the new instance that is created in Amazon
29519	//    EC2 will be configured to match the configuration of the source Lightsail
29520	//    instance. For example, if the source instance is configured for dual-stack
29521	//    (IPv4 and IPv6), then IPv4 and IPv6 will be configured for the new instance
29522	//    that is created in Amazon EC2. If the source instance is configured for
29523	//    IPv4 only, then only IPv4 will be configured for the new instance that
29524	//    is created in Amazon EC2.
29525	//
29526	//    * NONE - Use the default Amazon EC2 security group. If this is specified,
29527	//    then only IPv4 will be configured for the new instance that is created
29528	//    in Amazon EC2.
29529	//
29530	//    * CLOSED - All ports closed. If this is specified, then only IPv4 will
29531	//    be configured for the new instance that is created in Amazon EC2.
29532	//
29533	// If you configured lightsail-connect as a cidrListAliases on your instance,
29534	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
29535	// connect to your instance, that configuration is not carried over to your
29536	// new Amazon EC2 instance.
29537	//
29538	// PortInfoSource is a required field
29539	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
29540
29541	// The name of the export snapshot record, which contains the exported Lightsail
29542	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
29543	//
29544	// Use the get export snapshot records operation to get a list of export snapshot
29545	// records that you can use to create a CloudFormation stack.
29546	//
29547	// SourceName is a required field
29548	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
29549
29550	// A launch script you can create that configures a server with additional user
29551	// data. For example, you might want to run apt-get -y update.
29552	//
29553	// Depending on the machine image you choose, the command to get software on
29554	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
29555	// use apt-get, and FreeBSD uses pkg.
29556	UserData *string `locationName:"userData" type:"string"`
29557}
29558
29559// String returns the string representation
29560func (s InstanceEntry) String() string {
29561	return awsutil.Prettify(s)
29562}
29563
29564// GoString returns the string representation
29565func (s InstanceEntry) GoString() string {
29566	return s.String()
29567}
29568
29569// Validate inspects the fields of the type to determine if they are valid.
29570func (s *InstanceEntry) Validate() error {
29571	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
29572	if s.AvailabilityZone == nil {
29573		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
29574	}
29575	if s.InstanceType == nil {
29576		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
29577	}
29578	if s.PortInfoSource == nil {
29579		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
29580	}
29581	if s.SourceName == nil {
29582		invalidParams.Add(request.NewErrParamRequired("SourceName"))
29583	}
29584
29585	if invalidParams.Len() > 0 {
29586		return invalidParams
29587	}
29588	return nil
29589}
29590
29591// SetAvailabilityZone sets the AvailabilityZone field's value.
29592func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
29593	s.AvailabilityZone = &v
29594	return s
29595}
29596
29597// SetInstanceType sets the InstanceType field's value.
29598func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
29599	s.InstanceType = &v
29600	return s
29601}
29602
29603// SetPortInfoSource sets the PortInfoSource field's value.
29604func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
29605	s.PortInfoSource = &v
29606	return s
29607}
29608
29609// SetSourceName sets the SourceName field's value.
29610func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
29611	s.SourceName = &v
29612	return s
29613}
29614
29615// SetUserData sets the UserData field's value.
29616func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
29617	s.UserData = &v
29618	return s
29619}
29620
29621// Describes the hardware for the instance.
29622type InstanceHardware struct {
29623	_ struct{} `type:"structure"`
29624
29625	// The number of vCPUs the instance has.
29626	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
29627
29628	// The disks attached to the instance.
29629	Disks []*Disk `locationName:"disks" type:"list"`
29630
29631	// The amount of RAM in GB on the instance (e.g., 1.0).
29632	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
29633}
29634
29635// String returns the string representation
29636func (s InstanceHardware) String() string {
29637	return awsutil.Prettify(s)
29638}
29639
29640// GoString returns the string representation
29641func (s InstanceHardware) GoString() string {
29642	return s.String()
29643}
29644
29645// SetCpuCount sets the CpuCount field's value.
29646func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
29647	s.CpuCount = &v
29648	return s
29649}
29650
29651// SetDisks sets the Disks field's value.
29652func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
29653	s.Disks = v
29654	return s
29655}
29656
29657// SetRamSizeInGb sets the RamSizeInGb field's value.
29658func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
29659	s.RamSizeInGb = &v
29660	return s
29661}
29662
29663// Describes information about the health of the instance.
29664type InstanceHealthSummary struct {
29665	_ struct{} `type:"structure"`
29666
29667	// Describes the overall instance health. Valid values are below.
29668	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
29669
29670	// More information about the instance health. If the instanceHealth is healthy,
29671	// then an instanceHealthReason value is not provided.
29672	//
29673	// If instanceHealth is initial, the instanceHealthReason value can be one of
29674	// the following:
29675	//
29676	//    * Lb.RegistrationInProgress - The target instance is in the process of
29677	//    being registered with the load balancer.
29678	//
29679	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
29680	//    the target instance the minimum number of health checks required to determine
29681	//    its health status.
29682	//
29683	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
29684	// of the following:
29685	//
29686	//    * Instance.ResponseCodeMismatch - The health checks did not return an
29687	//    expected HTTP code.
29688	//
29689	//    * Instance.Timeout - The health check requests timed out.
29690	//
29691	//    * Instance.FailedHealthChecks - The health checks failed because the connection
29692	//    to the target instance timed out, the target instance response was malformed,
29693	//    or the target instance failed the health check for an unknown reason.
29694	//
29695	//    * Lb.InternalError - The health checks failed due to an internal error.
29696	//
29697	// If instanceHealth is unused, the instanceHealthReason value can be one of
29698	// the following:
29699	//
29700	//    * Instance.NotRegistered - The target instance is not registered with
29701	//    the target group.
29702	//
29703	//    * Instance.NotInUse - The target group is not used by any load balancer,
29704	//    or the target instance is in an Availability Zone that is not enabled
29705	//    for its load balancer.
29706	//
29707	//    * Instance.IpUnusable - The target IP address is reserved for use by a
29708	//    Lightsail load balancer.
29709	//
29710	//    * Instance.InvalidState - The target is in the stopped or terminated state.
29711	//
29712	// If instanceHealth is draining, the instanceHealthReason value can be one
29713	// of the following:
29714	//
29715	//    * Instance.DeregistrationInProgress - The target instance is in the process
29716	//    of being deregistered and the deregistration delay period has not expired.
29717	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
29718
29719	// The name of the Lightsail instance for which you are requesting health check
29720	// data.
29721	InstanceName *string `locationName:"instanceName" type:"string"`
29722}
29723
29724// String returns the string representation
29725func (s InstanceHealthSummary) String() string {
29726	return awsutil.Prettify(s)
29727}
29728
29729// GoString returns the string representation
29730func (s InstanceHealthSummary) GoString() string {
29731	return s.String()
29732}
29733
29734// SetInstanceHealth sets the InstanceHealth field's value.
29735func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
29736	s.InstanceHealth = &v
29737	return s
29738}
29739
29740// SetInstanceHealthReason sets the InstanceHealthReason field's value.
29741func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
29742	s.InstanceHealthReason = &v
29743	return s
29744}
29745
29746// SetInstanceName sets the InstanceName field's value.
29747func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
29748	s.InstanceName = &v
29749	return s
29750}
29751
29752// Describes monthly data transfer rates and port information for an instance.
29753type InstanceNetworking struct {
29754	_ struct{} `type:"structure"`
29755
29756	// The amount of data in GB allocated for monthly data transfers.
29757	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
29758
29759	// An array of key-value pairs containing information about the ports on the
29760	// instance.
29761	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
29762}
29763
29764// String returns the string representation
29765func (s InstanceNetworking) String() string {
29766	return awsutil.Prettify(s)
29767}
29768
29769// GoString returns the string representation
29770func (s InstanceNetworking) GoString() string {
29771	return s.String()
29772}
29773
29774// SetMonthlyTransfer sets the MonthlyTransfer field's value.
29775func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
29776	s.MonthlyTransfer = v
29777	return s
29778}
29779
29780// SetPorts sets the Ports field's value.
29781func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
29782	s.Ports = v
29783	return s
29784}
29785
29786// Describes information about ports for an Amazon Lightsail instance.
29787type InstancePortInfo struct {
29788	_ struct{} `type:"structure"`
29789
29790	// The access direction (inbound or outbound).
29791	//
29792	// Lightsail currently supports only inbound access direction.
29793	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
29794
29795	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
29796	// or Custom if a specific IP address or range of IP addresses is allowed.
29797	AccessFrom *string `locationName:"accessFrom" type:"string"`
29798
29799	// The type of access (Public or Private).
29800	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
29801
29802	// An alias that defines access for a preconfigured range of IP addresses.
29803	//
29804	// The only alias currently supported is lightsail-connect, which allows IP
29805	// addresses of the browser-based RDP/SSH client in the Lightsail console to
29806	// connect to your instance.
29807	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
29808
29809	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
29810	// allowed to connect to an instance through the ports, and the protocol.
29811	//
29812	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
29813	// to an instance.
29814	//
29815	// For more information about CIDR block notation, see Classless Inter-Domain
29816	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
29817	// on Wikipedia.
29818	Cidrs []*string `locationName:"cidrs" type:"list"`
29819
29820	// The common name of the port information.
29821	CommonName *string `locationName:"commonName" type:"string"`
29822
29823	// The first port in a range of open ports on an instance.
29824	//
29825	// Allowed ports:
29826	//
29827	//    * TCP and UDP - 0 to 65535
29828	//
29829	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
29830	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
29831	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
29832	//    on Wikipedia.
29833	//
29834	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
29835	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
29836	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
29837	FromPort *int64 `locationName:"fromPort" type:"integer"`
29838
29839	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
29840	// allowed to connect to an instance through the ports, and the protocol. Only
29841	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
29842	// IPv4 should be used.
29843	//
29844	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
29845	// to an instance.
29846	//
29847	// For more information about CIDR block notation, see Classless Inter-Domain
29848	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
29849	// on Wikipedia.
29850	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
29851
29852	// The IP protocol name.
29853	//
29854	// The name can be one of the following:
29855	//
29856	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
29857	//    and error-checked delivery of streamed data between applications running
29858	//    on hosts communicating by an IP network. If you have an application that
29859	//    doesn't require reliable data stream service, use UDP instead.
29860	//
29861	//    * all - All transport layer protocol types. For more general information,
29862	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
29863	//    Wikipedia.
29864	//
29865	//    * udp - With User Datagram Protocol (UDP), computer applications can send
29866	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
29867	//    Prior communications are not required to set up transmission channels
29868	//    or data paths. Applications that don't require reliable data stream service
29869	//    can use UDP, which provides a connectionless datagram service that emphasizes
29870	//    reduced latency over reliability. If you do require reliable data stream
29871	//    service, use TCP instead.
29872	//
29873	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
29874	//    messages and operational information indicating success or failure when
29875	//    communicating with an instance. For example, an error is indicated when
29876	//    an instance could not be reached. When you specify icmp as the protocol,
29877	//    you must specify the ICMP type using the fromPort parameter, and ICMP
29878	//    code using the toPort parameter.
29879	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
29880
29881	// The last port in a range of open ports on an instance.
29882	//
29883	// Allowed ports:
29884	//
29885	//    * TCP and UDP - 0 to 65535
29886	//
29887	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
29888	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
29889	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
29890	//    on Wikipedia.
29891	//
29892	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
29893	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
29894	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
29895	ToPort *int64 `locationName:"toPort" type:"integer"`
29896}
29897
29898// String returns the string representation
29899func (s InstancePortInfo) String() string {
29900	return awsutil.Prettify(s)
29901}
29902
29903// GoString returns the string representation
29904func (s InstancePortInfo) GoString() string {
29905	return s.String()
29906}
29907
29908// SetAccessDirection sets the AccessDirection field's value.
29909func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
29910	s.AccessDirection = &v
29911	return s
29912}
29913
29914// SetAccessFrom sets the AccessFrom field's value.
29915func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
29916	s.AccessFrom = &v
29917	return s
29918}
29919
29920// SetAccessType sets the AccessType field's value.
29921func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
29922	s.AccessType = &v
29923	return s
29924}
29925
29926// SetCidrListAliases sets the CidrListAliases field's value.
29927func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
29928	s.CidrListAliases = v
29929	return s
29930}
29931
29932// SetCidrs sets the Cidrs field's value.
29933func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
29934	s.Cidrs = v
29935	return s
29936}
29937
29938// SetCommonName sets the CommonName field's value.
29939func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
29940	s.CommonName = &v
29941	return s
29942}
29943
29944// SetFromPort sets the FromPort field's value.
29945func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
29946	s.FromPort = &v
29947	return s
29948}
29949
29950// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
29951func (s *InstancePortInfo) SetIpv6Cidrs(v []*string) *InstancePortInfo {
29952	s.Ipv6Cidrs = v
29953	return s
29954}
29955
29956// SetProtocol sets the Protocol field's value.
29957func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
29958	s.Protocol = &v
29959	return s
29960}
29961
29962// SetToPort sets the ToPort field's value.
29963func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
29964	s.ToPort = &v
29965	return s
29966}
29967
29968// Describes open ports on an instance, the IP addresses allowed to connect
29969// to the instance through the ports, and the protocol.
29970type InstancePortState struct {
29971	_ struct{} `type:"structure"`
29972
29973	// An alias that defines access for a preconfigured range of IP addresses.
29974	//
29975	// The only alias currently supported is lightsail-connect, which allows IP
29976	// addresses of the browser-based RDP/SSH client in the Lightsail console to
29977	// connect to your instance.
29978	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
29979
29980	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
29981	// allowed to connect to an instance through the ports, and the protocol.
29982	//
29983	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
29984	// to an instance.
29985	//
29986	// For more information about CIDR block notation, see Classless Inter-Domain
29987	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
29988	// on Wikipedia.
29989	Cidrs []*string `locationName:"cidrs" type:"list"`
29990
29991	// The first port in a range of open ports on an instance.
29992	//
29993	// Allowed ports:
29994	//
29995	//    * TCP and UDP - 0 to 65535
29996	//
29997	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
29998	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
29999	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
30000	//    on Wikipedia.
30001	//
30002	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
30003	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
30004	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
30005	FromPort *int64 `locationName:"fromPort" type:"integer"`
30006
30007	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
30008	// allowed to connect to an instance through the ports, and the protocol. Only
30009	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
30010	// IPv4 should be used.
30011	//
30012	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
30013	// to an instance.
30014	//
30015	// For more information about CIDR block notation, see Classless Inter-Domain
30016	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
30017	// on Wikipedia.
30018	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
30019
30020	// The IP protocol name.
30021	//
30022	// The name can be one of the following:
30023	//
30024	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
30025	//    and error-checked delivery of streamed data between applications running
30026	//    on hosts communicating by an IP network. If you have an application that
30027	//    doesn't require reliable data stream service, use UDP instead.
30028	//
30029	//    * all - All transport layer protocol types. For more general information,
30030	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
30031	//    Wikipedia.
30032	//
30033	//    * udp - With User Datagram Protocol (UDP), computer applications can send
30034	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
30035	//    Prior communications are not required to set up transmission channels
30036	//    or data paths. Applications that don't require reliable data stream service
30037	//    can use UDP, which provides a connectionless datagram service that emphasizes
30038	//    reduced latency over reliability. If you do require reliable data stream
30039	//    service, use TCP instead.
30040	//
30041	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
30042	//    messages and operational information indicating success or failure when
30043	//    communicating with an instance. For example, an error is indicated when
30044	//    an instance could not be reached. When you specify icmp as the protocol,
30045	//    you must specify the ICMP type using the fromPort parameter, and ICMP
30046	//    code using the toPort parameter.
30047	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
30048
30049	// Specifies whether the instance port is open or closed.
30050	//
30051	// The port state for Lightsail instances is always open.
30052	State *string `locationName:"state" type:"string" enum:"PortState"`
30053
30054	// The last port in a range of open ports on an instance.
30055	//
30056	// Allowed ports:
30057	//
30058	//    * TCP and UDP - 0 to 65535
30059	//
30060	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
30061	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
30062	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
30063	//    on Wikipedia.
30064	//
30065	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
30066	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
30067	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
30068	ToPort *int64 `locationName:"toPort" type:"integer"`
30069}
30070
30071// String returns the string representation
30072func (s InstancePortState) String() string {
30073	return awsutil.Prettify(s)
30074}
30075
30076// GoString returns the string representation
30077func (s InstancePortState) GoString() string {
30078	return s.String()
30079}
30080
30081// SetCidrListAliases sets the CidrListAliases field's value.
30082func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
30083	s.CidrListAliases = v
30084	return s
30085}
30086
30087// SetCidrs sets the Cidrs field's value.
30088func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
30089	s.Cidrs = v
30090	return s
30091}
30092
30093// SetFromPort sets the FromPort field's value.
30094func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
30095	s.FromPort = &v
30096	return s
30097}
30098
30099// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
30100func (s *InstancePortState) SetIpv6Cidrs(v []*string) *InstancePortState {
30101	s.Ipv6Cidrs = v
30102	return s
30103}
30104
30105// SetProtocol sets the Protocol field's value.
30106func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
30107	s.Protocol = &v
30108	return s
30109}
30110
30111// SetState sets the State field's value.
30112func (s *InstancePortState) SetState(v string) *InstancePortState {
30113	s.State = &v
30114	return s
30115}
30116
30117// SetToPort sets the ToPort field's value.
30118func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
30119	s.ToPort = &v
30120	return s
30121}
30122
30123// Describes an instance snapshot.
30124type InstanceSnapshot struct {
30125	_ struct{} `type:"structure"`
30126
30127	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
30128	Arn *string `locationName:"arn" type:"string"`
30129
30130	// The timestamp when the snapshot was created (e.g., 1479907467.024).
30131	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30132
30133	// An array of disk objects containing information about all block storage disks.
30134	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
30135
30136	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
30137	// A blueprint is a virtual private server (or instance) image used to create
30138	// instances quickly.
30139	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
30140
30141	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
30142	FromBundleId *string `locationName:"fromBundleId" type:"string"`
30143
30144	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
30145	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
30146	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
30147
30148	// The instance from which the snapshot was created.
30149	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
30150
30151	// A Boolean value indicating whether the snapshot was created from an automatic
30152	// snapshot.
30153	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
30154
30155	// The region name and Availability Zone where you created the snapshot.
30156	Location *ResourceLocation `locationName:"location" type:"structure"`
30157
30158	// The name of the snapshot.
30159	Name *string `locationName:"name" type:"string"`
30160
30161	// The progress of the snapshot.
30162	//
30163	// This is populated only for disk snapshots, and is null for instance snapshots.
30164	Progress *string `locationName:"progress" type:"string"`
30165
30166	// The type of resource (usually InstanceSnapshot).
30167	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30168
30169	// The size in GB of the SSD.
30170	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
30171
30172	// The state the snapshot is in.
30173	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
30174
30175	// The support code. Include this code in your email to support when you have
30176	// questions about an instance or another resource in Lightsail. This code enables
30177	// our support team to look up your Lightsail information more easily.
30178	SupportCode *string `locationName:"supportCode" type:"string"`
30179
30180	// The tag keys and optional values for the resource. For more information about
30181	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30182	Tags []*Tag `locationName:"tags" type:"list"`
30183}
30184
30185// String returns the string representation
30186func (s InstanceSnapshot) String() string {
30187	return awsutil.Prettify(s)
30188}
30189
30190// GoString returns the string representation
30191func (s InstanceSnapshot) GoString() string {
30192	return s.String()
30193}
30194
30195// SetArn sets the Arn field's value.
30196func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
30197	s.Arn = &v
30198	return s
30199}
30200
30201// SetCreatedAt sets the CreatedAt field's value.
30202func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
30203	s.CreatedAt = &v
30204	return s
30205}
30206
30207// SetFromAttachedDisks sets the FromAttachedDisks field's value.
30208func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
30209	s.FromAttachedDisks = v
30210	return s
30211}
30212
30213// SetFromBlueprintId sets the FromBlueprintId field's value.
30214func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
30215	s.FromBlueprintId = &v
30216	return s
30217}
30218
30219// SetFromBundleId sets the FromBundleId field's value.
30220func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
30221	s.FromBundleId = &v
30222	return s
30223}
30224
30225// SetFromInstanceArn sets the FromInstanceArn field's value.
30226func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
30227	s.FromInstanceArn = &v
30228	return s
30229}
30230
30231// SetFromInstanceName sets the FromInstanceName field's value.
30232func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
30233	s.FromInstanceName = &v
30234	return s
30235}
30236
30237// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
30238func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
30239	s.IsFromAutoSnapshot = &v
30240	return s
30241}
30242
30243// SetLocation sets the Location field's value.
30244func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
30245	s.Location = v
30246	return s
30247}
30248
30249// SetName sets the Name field's value.
30250func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
30251	s.Name = &v
30252	return s
30253}
30254
30255// SetProgress sets the Progress field's value.
30256func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
30257	s.Progress = &v
30258	return s
30259}
30260
30261// SetResourceType sets the ResourceType field's value.
30262func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
30263	s.ResourceType = &v
30264	return s
30265}
30266
30267// SetSizeInGb sets the SizeInGb field's value.
30268func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
30269	s.SizeInGb = &v
30270	return s
30271}
30272
30273// SetState sets the State field's value.
30274func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
30275	s.State = &v
30276	return s
30277}
30278
30279// SetSupportCode sets the SupportCode field's value.
30280func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
30281	s.SupportCode = &v
30282	return s
30283}
30284
30285// SetTags sets the Tags field's value.
30286func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
30287	s.Tags = v
30288	return s
30289}
30290
30291// Describes an instance snapshot.
30292type InstanceSnapshotInfo struct {
30293	_ struct{} `type:"structure"`
30294
30295	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
30296	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
30297
30298	// The bundle ID from which the source instance was created (e.g., micro_1_0).
30299	FromBundleId *string `locationName:"fromBundleId" type:"string"`
30300
30301	// A list of objects describing the disks that were attached to the source instance.
30302	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
30303}
30304
30305// String returns the string representation
30306func (s InstanceSnapshotInfo) String() string {
30307	return awsutil.Prettify(s)
30308}
30309
30310// GoString returns the string representation
30311func (s InstanceSnapshotInfo) GoString() string {
30312	return s.String()
30313}
30314
30315// SetFromBlueprintId sets the FromBlueprintId field's value.
30316func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
30317	s.FromBlueprintId = &v
30318	return s
30319}
30320
30321// SetFromBundleId sets the FromBundleId field's value.
30322func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
30323	s.FromBundleId = &v
30324	return s
30325}
30326
30327// SetFromDiskInfo sets the FromDiskInfo field's value.
30328func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
30329	s.FromDiskInfo = v
30330	return s
30331}
30332
30333// Describes the virtual private server (or instance) status.
30334type InstanceState struct {
30335	_ struct{} `type:"structure"`
30336
30337	// The status code for the instance.
30338	Code *int64 `locationName:"code" type:"integer"`
30339
30340	// The state of the instance (e.g., running or pending).
30341	Name *string `locationName:"name" type:"string"`
30342}
30343
30344// String returns the string representation
30345func (s InstanceState) String() string {
30346	return awsutil.Prettify(s)
30347}
30348
30349// GoString returns the string representation
30350func (s InstanceState) GoString() string {
30351	return s.String()
30352}
30353
30354// SetCode sets the Code field's value.
30355func (s *InstanceState) SetCode(v int64) *InstanceState {
30356	s.Code = &v
30357	return s
30358}
30359
30360// SetName sets the Name field's value.
30361func (s *InstanceState) SetName(v string) *InstanceState {
30362	s.Name = &v
30363	return s
30364}
30365
30366// Lightsail throws this exception when user input does not conform to the validation
30367// rules of an input field.
30368//
30369// Domain and distribution APIs are only available in the N. Virginia (us-east-1)
30370// AWS Region. Please set your AWS Region configuration to us-east-1 to create,
30371// view, or edit these resources.
30372type InvalidInputException struct {
30373	_            struct{}                  `type:"structure"`
30374	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30375
30376	Code_ *string `locationName:"code" type:"string"`
30377
30378	Docs *string `locationName:"docs" type:"string"`
30379
30380	Message_ *string `locationName:"message" type:"string"`
30381
30382	Tip *string `locationName:"tip" type:"string"`
30383}
30384
30385// String returns the string representation
30386func (s InvalidInputException) String() string {
30387	return awsutil.Prettify(s)
30388}
30389
30390// GoString returns the string representation
30391func (s InvalidInputException) GoString() string {
30392	return s.String()
30393}
30394
30395func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
30396	return &InvalidInputException{
30397		RespMetadata: v,
30398	}
30399}
30400
30401// Code returns the exception type name.
30402func (s *InvalidInputException) Code() string {
30403	return "InvalidInputException"
30404}
30405
30406// Message returns the exception's message.
30407func (s *InvalidInputException) Message() string {
30408	if s.Message_ != nil {
30409		return *s.Message_
30410	}
30411	return ""
30412}
30413
30414// OrigErr always returns nil, satisfies awserr.Error interface.
30415func (s *InvalidInputException) OrigErr() error {
30416	return nil
30417}
30418
30419func (s *InvalidInputException) Error() string {
30420	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
30421}
30422
30423// Status code returns the HTTP status code for the request's response error.
30424func (s *InvalidInputException) StatusCode() int {
30425	return s.RespMetadata.StatusCode
30426}
30427
30428// RequestID returns the service's response RequestID for request.
30429func (s *InvalidInputException) RequestID() string {
30430	return s.RespMetadata.RequestID
30431}
30432
30433type IsVpcPeeredInput struct {
30434	_ struct{} `type:"structure"`
30435}
30436
30437// String returns the string representation
30438func (s IsVpcPeeredInput) String() string {
30439	return awsutil.Prettify(s)
30440}
30441
30442// GoString returns the string representation
30443func (s IsVpcPeeredInput) GoString() string {
30444	return s.String()
30445}
30446
30447type IsVpcPeeredOutput struct {
30448	_ struct{} `type:"structure"`
30449
30450	// Returns true if the Lightsail VPC is peered; otherwise, false.
30451	IsPeered *bool `locationName:"isPeered" type:"boolean"`
30452}
30453
30454// String returns the string representation
30455func (s IsVpcPeeredOutput) String() string {
30456	return awsutil.Prettify(s)
30457}
30458
30459// GoString returns the string representation
30460func (s IsVpcPeeredOutput) GoString() string {
30461	return s.String()
30462}
30463
30464// SetIsPeered sets the IsPeered field's value.
30465func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
30466	s.IsPeered = &v
30467	return s
30468}
30469
30470// Describes the SSH key pair.
30471type KeyPair struct {
30472	_ struct{} `type:"structure"`
30473
30474	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
30475	Arn *string `locationName:"arn" type:"string"`
30476
30477	// The timestamp when the key pair was created (e.g., 1479816991.349).
30478	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30479
30480	// The RSA fingerprint of the key pair.
30481	Fingerprint *string `locationName:"fingerprint" type:"string"`
30482
30483	// The region name and Availability Zone where the key pair was created.
30484	Location *ResourceLocation `locationName:"location" type:"structure"`
30485
30486	// The friendly name of the SSH key pair.
30487	Name *string `locationName:"name" type:"string"`
30488
30489	// The resource type (usually KeyPair).
30490	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30491
30492	// The support code. Include this code in your email to support when you have
30493	// questions about an instance or another resource in Lightsail. This code enables
30494	// our support team to look up your Lightsail information more easily.
30495	SupportCode *string `locationName:"supportCode" type:"string"`
30496
30497	// The tag keys and optional values for the resource. For more information about
30498	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30499	Tags []*Tag `locationName:"tags" type:"list"`
30500}
30501
30502// String returns the string representation
30503func (s KeyPair) String() string {
30504	return awsutil.Prettify(s)
30505}
30506
30507// GoString returns the string representation
30508func (s KeyPair) GoString() string {
30509	return s.String()
30510}
30511
30512// SetArn sets the Arn field's value.
30513func (s *KeyPair) SetArn(v string) *KeyPair {
30514	s.Arn = &v
30515	return s
30516}
30517
30518// SetCreatedAt sets the CreatedAt field's value.
30519func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
30520	s.CreatedAt = &v
30521	return s
30522}
30523
30524// SetFingerprint sets the Fingerprint field's value.
30525func (s *KeyPair) SetFingerprint(v string) *KeyPair {
30526	s.Fingerprint = &v
30527	return s
30528}
30529
30530// SetLocation sets the Location field's value.
30531func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
30532	s.Location = v
30533	return s
30534}
30535
30536// SetName sets the Name field's value.
30537func (s *KeyPair) SetName(v string) *KeyPair {
30538	s.Name = &v
30539	return s
30540}
30541
30542// SetResourceType sets the ResourceType field's value.
30543func (s *KeyPair) SetResourceType(v string) *KeyPair {
30544	s.ResourceType = &v
30545	return s
30546}
30547
30548// SetSupportCode sets the SupportCode field's value.
30549func (s *KeyPair) SetSupportCode(v string) *KeyPair {
30550	s.SupportCode = &v
30551	return s
30552}
30553
30554// SetTags sets the Tags field's value.
30555func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
30556	s.Tags = v
30557	return s
30558}
30559
30560// Describes an Amazon Lightsail content delivery network (CDN) distribution.
30561type LightsailDistribution struct {
30562	_ struct{} `type:"structure"`
30563
30564	// Indicates whether the bundle that is currently applied to your distribution,
30565	// specified using the distributionName parameter, can be changed to another
30566	// bundle.
30567	//
30568	// Use the UpdateDistributionBundle action to change your distribution's bundle.
30569	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
30570
30571	// The alternate domain names of the distribution.
30572	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
30573
30574	// The Amazon Resource Name (ARN) of the distribution.
30575	Arn *string `locationName:"arn" type:"string"`
30576
30577	// The ID of the bundle currently applied to the distribution.
30578	BundleId *string `locationName:"bundleId" type:"string"`
30579
30580	// An object that describes the cache behavior settings of the distribution.
30581	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
30582
30583	// An array of objects that describe the per-path cache behavior of the distribution.
30584	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
30585
30586	// The name of the SSL/TLS certificate attached to the distribution, if any.
30587	CertificateName *string `locationName:"certificateName" type:"string"`
30588
30589	// The timestamp when the distribution was created.
30590	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30591
30592	// An object that describes the default cache behavior of the distribution.
30593	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
30594
30595	// The domain name of the distribution.
30596	DomainName *string `locationName:"domainName" type:"string"`
30597
30598	// The IP address type of the distribution.
30599	//
30600	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
30601	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
30602
30603	// Indicates whether the distribution is enabled.
30604	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
30605
30606	// An object that describes the location of the distribution, such as the AWS
30607	// Region and Availability Zone.
30608	//
30609	// Lightsail distributions are global resources that can reference an origin
30610	// in any AWS Region, and distribute its content globally. However, all distributions
30611	// are located in the us-east-1 Region.
30612	Location *ResourceLocation `locationName:"location" type:"structure"`
30613
30614	// The name of the distribution.
30615	Name *string `locationName:"name" type:"string"`
30616
30617	// An object that describes the origin resource of the distribution, such as
30618	// a Lightsail instance or load balancer.
30619	//
30620	// The distribution pulls, caches, and serves content from the origin.
30621	Origin *Origin `locationName:"origin" type:"structure"`
30622
30623	// The public DNS of the origin.
30624	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
30625
30626	// The Lightsail resource type (e.g., Distribution).
30627	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30628
30629	// The status of the distribution.
30630	Status *string `locationName:"status" type:"string"`
30631
30632	// The support code. Include this code in your email to support when you have
30633	// questions about your Lightsail distribution. This code enables our support
30634	// team to look up your Lightsail information more easily.
30635	SupportCode *string `locationName:"supportCode" type:"string"`
30636
30637	// The tag keys and optional values for the resource. For more information about
30638	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30639	Tags []*Tag `locationName:"tags" type:"list"`
30640}
30641
30642// String returns the string representation
30643func (s LightsailDistribution) String() string {
30644	return awsutil.Prettify(s)
30645}
30646
30647// GoString returns the string representation
30648func (s LightsailDistribution) GoString() string {
30649	return s.String()
30650}
30651
30652// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
30653func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
30654	s.AbleToUpdateBundle = &v
30655	return s
30656}
30657
30658// SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
30659func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
30660	s.AlternativeDomainNames = v
30661	return s
30662}
30663
30664// SetArn sets the Arn field's value.
30665func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
30666	s.Arn = &v
30667	return s
30668}
30669
30670// SetBundleId sets the BundleId field's value.
30671func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
30672	s.BundleId = &v
30673	return s
30674}
30675
30676// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
30677func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
30678	s.CacheBehaviorSettings = v
30679	return s
30680}
30681
30682// SetCacheBehaviors sets the CacheBehaviors field's value.
30683func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
30684	s.CacheBehaviors = v
30685	return s
30686}
30687
30688// SetCertificateName sets the CertificateName field's value.
30689func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
30690	s.CertificateName = &v
30691	return s
30692}
30693
30694// SetCreatedAt sets the CreatedAt field's value.
30695func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
30696	s.CreatedAt = &v
30697	return s
30698}
30699
30700// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
30701func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
30702	s.DefaultCacheBehavior = v
30703	return s
30704}
30705
30706// SetDomainName sets the DomainName field's value.
30707func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
30708	s.DomainName = &v
30709	return s
30710}
30711
30712// SetIpAddressType sets the IpAddressType field's value.
30713func (s *LightsailDistribution) SetIpAddressType(v string) *LightsailDistribution {
30714	s.IpAddressType = &v
30715	return s
30716}
30717
30718// SetIsEnabled sets the IsEnabled field's value.
30719func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
30720	s.IsEnabled = &v
30721	return s
30722}
30723
30724// SetLocation sets the Location field's value.
30725func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
30726	s.Location = v
30727	return s
30728}
30729
30730// SetName sets the Name field's value.
30731func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
30732	s.Name = &v
30733	return s
30734}
30735
30736// SetOrigin sets the Origin field's value.
30737func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
30738	s.Origin = v
30739	return s
30740}
30741
30742// SetOriginPublicDNS sets the OriginPublicDNS field's value.
30743func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
30744	s.OriginPublicDNS = &v
30745	return s
30746}
30747
30748// SetResourceType sets the ResourceType field's value.
30749func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
30750	s.ResourceType = &v
30751	return s
30752}
30753
30754// SetStatus sets the Status field's value.
30755func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
30756	s.Status = &v
30757	return s
30758}
30759
30760// SetSupportCode sets the SupportCode field's value.
30761func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
30762	s.SupportCode = &v
30763	return s
30764}
30765
30766// SetTags sets the Tags field's value.
30767func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
30768	s.Tags = v
30769	return s
30770}
30771
30772// Describes the Lightsail load balancer.
30773type LoadBalancer struct {
30774	_ struct{} `type:"structure"`
30775
30776	// The Amazon Resource Name (ARN) of the load balancer.
30777	Arn *string `locationName:"arn" type:"string"`
30778
30779	// A string to string map of the configuration options for your load balancer.
30780	// Valid values are listed below.
30781	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
30782
30783	// The date when your load balancer was created.
30784	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30785
30786	// The DNS name of your Lightsail load balancer.
30787	DnsName *string `locationName:"dnsName" type:"string"`
30788
30789	// The path you specified to perform your health checks. If no path is specified,
30790	// the load balancer tries to make a request to the default (root) page.
30791	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
30792
30793	// An array of InstanceHealthSummary objects describing the health of the load
30794	// balancer.
30795	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
30796
30797	// The port where the load balancer will direct traffic to your Lightsail instances.
30798	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
30799	InstancePort *int64 `locationName:"instancePort" type:"integer"`
30800
30801	// The IP address type of the load balancer.
30802	//
30803	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
30804	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
30805
30806	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
30807	// automatically creates your load balancer across Availability Zones.
30808	Location *ResourceLocation `locationName:"location" type:"structure"`
30809
30810	// The name of the load balancer (e.g., my-load-balancer).
30811	Name *string `locationName:"name" type:"string"`
30812
30813	// The protocol you have enabled for your load balancer. Valid values are below.
30814	//
30815	// You can't just have HTTP_HTTPS, but you can have just HTTP.
30816	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
30817
30818	// An array of public port settings for your load balancer. For HTTP, use port
30819	// 80. For HTTPS, use port 443.
30820	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
30821
30822	// The resource type (e.g., LoadBalancer.
30823	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30824
30825	// The status of your load balancer. Valid values are below.
30826	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
30827
30828	// The support code. Include this code in your email to support when you have
30829	// questions about your Lightsail load balancer. This code enables our support
30830	// team to look up your Lightsail information more easily.
30831	SupportCode *string `locationName:"supportCode" type:"string"`
30832
30833	// The tag keys and optional values for the resource. For more information about
30834	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30835	Tags []*Tag `locationName:"tags" type:"list"`
30836
30837	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
30838	// information about the SSL/TLS certificates. For example, if true, the certificate
30839	// is attached to the load balancer.
30840	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
30841}
30842
30843// String returns the string representation
30844func (s LoadBalancer) String() string {
30845	return awsutil.Prettify(s)
30846}
30847
30848// GoString returns the string representation
30849func (s LoadBalancer) GoString() string {
30850	return s.String()
30851}
30852
30853// SetArn sets the Arn field's value.
30854func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
30855	s.Arn = &v
30856	return s
30857}
30858
30859// SetConfigurationOptions sets the ConfigurationOptions field's value.
30860func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
30861	s.ConfigurationOptions = v
30862	return s
30863}
30864
30865// SetCreatedAt sets the CreatedAt field's value.
30866func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
30867	s.CreatedAt = &v
30868	return s
30869}
30870
30871// SetDnsName sets the DnsName field's value.
30872func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
30873	s.DnsName = &v
30874	return s
30875}
30876
30877// SetHealthCheckPath sets the HealthCheckPath field's value.
30878func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
30879	s.HealthCheckPath = &v
30880	return s
30881}
30882
30883// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
30884func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
30885	s.InstanceHealthSummary = v
30886	return s
30887}
30888
30889// SetInstancePort sets the InstancePort field's value.
30890func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
30891	s.InstancePort = &v
30892	return s
30893}
30894
30895// SetIpAddressType sets the IpAddressType field's value.
30896func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
30897	s.IpAddressType = &v
30898	return s
30899}
30900
30901// SetLocation sets the Location field's value.
30902func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
30903	s.Location = v
30904	return s
30905}
30906
30907// SetName sets the Name field's value.
30908func (s *LoadBalancer) SetName(v string) *LoadBalancer {
30909	s.Name = &v
30910	return s
30911}
30912
30913// SetProtocol sets the Protocol field's value.
30914func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
30915	s.Protocol = &v
30916	return s
30917}
30918
30919// SetPublicPorts sets the PublicPorts field's value.
30920func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
30921	s.PublicPorts = v
30922	return s
30923}
30924
30925// SetResourceType sets the ResourceType field's value.
30926func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
30927	s.ResourceType = &v
30928	return s
30929}
30930
30931// SetState sets the State field's value.
30932func (s *LoadBalancer) SetState(v string) *LoadBalancer {
30933	s.State = &v
30934	return s
30935}
30936
30937// SetSupportCode sets the SupportCode field's value.
30938func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
30939	s.SupportCode = &v
30940	return s
30941}
30942
30943// SetTags sets the Tags field's value.
30944func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
30945	s.Tags = v
30946	return s
30947}
30948
30949// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
30950func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
30951	s.TlsCertificateSummaries = v
30952	return s
30953}
30954
30955// Describes a load balancer SSL/TLS certificate.
30956//
30957// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
30958type LoadBalancerTlsCertificate struct {
30959	_ struct{} `type:"structure"`
30960
30961	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
30962	Arn *string `locationName:"arn" type:"string"`
30963
30964	// The time when you created your SSL/TLS certificate.
30965	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30966
30967	// The domain name for your SSL/TLS certificate.
30968	DomainName *string `locationName:"domainName" type:"string"`
30969
30970	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
30971	// the records.
30972	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
30973
30974	// The validation failure reason, if any, of the certificate.
30975	//
30976	// The following failure reasons are possible:
30977	//
30978	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
30979	//    is not available for Lightsail certificates.
30980	//
30981	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
30982	//    to process this certificate request. This can happen as a fraud-protection
30983	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
30984	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
30985	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
30986	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
30987	//    elasticbeanstalk.com.
30988	//
30989	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
30990	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
30991	//    To correct the problem, search for your domain name on the VirusTotal
30992	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
30993	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
30994	//    to learn what you can do. If you believe that the result is a false positive,
30995	//    notify the organization that is reporting the domain. VirusTotal is an
30996	//    aggregate of several antivirus and URL scanners and cannot remove your
30997	//    domain from a block list itself. After you correct the problem and the
30998	//    VirusTotal registry has been updated, request a new certificate. If you
30999	//    see this error and your domain is not included in the VirusTotal list,
31000	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
31001	//    and create a case.
31002	//
31003	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
31004	//    request is not valid. Typically, this is because a domain name in the
31005	//    request is not a valid top-level domain. Try to request a certificate
31006	//    again, correcting any spelling errors or typos that were in the failed
31007	//    request, and ensure that all domain names in the request are for valid
31008	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
31009	//    because invalidpublicdomain is not a valid top-level domain.
31010	//
31011	//    * OTHER - Typically, this failure occurs when there is a typographical
31012	//    error in one or more of the domain names in the certificate request. Try
31013	//    to request a certificate again, correcting any spelling errors or typos
31014	//    that were in the failed request.
31015	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
31016
31017	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
31018	IsAttached *bool `locationName:"isAttached" type:"boolean"`
31019
31020	// The time when the SSL/TLS certificate was issued.
31021	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
31022
31023	// The issuer of the certificate.
31024	Issuer *string `locationName:"issuer" type:"string"`
31025
31026	// The algorithm used to generate the key pair (the public and private key).
31027	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
31028
31029	// The load balancer name where your SSL/TLS certificate is attached.
31030	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
31031
31032	// The AWS Region and Availability Zone where you created your certificate.
31033	Location *ResourceLocation `locationName:"location" type:"structure"`
31034
31035	// The name of the SSL/TLS certificate (e.g., my-certificate).
31036	Name *string `locationName:"name" type:"string"`
31037
31038	// The timestamp when the SSL/TLS certificate expires.
31039	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
31040
31041	// The timestamp when the SSL/TLS certificate is first valid.
31042	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
31043
31044	// An object that describes the status of the certificate renewal managed by
31045	// Lightsail.
31046	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
31047
31048	// The resource type (e.g., LoadBalancerTlsCertificate).
31049	//
31050	//    * Instance - A Lightsail instance (a virtual private server)
31051	//
31052	//    * StaticIp - A static IP address
31053	//
31054	//    * KeyPair - The key pair used to connect to a Lightsail instance
31055	//
31056	//    * InstanceSnapshot - A Lightsail instance snapshot
31057	//
31058	//    * Domain - A DNS zone
31059	//
31060	//    * PeeredVpc - A peered VPC
31061	//
31062	//    * LoadBalancer - A Lightsail load balancer
31063	//
31064	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
31065	//    a Lightsail load balancer
31066	//
31067	//    * Disk - A Lightsail block storage disk
31068	//
31069	//    * DiskSnapshot - A block storage disk snapshot
31070	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31071
31072	// The reason the certificate was revoked. This value is present only when the
31073	// certificate status is REVOKED.
31074	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
31075
31076	// The timestamp when the certificate was revoked. This value is present only
31077	// when the certificate status is REVOKED.
31078	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
31079
31080	// The serial number of the certificate.
31081	Serial *string `locationName:"serial" type:"string"`
31082
31083	// The algorithm that was used to sign the certificate.
31084	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
31085
31086	// The validation status of the SSL/TLS certificate. Valid values are below.
31087	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
31088
31089	// The name of the entity that is associated with the public key contained in
31090	// the certificate.
31091	Subject *string `locationName:"subject" type:"string"`
31092
31093	// An array of strings that specify the alternate domains (e.g., example2.com)
31094	// and subdomains (e.g., blog.example.com) for the certificate.
31095	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
31096
31097	// The support code. Include this code in your email to support when you have
31098	// questions about your Lightsail load balancer or SSL/TLS certificate. This
31099	// code enables our support team to look up your Lightsail information more
31100	// easily.
31101	SupportCode *string `locationName:"supportCode" type:"string"`
31102
31103	// The tag keys and optional values for the resource. For more information about
31104	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
31105	Tags []*Tag `locationName:"tags" type:"list"`
31106}
31107
31108// String returns the string representation
31109func (s LoadBalancerTlsCertificate) String() string {
31110	return awsutil.Prettify(s)
31111}
31112
31113// GoString returns the string representation
31114func (s LoadBalancerTlsCertificate) GoString() string {
31115	return s.String()
31116}
31117
31118// SetArn sets the Arn field's value.
31119func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
31120	s.Arn = &v
31121	return s
31122}
31123
31124// SetCreatedAt sets the CreatedAt field's value.
31125func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
31126	s.CreatedAt = &v
31127	return s
31128}
31129
31130// SetDomainName sets the DomainName field's value.
31131func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
31132	s.DomainName = &v
31133	return s
31134}
31135
31136// SetDomainValidationRecords sets the DomainValidationRecords field's value.
31137func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
31138	s.DomainValidationRecords = v
31139	return s
31140}
31141
31142// SetFailureReason sets the FailureReason field's value.
31143func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
31144	s.FailureReason = &v
31145	return s
31146}
31147
31148// SetIsAttached sets the IsAttached field's value.
31149func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
31150	s.IsAttached = &v
31151	return s
31152}
31153
31154// SetIssuedAt sets the IssuedAt field's value.
31155func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
31156	s.IssuedAt = &v
31157	return s
31158}
31159
31160// SetIssuer sets the Issuer field's value.
31161func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
31162	s.Issuer = &v
31163	return s
31164}
31165
31166// SetKeyAlgorithm sets the KeyAlgorithm field's value.
31167func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
31168	s.KeyAlgorithm = &v
31169	return s
31170}
31171
31172// SetLoadBalancerName sets the LoadBalancerName field's value.
31173func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
31174	s.LoadBalancerName = &v
31175	return s
31176}
31177
31178// SetLocation sets the Location field's value.
31179func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
31180	s.Location = v
31181	return s
31182}
31183
31184// SetName sets the Name field's value.
31185func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
31186	s.Name = &v
31187	return s
31188}
31189
31190// SetNotAfter sets the NotAfter field's value.
31191func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
31192	s.NotAfter = &v
31193	return s
31194}
31195
31196// SetNotBefore sets the NotBefore field's value.
31197func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
31198	s.NotBefore = &v
31199	return s
31200}
31201
31202// SetRenewalSummary sets the RenewalSummary field's value.
31203func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
31204	s.RenewalSummary = v
31205	return s
31206}
31207
31208// SetResourceType sets the ResourceType field's value.
31209func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
31210	s.ResourceType = &v
31211	return s
31212}
31213
31214// SetRevocationReason sets the RevocationReason field's value.
31215func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
31216	s.RevocationReason = &v
31217	return s
31218}
31219
31220// SetRevokedAt sets the RevokedAt field's value.
31221func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
31222	s.RevokedAt = &v
31223	return s
31224}
31225
31226// SetSerial sets the Serial field's value.
31227func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
31228	s.Serial = &v
31229	return s
31230}
31231
31232// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
31233func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
31234	s.SignatureAlgorithm = &v
31235	return s
31236}
31237
31238// SetStatus sets the Status field's value.
31239func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
31240	s.Status = &v
31241	return s
31242}
31243
31244// SetSubject sets the Subject field's value.
31245func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
31246	s.Subject = &v
31247	return s
31248}
31249
31250// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
31251func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
31252	s.SubjectAlternativeNames = v
31253	return s
31254}
31255
31256// SetSupportCode sets the SupportCode field's value.
31257func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
31258	s.SupportCode = &v
31259	return s
31260}
31261
31262// SetTags sets the Tags field's value.
31263func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
31264	s.Tags = v
31265	return s
31266}
31267
31268// Contains information about the domain names on an SSL/TLS certificate that
31269// you will use to validate domain ownership.
31270type LoadBalancerTlsCertificateDomainValidationOption struct {
31271	_ struct{} `type:"structure"`
31272
31273	// The fully qualified domain name in the certificate request.
31274	DomainName *string `locationName:"domainName" type:"string"`
31275
31276	// The status of the domain validation. Valid values are listed below.
31277	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
31278}
31279
31280// String returns the string representation
31281func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
31282	return awsutil.Prettify(s)
31283}
31284
31285// GoString returns the string representation
31286func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
31287	return s.String()
31288}
31289
31290// SetDomainName sets the DomainName field's value.
31291func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
31292	s.DomainName = &v
31293	return s
31294}
31295
31296// SetValidationStatus sets the ValidationStatus field's value.
31297func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
31298	s.ValidationStatus = &v
31299	return s
31300}
31301
31302// Describes the validation record of each domain name in the SSL/TLS certificate.
31303type LoadBalancerTlsCertificateDomainValidationRecord struct {
31304	_ struct{} `type:"structure"`
31305
31306	// The domain name against which your SSL/TLS certificate was validated.
31307	DomainName *string `locationName:"domainName" type:"string"`
31308
31309	// A fully qualified domain name in the certificate. For example, example.com.
31310	Name *string `locationName:"name" type:"string"`
31311
31312	// The type of validation record. For example, CNAME for domain validation.
31313	Type *string `locationName:"type" type:"string"`
31314
31315	// The validation status. Valid values are listed below.
31316	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
31317
31318	// The value for that type.
31319	Value *string `locationName:"value" type:"string"`
31320}
31321
31322// String returns the string representation
31323func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
31324	return awsutil.Prettify(s)
31325}
31326
31327// GoString returns the string representation
31328func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
31329	return s.String()
31330}
31331
31332// SetDomainName sets the DomainName field's value.
31333func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31334	s.DomainName = &v
31335	return s
31336}
31337
31338// SetName sets the Name field's value.
31339func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31340	s.Name = &v
31341	return s
31342}
31343
31344// SetType sets the Type field's value.
31345func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31346	s.Type = &v
31347	return s
31348}
31349
31350// SetValidationStatus sets the ValidationStatus field's value.
31351func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31352	s.ValidationStatus = &v
31353	return s
31354}
31355
31356// SetValue sets the Value field's value.
31357func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31358	s.Value = &v
31359	return s
31360}
31361
31362// Contains information about the status of Lightsail's managed renewal for
31363// the certificate.
31364//
31365// The renewal status of the certificate.
31366//
31367// The following renewal status are possible:
31368//
31369//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
31370//    the domain names in the certificate. No further action is required.
31371//
31372//    * PendingValidation - Lightsail couldn't automatically validate one or
31373//    more domain names in the certificate. You must take action to validate
31374//    these domain names or the certificate won't be renewed. If you used DNS
31375//    validation, check to make sure your certificate's domain validation records
31376//    exist in your domain's DNS, and that your certificate remains in use.
31377//
31378//    * Success - All domain names in the certificate are validated, and Lightsail
31379//    renewed the certificate. No further action is required.
31380//
31381//    * Failed - One or more domain names were not validated before the certificate
31382//    expired, and Lightsail did not renew the certificate. You can request
31383//    a new certificate using the CreateCertificate action.
31384type LoadBalancerTlsCertificateRenewalSummary struct {
31385	_ struct{} `type:"structure"`
31386
31387	// Contains information about the validation of each domain name in the certificate,
31388	// as it pertains to Lightsail's managed renewal. This is different from the
31389	// initial validation that occurs as a result of the RequestCertificate request.
31390	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
31391
31392	// The renewal status of the certificate.
31393	//
31394	// The following renewal status are possible:
31395	//
31396	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
31397	//    the domain names of the certificate. No further action is required.
31398	//
31399	//    * PendingValidation - Lightsail couldn't automatically validate one or
31400	//    more domain names of the certificate. You must take action to validate
31401	//    these domain names or the certificate won't be renewed. Check to make
31402	//    sure your certificate's domain validation records exist in your domain's
31403	//    DNS, and that your certificate remains in use.
31404	//
31405	//    * Success - All domain names in the certificate are validated, and Lightsail
31406	//    renewed the certificate. No further action is required.
31407	//
31408	//    * Failed - One or more domain names were not validated before the certificate
31409	//    expired, and Lightsail did not renew the certificate. You can request
31410	//    a new certificate using the CreateCertificate action.
31411	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
31412}
31413
31414// String returns the string representation
31415func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
31416	return awsutil.Prettify(s)
31417}
31418
31419// GoString returns the string representation
31420func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
31421	return s.String()
31422}
31423
31424// SetDomainValidationOptions sets the DomainValidationOptions field's value.
31425func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
31426	s.DomainValidationOptions = v
31427	return s
31428}
31429
31430// SetRenewalStatus sets the RenewalStatus field's value.
31431func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
31432	s.RenewalStatus = &v
31433	return s
31434}
31435
31436// Provides a summary of SSL/TLS certificate metadata.
31437type LoadBalancerTlsCertificateSummary struct {
31438	_ struct{} `type:"structure"`
31439
31440	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
31441	IsAttached *bool `locationName:"isAttached" type:"boolean"`
31442
31443	// The name of the SSL/TLS certificate.
31444	Name *string `locationName:"name" type:"string"`
31445}
31446
31447// String returns the string representation
31448func (s LoadBalancerTlsCertificateSummary) String() string {
31449	return awsutil.Prettify(s)
31450}
31451
31452// GoString returns the string representation
31453func (s LoadBalancerTlsCertificateSummary) GoString() string {
31454	return s.String()
31455}
31456
31457// SetIsAttached sets the IsAttached field's value.
31458func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
31459	s.IsAttached = &v
31460	return s
31461}
31462
31463// SetName sets the Name field's value.
31464func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
31465	s.Name = &v
31466	return s
31467}
31468
31469// Describes a database log event.
31470type LogEvent struct {
31471	_ struct{} `type:"structure"`
31472
31473	// The timestamp when the database log event was created.
31474	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31475
31476	// The message of the database log event.
31477	Message *string `locationName:"message" type:"string"`
31478}
31479
31480// String returns the string representation
31481func (s LogEvent) String() string {
31482	return awsutil.Prettify(s)
31483}
31484
31485// GoString returns the string representation
31486func (s LogEvent) GoString() string {
31487	return s.String()
31488}
31489
31490// SetCreatedAt sets the CreatedAt field's value.
31491func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
31492	s.CreatedAt = &v
31493	return s
31494}
31495
31496// SetMessage sets the Message field's value.
31497func (s *LogEvent) SetMessage(v string) *LogEvent {
31498	s.Message = &v
31499	return s
31500}
31501
31502// Describes the metric data point.
31503type MetricDatapoint struct {
31504	_ struct{} `type:"structure"`
31505
31506	// The average.
31507	Average *float64 `locationName:"average" type:"double"`
31508
31509	// The maximum.
31510	Maximum *float64 `locationName:"maximum" type:"double"`
31511
31512	// The minimum.
31513	Minimum *float64 `locationName:"minimum" type:"double"`
31514
31515	// The sample count.
31516	SampleCount *float64 `locationName:"sampleCount" type:"double"`
31517
31518	// The sum.
31519	Sum *float64 `locationName:"sum" type:"double"`
31520
31521	// The timestamp (e.g., 1479816991.349).
31522	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
31523
31524	// The unit.
31525	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
31526}
31527
31528// String returns the string representation
31529func (s MetricDatapoint) String() string {
31530	return awsutil.Prettify(s)
31531}
31532
31533// GoString returns the string representation
31534func (s MetricDatapoint) GoString() string {
31535	return s.String()
31536}
31537
31538// SetAverage sets the Average field's value.
31539func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
31540	s.Average = &v
31541	return s
31542}
31543
31544// SetMaximum sets the Maximum field's value.
31545func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
31546	s.Maximum = &v
31547	return s
31548}
31549
31550// SetMinimum sets the Minimum field's value.
31551func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
31552	s.Minimum = &v
31553	return s
31554}
31555
31556// SetSampleCount sets the SampleCount field's value.
31557func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
31558	s.SampleCount = &v
31559	return s
31560}
31561
31562// SetSum sets the Sum field's value.
31563func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
31564	s.Sum = &v
31565	return s
31566}
31567
31568// SetTimestamp sets the Timestamp field's value.
31569func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
31570	s.Timestamp = &v
31571	return s
31572}
31573
31574// SetUnit sets the Unit field's value.
31575func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
31576	s.Unit = &v
31577	return s
31578}
31579
31580// Describes resource being monitored by an alarm.
31581//
31582// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
31583// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
31584type MonitoredResourceInfo struct {
31585	_ struct{} `type:"structure"`
31586
31587	// The Amazon Resource Name (ARN) of the resource being monitored.
31588	Arn *string `locationName:"arn" type:"string"`
31589
31590	// The name of the Lightsail resource being monitored.
31591	Name *string `locationName:"name" type:"string"`
31592
31593	// The Lightsail resource type of the resource being monitored.
31594	//
31595	// Instances, load balancers, and relational databases are the only Lightsail
31596	// resources that can currently be monitored by alarms.
31597	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31598}
31599
31600// String returns the string representation
31601func (s MonitoredResourceInfo) String() string {
31602	return awsutil.Prettify(s)
31603}
31604
31605// GoString returns the string representation
31606func (s MonitoredResourceInfo) GoString() string {
31607	return s.String()
31608}
31609
31610// SetArn sets the Arn field's value.
31611func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
31612	s.Arn = &v
31613	return s
31614}
31615
31616// SetName sets the Name field's value.
31617func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
31618	s.Name = &v
31619	return s
31620}
31621
31622// SetResourceType sets the ResourceType field's value.
31623func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
31624	s.ResourceType = &v
31625	return s
31626}
31627
31628// Describes the monthly data transfer in and out of your virtual private server
31629// (or instance).
31630type MonthlyTransfer struct {
31631	_ struct{} `type:"structure"`
31632
31633	// The amount allocated per month (in GB).
31634	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
31635}
31636
31637// String returns the string representation
31638func (s MonthlyTransfer) String() string {
31639	return awsutil.Prettify(s)
31640}
31641
31642// GoString returns the string representation
31643func (s MonthlyTransfer) GoString() string {
31644	return s.String()
31645}
31646
31647// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
31648func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
31649	s.GbPerMonthAllocated = &v
31650	return s
31651}
31652
31653// Lightsail throws this exception when it cannot find a resource.
31654type NotFoundException struct {
31655	_            struct{}                  `type:"structure"`
31656	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31657
31658	Code_ *string `locationName:"code" type:"string"`
31659
31660	Docs *string `locationName:"docs" type:"string"`
31661
31662	Message_ *string `locationName:"message" type:"string"`
31663
31664	Tip *string `locationName:"tip" type:"string"`
31665}
31666
31667// String returns the string representation
31668func (s NotFoundException) String() string {
31669	return awsutil.Prettify(s)
31670}
31671
31672// GoString returns the string representation
31673func (s NotFoundException) GoString() string {
31674	return s.String()
31675}
31676
31677func newErrorNotFoundException(v protocol.ResponseMetadata) error {
31678	return &NotFoundException{
31679		RespMetadata: v,
31680	}
31681}
31682
31683// Code returns the exception type name.
31684func (s *NotFoundException) Code() string {
31685	return "NotFoundException"
31686}
31687
31688// Message returns the exception's message.
31689func (s *NotFoundException) Message() string {
31690	if s.Message_ != nil {
31691		return *s.Message_
31692	}
31693	return ""
31694}
31695
31696// OrigErr always returns nil, satisfies awserr.Error interface.
31697func (s *NotFoundException) OrigErr() error {
31698	return nil
31699}
31700
31701func (s *NotFoundException) Error() string {
31702	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31703}
31704
31705// Status code returns the HTTP status code for the request's response error.
31706func (s *NotFoundException) StatusCode() int {
31707	return s.RespMetadata.StatusCode
31708}
31709
31710// RequestID returns the service's response RequestID for request.
31711func (s *NotFoundException) RequestID() string {
31712	return s.RespMetadata.RequestID
31713}
31714
31715type OpenInstancePublicPortsInput struct {
31716	_ struct{} `type:"structure"`
31717
31718	// The name of the instance for which to open ports.
31719	//
31720	// InstanceName is a required field
31721	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
31722
31723	// An object to describe the ports to open for the specified instance.
31724	//
31725	// PortInfo is a required field
31726	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
31727}
31728
31729// String returns the string representation
31730func (s OpenInstancePublicPortsInput) String() string {
31731	return awsutil.Prettify(s)
31732}
31733
31734// GoString returns the string representation
31735func (s OpenInstancePublicPortsInput) GoString() string {
31736	return s.String()
31737}
31738
31739// Validate inspects the fields of the type to determine if they are valid.
31740func (s *OpenInstancePublicPortsInput) Validate() error {
31741	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
31742	if s.InstanceName == nil {
31743		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
31744	}
31745	if s.PortInfo == nil {
31746		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
31747	}
31748	if s.PortInfo != nil {
31749		if err := s.PortInfo.Validate(); err != nil {
31750			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
31751		}
31752	}
31753
31754	if invalidParams.Len() > 0 {
31755		return invalidParams
31756	}
31757	return nil
31758}
31759
31760// SetInstanceName sets the InstanceName field's value.
31761func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
31762	s.InstanceName = &v
31763	return s
31764}
31765
31766// SetPortInfo sets the PortInfo field's value.
31767func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
31768	s.PortInfo = v
31769	return s
31770}
31771
31772type OpenInstancePublicPortsOutput struct {
31773	_ struct{} `type:"structure"`
31774
31775	// An array of objects that describe the result of the action, such as the status
31776	// of the request, the timestamp of the request, and the resources affected
31777	// by the request.
31778	Operation *Operation `locationName:"operation" type:"structure"`
31779}
31780
31781// String returns the string representation
31782func (s OpenInstancePublicPortsOutput) String() string {
31783	return awsutil.Prettify(s)
31784}
31785
31786// GoString returns the string representation
31787func (s OpenInstancePublicPortsOutput) GoString() string {
31788	return s.String()
31789}
31790
31791// SetOperation sets the Operation field's value.
31792func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
31793	s.Operation = v
31794	return s
31795}
31796
31797// Describes the API operation.
31798type Operation struct {
31799	_ struct{} `type:"structure"`
31800
31801	// The timestamp when the operation was initialized (e.g., 1479816991.349).
31802	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31803
31804	// The error code.
31805	ErrorCode *string `locationName:"errorCode" type:"string"`
31806
31807	// The error details.
31808	ErrorDetails *string `locationName:"errorDetails" type:"string"`
31809
31810	// The ID of the operation.
31811	Id *string `locationName:"id" type:"string"`
31812
31813	// A Boolean value indicating whether the operation is terminal.
31814	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
31815
31816	// The AWS Region and Availability Zone.
31817	Location *ResourceLocation `locationName:"location" type:"structure"`
31818
31819	// Details about the operation (e.g., Debian-1GB-Ohio-1).
31820	OperationDetails *string `locationName:"operationDetails" type:"string"`
31821
31822	// The type of operation.
31823	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
31824
31825	// The resource name.
31826	ResourceName *string `locationName:"resourceName" type:"string"`
31827
31828	// The resource type.
31829	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31830
31831	// The status of the operation.
31832	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
31833
31834	// The timestamp when the status was changed (e.g., 1479816991.349).
31835	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
31836}
31837
31838// String returns the string representation
31839func (s Operation) String() string {
31840	return awsutil.Prettify(s)
31841}
31842
31843// GoString returns the string representation
31844func (s Operation) GoString() string {
31845	return s.String()
31846}
31847
31848// SetCreatedAt sets the CreatedAt field's value.
31849func (s *Operation) SetCreatedAt(v time.Time) *Operation {
31850	s.CreatedAt = &v
31851	return s
31852}
31853
31854// SetErrorCode sets the ErrorCode field's value.
31855func (s *Operation) SetErrorCode(v string) *Operation {
31856	s.ErrorCode = &v
31857	return s
31858}
31859
31860// SetErrorDetails sets the ErrorDetails field's value.
31861func (s *Operation) SetErrorDetails(v string) *Operation {
31862	s.ErrorDetails = &v
31863	return s
31864}
31865
31866// SetId sets the Id field's value.
31867func (s *Operation) SetId(v string) *Operation {
31868	s.Id = &v
31869	return s
31870}
31871
31872// SetIsTerminal sets the IsTerminal field's value.
31873func (s *Operation) SetIsTerminal(v bool) *Operation {
31874	s.IsTerminal = &v
31875	return s
31876}
31877
31878// SetLocation sets the Location field's value.
31879func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
31880	s.Location = v
31881	return s
31882}
31883
31884// SetOperationDetails sets the OperationDetails field's value.
31885func (s *Operation) SetOperationDetails(v string) *Operation {
31886	s.OperationDetails = &v
31887	return s
31888}
31889
31890// SetOperationType sets the OperationType field's value.
31891func (s *Operation) SetOperationType(v string) *Operation {
31892	s.OperationType = &v
31893	return s
31894}
31895
31896// SetResourceName sets the ResourceName field's value.
31897func (s *Operation) SetResourceName(v string) *Operation {
31898	s.ResourceName = &v
31899	return s
31900}
31901
31902// SetResourceType sets the ResourceType field's value.
31903func (s *Operation) SetResourceType(v string) *Operation {
31904	s.ResourceType = &v
31905	return s
31906}
31907
31908// SetStatus sets the Status field's value.
31909func (s *Operation) SetStatus(v string) *Operation {
31910	s.Status = &v
31911	return s
31912}
31913
31914// SetStatusChangedAt sets the StatusChangedAt field's value.
31915func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
31916	s.StatusChangedAt = &v
31917	return s
31918}
31919
31920// Lightsail throws this exception when an operation fails to execute.
31921type OperationFailureException struct {
31922	_            struct{}                  `type:"structure"`
31923	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31924
31925	Code_ *string `locationName:"code" type:"string"`
31926
31927	Docs *string `locationName:"docs" type:"string"`
31928
31929	Message_ *string `locationName:"message" type:"string"`
31930
31931	Tip *string `locationName:"tip" type:"string"`
31932}
31933
31934// String returns the string representation
31935func (s OperationFailureException) String() string {
31936	return awsutil.Prettify(s)
31937}
31938
31939// GoString returns the string representation
31940func (s OperationFailureException) GoString() string {
31941	return s.String()
31942}
31943
31944func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
31945	return &OperationFailureException{
31946		RespMetadata: v,
31947	}
31948}
31949
31950// Code returns the exception type name.
31951func (s *OperationFailureException) Code() string {
31952	return "OperationFailureException"
31953}
31954
31955// Message returns the exception's message.
31956func (s *OperationFailureException) Message() string {
31957	if s.Message_ != nil {
31958		return *s.Message_
31959	}
31960	return ""
31961}
31962
31963// OrigErr always returns nil, satisfies awserr.Error interface.
31964func (s *OperationFailureException) OrigErr() error {
31965	return nil
31966}
31967
31968func (s *OperationFailureException) Error() string {
31969	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31970}
31971
31972// Status code returns the HTTP status code for the request's response error.
31973func (s *OperationFailureException) StatusCode() int {
31974	return s.RespMetadata.StatusCode
31975}
31976
31977// RequestID returns the service's response RequestID for request.
31978func (s *OperationFailureException) RequestID() string {
31979	return s.RespMetadata.RequestID
31980}
31981
31982// Describes the origin resource of an Amazon Lightsail content delivery network
31983// (CDN) distribution.
31984//
31985// An origin can be a Lightsail instance or load balancer. A distribution pulls
31986// content from an origin, caches it, and serves it to viewers via a worldwide
31987// network of edge servers.
31988type Origin struct {
31989	_ struct{} `type:"structure"`
31990
31991	// The name of the origin resource.
31992	Name *string `locationName:"name" type:"string"`
31993
31994	// The protocol that your Amazon Lightsail distribution uses when establishing
31995	// a connection with your origin to pull content.
31996	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
31997
31998	// The AWS Region name of the origin resource.
31999	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
32000
32001	// The resource type of the origin resource (e.g., Instance).
32002	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
32003}
32004
32005// String returns the string representation
32006func (s Origin) String() string {
32007	return awsutil.Prettify(s)
32008}
32009
32010// GoString returns the string representation
32011func (s Origin) GoString() string {
32012	return s.String()
32013}
32014
32015// SetName sets the Name field's value.
32016func (s *Origin) SetName(v string) *Origin {
32017	s.Name = &v
32018	return s
32019}
32020
32021// SetProtocolPolicy sets the ProtocolPolicy field's value.
32022func (s *Origin) SetProtocolPolicy(v string) *Origin {
32023	s.ProtocolPolicy = &v
32024	return s
32025}
32026
32027// SetRegionName sets the RegionName field's value.
32028func (s *Origin) SetRegionName(v string) *Origin {
32029	s.RegionName = &v
32030	return s
32031}
32032
32033// SetResourceType sets the ResourceType field's value.
32034func (s *Origin) SetResourceType(v string) *Origin {
32035	s.ResourceType = &v
32036	return s
32037}
32038
32039// The password data for the Windows Server-based instance, including the ciphertext
32040// and the key pair name.
32041type PasswordData struct {
32042	_ struct{} `type:"structure"`
32043
32044	// The encrypted password. Ciphertext will be an empty string if access to your
32045	// new instance is not ready yet. When you create an instance, it can take up
32046	// to 15 minutes for the instance to be ready.
32047	//
32048	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
32049	// password will be available in the password field.
32050	//
32051	// If you are using a custom key pair, you need to use your own means of decryption.
32052	//
32053	// If you change the Administrator password on the instance, Lightsail will
32054	// continue to return the original ciphertext value. When accessing the instance
32055	// using RDP, you need to manually enter the Administrator password after changing
32056	// it from the default.
32057	Ciphertext *string `locationName:"ciphertext" type:"string"`
32058
32059	// The name of the key pair that you used when creating your instance. If no
32060	// key pair name was specified when creating the instance, Lightsail uses the
32061	// default key pair (LightsailDefaultKeyPair).
32062	//
32063	// If you are using a custom key pair, you need to use your own means of decrypting
32064	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
32065	// your password with the public key part of this key pair.
32066	KeyPairName *string `locationName:"keyPairName" type:"string"`
32067}
32068
32069// String returns the string representation
32070func (s PasswordData) String() string {
32071	return awsutil.Prettify(s)
32072}
32073
32074// GoString returns the string representation
32075func (s PasswordData) GoString() string {
32076	return s.String()
32077}
32078
32079// SetCiphertext sets the Ciphertext field's value.
32080func (s *PasswordData) SetCiphertext(v string) *PasswordData {
32081	s.Ciphertext = &v
32082	return s
32083}
32084
32085// SetKeyPairName sets the KeyPairName field's value.
32086func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
32087	s.KeyPairName = &v
32088	return s
32089}
32090
32091type PeerVpcInput struct {
32092	_ struct{} `type:"structure"`
32093}
32094
32095// String returns the string representation
32096func (s PeerVpcInput) String() string {
32097	return awsutil.Prettify(s)
32098}
32099
32100// GoString returns the string representation
32101func (s PeerVpcInput) GoString() string {
32102	return s.String()
32103}
32104
32105type PeerVpcOutput struct {
32106	_ struct{} `type:"structure"`
32107
32108	// An array of objects that describe the result of the action, such as the status
32109	// of the request, the timestamp of the request, and the resources affected
32110	// by the request.
32111	Operation *Operation `locationName:"operation" type:"structure"`
32112}
32113
32114// String returns the string representation
32115func (s PeerVpcOutput) String() string {
32116	return awsutil.Prettify(s)
32117}
32118
32119// GoString returns the string representation
32120func (s PeerVpcOutput) GoString() string {
32121	return s.String()
32122}
32123
32124// SetOperation sets the Operation field's value.
32125func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
32126	s.Operation = v
32127	return s
32128}
32129
32130// Describes a pending database maintenance action.
32131type PendingMaintenanceAction struct {
32132	_ struct{} `type:"structure"`
32133
32134	// The type of pending database maintenance action.
32135	Action *string `locationName:"action" type:"string"`
32136
32137	// The effective date of the pending database maintenance action.
32138	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
32139
32140	// Additional detail about the pending database maintenance action.
32141	Description *string `locationName:"description" type:"string"`
32142}
32143
32144// String returns the string representation
32145func (s PendingMaintenanceAction) String() string {
32146	return awsutil.Prettify(s)
32147}
32148
32149// GoString returns the string representation
32150func (s PendingMaintenanceAction) GoString() string {
32151	return s.String()
32152}
32153
32154// SetAction sets the Action field's value.
32155func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
32156	s.Action = &v
32157	return s
32158}
32159
32160// SetCurrentApplyDate sets the CurrentApplyDate field's value.
32161func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
32162	s.CurrentApplyDate = &v
32163	return s
32164}
32165
32166// SetDescription sets the Description field's value.
32167func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
32168	s.Description = &v
32169	return s
32170}
32171
32172// Describes a pending database value modification.
32173type PendingModifiedRelationalDatabaseValues struct {
32174	_ struct{} `type:"structure"`
32175
32176	// A Boolean value indicating whether automated backup retention is enabled.
32177	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
32178
32179	// The database engine version.
32180	EngineVersion *string `locationName:"engineVersion" type:"string"`
32181
32182	// The password for the master user of the database.
32183	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
32184}
32185
32186// String returns the string representation
32187func (s PendingModifiedRelationalDatabaseValues) String() string {
32188	return awsutil.Prettify(s)
32189}
32190
32191// GoString returns the string representation
32192func (s PendingModifiedRelationalDatabaseValues) GoString() string {
32193	return s.String()
32194}
32195
32196// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
32197func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
32198	s.BackupRetentionEnabled = &v
32199	return s
32200}
32201
32202// SetEngineVersion sets the EngineVersion field's value.
32203func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
32204	s.EngineVersion = &v
32205	return s
32206}
32207
32208// SetMasterUserPassword sets the MasterUserPassword field's value.
32209func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
32210	s.MasterUserPassword = &v
32211	return s
32212}
32213
32214// Describes ports to open on an instance, the IP addresses allowed to connect
32215// to the instance through the ports, and the protocol.
32216type PortInfo struct {
32217	_ struct{} `type:"structure"`
32218
32219	// An alias that defines access for a preconfigured range of IP addresses.
32220	//
32221	// The only alias currently supported is lightsail-connect, which allows IP
32222	// addresses of the browser-based RDP/SSH client in the Lightsail console to
32223	// connect to your instance.
32224	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
32225
32226	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
32227	// allowed to connect to an instance through the ports, and the protocol.
32228	//
32229	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
32230	// to an instance.
32231	//
32232	// Examples:
32233	//
32234	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
32235	//
32236	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
32237	//
32238	// For more information about CIDR block notation, see Classless Inter-Domain
32239	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32240	// on Wikipedia.
32241	Cidrs []*string `locationName:"cidrs" type:"list"`
32242
32243	// The first port in a range of open ports on an instance.
32244	//
32245	// Allowed ports:
32246	//
32247	//    * TCP and UDP - 0 to 65535
32248	//
32249	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
32250	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32251	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32252	//    on Wikipedia.
32253	//
32254	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
32255	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32256	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32257	FromPort *int64 `locationName:"fromPort" type:"integer"`
32258
32259	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
32260	// allowed to connect to an instance through the ports, and the protocol. Only
32261	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
32262	// IPv4 should be used.
32263	//
32264	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
32265	// to an instance.
32266	//
32267	// For more information about CIDR block notation, see Classless Inter-Domain
32268	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32269	// on Wikipedia.
32270	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
32271
32272	// The IP protocol name.
32273	//
32274	// The name can be one of the following:
32275	//
32276	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
32277	//    and error-checked delivery of streamed data between applications running
32278	//    on hosts communicating by an IP network. If you have an application that
32279	//    doesn't require reliable data stream service, use UDP instead.
32280	//
32281	//    * all - All transport layer protocol types. For more general information,
32282	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
32283	//    Wikipedia.
32284	//
32285	//    * udp - With User Datagram Protocol (UDP), computer applications can send
32286	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
32287	//    Prior communications are not required to set up transmission channels
32288	//    or data paths. Applications that don't require reliable data stream service
32289	//    can use UDP, which provides a connectionless datagram service that emphasizes
32290	//    reduced latency over reliability. If you do require reliable data stream
32291	//    service, use TCP instead.
32292	//
32293	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
32294	//    messages and operational information indicating success or failure when
32295	//    communicating with an instance. For example, an error is indicated when
32296	//    an instance could not be reached. When you specify icmp as the protocol,
32297	//    you must specify the ICMP type using the fromPort parameter, and ICMP
32298	//    code using the toPort parameter.
32299	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
32300
32301	// The last port in a range of open ports on an instance.
32302	//
32303	// Allowed ports:
32304	//
32305	//    * TCP and UDP - 0 to 65535
32306	//
32307	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
32308	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32309	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32310	//    on Wikipedia.
32311	//
32312	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
32313	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32314	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32315	ToPort *int64 `locationName:"toPort" type:"integer"`
32316}
32317
32318// String returns the string representation
32319func (s PortInfo) String() string {
32320	return awsutil.Prettify(s)
32321}
32322
32323// GoString returns the string representation
32324func (s PortInfo) GoString() string {
32325	return s.String()
32326}
32327
32328// Validate inspects the fields of the type to determine if they are valid.
32329func (s *PortInfo) Validate() error {
32330	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
32331	if s.FromPort != nil && *s.FromPort < -1 {
32332		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
32333	}
32334	if s.ToPort != nil && *s.ToPort < -1 {
32335		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
32336	}
32337
32338	if invalidParams.Len() > 0 {
32339		return invalidParams
32340	}
32341	return nil
32342}
32343
32344// SetCidrListAliases sets the CidrListAliases field's value.
32345func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
32346	s.CidrListAliases = v
32347	return s
32348}
32349
32350// SetCidrs sets the Cidrs field's value.
32351func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
32352	s.Cidrs = v
32353	return s
32354}
32355
32356// SetFromPort sets the FromPort field's value.
32357func (s *PortInfo) SetFromPort(v int64) *PortInfo {
32358	s.FromPort = &v
32359	return s
32360}
32361
32362// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
32363func (s *PortInfo) SetIpv6Cidrs(v []*string) *PortInfo {
32364	s.Ipv6Cidrs = v
32365	return s
32366}
32367
32368// SetProtocol sets the Protocol field's value.
32369func (s *PortInfo) SetProtocol(v string) *PortInfo {
32370	s.Protocol = &v
32371	return s
32372}
32373
32374// SetToPort sets the ToPort field's value.
32375func (s *PortInfo) SetToPort(v int64) *PortInfo {
32376	s.ToPort = &v
32377	return s
32378}
32379
32380type PutAlarmInput struct {
32381	_ struct{} `type:"structure"`
32382
32383	// The name for the alarm. Specify the name of an existing alarm to update,
32384	// and overwrite the previous configuration of the alarm.
32385	//
32386	// AlarmName is a required field
32387	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
32388
32389	// The arithmetic operation to use when comparing the specified statistic to
32390	// the threshold. The specified statistic value is used as the first operand.
32391	//
32392	// ComparisonOperator is a required field
32393	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
32394
32395	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
32396	// or both.
32397	//
32398	// A notification is sent via the specified contact protocol if notifications
32399	// are enabled for the alarm, and when the alarm is triggered.
32400	//
32401	// A notification is not sent if a contact protocol is not specified, if the
32402	// specified contact protocol is not configured in the AWS Region, or if notifications
32403	// are not enabled for the alarm using the notificationEnabled paramater.
32404	//
32405	// Use the CreateContactMethod action to configure a contact protocol in an
32406	// AWS Region.
32407	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
32408
32409	// The number of data points that must be not within the specified threshold
32410	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
32411	// (datapointsToAlarm) is the M.
32412	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
32413
32414	// The number of most recent periods over which data is compared to the specified
32415	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
32416	// is the N.
32417	//
32418	// If you are setting an alarm that requires that a number of consecutive data
32419	// points be breaching to trigger the alarm, this value specifies the rolling
32420	// period of time in which data points are evaluated.
32421	//
32422	// Each evaluation period is five minutes long. For example, specify an evaluation
32423	// period of 24 to evaluate a metric over a rolling period of two hours.
32424	//
32425	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
32426	// evaluation period of 288 (24 hours).
32427	//
32428	// EvaluationPeriods is a required field
32429	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
32430
32431	// The name of the metric to associate with the alarm.
32432	//
32433	// You can configure up to two alarms per metric.
32434	//
32435	// The following metrics are available for each resource type:
32436	//
32437	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
32438	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
32439	//    and StatusCheckFailed_System.
32440	//
32441	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
32442	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
32443	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
32444	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
32445	//
32446	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
32447	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
32448	//
32449	// For more information about these metrics, see Metrics available in Lightsail
32450	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
32451	//
32452	// MetricName is a required field
32453	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
32454
32455	// The name of the Lightsail resource that will be monitored.
32456	//
32457	// Instances, load balancers, and relational databases are the only Lightsail
32458	// resources that can currently be monitored by alarms.
32459	//
32460	// MonitoredResourceName is a required field
32461	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
32462
32463	// Indicates whether the alarm is enabled.
32464	//
32465	// Notifications are enabled by default if you don't specify this parameter.
32466	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
32467
32468	// The alarm states that trigger a notification.
32469	//
32470	// An alarm has the following possible states:
32471	//
32472	//    * ALARM - The metric is outside of the defined threshold.
32473	//
32474	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
32475	//    or not enough data is available for the metric to determine the alarm
32476	//    state.
32477	//
32478	//    * OK - The metric is within the defined threshold.
32479	//
32480	// When you specify a notification trigger, the ALARM state must be specified.
32481	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
32482	// state.
32483	//
32484	//    * If you specify OK as an alarm trigger, a notification is sent when the
32485	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
32486	//    state. This can be thought of as an all clear alarm notification.
32487	//
32488	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
32489	//    is sent when the alarm switches from an OK or ALARM alarm state to an
32490	//    INSUFFICIENT_DATA state.
32491	//
32492	// The notification trigger defaults to ALARM if you don't specify this parameter.
32493	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
32494
32495	// The value against which the specified statistic is compared.
32496	//
32497	// Threshold is a required field
32498	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
32499
32500	// Sets how this alarm will handle missing data points.
32501	//
32502	// An alarm can treat missing data in the following ways:
32503	//
32504	//    * breaching - Assume the missing data is not within the threshold. Missing
32505	//    data counts towards the number of times the metric is not within the threshold.
32506	//
32507	//    * notBreaching - Assume the missing data is within the threshold. Missing
32508	//    data does not count towards the number of times the metric is not within
32509	//    the threshold.
32510	//
32511	//    * ignore - Ignore the missing data. Maintains the current alarm state.
32512	//
32513	//    * missing - Missing data is treated as missing.
32514	//
32515	// If treatMissingData is not specified, the default behavior of missing is
32516	// used.
32517	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
32518}
32519
32520// String returns the string representation
32521func (s PutAlarmInput) String() string {
32522	return awsutil.Prettify(s)
32523}
32524
32525// GoString returns the string representation
32526func (s PutAlarmInput) GoString() string {
32527	return s.String()
32528}
32529
32530// Validate inspects the fields of the type to determine if they are valid.
32531func (s *PutAlarmInput) Validate() error {
32532	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
32533	if s.AlarmName == nil {
32534		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
32535	}
32536	if s.ComparisonOperator == nil {
32537		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
32538	}
32539	if s.EvaluationPeriods == nil {
32540		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
32541	}
32542	if s.MetricName == nil {
32543		invalidParams.Add(request.NewErrParamRequired("MetricName"))
32544	}
32545	if s.MonitoredResourceName == nil {
32546		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
32547	}
32548	if s.Threshold == nil {
32549		invalidParams.Add(request.NewErrParamRequired("Threshold"))
32550	}
32551
32552	if invalidParams.Len() > 0 {
32553		return invalidParams
32554	}
32555	return nil
32556}
32557
32558// SetAlarmName sets the AlarmName field's value.
32559func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
32560	s.AlarmName = &v
32561	return s
32562}
32563
32564// SetComparisonOperator sets the ComparisonOperator field's value.
32565func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
32566	s.ComparisonOperator = &v
32567	return s
32568}
32569
32570// SetContactProtocols sets the ContactProtocols field's value.
32571func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
32572	s.ContactProtocols = v
32573	return s
32574}
32575
32576// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
32577func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
32578	s.DatapointsToAlarm = &v
32579	return s
32580}
32581
32582// SetEvaluationPeriods sets the EvaluationPeriods field's value.
32583func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
32584	s.EvaluationPeriods = &v
32585	return s
32586}
32587
32588// SetMetricName sets the MetricName field's value.
32589func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
32590	s.MetricName = &v
32591	return s
32592}
32593
32594// SetMonitoredResourceName sets the MonitoredResourceName field's value.
32595func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
32596	s.MonitoredResourceName = &v
32597	return s
32598}
32599
32600// SetNotificationEnabled sets the NotificationEnabled field's value.
32601func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
32602	s.NotificationEnabled = &v
32603	return s
32604}
32605
32606// SetNotificationTriggers sets the NotificationTriggers field's value.
32607func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
32608	s.NotificationTriggers = v
32609	return s
32610}
32611
32612// SetThreshold sets the Threshold field's value.
32613func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
32614	s.Threshold = &v
32615	return s
32616}
32617
32618// SetTreatMissingData sets the TreatMissingData field's value.
32619func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
32620	s.TreatMissingData = &v
32621	return s
32622}
32623
32624type PutAlarmOutput struct {
32625	_ struct{} `type:"structure"`
32626
32627	// An array of objects that describe the result of the action, such as the status
32628	// of the request, the timestamp of the request, and the resources affected
32629	// by the request.
32630	Operations []*Operation `locationName:"operations" type:"list"`
32631}
32632
32633// String returns the string representation
32634func (s PutAlarmOutput) String() string {
32635	return awsutil.Prettify(s)
32636}
32637
32638// GoString returns the string representation
32639func (s PutAlarmOutput) GoString() string {
32640	return s.String()
32641}
32642
32643// SetOperations sets the Operations field's value.
32644func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
32645	s.Operations = v
32646	return s
32647}
32648
32649type PutInstancePublicPortsInput struct {
32650	_ struct{} `type:"structure"`
32651
32652	// The name of the instance for which to open ports.
32653	//
32654	// InstanceName is a required field
32655	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
32656
32657	// An array of objects to describe the ports to open for the specified instance.
32658	//
32659	// PortInfos is a required field
32660	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
32661}
32662
32663// String returns the string representation
32664func (s PutInstancePublicPortsInput) String() string {
32665	return awsutil.Prettify(s)
32666}
32667
32668// GoString returns the string representation
32669func (s PutInstancePublicPortsInput) GoString() string {
32670	return s.String()
32671}
32672
32673// Validate inspects the fields of the type to determine if they are valid.
32674func (s *PutInstancePublicPortsInput) Validate() error {
32675	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
32676	if s.InstanceName == nil {
32677		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
32678	}
32679	if s.PortInfos == nil {
32680		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
32681	}
32682	if s.PortInfos != nil {
32683		for i, v := range s.PortInfos {
32684			if v == nil {
32685				continue
32686			}
32687			if err := v.Validate(); err != nil {
32688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
32689			}
32690		}
32691	}
32692
32693	if invalidParams.Len() > 0 {
32694		return invalidParams
32695	}
32696	return nil
32697}
32698
32699// SetInstanceName sets the InstanceName field's value.
32700func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
32701	s.InstanceName = &v
32702	return s
32703}
32704
32705// SetPortInfos sets the PortInfos field's value.
32706func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
32707	s.PortInfos = v
32708	return s
32709}
32710
32711type PutInstancePublicPortsOutput struct {
32712	_ struct{} `type:"structure"`
32713
32714	// An array of objects that describe the result of the action, such as the status
32715	// of the request, the timestamp of the request, and the resources affected
32716	// by the request.
32717	Operation *Operation `locationName:"operation" type:"structure"`
32718}
32719
32720// String returns the string representation
32721func (s PutInstancePublicPortsOutput) String() string {
32722	return awsutil.Prettify(s)
32723}
32724
32725// GoString returns the string representation
32726func (s PutInstancePublicPortsOutput) GoString() string {
32727	return s.String()
32728}
32729
32730// SetOperation sets the Operation field's value.
32731func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
32732	s.Operation = v
32733	return s
32734}
32735
32736// Describes the query string parameters that an Amazon Lightsail content delivery
32737// network (CDN) distribution to bases caching on.
32738//
32739// For the query strings that you specify, your distribution caches separate
32740// versions of the specified content based on the query string values in viewer
32741// requests.
32742type QueryStringObject struct {
32743	_ struct{} `type:"structure"`
32744
32745	// Indicates whether the distribution forwards and caches based on query strings.
32746	Option *bool `locationName:"option" type:"boolean"`
32747
32748	// The specific query strings that the distribution forwards to the origin.
32749	//
32750	// Your distribution will cache content based on the specified query strings.
32751	//
32752	// If the option parameter is true, then your distribution forwards all query
32753	// strings, regardless of what you specify using the queryStringsAllowList parameter.
32754	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
32755}
32756
32757// String returns the string representation
32758func (s QueryStringObject) String() string {
32759	return awsutil.Prettify(s)
32760}
32761
32762// GoString returns the string representation
32763func (s QueryStringObject) GoString() string {
32764	return s.String()
32765}
32766
32767// SetOption sets the Option field's value.
32768func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
32769	s.Option = &v
32770	return s
32771}
32772
32773// SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
32774func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
32775	s.QueryStringsAllowList = v
32776	return s
32777}
32778
32779type RebootInstanceInput struct {
32780	_ struct{} `type:"structure"`
32781
32782	// The name of the instance to reboot.
32783	//
32784	// InstanceName is a required field
32785	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
32786}
32787
32788// String returns the string representation
32789func (s RebootInstanceInput) String() string {
32790	return awsutil.Prettify(s)
32791}
32792
32793// GoString returns the string representation
32794func (s RebootInstanceInput) GoString() string {
32795	return s.String()
32796}
32797
32798// Validate inspects the fields of the type to determine if they are valid.
32799func (s *RebootInstanceInput) Validate() error {
32800	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
32801	if s.InstanceName == nil {
32802		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
32803	}
32804
32805	if invalidParams.Len() > 0 {
32806		return invalidParams
32807	}
32808	return nil
32809}
32810
32811// SetInstanceName sets the InstanceName field's value.
32812func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
32813	s.InstanceName = &v
32814	return s
32815}
32816
32817type RebootInstanceOutput struct {
32818	_ struct{} `type:"structure"`
32819
32820	// An array of objects that describe the result of the action, such as the status
32821	// of the request, the timestamp of the request, and the resources affected
32822	// by the request.
32823	Operations []*Operation `locationName:"operations" type:"list"`
32824}
32825
32826// String returns the string representation
32827func (s RebootInstanceOutput) String() string {
32828	return awsutil.Prettify(s)
32829}
32830
32831// GoString returns the string representation
32832func (s RebootInstanceOutput) GoString() string {
32833	return s.String()
32834}
32835
32836// SetOperations sets the Operations field's value.
32837func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
32838	s.Operations = v
32839	return s
32840}
32841
32842type RebootRelationalDatabaseInput struct {
32843	_ struct{} `type:"structure"`
32844
32845	// The name of your database to reboot.
32846	//
32847	// RelationalDatabaseName is a required field
32848	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32849}
32850
32851// String returns the string representation
32852func (s RebootRelationalDatabaseInput) String() string {
32853	return awsutil.Prettify(s)
32854}
32855
32856// GoString returns the string representation
32857func (s RebootRelationalDatabaseInput) GoString() string {
32858	return s.String()
32859}
32860
32861// Validate inspects the fields of the type to determine if they are valid.
32862func (s *RebootRelationalDatabaseInput) Validate() error {
32863	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
32864	if s.RelationalDatabaseName == nil {
32865		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
32866	}
32867
32868	if invalidParams.Len() > 0 {
32869		return invalidParams
32870	}
32871	return nil
32872}
32873
32874// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
32875func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
32876	s.RelationalDatabaseName = &v
32877	return s
32878}
32879
32880type RebootRelationalDatabaseOutput struct {
32881	_ struct{} `type:"structure"`
32882
32883	// An array of objects that describe the result of the action, such as the status
32884	// of the request, the timestamp of the request, and the resources affected
32885	// by the request.
32886	Operations []*Operation `locationName:"operations" type:"list"`
32887}
32888
32889// String returns the string representation
32890func (s RebootRelationalDatabaseOutput) String() string {
32891	return awsutil.Prettify(s)
32892}
32893
32894// GoString returns the string representation
32895func (s RebootRelationalDatabaseOutput) GoString() string {
32896	return s.String()
32897}
32898
32899// SetOperations sets the Operations field's value.
32900func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
32901	s.Operations = v
32902	return s
32903}
32904
32905// Describes the AWS Region.
32906type Region struct {
32907	_ struct{} `type:"structure"`
32908
32909	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
32910	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
32911
32912	// The continent code (e.g., NA, meaning North America).
32913	ContinentCode *string `locationName:"continentCode" type:"string"`
32914
32915	// The description of the AWS Region (e.g., This region is recommended to serve
32916	// users in the eastern United States and eastern Canada).
32917	Description *string `locationName:"description" type:"string"`
32918
32919	// The display name (e.g., Ohio).
32920	DisplayName *string `locationName:"displayName" type:"string"`
32921
32922	// The region name (e.g., us-east-2).
32923	Name *string `locationName:"name" type:"string" enum:"RegionName"`
32924
32925	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
32926	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
32927}
32928
32929// String returns the string representation
32930func (s Region) String() string {
32931	return awsutil.Prettify(s)
32932}
32933
32934// GoString returns the string representation
32935func (s Region) GoString() string {
32936	return s.String()
32937}
32938
32939// SetAvailabilityZones sets the AvailabilityZones field's value.
32940func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
32941	s.AvailabilityZones = v
32942	return s
32943}
32944
32945// SetContinentCode sets the ContinentCode field's value.
32946func (s *Region) SetContinentCode(v string) *Region {
32947	s.ContinentCode = &v
32948	return s
32949}
32950
32951// SetDescription sets the Description field's value.
32952func (s *Region) SetDescription(v string) *Region {
32953	s.Description = &v
32954	return s
32955}
32956
32957// SetDisplayName sets the DisplayName field's value.
32958func (s *Region) SetDisplayName(v string) *Region {
32959	s.DisplayName = &v
32960	return s
32961}
32962
32963// SetName sets the Name field's value.
32964func (s *Region) SetName(v string) *Region {
32965	s.Name = &v
32966	return s
32967}
32968
32969// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
32970func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
32971	s.RelationalDatabaseAvailabilityZones = v
32972	return s
32973}
32974
32975type RegisterContainerImageInput struct {
32976	_ struct{} `type:"structure"`
32977
32978	// The digest of the container image to be registered.
32979	//
32980	// Digest is a required field
32981	Digest *string `locationName:"digest" type:"string" required:"true"`
32982
32983	// The label for the container image when it's registered to the container service.
32984	//
32985	// Use a descriptive label that you can use to track the different versions
32986	// of your registered container images.
32987	//
32988	// Use the GetContainerImages action to return the container images registered
32989	// to a Lightsail container service. The label is the <imagelabel> portion of
32990	// the following image name example:
32991	//
32992	//    * :container-service-1.<imagelabel>.1
32993	//
32994	// If the name of your container service is mycontainerservice, and the label
32995	// that you specify is mystaticwebsite, then the name of the registered container
32996	// image will be :mycontainerservice.mystaticwebsite.1.
32997	//
32998	// The number at the end of these image name examples represents the version
32999	// of the registered container image. If you push and register another container
33000	// image to the same Lightsail container service, with the same label, then
33001	// the version number for the new registered container image will be 2. If you
33002	// push and register another container image, the version number will be 3,
33003	// and so on.
33004	//
33005	// Label is a required field
33006	Label *string `locationName:"label" min:"1" type:"string" required:"true"`
33007
33008	// The name of the container service for which to register a container image.
33009	//
33010	// ServiceName is a required field
33011	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
33012}
33013
33014// String returns the string representation
33015func (s RegisterContainerImageInput) String() string {
33016	return awsutil.Prettify(s)
33017}
33018
33019// GoString returns the string representation
33020func (s RegisterContainerImageInput) GoString() string {
33021	return s.String()
33022}
33023
33024// Validate inspects the fields of the type to determine if they are valid.
33025func (s *RegisterContainerImageInput) Validate() error {
33026	invalidParams := request.ErrInvalidParams{Context: "RegisterContainerImageInput"}
33027	if s.Digest == nil {
33028		invalidParams.Add(request.NewErrParamRequired("Digest"))
33029	}
33030	if s.Label == nil {
33031		invalidParams.Add(request.NewErrParamRequired("Label"))
33032	}
33033	if s.Label != nil && len(*s.Label) < 1 {
33034		invalidParams.Add(request.NewErrParamMinLen("Label", 1))
33035	}
33036	if s.ServiceName == nil {
33037		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
33038	}
33039	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
33040		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
33041	}
33042
33043	if invalidParams.Len() > 0 {
33044		return invalidParams
33045	}
33046	return nil
33047}
33048
33049// SetDigest sets the Digest field's value.
33050func (s *RegisterContainerImageInput) SetDigest(v string) *RegisterContainerImageInput {
33051	s.Digest = &v
33052	return s
33053}
33054
33055// SetLabel sets the Label field's value.
33056func (s *RegisterContainerImageInput) SetLabel(v string) *RegisterContainerImageInput {
33057	s.Label = &v
33058	return s
33059}
33060
33061// SetServiceName sets the ServiceName field's value.
33062func (s *RegisterContainerImageInput) SetServiceName(v string) *RegisterContainerImageInput {
33063	s.ServiceName = &v
33064	return s
33065}
33066
33067type RegisterContainerImageOutput struct {
33068	_ struct{} `type:"structure"`
33069
33070	// Describes a container image that is registered to an Amazon Lightsail container
33071	// service.
33072	ContainerImage *ContainerImage `locationName:"containerImage" type:"structure"`
33073}
33074
33075// String returns the string representation
33076func (s RegisterContainerImageOutput) String() string {
33077	return awsutil.Prettify(s)
33078}
33079
33080// GoString returns the string representation
33081func (s RegisterContainerImageOutput) GoString() string {
33082	return s.String()
33083}
33084
33085// SetContainerImage sets the ContainerImage field's value.
33086func (s *RegisterContainerImageOutput) SetContainerImage(v *ContainerImage) *RegisterContainerImageOutput {
33087	s.ContainerImage = v
33088	return s
33089}
33090
33091// Describes a database.
33092type RelationalDatabase struct {
33093	_ struct{} `type:"structure"`
33094
33095	// The Amazon Resource Name (ARN) of the database.
33096	Arn *string `locationName:"arn" type:"string"`
33097
33098	// A Boolean value indicating whether automated backup retention is enabled
33099	// for the database.
33100	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
33101
33102	// The certificate associated with the database.
33103	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
33104
33105	// The timestamp when the database was created. Formatted in Unix time.
33106	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33107
33108	// The database software (for example, MySQL).
33109	Engine *string `locationName:"engine" type:"string"`
33110
33111	// The database engine version (for example, 5.7.23).
33112	EngineVersion *string `locationName:"engineVersion" type:"string"`
33113
33114	// Describes the hardware of the database.
33115	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
33116
33117	// The latest point in time to which the database can be restored. Formatted
33118	// in Unix time.
33119	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
33120
33121	// The Region name and Availability Zone where the database is located.
33122	Location *ResourceLocation `locationName:"location" type:"structure"`
33123
33124	// The name of the master database created when the Lightsail database resource
33125	// is created.
33126	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
33127
33128	// The master endpoint for the database.
33129	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
33130
33131	// The master user name of the database.
33132	MasterUsername *string `locationName:"masterUsername" type:"string"`
33133
33134	// The unique name of the database resource in Lightsail.
33135	Name *string `locationName:"name" type:"string"`
33136
33137	// The status of parameter updates for the database.
33138	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
33139
33140	// Describes the pending maintenance actions for the database.
33141	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
33142
33143	// Describes pending database value modifications.
33144	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
33145
33146	// The daily time range during which automated backups are created for the database
33147	// (for example, 16:00-16:30).
33148	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
33149
33150	// The weekly time range during which system maintenance can occur on the database.
33151	//
33152	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
33153	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
33154
33155	// A Boolean value indicating whether the database is publicly accessible.
33156	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
33157
33158	// The blueprint ID for the database. A blueprint describes the major engine
33159	// version of a database.
33160	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
33161
33162	// The bundle ID for the database. A bundle describes the performance specifications
33163	// for your database.
33164	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
33165
33166	// The Lightsail resource type for the database (for example, RelationalDatabase).
33167	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33168
33169	// Describes the secondary Availability Zone of a high availability database.
33170	//
33171	// The secondary database is used for failover support of a high availability
33172	// database.
33173	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
33174
33175	// Describes the current state of the database.
33176	State *string `locationName:"state" type:"string"`
33177
33178	// The support code for the database. Include this code in your email to support
33179	// when you have questions about a database in Lightsail. This code enables
33180	// our support team to look up your Lightsail information more easily.
33181	SupportCode *string `locationName:"supportCode" type:"string"`
33182
33183	// The tag keys and optional values for the resource. For more information about
33184	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
33185	Tags []*Tag `locationName:"tags" type:"list"`
33186}
33187
33188// String returns the string representation
33189func (s RelationalDatabase) String() string {
33190	return awsutil.Prettify(s)
33191}
33192
33193// GoString returns the string representation
33194func (s RelationalDatabase) GoString() string {
33195	return s.String()
33196}
33197
33198// SetArn sets the Arn field's value.
33199func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
33200	s.Arn = &v
33201	return s
33202}
33203
33204// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
33205func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
33206	s.BackupRetentionEnabled = &v
33207	return s
33208}
33209
33210// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
33211func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
33212	s.CaCertificateIdentifier = &v
33213	return s
33214}
33215
33216// SetCreatedAt sets the CreatedAt field's value.
33217func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
33218	s.CreatedAt = &v
33219	return s
33220}
33221
33222// SetEngine sets the Engine field's value.
33223func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
33224	s.Engine = &v
33225	return s
33226}
33227
33228// SetEngineVersion sets the EngineVersion field's value.
33229func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
33230	s.EngineVersion = &v
33231	return s
33232}
33233
33234// SetHardware sets the Hardware field's value.
33235func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
33236	s.Hardware = v
33237	return s
33238}
33239
33240// SetLatestRestorableTime sets the LatestRestorableTime field's value.
33241func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
33242	s.LatestRestorableTime = &v
33243	return s
33244}
33245
33246// SetLocation sets the Location field's value.
33247func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
33248	s.Location = v
33249	return s
33250}
33251
33252// SetMasterDatabaseName sets the MasterDatabaseName field's value.
33253func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
33254	s.MasterDatabaseName = &v
33255	return s
33256}
33257
33258// SetMasterEndpoint sets the MasterEndpoint field's value.
33259func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
33260	s.MasterEndpoint = v
33261	return s
33262}
33263
33264// SetMasterUsername sets the MasterUsername field's value.
33265func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
33266	s.MasterUsername = &v
33267	return s
33268}
33269
33270// SetName sets the Name field's value.
33271func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
33272	s.Name = &v
33273	return s
33274}
33275
33276// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
33277func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
33278	s.ParameterApplyStatus = &v
33279	return s
33280}
33281
33282// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
33283func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
33284	s.PendingMaintenanceActions = v
33285	return s
33286}
33287
33288// SetPendingModifiedValues sets the PendingModifiedValues field's value.
33289func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
33290	s.PendingModifiedValues = v
33291	return s
33292}
33293
33294// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
33295func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
33296	s.PreferredBackupWindow = &v
33297	return s
33298}
33299
33300// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
33301func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
33302	s.PreferredMaintenanceWindow = &v
33303	return s
33304}
33305
33306// SetPubliclyAccessible sets the PubliclyAccessible field's value.
33307func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
33308	s.PubliclyAccessible = &v
33309	return s
33310}
33311
33312// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
33313func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
33314	s.RelationalDatabaseBlueprintId = &v
33315	return s
33316}
33317
33318// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
33319func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
33320	s.RelationalDatabaseBundleId = &v
33321	return s
33322}
33323
33324// SetResourceType sets the ResourceType field's value.
33325func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
33326	s.ResourceType = &v
33327	return s
33328}
33329
33330// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
33331func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
33332	s.SecondaryAvailabilityZone = &v
33333	return s
33334}
33335
33336// SetState sets the State field's value.
33337func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
33338	s.State = &v
33339	return s
33340}
33341
33342// SetSupportCode sets the SupportCode field's value.
33343func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
33344	s.SupportCode = &v
33345	return s
33346}
33347
33348// SetTags sets the Tags field's value.
33349func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
33350	s.Tags = v
33351	return s
33352}
33353
33354// Describes a database image, or blueprint. A blueprint describes the major
33355// engine version of a database.
33356type RelationalDatabaseBlueprint struct {
33357	_ struct{} `type:"structure"`
33358
33359	// The ID for the database blueprint.
33360	BlueprintId *string `locationName:"blueprintId" type:"string"`
33361
33362	// The database software of the database blueprint (for example, MySQL).
33363	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
33364
33365	// The description of the database engine for the database blueprint.
33366	EngineDescription *string `locationName:"engineDescription" type:"string"`
33367
33368	// The database engine version for the database blueprint (for example, 5.7.23).
33369	EngineVersion *string `locationName:"engineVersion" type:"string"`
33370
33371	// The description of the database engine version for the database blueprint.
33372	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
33373
33374	// A Boolean value indicating whether the engine version is the default for
33375	// the database blueprint.
33376	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
33377}
33378
33379// String returns the string representation
33380func (s RelationalDatabaseBlueprint) String() string {
33381	return awsutil.Prettify(s)
33382}
33383
33384// GoString returns the string representation
33385func (s RelationalDatabaseBlueprint) GoString() string {
33386	return s.String()
33387}
33388
33389// SetBlueprintId sets the BlueprintId field's value.
33390func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
33391	s.BlueprintId = &v
33392	return s
33393}
33394
33395// SetEngine sets the Engine field's value.
33396func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
33397	s.Engine = &v
33398	return s
33399}
33400
33401// SetEngineDescription sets the EngineDescription field's value.
33402func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
33403	s.EngineDescription = &v
33404	return s
33405}
33406
33407// SetEngineVersion sets the EngineVersion field's value.
33408func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
33409	s.EngineVersion = &v
33410	return s
33411}
33412
33413// SetEngineVersionDescription sets the EngineVersionDescription field's value.
33414func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
33415	s.EngineVersionDescription = &v
33416	return s
33417}
33418
33419// SetIsEngineDefault sets the IsEngineDefault field's value.
33420func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
33421	s.IsEngineDefault = &v
33422	return s
33423}
33424
33425// Describes a database bundle. A bundle describes the performance specifications
33426// of the database.
33427type RelationalDatabaseBundle struct {
33428	_ struct{} `type:"structure"`
33429
33430	// The ID for the database bundle.
33431	BundleId *string `locationName:"bundleId" type:"string"`
33432
33433	// The number of virtual CPUs (vCPUs) for the database bundle.
33434	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
33435
33436	// The size of the disk for the database bundle.
33437	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
33438
33439	// A Boolean value indicating whether the database bundle is active.
33440	IsActive *bool `locationName:"isActive" type:"boolean"`
33441
33442	// A Boolean value indicating whether the database bundle is encrypted.
33443	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
33444
33445	// The name for the database bundle.
33446	Name *string `locationName:"name" type:"string"`
33447
33448	// The cost of the database bundle in US currency.
33449	Price *float64 `locationName:"price" type:"float"`
33450
33451	// The amount of RAM in GB (for example, 2.0) for the database bundle.
33452	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
33453
33454	// The data transfer rate per month in GB for the database bundle.
33455	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
33456}
33457
33458// String returns the string representation
33459func (s RelationalDatabaseBundle) String() string {
33460	return awsutil.Prettify(s)
33461}
33462
33463// GoString returns the string representation
33464func (s RelationalDatabaseBundle) GoString() string {
33465	return s.String()
33466}
33467
33468// SetBundleId sets the BundleId field's value.
33469func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
33470	s.BundleId = &v
33471	return s
33472}
33473
33474// SetCpuCount sets the CpuCount field's value.
33475func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
33476	s.CpuCount = &v
33477	return s
33478}
33479
33480// SetDiskSizeInGb sets the DiskSizeInGb field's value.
33481func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
33482	s.DiskSizeInGb = &v
33483	return s
33484}
33485
33486// SetIsActive sets the IsActive field's value.
33487func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
33488	s.IsActive = &v
33489	return s
33490}
33491
33492// SetIsEncrypted sets the IsEncrypted field's value.
33493func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
33494	s.IsEncrypted = &v
33495	return s
33496}
33497
33498// SetName sets the Name field's value.
33499func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
33500	s.Name = &v
33501	return s
33502}
33503
33504// SetPrice sets the Price field's value.
33505func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
33506	s.Price = &v
33507	return s
33508}
33509
33510// SetRamSizeInGb sets the RamSizeInGb field's value.
33511func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
33512	s.RamSizeInGb = &v
33513	return s
33514}
33515
33516// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
33517func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
33518	s.TransferPerMonthInGb = &v
33519	return s
33520}
33521
33522// Describes an endpoint for a database.
33523type RelationalDatabaseEndpoint struct {
33524	_ struct{} `type:"structure"`
33525
33526	// Specifies the DNS address of the database.
33527	Address *string `locationName:"address" type:"string"`
33528
33529	// Specifies the port that the database is listening on.
33530	Port *int64 `locationName:"port" type:"integer"`
33531}
33532
33533// String returns the string representation
33534func (s RelationalDatabaseEndpoint) String() string {
33535	return awsutil.Prettify(s)
33536}
33537
33538// GoString returns the string representation
33539func (s RelationalDatabaseEndpoint) GoString() string {
33540	return s.String()
33541}
33542
33543// SetAddress sets the Address field's value.
33544func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
33545	s.Address = &v
33546	return s
33547}
33548
33549// SetPort sets the Port field's value.
33550func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
33551	s.Port = &v
33552	return s
33553}
33554
33555// Describes an event for a database.
33556type RelationalDatabaseEvent struct {
33557	_ struct{} `type:"structure"`
33558
33559	// The timestamp when the database event was created.
33560	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33561
33562	// The category that the database event belongs to.
33563	EventCategories []*string `locationName:"eventCategories" type:"list"`
33564
33565	// The message of the database event.
33566	Message *string `locationName:"message" type:"string"`
33567
33568	// The database that the database event relates to.
33569	Resource *string `locationName:"resource" type:"string"`
33570}
33571
33572// String returns the string representation
33573func (s RelationalDatabaseEvent) String() string {
33574	return awsutil.Prettify(s)
33575}
33576
33577// GoString returns the string representation
33578func (s RelationalDatabaseEvent) GoString() string {
33579	return s.String()
33580}
33581
33582// SetCreatedAt sets the CreatedAt field's value.
33583func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
33584	s.CreatedAt = &v
33585	return s
33586}
33587
33588// SetEventCategories sets the EventCategories field's value.
33589func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
33590	s.EventCategories = v
33591	return s
33592}
33593
33594// SetMessage sets the Message field's value.
33595func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
33596	s.Message = &v
33597	return s
33598}
33599
33600// SetResource sets the Resource field's value.
33601func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
33602	s.Resource = &v
33603	return s
33604}
33605
33606// Describes the hardware of a database.
33607type RelationalDatabaseHardware struct {
33608	_ struct{} `type:"structure"`
33609
33610	// The number of vCPUs for the database.
33611	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
33612
33613	// The size of the disk for the database.
33614	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
33615
33616	// The amount of RAM in GB for the database.
33617	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
33618}
33619
33620// String returns the string representation
33621func (s RelationalDatabaseHardware) String() string {
33622	return awsutil.Prettify(s)
33623}
33624
33625// GoString returns the string representation
33626func (s RelationalDatabaseHardware) GoString() string {
33627	return s.String()
33628}
33629
33630// SetCpuCount sets the CpuCount field's value.
33631func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
33632	s.CpuCount = &v
33633	return s
33634}
33635
33636// SetDiskSizeInGb sets the DiskSizeInGb field's value.
33637func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
33638	s.DiskSizeInGb = &v
33639	return s
33640}
33641
33642// SetRamSizeInGb sets the RamSizeInGb field's value.
33643func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
33644	s.RamSizeInGb = &v
33645	return s
33646}
33647
33648// Describes the parameters of a database.
33649type RelationalDatabaseParameter struct {
33650	_ struct{} `type:"structure"`
33651
33652	// Specifies the valid range of values for the parameter.
33653	AllowedValues *string `locationName:"allowedValues" type:"string"`
33654
33655	// Indicates when parameter updates are applied.
33656	//
33657	// Can be immediate or pending-reboot.
33658	ApplyMethod *string `locationName:"applyMethod" type:"string"`
33659
33660	// Specifies the engine-specific parameter type.
33661	ApplyType *string `locationName:"applyType" type:"string"`
33662
33663	// Specifies the valid data type for the parameter.
33664	DataType *string `locationName:"dataType" type:"string"`
33665
33666	// Provides a description of the parameter.
33667	Description *string `locationName:"description" type:"string"`
33668
33669	// A Boolean value indicating whether the parameter can be modified.
33670	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
33671
33672	// Specifies the name of the parameter.
33673	ParameterName *string `locationName:"parameterName" type:"string"`
33674
33675	// Specifies the value of the parameter.
33676	ParameterValue *string `locationName:"parameterValue" type:"string"`
33677}
33678
33679// String returns the string representation
33680func (s RelationalDatabaseParameter) String() string {
33681	return awsutil.Prettify(s)
33682}
33683
33684// GoString returns the string representation
33685func (s RelationalDatabaseParameter) GoString() string {
33686	return s.String()
33687}
33688
33689// SetAllowedValues sets the AllowedValues field's value.
33690func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
33691	s.AllowedValues = &v
33692	return s
33693}
33694
33695// SetApplyMethod sets the ApplyMethod field's value.
33696func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
33697	s.ApplyMethod = &v
33698	return s
33699}
33700
33701// SetApplyType sets the ApplyType field's value.
33702func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
33703	s.ApplyType = &v
33704	return s
33705}
33706
33707// SetDataType sets the DataType field's value.
33708func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
33709	s.DataType = &v
33710	return s
33711}
33712
33713// SetDescription sets the Description field's value.
33714func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
33715	s.Description = &v
33716	return s
33717}
33718
33719// SetIsModifiable sets the IsModifiable field's value.
33720func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
33721	s.IsModifiable = &v
33722	return s
33723}
33724
33725// SetParameterName sets the ParameterName field's value.
33726func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
33727	s.ParameterName = &v
33728	return s
33729}
33730
33731// SetParameterValue sets the ParameterValue field's value.
33732func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
33733	s.ParameterValue = &v
33734	return s
33735}
33736
33737// Describes a database snapshot.
33738type RelationalDatabaseSnapshot struct {
33739	_ struct{} `type:"structure"`
33740
33741	// The Amazon Resource Name (ARN) of the database snapshot.
33742	Arn *string `locationName:"arn" type:"string"`
33743
33744	// The timestamp when the database snapshot was created.
33745	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33746
33747	// The software of the database snapshot (for example, MySQL)
33748	Engine *string `locationName:"engine" type:"string"`
33749
33750	// The database engine version for the database snapshot (for example, 5.7.23).
33751	EngineVersion *string `locationName:"engineVersion" type:"string"`
33752
33753	// The Amazon Resource Name (ARN) of the database from which the database snapshot
33754	// was created.
33755	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
33756
33757	// The blueprint ID of the database from which the database snapshot was created.
33758	// A blueprint describes the major engine version of a database.
33759	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
33760
33761	// The bundle ID of the database from which the database snapshot was created.
33762	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
33763
33764	// The name of the source database from which the database snapshot was created.
33765	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
33766
33767	// The Region name and Availability Zone where the database snapshot is located.
33768	Location *ResourceLocation `locationName:"location" type:"structure"`
33769
33770	// The name of the database snapshot.
33771	Name *string `locationName:"name" type:"string"`
33772
33773	// The Lightsail resource type.
33774	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33775
33776	// The size of the disk in GB (for example, 32) for the database snapshot.
33777	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
33778
33779	// The state of the database snapshot.
33780	State *string `locationName:"state" type:"string"`
33781
33782	// The support code for the database snapshot. Include this code in your email
33783	// to support when you have questions about a database snapshot in Lightsail.
33784	// This code enables our support team to look up your Lightsail information
33785	// more easily.
33786	SupportCode *string `locationName:"supportCode" type:"string"`
33787
33788	// The tag keys and optional values for the resource. For more information about
33789	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
33790	Tags []*Tag `locationName:"tags" type:"list"`
33791}
33792
33793// String returns the string representation
33794func (s RelationalDatabaseSnapshot) String() string {
33795	return awsutil.Prettify(s)
33796}
33797
33798// GoString returns the string representation
33799func (s RelationalDatabaseSnapshot) GoString() string {
33800	return s.String()
33801}
33802
33803// SetArn sets the Arn field's value.
33804func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
33805	s.Arn = &v
33806	return s
33807}
33808
33809// SetCreatedAt sets the CreatedAt field's value.
33810func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
33811	s.CreatedAt = &v
33812	return s
33813}
33814
33815// SetEngine sets the Engine field's value.
33816func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
33817	s.Engine = &v
33818	return s
33819}
33820
33821// SetEngineVersion sets the EngineVersion field's value.
33822func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
33823	s.EngineVersion = &v
33824	return s
33825}
33826
33827// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
33828func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
33829	s.FromRelationalDatabaseArn = &v
33830	return s
33831}
33832
33833// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
33834func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
33835	s.FromRelationalDatabaseBlueprintId = &v
33836	return s
33837}
33838
33839// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
33840func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
33841	s.FromRelationalDatabaseBundleId = &v
33842	return s
33843}
33844
33845// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
33846func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
33847	s.FromRelationalDatabaseName = &v
33848	return s
33849}
33850
33851// SetLocation sets the Location field's value.
33852func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
33853	s.Location = v
33854	return s
33855}
33856
33857// SetName sets the Name field's value.
33858func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
33859	s.Name = &v
33860	return s
33861}
33862
33863// SetResourceType sets the ResourceType field's value.
33864func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
33865	s.ResourceType = &v
33866	return s
33867}
33868
33869// SetSizeInGb sets the SizeInGb field's value.
33870func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
33871	s.SizeInGb = &v
33872	return s
33873}
33874
33875// SetState sets the State field's value.
33876func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
33877	s.State = &v
33878	return s
33879}
33880
33881// SetSupportCode sets the SupportCode field's value.
33882func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
33883	s.SupportCode = &v
33884	return s
33885}
33886
33887// SetTags sets the Tags field's value.
33888func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
33889	s.Tags = v
33890	return s
33891}
33892
33893type ReleaseStaticIpInput struct {
33894	_ struct{} `type:"structure"`
33895
33896	// The name of the static IP to delete.
33897	//
33898	// StaticIpName is a required field
33899	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
33900}
33901
33902// String returns the string representation
33903func (s ReleaseStaticIpInput) String() string {
33904	return awsutil.Prettify(s)
33905}
33906
33907// GoString returns the string representation
33908func (s ReleaseStaticIpInput) GoString() string {
33909	return s.String()
33910}
33911
33912// Validate inspects the fields of the type to determine if they are valid.
33913func (s *ReleaseStaticIpInput) Validate() error {
33914	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
33915	if s.StaticIpName == nil {
33916		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
33917	}
33918
33919	if invalidParams.Len() > 0 {
33920		return invalidParams
33921	}
33922	return nil
33923}
33924
33925// SetStaticIpName sets the StaticIpName field's value.
33926func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
33927	s.StaticIpName = &v
33928	return s
33929}
33930
33931type ReleaseStaticIpOutput struct {
33932	_ struct{} `type:"structure"`
33933
33934	// An array of objects that describe the result of the action, such as the status
33935	// of the request, the timestamp of the request, and the resources affected
33936	// by the request.
33937	Operations []*Operation `locationName:"operations" type:"list"`
33938}
33939
33940// String returns the string representation
33941func (s ReleaseStaticIpOutput) String() string {
33942	return awsutil.Prettify(s)
33943}
33944
33945// GoString returns the string representation
33946func (s ReleaseStaticIpOutput) GoString() string {
33947	return s.String()
33948}
33949
33950// SetOperations sets the Operations field's value.
33951func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
33952	s.Operations = v
33953	return s
33954}
33955
33956// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
33957type RenewalSummary struct {
33958	_ struct{} `type:"structure"`
33959
33960	// An array of objects that describe the domain validation records of the certificate.
33961	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
33962
33963	// The renewal status of the certificate.
33964	//
33965	// The following renewal status are possible:
33966	//
33967	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
33968	//    the domain names of the certificate. No further action is required.
33969	//
33970	//    * PendingValidation - Lightsail couldn't automatically validate one or
33971	//    more domain names of the certificate. You must take action to validate
33972	//    these domain names or the certificate won't be renewed. Check to make
33973	//    sure your certificate's domain validation records exist in your domain's
33974	//    DNS, and that your certificate remains in use.
33975	//
33976	//    * Success - All domain names in the certificate are validated, and Lightsail
33977	//    renewed the certificate. No further action is required.
33978	//
33979	//    * Failed - One or more domain names were not validated before the certificate
33980	//    expired, and Lightsail did not renew the certificate. You can request
33981	//    a new certificate using the CreateCertificate action.
33982	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
33983
33984	// The reason for the renewal status of the certificate.
33985	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
33986
33987	// The timestamp when the certificate was last updated.
33988	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
33989}
33990
33991// String returns the string representation
33992func (s RenewalSummary) String() string {
33993	return awsutil.Prettify(s)
33994}
33995
33996// GoString returns the string representation
33997func (s RenewalSummary) GoString() string {
33998	return s.String()
33999}
34000
34001// SetDomainValidationRecords sets the DomainValidationRecords field's value.
34002func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
34003	s.DomainValidationRecords = v
34004	return s
34005}
34006
34007// SetRenewalStatus sets the RenewalStatus field's value.
34008func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
34009	s.RenewalStatus = &v
34010	return s
34011}
34012
34013// SetRenewalStatusReason sets the RenewalStatusReason field's value.
34014func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
34015	s.RenewalStatusReason = &v
34016	return s
34017}
34018
34019// SetUpdatedAt sets the UpdatedAt field's value.
34020func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
34021	s.UpdatedAt = &v
34022	return s
34023}
34024
34025type ResetDistributionCacheInput struct {
34026	_ struct{} `type:"structure"`
34027
34028	// The name of the distribution for which to reset cache.
34029	//
34030	// Use the GetDistributions action to get a list of distribution names that
34031	// you can specify.
34032	DistributionName *string `locationName:"distributionName" type:"string"`
34033}
34034
34035// String returns the string representation
34036func (s ResetDistributionCacheInput) String() string {
34037	return awsutil.Prettify(s)
34038}
34039
34040// GoString returns the string representation
34041func (s ResetDistributionCacheInput) GoString() string {
34042	return s.String()
34043}
34044
34045// SetDistributionName sets the DistributionName field's value.
34046func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
34047	s.DistributionName = &v
34048	return s
34049}
34050
34051type ResetDistributionCacheOutput struct {
34052	_ struct{} `type:"structure"`
34053
34054	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
34055	// format.
34056	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
34057
34058	// An array of objects that describe the result of the action, such as the status
34059	// of the request, the timestamp of the request, and the resources affected
34060	// by the request.
34061	Operation *Operation `locationName:"operation" type:"structure"`
34062
34063	// The status of the reset cache request.
34064	Status *string `locationName:"status" type:"string"`
34065}
34066
34067// String returns the string representation
34068func (s ResetDistributionCacheOutput) String() string {
34069	return awsutil.Prettify(s)
34070}
34071
34072// GoString returns the string representation
34073func (s ResetDistributionCacheOutput) GoString() string {
34074	return s.String()
34075}
34076
34077// SetCreateTime sets the CreateTime field's value.
34078func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
34079	s.CreateTime = &v
34080	return s
34081}
34082
34083// SetOperation sets the Operation field's value.
34084func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
34085	s.Operation = v
34086	return s
34087}
34088
34089// SetStatus sets the Status field's value.
34090func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
34091	s.Status = &v
34092	return s
34093}
34094
34095// Describes the resource location.
34096type ResourceLocation struct {
34097	_ struct{} `type:"structure"`
34098
34099	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
34100	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
34101
34102	// The AWS Region name.
34103	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
34104}
34105
34106// String returns the string representation
34107func (s ResourceLocation) String() string {
34108	return awsutil.Prettify(s)
34109}
34110
34111// GoString returns the string representation
34112func (s ResourceLocation) GoString() string {
34113	return s.String()
34114}
34115
34116// SetAvailabilityZone sets the AvailabilityZone field's value.
34117func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
34118	s.AvailabilityZone = &v
34119	return s
34120}
34121
34122// SetRegionName sets the RegionName field's value.
34123func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
34124	s.RegionName = &v
34125	return s
34126}
34127
34128// Describes the domain name system (DNS) records to add to your domain's DNS
34129// to validate it for an Amazon Lightsail certificate.
34130type ResourceRecord struct {
34131	_ struct{} `type:"structure"`
34132
34133	// The name of the record.
34134	Name *string `locationName:"name" type:"string"`
34135
34136	// The DNS record type.
34137	Type *string `locationName:"type" type:"string"`
34138
34139	// The value for the DNS record.
34140	Value *string `locationName:"value" type:"string"`
34141}
34142
34143// String returns the string representation
34144func (s ResourceRecord) String() string {
34145	return awsutil.Prettify(s)
34146}
34147
34148// GoString returns the string representation
34149func (s ResourceRecord) GoString() string {
34150	return s.String()
34151}
34152
34153// SetName sets the Name field's value.
34154func (s *ResourceRecord) SetName(v string) *ResourceRecord {
34155	s.Name = &v
34156	return s
34157}
34158
34159// SetType sets the Type field's value.
34160func (s *ResourceRecord) SetType(v string) *ResourceRecord {
34161	s.Type = &v
34162	return s
34163}
34164
34165// SetValue sets the Value field's value.
34166func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
34167	s.Value = &v
34168	return s
34169}
34170
34171type SendContactMethodVerificationInput struct {
34172	_ struct{} `type:"structure"`
34173
34174	// The protocol to verify, such as Email or SMS (text messaging).
34175	//
34176	// Protocol is a required field
34177	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
34178}
34179
34180// String returns the string representation
34181func (s SendContactMethodVerificationInput) String() string {
34182	return awsutil.Prettify(s)
34183}
34184
34185// GoString returns the string representation
34186func (s SendContactMethodVerificationInput) GoString() string {
34187	return s.String()
34188}
34189
34190// Validate inspects the fields of the type to determine if they are valid.
34191func (s *SendContactMethodVerificationInput) Validate() error {
34192	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
34193	if s.Protocol == nil {
34194		invalidParams.Add(request.NewErrParamRequired("Protocol"))
34195	}
34196
34197	if invalidParams.Len() > 0 {
34198		return invalidParams
34199	}
34200	return nil
34201}
34202
34203// SetProtocol sets the Protocol field's value.
34204func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
34205	s.Protocol = &v
34206	return s
34207}
34208
34209type SendContactMethodVerificationOutput struct {
34210	_ struct{} `type:"structure"`
34211
34212	// An array of objects that describe the result of the action, such as the status
34213	// of the request, the timestamp of the request, and the resources affected
34214	// by the request.
34215	Operations []*Operation `locationName:"operations" type:"list"`
34216}
34217
34218// String returns the string representation
34219func (s SendContactMethodVerificationOutput) String() string {
34220	return awsutil.Prettify(s)
34221}
34222
34223// GoString returns the string representation
34224func (s SendContactMethodVerificationOutput) GoString() string {
34225	return s.String()
34226}
34227
34228// SetOperations sets the Operations field's value.
34229func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
34230	s.Operations = v
34231	return s
34232}
34233
34234// A general service exception.
34235type ServiceException struct {
34236	_            struct{}                  `type:"structure"`
34237	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34238
34239	Code_ *string `locationName:"code" type:"string"`
34240
34241	Docs *string `locationName:"docs" type:"string"`
34242
34243	Message_ *string `locationName:"message" type:"string"`
34244
34245	Tip *string `locationName:"tip" type:"string"`
34246}
34247
34248// String returns the string representation
34249func (s ServiceException) String() string {
34250	return awsutil.Prettify(s)
34251}
34252
34253// GoString returns the string representation
34254func (s ServiceException) GoString() string {
34255	return s.String()
34256}
34257
34258func newErrorServiceException(v protocol.ResponseMetadata) error {
34259	return &ServiceException{
34260		RespMetadata: v,
34261	}
34262}
34263
34264// Code returns the exception type name.
34265func (s *ServiceException) Code() string {
34266	return "ServiceException"
34267}
34268
34269// Message returns the exception's message.
34270func (s *ServiceException) Message() string {
34271	if s.Message_ != nil {
34272		return *s.Message_
34273	}
34274	return ""
34275}
34276
34277// OrigErr always returns nil, satisfies awserr.Error interface.
34278func (s *ServiceException) OrigErr() error {
34279	return nil
34280}
34281
34282func (s *ServiceException) Error() string {
34283	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34284}
34285
34286// Status code returns the HTTP status code for the request's response error.
34287func (s *ServiceException) StatusCode() int {
34288	return s.RespMetadata.StatusCode
34289}
34290
34291// RequestID returns the service's response RequestID for request.
34292func (s *ServiceException) RequestID() string {
34293	return s.RespMetadata.RequestID
34294}
34295
34296type SetIpAddressTypeInput struct {
34297	_ struct{} `type:"structure"`
34298
34299	// The IP address type to set for the specified resource.
34300	//
34301	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
34302	//
34303	// IpAddressType is a required field
34304	IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"`
34305
34306	// The name of the resource for which to set the IP address type.
34307	//
34308	// ResourceName is a required field
34309	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
34310
34311	// The resource type.
34312	//
34313	// The possible values are Distribution, Instance, and LoadBalancer.
34314	//
34315	// Distribution-related APIs are available only in the N. Virginia (us-east-1)
34316	// AWS Region. Set your AWS Region configuration to us-east-1 to create, view,
34317	// or edit distributions.
34318	//
34319	// ResourceType is a required field
34320	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
34321}
34322
34323// String returns the string representation
34324func (s SetIpAddressTypeInput) String() string {
34325	return awsutil.Prettify(s)
34326}
34327
34328// GoString returns the string representation
34329func (s SetIpAddressTypeInput) GoString() string {
34330	return s.String()
34331}
34332
34333// Validate inspects the fields of the type to determine if they are valid.
34334func (s *SetIpAddressTypeInput) Validate() error {
34335	invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
34336	if s.IpAddressType == nil {
34337		invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
34338	}
34339	if s.ResourceName == nil {
34340		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
34341	}
34342	if s.ResourceType == nil {
34343		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
34344	}
34345
34346	if invalidParams.Len() > 0 {
34347		return invalidParams
34348	}
34349	return nil
34350}
34351
34352// SetIpAddressType sets the IpAddressType field's value.
34353func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
34354	s.IpAddressType = &v
34355	return s
34356}
34357
34358// SetResourceName sets the ResourceName field's value.
34359func (s *SetIpAddressTypeInput) SetResourceName(v string) *SetIpAddressTypeInput {
34360	s.ResourceName = &v
34361	return s
34362}
34363
34364// SetResourceType sets the ResourceType field's value.
34365func (s *SetIpAddressTypeInput) SetResourceType(v string) *SetIpAddressTypeInput {
34366	s.ResourceType = &v
34367	return s
34368}
34369
34370type SetIpAddressTypeOutput struct {
34371	_ struct{} `type:"structure"`
34372
34373	// An array of objects that describe the result of the action, such as the status
34374	// of the request, the timestamp of the request, and the resources affected
34375	// by the request.
34376	Operations []*Operation `locationName:"operations" type:"list"`
34377}
34378
34379// String returns the string representation
34380func (s SetIpAddressTypeOutput) String() string {
34381	return awsutil.Prettify(s)
34382}
34383
34384// GoString returns the string representation
34385func (s SetIpAddressTypeOutput) GoString() string {
34386	return s.String()
34387}
34388
34389// SetOperations sets the Operations field's value.
34390func (s *SetIpAddressTypeOutput) SetOperations(v []*Operation) *SetIpAddressTypeOutput {
34391	s.Operations = v
34392	return s
34393}
34394
34395type StartInstanceInput struct {
34396	_ struct{} `type:"structure"`
34397
34398	// The name of the instance (a virtual private server) to start.
34399	//
34400	// InstanceName is a required field
34401	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
34402}
34403
34404// String returns the string representation
34405func (s StartInstanceInput) String() string {
34406	return awsutil.Prettify(s)
34407}
34408
34409// GoString returns the string representation
34410func (s StartInstanceInput) GoString() string {
34411	return s.String()
34412}
34413
34414// Validate inspects the fields of the type to determine if they are valid.
34415func (s *StartInstanceInput) Validate() error {
34416	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
34417	if s.InstanceName == nil {
34418		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
34419	}
34420
34421	if invalidParams.Len() > 0 {
34422		return invalidParams
34423	}
34424	return nil
34425}
34426
34427// SetInstanceName sets the InstanceName field's value.
34428func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
34429	s.InstanceName = &v
34430	return s
34431}
34432
34433type StartInstanceOutput struct {
34434	_ struct{} `type:"structure"`
34435
34436	// An array of objects that describe the result of the action, such as the status
34437	// of the request, the timestamp of the request, and the resources affected
34438	// by the request.
34439	Operations []*Operation `locationName:"operations" type:"list"`
34440}
34441
34442// String returns the string representation
34443func (s StartInstanceOutput) String() string {
34444	return awsutil.Prettify(s)
34445}
34446
34447// GoString returns the string representation
34448func (s StartInstanceOutput) GoString() string {
34449	return s.String()
34450}
34451
34452// SetOperations sets the Operations field's value.
34453func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
34454	s.Operations = v
34455	return s
34456}
34457
34458type StartRelationalDatabaseInput struct {
34459	_ struct{} `type:"structure"`
34460
34461	// The name of your database to start.
34462	//
34463	// RelationalDatabaseName is a required field
34464	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
34465}
34466
34467// String returns the string representation
34468func (s StartRelationalDatabaseInput) String() string {
34469	return awsutil.Prettify(s)
34470}
34471
34472// GoString returns the string representation
34473func (s StartRelationalDatabaseInput) GoString() string {
34474	return s.String()
34475}
34476
34477// Validate inspects the fields of the type to determine if they are valid.
34478func (s *StartRelationalDatabaseInput) Validate() error {
34479	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
34480	if s.RelationalDatabaseName == nil {
34481		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
34482	}
34483
34484	if invalidParams.Len() > 0 {
34485		return invalidParams
34486	}
34487	return nil
34488}
34489
34490// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
34491func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
34492	s.RelationalDatabaseName = &v
34493	return s
34494}
34495
34496type StartRelationalDatabaseOutput struct {
34497	_ struct{} `type:"structure"`
34498
34499	// An array of objects that describe the result of the action, such as the status
34500	// of the request, the timestamp of the request, and the resources affected
34501	// by the request.
34502	Operations []*Operation `locationName:"operations" type:"list"`
34503}
34504
34505// String returns the string representation
34506func (s StartRelationalDatabaseOutput) String() string {
34507	return awsutil.Prettify(s)
34508}
34509
34510// GoString returns the string representation
34511func (s StartRelationalDatabaseOutput) GoString() string {
34512	return s.String()
34513}
34514
34515// SetOperations sets the Operations field's value.
34516func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
34517	s.Operations = v
34518	return s
34519}
34520
34521// Describes the static IP.
34522type StaticIp struct {
34523	_ struct{} `type:"structure"`
34524
34525	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
34526	Arn *string `locationName:"arn" type:"string"`
34527
34528	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
34529	AttachedTo *string `locationName:"attachedTo" type:"string"`
34530
34531	// The timestamp when the static IP was created (e.g., 1479735304.222).
34532	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
34533
34534	// The static IP address.
34535	IpAddress *string `locationName:"ipAddress" type:"string"`
34536
34537	// A Boolean value indicating whether the static IP is attached.
34538	IsAttached *bool `locationName:"isAttached" type:"boolean"`
34539
34540	// The region and Availability Zone where the static IP was created.
34541	Location *ResourceLocation `locationName:"location" type:"structure"`
34542
34543	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
34544	Name *string `locationName:"name" type:"string"`
34545
34546	// The resource type (usually StaticIp).
34547	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34548
34549	// The support code. Include this code in your email to support when you have
34550	// questions about an instance or another resource in Lightsail. This code enables
34551	// our support team to look up your Lightsail information more easily.
34552	SupportCode *string `locationName:"supportCode" type:"string"`
34553}
34554
34555// String returns the string representation
34556func (s StaticIp) String() string {
34557	return awsutil.Prettify(s)
34558}
34559
34560// GoString returns the string representation
34561func (s StaticIp) GoString() string {
34562	return s.String()
34563}
34564
34565// SetArn sets the Arn field's value.
34566func (s *StaticIp) SetArn(v string) *StaticIp {
34567	s.Arn = &v
34568	return s
34569}
34570
34571// SetAttachedTo sets the AttachedTo field's value.
34572func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
34573	s.AttachedTo = &v
34574	return s
34575}
34576
34577// SetCreatedAt sets the CreatedAt field's value.
34578func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
34579	s.CreatedAt = &v
34580	return s
34581}
34582
34583// SetIpAddress sets the IpAddress field's value.
34584func (s *StaticIp) SetIpAddress(v string) *StaticIp {
34585	s.IpAddress = &v
34586	return s
34587}
34588
34589// SetIsAttached sets the IsAttached field's value.
34590func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
34591	s.IsAttached = &v
34592	return s
34593}
34594
34595// SetLocation sets the Location field's value.
34596func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
34597	s.Location = v
34598	return s
34599}
34600
34601// SetName sets the Name field's value.
34602func (s *StaticIp) SetName(v string) *StaticIp {
34603	s.Name = &v
34604	return s
34605}
34606
34607// SetResourceType sets the ResourceType field's value.
34608func (s *StaticIp) SetResourceType(v string) *StaticIp {
34609	s.ResourceType = &v
34610	return s
34611}
34612
34613// SetSupportCode sets the SupportCode field's value.
34614func (s *StaticIp) SetSupportCode(v string) *StaticIp {
34615	s.SupportCode = &v
34616	return s
34617}
34618
34619type StopInstanceInput struct {
34620	_ struct{} `type:"structure"`
34621
34622	// When set to True, forces a Lightsail instance that is stuck in a stopping
34623	// state to stop.
34624	//
34625	// Only use the force parameter if your instance is stuck in the stopping state.
34626	// In any other state, your instance should stop normally without adding this
34627	// parameter to your API request.
34628	Force *bool `locationName:"force" type:"boolean"`
34629
34630	// The name of the instance (a virtual private server) to stop.
34631	//
34632	// InstanceName is a required field
34633	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
34634}
34635
34636// String returns the string representation
34637func (s StopInstanceInput) String() string {
34638	return awsutil.Prettify(s)
34639}
34640
34641// GoString returns the string representation
34642func (s StopInstanceInput) GoString() string {
34643	return s.String()
34644}
34645
34646// Validate inspects the fields of the type to determine if they are valid.
34647func (s *StopInstanceInput) Validate() error {
34648	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
34649	if s.InstanceName == nil {
34650		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
34651	}
34652
34653	if invalidParams.Len() > 0 {
34654		return invalidParams
34655	}
34656	return nil
34657}
34658
34659// SetForce sets the Force field's value.
34660func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
34661	s.Force = &v
34662	return s
34663}
34664
34665// SetInstanceName sets the InstanceName field's value.
34666func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
34667	s.InstanceName = &v
34668	return s
34669}
34670
34671type StopInstanceOutput struct {
34672	_ struct{} `type:"structure"`
34673
34674	// An array of objects that describe the result of the action, such as the status
34675	// of the request, the timestamp of the request, and the resources affected
34676	// by the request.
34677	Operations []*Operation `locationName:"operations" type:"list"`
34678}
34679
34680// String returns the string representation
34681func (s StopInstanceOutput) String() string {
34682	return awsutil.Prettify(s)
34683}
34684
34685// GoString returns the string representation
34686func (s StopInstanceOutput) GoString() string {
34687	return s.String()
34688}
34689
34690// SetOperations sets the Operations field's value.
34691func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
34692	s.Operations = v
34693	return s
34694}
34695
34696type StopRelationalDatabaseInput struct {
34697	_ struct{} `type:"structure"`
34698
34699	// The name of your database to stop.
34700	//
34701	// RelationalDatabaseName is a required field
34702	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
34703
34704	// The name of your new database snapshot to be created before stopping your
34705	// database.
34706	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
34707}
34708
34709// String returns the string representation
34710func (s StopRelationalDatabaseInput) String() string {
34711	return awsutil.Prettify(s)
34712}
34713
34714// GoString returns the string representation
34715func (s StopRelationalDatabaseInput) GoString() string {
34716	return s.String()
34717}
34718
34719// Validate inspects the fields of the type to determine if they are valid.
34720func (s *StopRelationalDatabaseInput) Validate() error {
34721	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
34722	if s.RelationalDatabaseName == nil {
34723		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
34724	}
34725
34726	if invalidParams.Len() > 0 {
34727		return invalidParams
34728	}
34729	return nil
34730}
34731
34732// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
34733func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
34734	s.RelationalDatabaseName = &v
34735	return s
34736}
34737
34738// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
34739func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
34740	s.RelationalDatabaseSnapshotName = &v
34741	return s
34742}
34743
34744type StopRelationalDatabaseOutput struct {
34745	_ struct{} `type:"structure"`
34746
34747	// An array of objects that describe the result of the action, such as the status
34748	// of the request, the timestamp of the request, and the resources affected
34749	// by the request.
34750	Operations []*Operation `locationName:"operations" type:"list"`
34751}
34752
34753// String returns the string representation
34754func (s StopRelationalDatabaseOutput) String() string {
34755	return awsutil.Prettify(s)
34756}
34757
34758// GoString returns the string representation
34759func (s StopRelationalDatabaseOutput) GoString() string {
34760	return s.String()
34761}
34762
34763// SetOperations sets the Operations field's value.
34764func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
34765	s.Operations = v
34766	return s
34767}
34768
34769// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
34770//
34771// For more information about tags in Lightsail, see the Lightsail Dev Guide
34772// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
34773type Tag struct {
34774	_ struct{} `type:"structure"`
34775
34776	// The key of the tag.
34777	//
34778	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
34779	// UTF-8, or the following characters: + - = . _ : / @
34780	Key *string `locationName:"key" type:"string"`
34781
34782	// The value of the tag.
34783	//
34784	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
34785	// in UTF-8, or the following characters: + - = . _ : / @
34786	Value *string `locationName:"value" type:"string"`
34787}
34788
34789// String returns the string representation
34790func (s Tag) String() string {
34791	return awsutil.Prettify(s)
34792}
34793
34794// GoString returns the string representation
34795func (s Tag) GoString() string {
34796	return s.String()
34797}
34798
34799// SetKey sets the Key field's value.
34800func (s *Tag) SetKey(v string) *Tag {
34801	s.Key = &v
34802	return s
34803}
34804
34805// SetValue sets the Value field's value.
34806func (s *Tag) SetValue(v string) *Tag {
34807	s.Value = &v
34808	return s
34809}
34810
34811type TagResourceInput struct {
34812	_ struct{} `type:"structure"`
34813
34814	// The Amazon Resource Name (ARN) of the resource to which you want to add a
34815	// tag.
34816	ResourceArn *string `locationName:"resourceArn" type:"string"`
34817
34818	// The name of the resource to which you are adding tags.
34819	//
34820	// ResourceName is a required field
34821	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
34822
34823	// The tag key and optional value.
34824	//
34825	// Tags is a required field
34826	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
34827}
34828
34829// String returns the string representation
34830func (s TagResourceInput) String() string {
34831	return awsutil.Prettify(s)
34832}
34833
34834// GoString returns the string representation
34835func (s TagResourceInput) GoString() string {
34836	return s.String()
34837}
34838
34839// Validate inspects the fields of the type to determine if they are valid.
34840func (s *TagResourceInput) Validate() error {
34841	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
34842	if s.ResourceName == nil {
34843		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
34844	}
34845	if s.Tags == nil {
34846		invalidParams.Add(request.NewErrParamRequired("Tags"))
34847	}
34848
34849	if invalidParams.Len() > 0 {
34850		return invalidParams
34851	}
34852	return nil
34853}
34854
34855// SetResourceArn sets the ResourceArn field's value.
34856func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
34857	s.ResourceArn = &v
34858	return s
34859}
34860
34861// SetResourceName sets the ResourceName field's value.
34862func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
34863	s.ResourceName = &v
34864	return s
34865}
34866
34867// SetTags sets the Tags field's value.
34868func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
34869	s.Tags = v
34870	return s
34871}
34872
34873type TagResourceOutput struct {
34874	_ struct{} `type:"structure"`
34875
34876	// An array of objects that describe the result of the action, such as the status
34877	// of the request, the timestamp of the request, and the resources affected
34878	// by the request.
34879	Operations []*Operation `locationName:"operations" type:"list"`
34880}
34881
34882// String returns the string representation
34883func (s TagResourceOutput) String() string {
34884	return awsutil.Prettify(s)
34885}
34886
34887// GoString returns the string representation
34888func (s TagResourceOutput) GoString() string {
34889	return s.String()
34890}
34891
34892// SetOperations sets the Operations field's value.
34893func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
34894	s.Operations = v
34895	return s
34896}
34897
34898type TestAlarmInput struct {
34899	_ struct{} `type:"structure"`
34900
34901	// The name of the alarm to test.
34902	//
34903	// AlarmName is a required field
34904	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
34905
34906	// The alarm state to test.
34907	//
34908	// An alarm has the following possible states that can be tested:
34909	//
34910	//    * ALARM - The metric is outside of the defined threshold.
34911	//
34912	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
34913	//    or not enough data is available for the metric to determine the alarm
34914	//    state.
34915	//
34916	//    * OK - The metric is within the defined threshold.
34917	//
34918	// State is a required field
34919	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
34920}
34921
34922// String returns the string representation
34923func (s TestAlarmInput) String() string {
34924	return awsutil.Prettify(s)
34925}
34926
34927// GoString returns the string representation
34928func (s TestAlarmInput) GoString() string {
34929	return s.String()
34930}
34931
34932// Validate inspects the fields of the type to determine if they are valid.
34933func (s *TestAlarmInput) Validate() error {
34934	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
34935	if s.AlarmName == nil {
34936		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
34937	}
34938	if s.State == nil {
34939		invalidParams.Add(request.NewErrParamRequired("State"))
34940	}
34941
34942	if invalidParams.Len() > 0 {
34943		return invalidParams
34944	}
34945	return nil
34946}
34947
34948// SetAlarmName sets the AlarmName field's value.
34949func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
34950	s.AlarmName = &v
34951	return s
34952}
34953
34954// SetState sets the State field's value.
34955func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
34956	s.State = &v
34957	return s
34958}
34959
34960type TestAlarmOutput struct {
34961	_ struct{} `type:"structure"`
34962
34963	// An array of objects that describe the result of the action, such as the status
34964	// of the request, the timestamp of the request, and the resources affected
34965	// by the request.
34966	Operations []*Operation `locationName:"operations" type:"list"`
34967}
34968
34969// String returns the string representation
34970func (s TestAlarmOutput) String() string {
34971	return awsutil.Prettify(s)
34972}
34973
34974// GoString returns the string representation
34975func (s TestAlarmOutput) GoString() string {
34976	return s.String()
34977}
34978
34979// SetOperations sets the Operations field's value.
34980func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
34981	s.Operations = v
34982	return s
34983}
34984
34985// Lightsail throws this exception when the user has not been authenticated.
34986type UnauthenticatedException struct {
34987	_            struct{}                  `type:"structure"`
34988	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34989
34990	Code_ *string `locationName:"code" type:"string"`
34991
34992	Docs *string `locationName:"docs" type:"string"`
34993
34994	Message_ *string `locationName:"message" type:"string"`
34995
34996	Tip *string `locationName:"tip" type:"string"`
34997}
34998
34999// String returns the string representation
35000func (s UnauthenticatedException) String() string {
35001	return awsutil.Prettify(s)
35002}
35003
35004// GoString returns the string representation
35005func (s UnauthenticatedException) GoString() string {
35006	return s.String()
35007}
35008
35009func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
35010	return &UnauthenticatedException{
35011		RespMetadata: v,
35012	}
35013}
35014
35015// Code returns the exception type name.
35016func (s *UnauthenticatedException) Code() string {
35017	return "UnauthenticatedException"
35018}
35019
35020// Message returns the exception's message.
35021func (s *UnauthenticatedException) Message() string {
35022	if s.Message_ != nil {
35023		return *s.Message_
35024	}
35025	return ""
35026}
35027
35028// OrigErr always returns nil, satisfies awserr.Error interface.
35029func (s *UnauthenticatedException) OrigErr() error {
35030	return nil
35031}
35032
35033func (s *UnauthenticatedException) Error() string {
35034	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
35035}
35036
35037// Status code returns the HTTP status code for the request's response error.
35038func (s *UnauthenticatedException) StatusCode() int {
35039	return s.RespMetadata.StatusCode
35040}
35041
35042// RequestID returns the service's response RequestID for request.
35043func (s *UnauthenticatedException) RequestID() string {
35044	return s.RespMetadata.RequestID
35045}
35046
35047type UnpeerVpcInput struct {
35048	_ struct{} `type:"structure"`
35049}
35050
35051// String returns the string representation
35052func (s UnpeerVpcInput) String() string {
35053	return awsutil.Prettify(s)
35054}
35055
35056// GoString returns the string representation
35057func (s UnpeerVpcInput) GoString() string {
35058	return s.String()
35059}
35060
35061type UnpeerVpcOutput struct {
35062	_ struct{} `type:"structure"`
35063
35064	// An array of objects that describe the result of the action, such as the status
35065	// of the request, the timestamp of the request, and the resources affected
35066	// by the request.
35067	Operation *Operation `locationName:"operation" type:"structure"`
35068}
35069
35070// String returns the string representation
35071func (s UnpeerVpcOutput) String() string {
35072	return awsutil.Prettify(s)
35073}
35074
35075// GoString returns the string representation
35076func (s UnpeerVpcOutput) GoString() string {
35077	return s.String()
35078}
35079
35080// SetOperation sets the Operation field's value.
35081func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
35082	s.Operation = v
35083	return s
35084}
35085
35086type UntagResourceInput struct {
35087	_ struct{} `type:"structure"`
35088
35089	// The Amazon Resource Name (ARN) of the resource from which you want to remove
35090	// a tag.
35091	ResourceArn *string `locationName:"resourceArn" type:"string"`
35092
35093	// The name of the resource from which you are removing a tag.
35094	//
35095	// ResourceName is a required field
35096	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
35097
35098	// The tag keys to delete from the specified resource.
35099	//
35100	// TagKeys is a required field
35101	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
35102}
35103
35104// String returns the string representation
35105func (s UntagResourceInput) String() string {
35106	return awsutil.Prettify(s)
35107}
35108
35109// GoString returns the string representation
35110func (s UntagResourceInput) GoString() string {
35111	return s.String()
35112}
35113
35114// Validate inspects the fields of the type to determine if they are valid.
35115func (s *UntagResourceInput) Validate() error {
35116	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
35117	if s.ResourceName == nil {
35118		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
35119	}
35120	if s.TagKeys == nil {
35121		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
35122	}
35123
35124	if invalidParams.Len() > 0 {
35125		return invalidParams
35126	}
35127	return nil
35128}
35129
35130// SetResourceArn sets the ResourceArn field's value.
35131func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
35132	s.ResourceArn = &v
35133	return s
35134}
35135
35136// SetResourceName sets the ResourceName field's value.
35137func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
35138	s.ResourceName = &v
35139	return s
35140}
35141
35142// SetTagKeys sets the TagKeys field's value.
35143func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
35144	s.TagKeys = v
35145	return s
35146}
35147
35148type UntagResourceOutput struct {
35149	_ struct{} `type:"structure"`
35150
35151	// An array of objects that describe the result of the action, such as the status
35152	// of the request, the timestamp of the request, and the resources affected
35153	// by the request.
35154	Operations []*Operation `locationName:"operations" type:"list"`
35155}
35156
35157// String returns the string representation
35158func (s UntagResourceOutput) String() string {
35159	return awsutil.Prettify(s)
35160}
35161
35162// GoString returns the string representation
35163func (s UntagResourceOutput) GoString() string {
35164	return s.String()
35165}
35166
35167// SetOperations sets the Operations field's value.
35168func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
35169	s.Operations = v
35170	return s
35171}
35172
35173type UpdateContainerServiceInput struct {
35174	_ struct{} `type:"structure"`
35175
35176	// A Boolean value to indicate whether the container service is disabled.
35177	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
35178
35179	// The power for the container service.
35180	//
35181	// The power specifies the amount of memory, vCPUs, and base monthly cost of
35182	// each node of the container service. The power and scale of a container service
35183	// makes up its configured capacity. To determine the monthly price of your
35184	// container service, multiply the base price of the power with the scale (the
35185	// number of nodes) of the service.
35186	//
35187	// Use the GetContainerServicePowers action to view the specifications of each
35188	// power option.
35189	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
35190
35191	// The public domain names to use with the container service, such as example.com
35192	// and www.example.com.
35193	//
35194	// You can specify up to four public domain names for a container service. The
35195	// domain names that you specify are used when you create a deployment with
35196	// a container configured as the public endpoint of your container service.
35197	//
35198	// If you don't specify public domain names, then you can use the default domain
35199	// of the container service.
35200	//
35201	// You must create and validate an SSL/TLS certificate before you can use public
35202	// domain names with your container service. Use the CreateCertificate action
35203	// to create a certificate for the public domain names you want to use with
35204	// your container service.
35205	//
35206	// You can specify public domain names using a string to array map as shown
35207	// in the example later on this page.
35208	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
35209
35210	// The scale for the container service.
35211	//
35212	// The scale specifies the allocated compute nodes of the container service.
35213	// The power and scale of a container service makes up its configured capacity.
35214	// To determine the monthly price of your container service, multiply the base
35215	// price of the power with the scale (the number of nodes) of the service.
35216	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
35217
35218	// The name of the container service to update.
35219	//
35220	// ServiceName is a required field
35221	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
35222}
35223
35224// String returns the string representation
35225func (s UpdateContainerServiceInput) String() string {
35226	return awsutil.Prettify(s)
35227}
35228
35229// GoString returns the string representation
35230func (s UpdateContainerServiceInput) GoString() string {
35231	return s.String()
35232}
35233
35234// Validate inspects the fields of the type to determine if they are valid.
35235func (s *UpdateContainerServiceInput) Validate() error {
35236	invalidParams := request.ErrInvalidParams{Context: "UpdateContainerServiceInput"}
35237	if s.Scale != nil && *s.Scale < 1 {
35238		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
35239	}
35240	if s.ServiceName == nil {
35241		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
35242	}
35243	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
35244		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
35245	}
35246
35247	if invalidParams.Len() > 0 {
35248		return invalidParams
35249	}
35250	return nil
35251}
35252
35253// SetIsDisabled sets the IsDisabled field's value.
35254func (s *UpdateContainerServiceInput) SetIsDisabled(v bool) *UpdateContainerServiceInput {
35255	s.IsDisabled = &v
35256	return s
35257}
35258
35259// SetPower sets the Power field's value.
35260func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerServiceInput {
35261	s.Power = &v
35262	return s
35263}
35264
35265// SetPublicDomainNames sets the PublicDomainNames field's value.
35266func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput {
35267	s.PublicDomainNames = v
35268	return s
35269}
35270
35271// SetScale sets the Scale field's value.
35272func (s *UpdateContainerServiceInput) SetScale(v int64) *UpdateContainerServiceInput {
35273	s.Scale = &v
35274	return s
35275}
35276
35277// SetServiceName sets the ServiceName field's value.
35278func (s *UpdateContainerServiceInput) SetServiceName(v string) *UpdateContainerServiceInput {
35279	s.ServiceName = &v
35280	return s
35281}
35282
35283type UpdateContainerServiceOutput struct {
35284	_ struct{} `type:"structure"`
35285
35286	// An object that describes a container service.
35287	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
35288}
35289
35290// String returns the string representation
35291func (s UpdateContainerServiceOutput) String() string {
35292	return awsutil.Prettify(s)
35293}
35294
35295// GoString returns the string representation
35296func (s UpdateContainerServiceOutput) GoString() string {
35297	return s.String()
35298}
35299
35300// SetContainerService sets the ContainerService field's value.
35301func (s *UpdateContainerServiceOutput) SetContainerService(v *ContainerService) *UpdateContainerServiceOutput {
35302	s.ContainerService = v
35303	return s
35304}
35305
35306type UpdateDistributionBundleInput struct {
35307	_ struct{} `type:"structure"`
35308
35309	// The bundle ID of the new bundle to apply to your distribution.
35310	//
35311	// Use the GetDistributionBundles action to get a list of distribution bundle
35312	// IDs that you can specify.
35313	BundleId *string `locationName:"bundleId" type:"string"`
35314
35315	// The name of the distribution for which to update the bundle.
35316	//
35317	// Use the GetDistributions action to get a list of distribution names that
35318	// you can specify.
35319	DistributionName *string `locationName:"distributionName" type:"string"`
35320}
35321
35322// String returns the string representation
35323func (s UpdateDistributionBundleInput) String() string {
35324	return awsutil.Prettify(s)
35325}
35326
35327// GoString returns the string representation
35328func (s UpdateDistributionBundleInput) GoString() string {
35329	return s.String()
35330}
35331
35332// SetBundleId sets the BundleId field's value.
35333func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
35334	s.BundleId = &v
35335	return s
35336}
35337
35338// SetDistributionName sets the DistributionName field's value.
35339func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
35340	s.DistributionName = &v
35341	return s
35342}
35343
35344type UpdateDistributionBundleOutput struct {
35345	_ struct{} `type:"structure"`
35346
35347	// Describes the API operation.
35348	Operation *Operation `locationName:"operation" type:"structure"`
35349}
35350
35351// String returns the string representation
35352func (s UpdateDistributionBundleOutput) String() string {
35353	return awsutil.Prettify(s)
35354}
35355
35356// GoString returns the string representation
35357func (s UpdateDistributionBundleOutput) GoString() string {
35358	return s.String()
35359}
35360
35361// SetOperation sets the Operation field's value.
35362func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
35363	s.Operation = v
35364	return s
35365}
35366
35367type UpdateDistributionInput struct {
35368	_ struct{} `type:"structure"`
35369
35370	// An object that describes the cache behavior settings for the distribution.
35371	//
35372	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
35373	// replace your distribution's existing settings.
35374	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
35375
35376	// An array of objects that describe the per-path cache behavior for the distribution.
35377	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
35378
35379	// An object that describes the default cache behavior for the distribution.
35380	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
35381
35382	// The name of the distribution to update.
35383	//
35384	// Use the GetDistributions action to get a list of distribution names that
35385	// you can specify.
35386	//
35387	// DistributionName is a required field
35388	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
35389
35390	// Indicates whether to enable the distribution.
35391	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
35392
35393	// An object that describes the origin resource for the distribution, such as
35394	// a Lightsail instance or load balancer.
35395	//
35396	// The distribution pulls, caches, and serves content from the origin.
35397	Origin *InputOrigin `locationName:"origin" type:"structure"`
35398}
35399
35400// String returns the string representation
35401func (s UpdateDistributionInput) String() string {
35402	return awsutil.Prettify(s)
35403}
35404
35405// GoString returns the string representation
35406func (s UpdateDistributionInput) GoString() string {
35407	return s.String()
35408}
35409
35410// Validate inspects the fields of the type to determine if they are valid.
35411func (s *UpdateDistributionInput) Validate() error {
35412	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
35413	if s.DistributionName == nil {
35414		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
35415	}
35416
35417	if invalidParams.Len() > 0 {
35418		return invalidParams
35419	}
35420	return nil
35421}
35422
35423// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
35424func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
35425	s.CacheBehaviorSettings = v
35426	return s
35427}
35428
35429// SetCacheBehaviors sets the CacheBehaviors field's value.
35430func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
35431	s.CacheBehaviors = v
35432	return s
35433}
35434
35435// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
35436func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
35437	s.DefaultCacheBehavior = v
35438	return s
35439}
35440
35441// SetDistributionName sets the DistributionName field's value.
35442func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
35443	s.DistributionName = &v
35444	return s
35445}
35446
35447// SetIsEnabled sets the IsEnabled field's value.
35448func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
35449	s.IsEnabled = &v
35450	return s
35451}
35452
35453// SetOrigin sets the Origin field's value.
35454func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
35455	s.Origin = v
35456	return s
35457}
35458
35459type UpdateDistributionOutput struct {
35460	_ struct{} `type:"structure"`
35461
35462	// An array of objects that describe the result of the action, such as the status
35463	// of the request, the timestamp of the request, and the resources affected
35464	// by the request.
35465	Operation *Operation `locationName:"operation" type:"structure"`
35466}
35467
35468// String returns the string representation
35469func (s UpdateDistributionOutput) String() string {
35470	return awsutil.Prettify(s)
35471}
35472
35473// GoString returns the string representation
35474func (s UpdateDistributionOutput) GoString() string {
35475	return s.String()
35476}
35477
35478// SetOperation sets the Operation field's value.
35479func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
35480	s.Operation = v
35481	return s
35482}
35483
35484type UpdateDomainEntryInput struct {
35485	_ struct{} `type:"structure"`
35486
35487	// An array of key-value pairs containing information about the domain entry.
35488	//
35489	// DomainEntry is a required field
35490	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
35491
35492	// The name of the domain recordset to update.
35493	//
35494	// DomainName is a required field
35495	DomainName *string `locationName:"domainName" type:"string" required:"true"`
35496}
35497
35498// String returns the string representation
35499func (s UpdateDomainEntryInput) String() string {
35500	return awsutil.Prettify(s)
35501}
35502
35503// GoString returns the string representation
35504func (s UpdateDomainEntryInput) GoString() string {
35505	return s.String()
35506}
35507
35508// Validate inspects the fields of the type to determine if they are valid.
35509func (s *UpdateDomainEntryInput) Validate() error {
35510	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
35511	if s.DomainEntry == nil {
35512		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
35513	}
35514	if s.DomainName == nil {
35515		invalidParams.Add(request.NewErrParamRequired("DomainName"))
35516	}
35517
35518	if invalidParams.Len() > 0 {
35519		return invalidParams
35520	}
35521	return nil
35522}
35523
35524// SetDomainEntry sets the DomainEntry field's value.
35525func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
35526	s.DomainEntry = v
35527	return s
35528}
35529
35530// SetDomainName sets the DomainName field's value.
35531func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
35532	s.DomainName = &v
35533	return s
35534}
35535
35536type UpdateDomainEntryOutput struct {
35537	_ struct{} `type:"structure"`
35538
35539	// An array of objects that describe the result of the action, such as the status
35540	// of the request, the timestamp of the request, and the resources affected
35541	// by the request.
35542	Operations []*Operation `locationName:"operations" type:"list"`
35543}
35544
35545// String returns the string representation
35546func (s UpdateDomainEntryOutput) String() string {
35547	return awsutil.Prettify(s)
35548}
35549
35550// GoString returns the string representation
35551func (s UpdateDomainEntryOutput) GoString() string {
35552	return s.String()
35553}
35554
35555// SetOperations sets the Operations field's value.
35556func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
35557	s.Operations = v
35558	return s
35559}
35560
35561type UpdateLoadBalancerAttributeInput struct {
35562	_ struct{} `type:"structure"`
35563
35564	// The name of the attribute you want to update. Valid values are below.
35565	//
35566	// AttributeName is a required field
35567	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
35568
35569	// The value that you want to specify for the attribute name.
35570	//
35571	// AttributeValue is a required field
35572	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
35573
35574	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
35575	//
35576	// LoadBalancerName is a required field
35577	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
35578}
35579
35580// String returns the string representation
35581func (s UpdateLoadBalancerAttributeInput) String() string {
35582	return awsutil.Prettify(s)
35583}
35584
35585// GoString returns the string representation
35586func (s UpdateLoadBalancerAttributeInput) GoString() string {
35587	return s.String()
35588}
35589
35590// Validate inspects the fields of the type to determine if they are valid.
35591func (s *UpdateLoadBalancerAttributeInput) Validate() error {
35592	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
35593	if s.AttributeName == nil {
35594		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
35595	}
35596	if s.AttributeValue == nil {
35597		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
35598	}
35599	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
35600		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
35601	}
35602	if s.LoadBalancerName == nil {
35603		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
35604	}
35605
35606	if invalidParams.Len() > 0 {
35607		return invalidParams
35608	}
35609	return nil
35610}
35611
35612// SetAttributeName sets the AttributeName field's value.
35613func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
35614	s.AttributeName = &v
35615	return s
35616}
35617
35618// SetAttributeValue sets the AttributeValue field's value.
35619func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
35620	s.AttributeValue = &v
35621	return s
35622}
35623
35624// SetLoadBalancerName sets the LoadBalancerName field's value.
35625func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
35626	s.LoadBalancerName = &v
35627	return s
35628}
35629
35630type UpdateLoadBalancerAttributeOutput struct {
35631	_ struct{} `type:"structure"`
35632
35633	// An array of objects that describe the result of the action, such as the status
35634	// of the request, the timestamp of the request, and the resources affected
35635	// by the request.
35636	Operations []*Operation `locationName:"operations" type:"list"`
35637}
35638
35639// String returns the string representation
35640func (s UpdateLoadBalancerAttributeOutput) String() string {
35641	return awsutil.Prettify(s)
35642}
35643
35644// GoString returns the string representation
35645func (s UpdateLoadBalancerAttributeOutput) GoString() string {
35646	return s.String()
35647}
35648
35649// SetOperations sets the Operations field's value.
35650func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
35651	s.Operations = v
35652	return s
35653}
35654
35655type UpdateRelationalDatabaseInput struct {
35656	_ struct{} `type:"structure"`
35657
35658	// When true, applies changes immediately. When false, applies changes during
35659	// the preferred maintenance window. Some changes may cause an outage.
35660	//
35661	// Default: false
35662	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
35663
35664	// Indicates the certificate that needs to be associated with the database.
35665	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
35666
35667	// When true, disables automated backup retention for your database.
35668	//
35669	// Disabling backup retention deletes all automated database backups. Before
35670	// disabling this, you may want to create a snapshot of your database using
35671	// the create relational database snapshot operation.
35672	//
35673	// Updates are applied during the next maintenance window because this can result
35674	// in an outage.
35675	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
35676
35677	// When true, enables automated backup retention for your database.
35678	//
35679	// Updates are applied during the next maintenance window because this can result
35680	// in an outage.
35681	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
35682
35683	// The password for the master user of your database. The password can include
35684	// any printable ASCII character except "/", """, or "@".
35685	//
35686	// Constraints: Must contain 8 to 41 characters.
35687	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
35688
35689	// The daily time range during which automated backups are created for your
35690	// database if automated backups are enabled.
35691	//
35692	// Constraints:
35693	//
35694	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
35695	//
35696	//    * Specified in Coordinated Universal Time (UTC).
35697	//
35698	//    * Must not conflict with the preferred maintenance window.
35699	//
35700	//    * Must be at least 30 minutes.
35701	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
35702
35703	// The weekly time range during which system maintenance can occur on your database.
35704	//
35705	// The default is a 30-minute window selected at random from an 8-hour block
35706	// of time for each AWS Region, occurring on a random day of the week.
35707	//
35708	// Constraints:
35709	//
35710	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
35711	//
35712	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
35713	//
35714	//    * Must be at least 30 minutes.
35715	//
35716	//    * Specified in Coordinated Universal Time (UTC).
35717	//
35718	//    * Example: Tue:17:00-Tue:17:30
35719	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
35720
35721	// Specifies the accessibility options for your database. A value of true specifies
35722	// a database that is available to resources outside of your Lightsail account.
35723	// A value of false specifies a database that is available only to your Lightsail
35724	// resources in the same region as your database.
35725	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
35726
35727	// The name of your database to update.
35728	//
35729	// RelationalDatabaseName is a required field
35730	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
35731
35732	// When true, the master user password is changed to a new strong password generated
35733	// by Lightsail.
35734	//
35735	// Use the get relational database master user password operation to get the
35736	// new password.
35737	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
35738}
35739
35740// String returns the string representation
35741func (s UpdateRelationalDatabaseInput) String() string {
35742	return awsutil.Prettify(s)
35743}
35744
35745// GoString returns the string representation
35746func (s UpdateRelationalDatabaseInput) GoString() string {
35747	return s.String()
35748}
35749
35750// Validate inspects the fields of the type to determine if they are valid.
35751func (s *UpdateRelationalDatabaseInput) Validate() error {
35752	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
35753	if s.RelationalDatabaseName == nil {
35754		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
35755	}
35756
35757	if invalidParams.Len() > 0 {
35758		return invalidParams
35759	}
35760	return nil
35761}
35762
35763// SetApplyImmediately sets the ApplyImmediately field's value.
35764func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
35765	s.ApplyImmediately = &v
35766	return s
35767}
35768
35769// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
35770func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
35771	s.CaCertificateIdentifier = &v
35772	return s
35773}
35774
35775// SetDisableBackupRetention sets the DisableBackupRetention field's value.
35776func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
35777	s.DisableBackupRetention = &v
35778	return s
35779}
35780
35781// SetEnableBackupRetention sets the EnableBackupRetention field's value.
35782func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
35783	s.EnableBackupRetention = &v
35784	return s
35785}
35786
35787// SetMasterUserPassword sets the MasterUserPassword field's value.
35788func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
35789	s.MasterUserPassword = &v
35790	return s
35791}
35792
35793// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
35794func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
35795	s.PreferredBackupWindow = &v
35796	return s
35797}
35798
35799// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
35800func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
35801	s.PreferredMaintenanceWindow = &v
35802	return s
35803}
35804
35805// SetPubliclyAccessible sets the PubliclyAccessible field's value.
35806func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
35807	s.PubliclyAccessible = &v
35808	return s
35809}
35810
35811// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
35812func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
35813	s.RelationalDatabaseName = &v
35814	return s
35815}
35816
35817// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
35818func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
35819	s.RotateMasterUserPassword = &v
35820	return s
35821}
35822
35823type UpdateRelationalDatabaseOutput struct {
35824	_ struct{} `type:"structure"`
35825
35826	// An array of objects that describe the result of the action, such as the status
35827	// of the request, the timestamp of the request, and the resources affected
35828	// by the request.
35829	Operations []*Operation `locationName:"operations" type:"list"`
35830}
35831
35832// String returns the string representation
35833func (s UpdateRelationalDatabaseOutput) String() string {
35834	return awsutil.Prettify(s)
35835}
35836
35837// GoString returns the string representation
35838func (s UpdateRelationalDatabaseOutput) GoString() string {
35839	return s.String()
35840}
35841
35842// SetOperations sets the Operations field's value.
35843func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
35844	s.Operations = v
35845	return s
35846}
35847
35848type UpdateRelationalDatabaseParametersInput struct {
35849	_ struct{} `type:"structure"`
35850
35851	// The database parameters to update.
35852	//
35853	// Parameters is a required field
35854	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
35855
35856	// The name of your database for which to update parameters.
35857	//
35858	// RelationalDatabaseName is a required field
35859	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
35860}
35861
35862// String returns the string representation
35863func (s UpdateRelationalDatabaseParametersInput) String() string {
35864	return awsutil.Prettify(s)
35865}
35866
35867// GoString returns the string representation
35868func (s UpdateRelationalDatabaseParametersInput) GoString() string {
35869	return s.String()
35870}
35871
35872// Validate inspects the fields of the type to determine if they are valid.
35873func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
35874	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
35875	if s.Parameters == nil {
35876		invalidParams.Add(request.NewErrParamRequired("Parameters"))
35877	}
35878	if s.RelationalDatabaseName == nil {
35879		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
35880	}
35881
35882	if invalidParams.Len() > 0 {
35883		return invalidParams
35884	}
35885	return nil
35886}
35887
35888// SetParameters sets the Parameters field's value.
35889func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
35890	s.Parameters = v
35891	return s
35892}
35893
35894// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
35895func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
35896	s.RelationalDatabaseName = &v
35897	return s
35898}
35899
35900type UpdateRelationalDatabaseParametersOutput struct {
35901	_ struct{} `type:"structure"`
35902
35903	// An array of objects that describe the result of the action, such as the status
35904	// of the request, the timestamp of the request, and the resources affected
35905	// by the request.
35906	Operations []*Operation `locationName:"operations" type:"list"`
35907}
35908
35909// String returns the string representation
35910func (s UpdateRelationalDatabaseParametersOutput) String() string {
35911	return awsutil.Prettify(s)
35912}
35913
35914// GoString returns the string representation
35915func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
35916	return s.String()
35917}
35918
35919// SetOperations sets the Operations field's value.
35920func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
35921	s.Operations = v
35922	return s
35923}
35924
35925const (
35926	// AccessDirectionInbound is a AccessDirection enum value
35927	AccessDirectionInbound = "inbound"
35928
35929	// AccessDirectionOutbound is a AccessDirection enum value
35930	AccessDirectionOutbound = "outbound"
35931)
35932
35933// AccessDirection_Values returns all elements of the AccessDirection enum
35934func AccessDirection_Values() []string {
35935	return []string{
35936		AccessDirectionInbound,
35937		AccessDirectionOutbound,
35938	}
35939}
35940
35941const (
35942	// AddOnTypeAutoSnapshot is a AddOnType enum value
35943	AddOnTypeAutoSnapshot = "AutoSnapshot"
35944)
35945
35946// AddOnType_Values returns all elements of the AddOnType enum
35947func AddOnType_Values() []string {
35948	return []string{
35949		AddOnTypeAutoSnapshot,
35950	}
35951}
35952
35953const (
35954	// AlarmStateOk is a AlarmState enum value
35955	AlarmStateOk = "OK"
35956
35957	// AlarmStateAlarm is a AlarmState enum value
35958	AlarmStateAlarm = "ALARM"
35959
35960	// AlarmStateInsufficientData is a AlarmState enum value
35961	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
35962)
35963
35964// AlarmState_Values returns all elements of the AlarmState enum
35965func AlarmState_Values() []string {
35966	return []string{
35967		AlarmStateOk,
35968		AlarmStateAlarm,
35969		AlarmStateInsufficientData,
35970	}
35971}
35972
35973const (
35974	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
35975	AutoSnapshotStatusSuccess = "Success"
35976
35977	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
35978	AutoSnapshotStatusFailed = "Failed"
35979
35980	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
35981	AutoSnapshotStatusInProgress = "InProgress"
35982
35983	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
35984	AutoSnapshotStatusNotFound = "NotFound"
35985)
35986
35987// AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
35988func AutoSnapshotStatus_Values() []string {
35989	return []string{
35990		AutoSnapshotStatusSuccess,
35991		AutoSnapshotStatusFailed,
35992		AutoSnapshotStatusInProgress,
35993		AutoSnapshotStatusNotFound,
35994	}
35995}
35996
35997const (
35998	// BehaviorEnumDontCache is a BehaviorEnum enum value
35999	BehaviorEnumDontCache = "dont-cache"
36000
36001	// BehaviorEnumCache is a BehaviorEnum enum value
36002	BehaviorEnumCache = "cache"
36003)
36004
36005// BehaviorEnum_Values returns all elements of the BehaviorEnum enum
36006func BehaviorEnum_Values() []string {
36007	return []string{
36008		BehaviorEnumDontCache,
36009		BehaviorEnumCache,
36010	}
36011}
36012
36013const (
36014	// BlueprintTypeOs is a BlueprintType enum value
36015	BlueprintTypeOs = "os"
36016
36017	// BlueprintTypeApp is a BlueprintType enum value
36018	BlueprintTypeApp = "app"
36019)
36020
36021// BlueprintType_Values returns all elements of the BlueprintType enum
36022func BlueprintType_Values() []string {
36023	return []string{
36024		BlueprintTypeOs,
36025		BlueprintTypeApp,
36026	}
36027}
36028
36029const (
36030	// CertificateStatusPendingValidation is a CertificateStatus enum value
36031	CertificateStatusPendingValidation = "PENDING_VALIDATION"
36032
36033	// CertificateStatusIssued is a CertificateStatus enum value
36034	CertificateStatusIssued = "ISSUED"
36035
36036	// CertificateStatusInactive is a CertificateStatus enum value
36037	CertificateStatusInactive = "INACTIVE"
36038
36039	// CertificateStatusExpired is a CertificateStatus enum value
36040	CertificateStatusExpired = "EXPIRED"
36041
36042	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
36043	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
36044
36045	// CertificateStatusRevoked is a CertificateStatus enum value
36046	CertificateStatusRevoked = "REVOKED"
36047
36048	// CertificateStatusFailed is a CertificateStatus enum value
36049	CertificateStatusFailed = "FAILED"
36050)
36051
36052// CertificateStatus_Values returns all elements of the CertificateStatus enum
36053func CertificateStatus_Values() []string {
36054	return []string{
36055		CertificateStatusPendingValidation,
36056		CertificateStatusIssued,
36057		CertificateStatusInactive,
36058		CertificateStatusExpired,
36059		CertificateStatusValidationTimedOut,
36060		CertificateStatusRevoked,
36061		CertificateStatusFailed,
36062	}
36063}
36064
36065const (
36066	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
36067	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
36068)
36069
36070// CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
36071func CloudFormationStackRecordSourceType_Values() []string {
36072	return []string{
36073		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
36074	}
36075}
36076
36077const (
36078	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
36079	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
36080
36081	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
36082	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
36083
36084	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
36085	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
36086
36087	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
36088	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
36089)
36090
36091// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
36092func ComparisonOperator_Values() []string {
36093	return []string{
36094		ComparisonOperatorGreaterThanOrEqualToThreshold,
36095		ComparisonOperatorGreaterThanThreshold,
36096		ComparisonOperatorLessThanThreshold,
36097		ComparisonOperatorLessThanOrEqualToThreshold,
36098	}
36099}
36100
36101const (
36102	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
36103	ContactMethodStatusPendingVerification = "PendingVerification"
36104
36105	// ContactMethodStatusValid is a ContactMethodStatus enum value
36106	ContactMethodStatusValid = "Valid"
36107
36108	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
36109	ContactMethodStatusInvalid = "Invalid"
36110)
36111
36112// ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
36113func ContactMethodStatus_Values() []string {
36114	return []string{
36115		ContactMethodStatusPendingVerification,
36116		ContactMethodStatusValid,
36117		ContactMethodStatusInvalid,
36118	}
36119}
36120
36121const (
36122	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
36123	ContactMethodVerificationProtocolEmail = "Email"
36124)
36125
36126// ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
36127func ContactMethodVerificationProtocol_Values() []string {
36128	return []string{
36129		ContactMethodVerificationProtocolEmail,
36130	}
36131}
36132
36133const (
36134	// ContactProtocolEmail is a ContactProtocol enum value
36135	ContactProtocolEmail = "Email"
36136
36137	// ContactProtocolSms is a ContactProtocol enum value
36138	ContactProtocolSms = "SMS"
36139)
36140
36141// ContactProtocol_Values returns all elements of the ContactProtocol enum
36142func ContactProtocol_Values() []string {
36143	return []string{
36144		ContactProtocolEmail,
36145		ContactProtocolSms,
36146	}
36147}
36148
36149const (
36150	// ContainerServiceDeploymentStateActivating is a ContainerServiceDeploymentState enum value
36151	ContainerServiceDeploymentStateActivating = "ACTIVATING"
36152
36153	// ContainerServiceDeploymentStateActive is a ContainerServiceDeploymentState enum value
36154	ContainerServiceDeploymentStateActive = "ACTIVE"
36155
36156	// ContainerServiceDeploymentStateInactive is a ContainerServiceDeploymentState enum value
36157	ContainerServiceDeploymentStateInactive = "INACTIVE"
36158
36159	// ContainerServiceDeploymentStateFailed is a ContainerServiceDeploymentState enum value
36160	ContainerServiceDeploymentStateFailed = "FAILED"
36161)
36162
36163// ContainerServiceDeploymentState_Values returns all elements of the ContainerServiceDeploymentState enum
36164func ContainerServiceDeploymentState_Values() []string {
36165	return []string{
36166		ContainerServiceDeploymentStateActivating,
36167		ContainerServiceDeploymentStateActive,
36168		ContainerServiceDeploymentStateInactive,
36169		ContainerServiceDeploymentStateFailed,
36170	}
36171}
36172
36173const (
36174	// ContainerServiceMetricNameCpuutilization is a ContainerServiceMetricName enum value
36175	ContainerServiceMetricNameCpuutilization = "CPUUtilization"
36176
36177	// ContainerServiceMetricNameMemoryUtilization is a ContainerServiceMetricName enum value
36178	ContainerServiceMetricNameMemoryUtilization = "MemoryUtilization"
36179)
36180
36181// ContainerServiceMetricName_Values returns all elements of the ContainerServiceMetricName enum
36182func ContainerServiceMetricName_Values() []string {
36183	return []string{
36184		ContainerServiceMetricNameCpuutilization,
36185		ContainerServiceMetricNameMemoryUtilization,
36186	}
36187}
36188
36189const (
36190	// ContainerServicePowerNameNano is a ContainerServicePowerName enum value
36191	ContainerServicePowerNameNano = "nano"
36192
36193	// ContainerServicePowerNameMicro is a ContainerServicePowerName enum value
36194	ContainerServicePowerNameMicro = "micro"
36195
36196	// ContainerServicePowerNameSmall is a ContainerServicePowerName enum value
36197	ContainerServicePowerNameSmall = "small"
36198
36199	// ContainerServicePowerNameMedium is a ContainerServicePowerName enum value
36200	ContainerServicePowerNameMedium = "medium"
36201
36202	// ContainerServicePowerNameLarge is a ContainerServicePowerName enum value
36203	ContainerServicePowerNameLarge = "large"
36204
36205	// ContainerServicePowerNameXlarge is a ContainerServicePowerName enum value
36206	ContainerServicePowerNameXlarge = "xlarge"
36207)
36208
36209// ContainerServicePowerName_Values returns all elements of the ContainerServicePowerName enum
36210func ContainerServicePowerName_Values() []string {
36211	return []string{
36212		ContainerServicePowerNameNano,
36213		ContainerServicePowerNameMicro,
36214		ContainerServicePowerNameSmall,
36215		ContainerServicePowerNameMedium,
36216		ContainerServicePowerNameLarge,
36217		ContainerServicePowerNameXlarge,
36218	}
36219}
36220
36221const (
36222	// ContainerServiceProtocolHttp is a ContainerServiceProtocol enum value
36223	ContainerServiceProtocolHttp = "HTTP"
36224
36225	// ContainerServiceProtocolHttps is a ContainerServiceProtocol enum value
36226	ContainerServiceProtocolHttps = "HTTPS"
36227
36228	// ContainerServiceProtocolTcp is a ContainerServiceProtocol enum value
36229	ContainerServiceProtocolTcp = "TCP"
36230
36231	// ContainerServiceProtocolUdp is a ContainerServiceProtocol enum value
36232	ContainerServiceProtocolUdp = "UDP"
36233)
36234
36235// ContainerServiceProtocol_Values returns all elements of the ContainerServiceProtocol enum
36236func ContainerServiceProtocol_Values() []string {
36237	return []string{
36238		ContainerServiceProtocolHttp,
36239		ContainerServiceProtocolHttps,
36240		ContainerServiceProtocolTcp,
36241		ContainerServiceProtocolUdp,
36242	}
36243}
36244
36245const (
36246	// ContainerServiceStatePending is a ContainerServiceState enum value
36247	ContainerServiceStatePending = "PENDING"
36248
36249	// ContainerServiceStateReady is a ContainerServiceState enum value
36250	ContainerServiceStateReady = "READY"
36251
36252	// ContainerServiceStateRunning is a ContainerServiceState enum value
36253	ContainerServiceStateRunning = "RUNNING"
36254
36255	// ContainerServiceStateUpdating is a ContainerServiceState enum value
36256	ContainerServiceStateUpdating = "UPDATING"
36257
36258	// ContainerServiceStateDeleting is a ContainerServiceState enum value
36259	ContainerServiceStateDeleting = "DELETING"
36260
36261	// ContainerServiceStateDisabled is a ContainerServiceState enum value
36262	ContainerServiceStateDisabled = "DISABLED"
36263)
36264
36265// ContainerServiceState_Values returns all elements of the ContainerServiceState enum
36266func ContainerServiceState_Values() []string {
36267	return []string{
36268		ContainerServiceStatePending,
36269		ContainerServiceStateReady,
36270		ContainerServiceStateRunning,
36271		ContainerServiceStateUpdating,
36272		ContainerServiceStateDeleting,
36273		ContainerServiceStateDisabled,
36274	}
36275}
36276
36277const (
36278	// DiskSnapshotStatePending is a DiskSnapshotState enum value
36279	DiskSnapshotStatePending = "pending"
36280
36281	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
36282	DiskSnapshotStateCompleted = "completed"
36283
36284	// DiskSnapshotStateError is a DiskSnapshotState enum value
36285	DiskSnapshotStateError = "error"
36286
36287	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
36288	DiskSnapshotStateUnknown = "unknown"
36289)
36290
36291// DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
36292func DiskSnapshotState_Values() []string {
36293	return []string{
36294		DiskSnapshotStatePending,
36295		DiskSnapshotStateCompleted,
36296		DiskSnapshotStateError,
36297		DiskSnapshotStateUnknown,
36298	}
36299}
36300
36301const (
36302	// DiskStatePending is a DiskState enum value
36303	DiskStatePending = "pending"
36304
36305	// DiskStateError is a DiskState enum value
36306	DiskStateError = "error"
36307
36308	// DiskStateAvailable is a DiskState enum value
36309	DiskStateAvailable = "available"
36310
36311	// DiskStateInUse is a DiskState enum value
36312	DiskStateInUse = "in-use"
36313
36314	// DiskStateUnknown is a DiskState enum value
36315	DiskStateUnknown = "unknown"
36316)
36317
36318// DiskState_Values returns all elements of the DiskState enum
36319func DiskState_Values() []string {
36320	return []string{
36321		DiskStatePending,
36322		DiskStateError,
36323		DiskStateAvailable,
36324		DiskStateInUse,
36325		DiskStateUnknown,
36326	}
36327}
36328
36329const (
36330	// DistributionMetricNameRequests is a DistributionMetricName enum value
36331	DistributionMetricNameRequests = "Requests"
36332
36333	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
36334	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
36335
36336	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
36337	DistributionMetricNameBytesUploaded = "BytesUploaded"
36338
36339	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
36340	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
36341
36342	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
36343	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
36344
36345	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
36346	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
36347)
36348
36349// DistributionMetricName_Values returns all elements of the DistributionMetricName enum
36350func DistributionMetricName_Values() []string {
36351	return []string{
36352		DistributionMetricNameRequests,
36353		DistributionMetricNameBytesDownloaded,
36354		DistributionMetricNameBytesUploaded,
36355		DistributionMetricNameTotalErrorRate,
36356		DistributionMetricNameHttp4xxErrorRate,
36357		DistributionMetricNameHttp5xxErrorRate,
36358	}
36359}
36360
36361const (
36362	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
36363	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
36364
36365	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
36366	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
36367)
36368
36369// ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
36370func ExportSnapshotRecordSourceType_Values() []string {
36371	return []string{
36372		ExportSnapshotRecordSourceTypeInstanceSnapshot,
36373		ExportSnapshotRecordSourceTypeDiskSnapshot,
36374	}
36375}
36376
36377const (
36378	// ForwardValuesNone is a ForwardValues enum value
36379	ForwardValuesNone = "none"
36380
36381	// ForwardValuesAllowList is a ForwardValues enum value
36382	ForwardValuesAllowList = "allow-list"
36383
36384	// ForwardValuesAll is a ForwardValues enum value
36385	ForwardValuesAll = "all"
36386)
36387
36388// ForwardValues_Values returns all elements of the ForwardValues enum
36389func ForwardValues_Values() []string {
36390	return []string{
36391		ForwardValuesNone,
36392		ForwardValuesAllowList,
36393		ForwardValuesAll,
36394	}
36395}
36396
36397const (
36398	// HeaderEnumAccept is a HeaderEnum enum value
36399	HeaderEnumAccept = "Accept"
36400
36401	// HeaderEnumAcceptCharset is a HeaderEnum enum value
36402	HeaderEnumAcceptCharset = "Accept-Charset"
36403
36404	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
36405	HeaderEnumAcceptDatetime = "Accept-Datetime"
36406
36407	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
36408	HeaderEnumAcceptEncoding = "Accept-Encoding"
36409
36410	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
36411	HeaderEnumAcceptLanguage = "Accept-Language"
36412
36413	// HeaderEnumAuthorization is a HeaderEnum enum value
36414	HeaderEnumAuthorization = "Authorization"
36415
36416	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
36417	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
36418
36419	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
36420	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
36421
36422	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
36423	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
36424
36425	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
36426	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
36427
36428	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
36429	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
36430
36431	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
36432	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
36433
36434	// HeaderEnumHost is a HeaderEnum enum value
36435	HeaderEnumHost = "Host"
36436
36437	// HeaderEnumOrigin is a HeaderEnum enum value
36438	HeaderEnumOrigin = "Origin"
36439
36440	// HeaderEnumReferer is a HeaderEnum enum value
36441	HeaderEnumReferer = "Referer"
36442)
36443
36444// HeaderEnum_Values returns all elements of the HeaderEnum enum
36445func HeaderEnum_Values() []string {
36446	return []string{
36447		HeaderEnumAccept,
36448		HeaderEnumAcceptCharset,
36449		HeaderEnumAcceptDatetime,
36450		HeaderEnumAcceptEncoding,
36451		HeaderEnumAcceptLanguage,
36452		HeaderEnumAuthorization,
36453		HeaderEnumCloudFrontForwardedProto,
36454		HeaderEnumCloudFrontIsDesktopViewer,
36455		HeaderEnumCloudFrontIsMobileViewer,
36456		HeaderEnumCloudFrontIsSmartTvViewer,
36457		HeaderEnumCloudFrontIsTabletViewer,
36458		HeaderEnumCloudFrontViewerCountry,
36459		HeaderEnumHost,
36460		HeaderEnumOrigin,
36461		HeaderEnumReferer,
36462	}
36463}
36464
36465const (
36466	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
36467	InstanceAccessProtocolSsh = "ssh"
36468
36469	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
36470	InstanceAccessProtocolRdp = "rdp"
36471)
36472
36473// InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
36474func InstanceAccessProtocol_Values() []string {
36475	return []string{
36476		InstanceAccessProtocolSsh,
36477		InstanceAccessProtocolRdp,
36478	}
36479}
36480
36481const (
36482	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
36483	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
36484
36485	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
36486	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
36487
36488	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
36489	InstanceHealthReasonLbInternalError = "Lb.InternalError"
36490
36491	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
36492	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
36493
36494	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
36495	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
36496
36497	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
36498	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
36499
36500	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
36501	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
36502
36503	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
36504	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
36505
36506	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
36507	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
36508
36509	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
36510	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
36511
36512	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
36513	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
36514)
36515
36516// InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
36517func InstanceHealthReason_Values() []string {
36518	return []string{
36519		InstanceHealthReasonLbRegistrationInProgress,
36520		InstanceHealthReasonLbInitialHealthChecking,
36521		InstanceHealthReasonLbInternalError,
36522		InstanceHealthReasonInstanceResponseCodeMismatch,
36523		InstanceHealthReasonInstanceTimeout,
36524		InstanceHealthReasonInstanceFailedHealthChecks,
36525		InstanceHealthReasonInstanceNotRegistered,
36526		InstanceHealthReasonInstanceNotInUse,
36527		InstanceHealthReasonInstanceDeregistrationInProgress,
36528		InstanceHealthReasonInstanceInvalidState,
36529		InstanceHealthReasonInstanceIpUnusable,
36530	}
36531}
36532
36533const (
36534	// InstanceHealthStateInitial is a InstanceHealthState enum value
36535	InstanceHealthStateInitial = "initial"
36536
36537	// InstanceHealthStateHealthy is a InstanceHealthState enum value
36538	InstanceHealthStateHealthy = "healthy"
36539
36540	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
36541	InstanceHealthStateUnhealthy = "unhealthy"
36542
36543	// InstanceHealthStateUnused is a InstanceHealthState enum value
36544	InstanceHealthStateUnused = "unused"
36545
36546	// InstanceHealthStateDraining is a InstanceHealthState enum value
36547	InstanceHealthStateDraining = "draining"
36548
36549	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
36550	InstanceHealthStateUnavailable = "unavailable"
36551)
36552
36553// InstanceHealthState_Values returns all elements of the InstanceHealthState enum
36554func InstanceHealthState_Values() []string {
36555	return []string{
36556		InstanceHealthStateInitial,
36557		InstanceHealthStateHealthy,
36558		InstanceHealthStateUnhealthy,
36559		InstanceHealthStateUnused,
36560		InstanceHealthStateDraining,
36561		InstanceHealthStateUnavailable,
36562	}
36563}
36564
36565const (
36566	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
36567	InstanceMetricNameCpuutilization = "CPUUtilization"
36568
36569	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
36570	InstanceMetricNameNetworkIn = "NetworkIn"
36571
36572	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
36573	InstanceMetricNameNetworkOut = "NetworkOut"
36574
36575	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
36576	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
36577
36578	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
36579	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
36580
36581	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
36582	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
36583
36584	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
36585	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
36586
36587	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
36588	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
36589)
36590
36591// InstanceMetricName_Values returns all elements of the InstanceMetricName enum
36592func InstanceMetricName_Values() []string {
36593	return []string{
36594		InstanceMetricNameCpuutilization,
36595		InstanceMetricNameNetworkIn,
36596		InstanceMetricNameNetworkOut,
36597		InstanceMetricNameStatusCheckFailed,
36598		InstanceMetricNameStatusCheckFailedInstance,
36599		InstanceMetricNameStatusCheckFailedSystem,
36600		InstanceMetricNameBurstCapacityTime,
36601		InstanceMetricNameBurstCapacityPercentage,
36602	}
36603}
36604
36605const (
36606	// InstancePlatformLinuxUnix is a InstancePlatform enum value
36607	InstancePlatformLinuxUnix = "LINUX_UNIX"
36608
36609	// InstancePlatformWindows is a InstancePlatform enum value
36610	InstancePlatformWindows = "WINDOWS"
36611)
36612
36613// InstancePlatform_Values returns all elements of the InstancePlatform enum
36614func InstancePlatform_Values() []string {
36615	return []string{
36616		InstancePlatformLinuxUnix,
36617		InstancePlatformWindows,
36618	}
36619}
36620
36621const (
36622	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
36623	InstanceSnapshotStatePending = "pending"
36624
36625	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
36626	InstanceSnapshotStateError = "error"
36627
36628	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
36629	InstanceSnapshotStateAvailable = "available"
36630)
36631
36632// InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
36633func InstanceSnapshotState_Values() []string {
36634	return []string{
36635		InstanceSnapshotStatePending,
36636		InstanceSnapshotStateError,
36637		InstanceSnapshotStateAvailable,
36638	}
36639}
36640
36641const (
36642	// IpAddressTypeDualstack is a IpAddressType enum value
36643	IpAddressTypeDualstack = "dualstack"
36644
36645	// IpAddressTypeIpv4 is a IpAddressType enum value
36646	IpAddressTypeIpv4 = "ipv4"
36647)
36648
36649// IpAddressType_Values returns all elements of the IpAddressType enum
36650func IpAddressType_Values() []string {
36651	return []string{
36652		IpAddressTypeDualstack,
36653		IpAddressTypeIpv4,
36654	}
36655}
36656
36657const (
36658	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
36659	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
36660
36661	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
36662	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
36663
36664	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
36665	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
36666)
36667
36668// LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
36669func LoadBalancerAttributeName_Values() []string {
36670	return []string{
36671		LoadBalancerAttributeNameHealthCheckPath,
36672		LoadBalancerAttributeNameSessionStickinessEnabled,
36673		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
36674	}
36675}
36676
36677const (
36678	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
36679	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
36680
36681	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
36682	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
36683
36684	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
36685	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
36686
36687	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
36688	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
36689
36690	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
36691	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
36692
36693	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
36694	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
36695
36696	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
36697	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
36698
36699	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
36700	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
36701
36702	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
36703	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
36704
36705	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
36706	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
36707
36708	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
36709	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
36710
36711	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
36712	LoadBalancerMetricNameRequestCount = "RequestCount"
36713)
36714
36715// LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
36716func LoadBalancerMetricName_Values() []string {
36717	return []string{
36718		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
36719		LoadBalancerMetricNameHealthyHostCount,
36720		LoadBalancerMetricNameUnhealthyHostCount,
36721		LoadBalancerMetricNameHttpcodeLb4xxCount,
36722		LoadBalancerMetricNameHttpcodeLb5xxCount,
36723		LoadBalancerMetricNameHttpcodeInstance2xxCount,
36724		LoadBalancerMetricNameHttpcodeInstance3xxCount,
36725		LoadBalancerMetricNameHttpcodeInstance4xxCount,
36726		LoadBalancerMetricNameHttpcodeInstance5xxCount,
36727		LoadBalancerMetricNameInstanceResponseTime,
36728		LoadBalancerMetricNameRejectedConnectionCount,
36729		LoadBalancerMetricNameRequestCount,
36730	}
36731}
36732
36733const (
36734	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
36735	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
36736
36737	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
36738	LoadBalancerProtocolHttp = "HTTP"
36739)
36740
36741// LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
36742func LoadBalancerProtocol_Values() []string {
36743	return []string{
36744		LoadBalancerProtocolHttpHttps,
36745		LoadBalancerProtocolHttp,
36746	}
36747}
36748
36749const (
36750	// LoadBalancerStateActive is a LoadBalancerState enum value
36751	LoadBalancerStateActive = "active"
36752
36753	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
36754	LoadBalancerStateProvisioning = "provisioning"
36755
36756	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
36757	LoadBalancerStateActiveImpaired = "active_impaired"
36758
36759	// LoadBalancerStateFailed is a LoadBalancerState enum value
36760	LoadBalancerStateFailed = "failed"
36761
36762	// LoadBalancerStateUnknown is a LoadBalancerState enum value
36763	LoadBalancerStateUnknown = "unknown"
36764)
36765
36766// LoadBalancerState_Values returns all elements of the LoadBalancerState enum
36767func LoadBalancerState_Values() []string {
36768	return []string{
36769		LoadBalancerStateActive,
36770		LoadBalancerStateProvisioning,
36771		LoadBalancerStateActiveImpaired,
36772		LoadBalancerStateFailed,
36773		LoadBalancerStateUnknown,
36774	}
36775}
36776
36777const (
36778	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
36779	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
36780
36781	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
36782	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
36783
36784	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
36785	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
36786)
36787
36788// LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
36789func LoadBalancerTlsCertificateDomainStatus_Values() []string {
36790	return []string{
36791		LoadBalancerTlsCertificateDomainStatusPendingValidation,
36792		LoadBalancerTlsCertificateDomainStatusFailed,
36793		LoadBalancerTlsCertificateDomainStatusSuccess,
36794	}
36795}
36796
36797const (
36798	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
36799	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
36800
36801	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
36802	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
36803
36804	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
36805	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
36806
36807	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
36808	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
36809
36810	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
36811	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
36812)
36813
36814// LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
36815func LoadBalancerTlsCertificateFailureReason_Values() []string {
36816	return []string{
36817		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
36818		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
36819		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
36820		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
36821		LoadBalancerTlsCertificateFailureReasonOther,
36822	}
36823}
36824
36825const (
36826	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
36827	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
36828
36829	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
36830	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
36831
36832	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
36833	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
36834
36835	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
36836	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
36837)
36838
36839// LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
36840func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
36841	return []string{
36842		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
36843		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
36844		LoadBalancerTlsCertificateRenewalStatusSuccess,
36845		LoadBalancerTlsCertificateRenewalStatusFailed,
36846	}
36847}
36848
36849const (
36850	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
36851	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
36852
36853	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
36854	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
36855
36856	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
36857	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
36858
36859	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
36860	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
36861
36862	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
36863	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
36864
36865	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
36866	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
36867
36868	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
36869	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
36870
36871	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
36872	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
36873
36874	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
36875	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
36876
36877	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
36878	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
36879)
36880
36881// LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
36882func LoadBalancerTlsCertificateRevocationReason_Values() []string {
36883	return []string{
36884		LoadBalancerTlsCertificateRevocationReasonUnspecified,
36885		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
36886		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
36887		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
36888		LoadBalancerTlsCertificateRevocationReasonSuperceded,
36889		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
36890		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
36891		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
36892		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
36893		LoadBalancerTlsCertificateRevocationReasonAACompromise,
36894	}
36895}
36896
36897const (
36898	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
36899	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
36900
36901	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
36902	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
36903
36904	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
36905	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
36906
36907	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
36908	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
36909
36910	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
36911	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
36912
36913	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
36914	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
36915
36916	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
36917	LoadBalancerTlsCertificateStatusFailed = "FAILED"
36918
36919	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
36920	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
36921)
36922
36923// LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
36924func LoadBalancerTlsCertificateStatus_Values() []string {
36925	return []string{
36926		LoadBalancerTlsCertificateStatusPendingValidation,
36927		LoadBalancerTlsCertificateStatusIssued,
36928		LoadBalancerTlsCertificateStatusInactive,
36929		LoadBalancerTlsCertificateStatusExpired,
36930		LoadBalancerTlsCertificateStatusValidationTimedOut,
36931		LoadBalancerTlsCertificateStatusRevoked,
36932		LoadBalancerTlsCertificateStatusFailed,
36933		LoadBalancerTlsCertificateStatusUnknown,
36934	}
36935}
36936
36937const (
36938	// MetricNameCpuutilization is a MetricName enum value
36939	MetricNameCpuutilization = "CPUUtilization"
36940
36941	// MetricNameNetworkIn is a MetricName enum value
36942	MetricNameNetworkIn = "NetworkIn"
36943
36944	// MetricNameNetworkOut is a MetricName enum value
36945	MetricNameNetworkOut = "NetworkOut"
36946
36947	// MetricNameStatusCheckFailed is a MetricName enum value
36948	MetricNameStatusCheckFailed = "StatusCheckFailed"
36949
36950	// MetricNameStatusCheckFailedInstance is a MetricName enum value
36951	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
36952
36953	// MetricNameStatusCheckFailedSystem is a MetricName enum value
36954	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
36955
36956	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
36957	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
36958
36959	// MetricNameHealthyHostCount is a MetricName enum value
36960	MetricNameHealthyHostCount = "HealthyHostCount"
36961
36962	// MetricNameUnhealthyHostCount is a MetricName enum value
36963	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
36964
36965	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
36966	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
36967
36968	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
36969	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
36970
36971	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
36972	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
36973
36974	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
36975	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
36976
36977	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
36978	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
36979
36980	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
36981	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
36982
36983	// MetricNameInstanceResponseTime is a MetricName enum value
36984	MetricNameInstanceResponseTime = "InstanceResponseTime"
36985
36986	// MetricNameRejectedConnectionCount is a MetricName enum value
36987	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
36988
36989	// MetricNameRequestCount is a MetricName enum value
36990	MetricNameRequestCount = "RequestCount"
36991
36992	// MetricNameDatabaseConnections is a MetricName enum value
36993	MetricNameDatabaseConnections = "DatabaseConnections"
36994
36995	// MetricNameDiskQueueDepth is a MetricName enum value
36996	MetricNameDiskQueueDepth = "DiskQueueDepth"
36997
36998	// MetricNameFreeStorageSpace is a MetricName enum value
36999	MetricNameFreeStorageSpace = "FreeStorageSpace"
37000
37001	// MetricNameNetworkReceiveThroughput is a MetricName enum value
37002	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
37003
37004	// MetricNameNetworkTransmitThroughput is a MetricName enum value
37005	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
37006
37007	// MetricNameBurstCapacityTime is a MetricName enum value
37008	MetricNameBurstCapacityTime = "BurstCapacityTime"
37009
37010	// MetricNameBurstCapacityPercentage is a MetricName enum value
37011	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
37012)
37013
37014// MetricName_Values returns all elements of the MetricName enum
37015func MetricName_Values() []string {
37016	return []string{
37017		MetricNameCpuutilization,
37018		MetricNameNetworkIn,
37019		MetricNameNetworkOut,
37020		MetricNameStatusCheckFailed,
37021		MetricNameStatusCheckFailedInstance,
37022		MetricNameStatusCheckFailedSystem,
37023		MetricNameClientTlsnegotiationErrorCount,
37024		MetricNameHealthyHostCount,
37025		MetricNameUnhealthyHostCount,
37026		MetricNameHttpcodeLb4xxCount,
37027		MetricNameHttpcodeLb5xxCount,
37028		MetricNameHttpcodeInstance2xxCount,
37029		MetricNameHttpcodeInstance3xxCount,
37030		MetricNameHttpcodeInstance4xxCount,
37031		MetricNameHttpcodeInstance5xxCount,
37032		MetricNameInstanceResponseTime,
37033		MetricNameRejectedConnectionCount,
37034		MetricNameRequestCount,
37035		MetricNameDatabaseConnections,
37036		MetricNameDiskQueueDepth,
37037		MetricNameFreeStorageSpace,
37038		MetricNameNetworkReceiveThroughput,
37039		MetricNameNetworkTransmitThroughput,
37040		MetricNameBurstCapacityTime,
37041		MetricNameBurstCapacityPercentage,
37042	}
37043}
37044
37045const (
37046	// MetricStatisticMinimum is a MetricStatistic enum value
37047	MetricStatisticMinimum = "Minimum"
37048
37049	// MetricStatisticMaximum is a MetricStatistic enum value
37050	MetricStatisticMaximum = "Maximum"
37051
37052	// MetricStatisticSum is a MetricStatistic enum value
37053	MetricStatisticSum = "Sum"
37054
37055	// MetricStatisticAverage is a MetricStatistic enum value
37056	MetricStatisticAverage = "Average"
37057
37058	// MetricStatisticSampleCount is a MetricStatistic enum value
37059	MetricStatisticSampleCount = "SampleCount"
37060)
37061
37062// MetricStatistic_Values returns all elements of the MetricStatistic enum
37063func MetricStatistic_Values() []string {
37064	return []string{
37065		MetricStatisticMinimum,
37066		MetricStatisticMaximum,
37067		MetricStatisticSum,
37068		MetricStatisticAverage,
37069		MetricStatisticSampleCount,
37070	}
37071}
37072
37073const (
37074	// MetricUnitSeconds is a MetricUnit enum value
37075	MetricUnitSeconds = "Seconds"
37076
37077	// MetricUnitMicroseconds is a MetricUnit enum value
37078	MetricUnitMicroseconds = "Microseconds"
37079
37080	// MetricUnitMilliseconds is a MetricUnit enum value
37081	MetricUnitMilliseconds = "Milliseconds"
37082
37083	// MetricUnitBytes is a MetricUnit enum value
37084	MetricUnitBytes = "Bytes"
37085
37086	// MetricUnitKilobytes is a MetricUnit enum value
37087	MetricUnitKilobytes = "Kilobytes"
37088
37089	// MetricUnitMegabytes is a MetricUnit enum value
37090	MetricUnitMegabytes = "Megabytes"
37091
37092	// MetricUnitGigabytes is a MetricUnit enum value
37093	MetricUnitGigabytes = "Gigabytes"
37094
37095	// MetricUnitTerabytes is a MetricUnit enum value
37096	MetricUnitTerabytes = "Terabytes"
37097
37098	// MetricUnitBits is a MetricUnit enum value
37099	MetricUnitBits = "Bits"
37100
37101	// MetricUnitKilobits is a MetricUnit enum value
37102	MetricUnitKilobits = "Kilobits"
37103
37104	// MetricUnitMegabits is a MetricUnit enum value
37105	MetricUnitMegabits = "Megabits"
37106
37107	// MetricUnitGigabits is a MetricUnit enum value
37108	MetricUnitGigabits = "Gigabits"
37109
37110	// MetricUnitTerabits is a MetricUnit enum value
37111	MetricUnitTerabits = "Terabits"
37112
37113	// MetricUnitPercent is a MetricUnit enum value
37114	MetricUnitPercent = "Percent"
37115
37116	// MetricUnitCount is a MetricUnit enum value
37117	MetricUnitCount = "Count"
37118
37119	// MetricUnitBytesSecond is a MetricUnit enum value
37120	MetricUnitBytesSecond = "Bytes/Second"
37121
37122	// MetricUnitKilobytesSecond is a MetricUnit enum value
37123	MetricUnitKilobytesSecond = "Kilobytes/Second"
37124
37125	// MetricUnitMegabytesSecond is a MetricUnit enum value
37126	MetricUnitMegabytesSecond = "Megabytes/Second"
37127
37128	// MetricUnitGigabytesSecond is a MetricUnit enum value
37129	MetricUnitGigabytesSecond = "Gigabytes/Second"
37130
37131	// MetricUnitTerabytesSecond is a MetricUnit enum value
37132	MetricUnitTerabytesSecond = "Terabytes/Second"
37133
37134	// MetricUnitBitsSecond is a MetricUnit enum value
37135	MetricUnitBitsSecond = "Bits/Second"
37136
37137	// MetricUnitKilobitsSecond is a MetricUnit enum value
37138	MetricUnitKilobitsSecond = "Kilobits/Second"
37139
37140	// MetricUnitMegabitsSecond is a MetricUnit enum value
37141	MetricUnitMegabitsSecond = "Megabits/Second"
37142
37143	// MetricUnitGigabitsSecond is a MetricUnit enum value
37144	MetricUnitGigabitsSecond = "Gigabits/Second"
37145
37146	// MetricUnitTerabitsSecond is a MetricUnit enum value
37147	MetricUnitTerabitsSecond = "Terabits/Second"
37148
37149	// MetricUnitCountSecond is a MetricUnit enum value
37150	MetricUnitCountSecond = "Count/Second"
37151
37152	// MetricUnitNone is a MetricUnit enum value
37153	MetricUnitNone = "None"
37154)
37155
37156// MetricUnit_Values returns all elements of the MetricUnit enum
37157func MetricUnit_Values() []string {
37158	return []string{
37159		MetricUnitSeconds,
37160		MetricUnitMicroseconds,
37161		MetricUnitMilliseconds,
37162		MetricUnitBytes,
37163		MetricUnitKilobytes,
37164		MetricUnitMegabytes,
37165		MetricUnitGigabytes,
37166		MetricUnitTerabytes,
37167		MetricUnitBits,
37168		MetricUnitKilobits,
37169		MetricUnitMegabits,
37170		MetricUnitGigabits,
37171		MetricUnitTerabits,
37172		MetricUnitPercent,
37173		MetricUnitCount,
37174		MetricUnitBytesSecond,
37175		MetricUnitKilobytesSecond,
37176		MetricUnitMegabytesSecond,
37177		MetricUnitGigabytesSecond,
37178		MetricUnitTerabytesSecond,
37179		MetricUnitBitsSecond,
37180		MetricUnitKilobitsSecond,
37181		MetricUnitMegabitsSecond,
37182		MetricUnitGigabitsSecond,
37183		MetricUnitTerabitsSecond,
37184		MetricUnitCountSecond,
37185		MetricUnitNone,
37186	}
37187}
37188
37189const (
37190	// NetworkProtocolTcp is a NetworkProtocol enum value
37191	NetworkProtocolTcp = "tcp"
37192
37193	// NetworkProtocolAll is a NetworkProtocol enum value
37194	NetworkProtocolAll = "all"
37195
37196	// NetworkProtocolUdp is a NetworkProtocol enum value
37197	NetworkProtocolUdp = "udp"
37198
37199	// NetworkProtocolIcmp is a NetworkProtocol enum value
37200	NetworkProtocolIcmp = "icmp"
37201)
37202
37203// NetworkProtocol_Values returns all elements of the NetworkProtocol enum
37204func NetworkProtocol_Values() []string {
37205	return []string{
37206		NetworkProtocolTcp,
37207		NetworkProtocolAll,
37208		NetworkProtocolUdp,
37209		NetworkProtocolIcmp,
37210	}
37211}
37212
37213const (
37214	// OperationStatusNotStarted is a OperationStatus enum value
37215	OperationStatusNotStarted = "NotStarted"
37216
37217	// OperationStatusStarted is a OperationStatus enum value
37218	OperationStatusStarted = "Started"
37219
37220	// OperationStatusFailed is a OperationStatus enum value
37221	OperationStatusFailed = "Failed"
37222
37223	// OperationStatusCompleted is a OperationStatus enum value
37224	OperationStatusCompleted = "Completed"
37225
37226	// OperationStatusSucceeded is a OperationStatus enum value
37227	OperationStatusSucceeded = "Succeeded"
37228)
37229
37230// OperationStatus_Values returns all elements of the OperationStatus enum
37231func OperationStatus_Values() []string {
37232	return []string{
37233		OperationStatusNotStarted,
37234		OperationStatusStarted,
37235		OperationStatusFailed,
37236		OperationStatusCompleted,
37237		OperationStatusSucceeded,
37238	}
37239}
37240
37241const (
37242	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
37243	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
37244
37245	// OperationTypeDeleteInstance is a OperationType enum value
37246	OperationTypeDeleteInstance = "DeleteInstance"
37247
37248	// OperationTypeCreateInstance is a OperationType enum value
37249	OperationTypeCreateInstance = "CreateInstance"
37250
37251	// OperationTypeStopInstance is a OperationType enum value
37252	OperationTypeStopInstance = "StopInstance"
37253
37254	// OperationTypeStartInstance is a OperationType enum value
37255	OperationTypeStartInstance = "StartInstance"
37256
37257	// OperationTypeRebootInstance is a OperationType enum value
37258	OperationTypeRebootInstance = "RebootInstance"
37259
37260	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
37261	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
37262
37263	// OperationTypePutInstancePublicPorts is a OperationType enum value
37264	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
37265
37266	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
37267	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
37268
37269	// OperationTypeAllocateStaticIp is a OperationType enum value
37270	OperationTypeAllocateStaticIp = "AllocateStaticIp"
37271
37272	// OperationTypeReleaseStaticIp is a OperationType enum value
37273	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
37274
37275	// OperationTypeAttachStaticIp is a OperationType enum value
37276	OperationTypeAttachStaticIp = "AttachStaticIp"
37277
37278	// OperationTypeDetachStaticIp is a OperationType enum value
37279	OperationTypeDetachStaticIp = "DetachStaticIp"
37280
37281	// OperationTypeUpdateDomainEntry is a OperationType enum value
37282	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
37283
37284	// OperationTypeDeleteDomainEntry is a OperationType enum value
37285	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
37286
37287	// OperationTypeCreateDomain is a OperationType enum value
37288	OperationTypeCreateDomain = "CreateDomain"
37289
37290	// OperationTypeDeleteDomain is a OperationType enum value
37291	OperationTypeDeleteDomain = "DeleteDomain"
37292
37293	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
37294	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
37295
37296	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
37297	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
37298
37299	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
37300	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
37301
37302	// OperationTypeCreateLoadBalancer is a OperationType enum value
37303	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
37304
37305	// OperationTypeDeleteLoadBalancer is a OperationType enum value
37306	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
37307
37308	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
37309	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
37310
37311	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
37312	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
37313
37314	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
37315	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
37316
37317	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
37318	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
37319
37320	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
37321	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
37322
37323	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
37324	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
37325
37326	// OperationTypeCreateDisk is a OperationType enum value
37327	OperationTypeCreateDisk = "CreateDisk"
37328
37329	// OperationTypeDeleteDisk is a OperationType enum value
37330	OperationTypeDeleteDisk = "DeleteDisk"
37331
37332	// OperationTypeAttachDisk is a OperationType enum value
37333	OperationTypeAttachDisk = "AttachDisk"
37334
37335	// OperationTypeDetachDisk is a OperationType enum value
37336	OperationTypeDetachDisk = "DetachDisk"
37337
37338	// OperationTypeCreateDiskSnapshot is a OperationType enum value
37339	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
37340
37341	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
37342	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
37343
37344	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
37345	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
37346
37347	// OperationTypeCreateRelationalDatabase is a OperationType enum value
37348	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
37349
37350	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
37351	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
37352
37353	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
37354	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
37355
37356	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
37357	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
37358
37359	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
37360	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
37361
37362	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
37363	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
37364
37365	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
37366	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
37367
37368	// OperationTypeStartRelationalDatabase is a OperationType enum value
37369	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
37370
37371	// OperationTypeRebootRelationalDatabase is a OperationType enum value
37372	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
37373
37374	// OperationTypeStopRelationalDatabase is a OperationType enum value
37375	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
37376
37377	// OperationTypeEnableAddOn is a OperationType enum value
37378	OperationTypeEnableAddOn = "EnableAddOn"
37379
37380	// OperationTypeDisableAddOn is a OperationType enum value
37381	OperationTypeDisableAddOn = "DisableAddOn"
37382
37383	// OperationTypePutAlarm is a OperationType enum value
37384	OperationTypePutAlarm = "PutAlarm"
37385
37386	// OperationTypeGetAlarms is a OperationType enum value
37387	OperationTypeGetAlarms = "GetAlarms"
37388
37389	// OperationTypeDeleteAlarm is a OperationType enum value
37390	OperationTypeDeleteAlarm = "DeleteAlarm"
37391
37392	// OperationTypeTestAlarm is a OperationType enum value
37393	OperationTypeTestAlarm = "TestAlarm"
37394
37395	// OperationTypeCreateContactMethod is a OperationType enum value
37396	OperationTypeCreateContactMethod = "CreateContactMethod"
37397
37398	// OperationTypeGetContactMethods is a OperationType enum value
37399	OperationTypeGetContactMethods = "GetContactMethods"
37400
37401	// OperationTypeSendContactMethodVerification is a OperationType enum value
37402	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
37403
37404	// OperationTypeDeleteContactMethod is a OperationType enum value
37405	OperationTypeDeleteContactMethod = "DeleteContactMethod"
37406
37407	// OperationTypeCreateDistribution is a OperationType enum value
37408	OperationTypeCreateDistribution = "CreateDistribution"
37409
37410	// OperationTypeUpdateDistribution is a OperationType enum value
37411	OperationTypeUpdateDistribution = "UpdateDistribution"
37412
37413	// OperationTypeDeleteDistribution is a OperationType enum value
37414	OperationTypeDeleteDistribution = "DeleteDistribution"
37415
37416	// OperationTypeResetDistributionCache is a OperationType enum value
37417	OperationTypeResetDistributionCache = "ResetDistributionCache"
37418
37419	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
37420	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
37421
37422	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
37423	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
37424
37425	// OperationTypeUpdateDistributionBundle is a OperationType enum value
37426	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
37427
37428	// OperationTypeSetIpAddressType is a OperationType enum value
37429	OperationTypeSetIpAddressType = "SetIpAddressType"
37430
37431	// OperationTypeCreateCertificate is a OperationType enum value
37432	OperationTypeCreateCertificate = "CreateCertificate"
37433
37434	// OperationTypeDeleteCertificate is a OperationType enum value
37435	OperationTypeDeleteCertificate = "DeleteCertificate"
37436
37437	// OperationTypeCreateContainerService is a OperationType enum value
37438	OperationTypeCreateContainerService = "CreateContainerService"
37439
37440	// OperationTypeUpdateContainerService is a OperationType enum value
37441	OperationTypeUpdateContainerService = "UpdateContainerService"
37442
37443	// OperationTypeDeleteContainerService is a OperationType enum value
37444	OperationTypeDeleteContainerService = "DeleteContainerService"
37445
37446	// OperationTypeCreateContainerServiceDeployment is a OperationType enum value
37447	OperationTypeCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
37448
37449	// OperationTypeCreateContainerServiceRegistryLogin is a OperationType enum value
37450	OperationTypeCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
37451
37452	// OperationTypeRegisterContainerImage is a OperationType enum value
37453	OperationTypeRegisterContainerImage = "RegisterContainerImage"
37454
37455	// OperationTypeDeleteContainerImage is a OperationType enum value
37456	OperationTypeDeleteContainerImage = "DeleteContainerImage"
37457)
37458
37459// OperationType_Values returns all elements of the OperationType enum
37460func OperationType_Values() []string {
37461	return []string{
37462		OperationTypeDeleteKnownHostKeys,
37463		OperationTypeDeleteInstance,
37464		OperationTypeCreateInstance,
37465		OperationTypeStopInstance,
37466		OperationTypeStartInstance,
37467		OperationTypeRebootInstance,
37468		OperationTypeOpenInstancePublicPorts,
37469		OperationTypePutInstancePublicPorts,
37470		OperationTypeCloseInstancePublicPorts,
37471		OperationTypeAllocateStaticIp,
37472		OperationTypeReleaseStaticIp,
37473		OperationTypeAttachStaticIp,
37474		OperationTypeDetachStaticIp,
37475		OperationTypeUpdateDomainEntry,
37476		OperationTypeDeleteDomainEntry,
37477		OperationTypeCreateDomain,
37478		OperationTypeDeleteDomain,
37479		OperationTypeCreateInstanceSnapshot,
37480		OperationTypeDeleteInstanceSnapshot,
37481		OperationTypeCreateInstancesFromSnapshot,
37482		OperationTypeCreateLoadBalancer,
37483		OperationTypeDeleteLoadBalancer,
37484		OperationTypeAttachInstancesToLoadBalancer,
37485		OperationTypeDetachInstancesFromLoadBalancer,
37486		OperationTypeUpdateLoadBalancerAttribute,
37487		OperationTypeCreateLoadBalancerTlsCertificate,
37488		OperationTypeDeleteLoadBalancerTlsCertificate,
37489		OperationTypeAttachLoadBalancerTlsCertificate,
37490		OperationTypeCreateDisk,
37491		OperationTypeDeleteDisk,
37492		OperationTypeAttachDisk,
37493		OperationTypeDetachDisk,
37494		OperationTypeCreateDiskSnapshot,
37495		OperationTypeDeleteDiskSnapshot,
37496		OperationTypeCreateDiskFromSnapshot,
37497		OperationTypeCreateRelationalDatabase,
37498		OperationTypeUpdateRelationalDatabase,
37499		OperationTypeDeleteRelationalDatabase,
37500		OperationTypeCreateRelationalDatabaseFromSnapshot,
37501		OperationTypeCreateRelationalDatabaseSnapshot,
37502		OperationTypeDeleteRelationalDatabaseSnapshot,
37503		OperationTypeUpdateRelationalDatabaseParameters,
37504		OperationTypeStartRelationalDatabase,
37505		OperationTypeRebootRelationalDatabase,
37506		OperationTypeStopRelationalDatabase,
37507		OperationTypeEnableAddOn,
37508		OperationTypeDisableAddOn,
37509		OperationTypePutAlarm,
37510		OperationTypeGetAlarms,
37511		OperationTypeDeleteAlarm,
37512		OperationTypeTestAlarm,
37513		OperationTypeCreateContactMethod,
37514		OperationTypeGetContactMethods,
37515		OperationTypeSendContactMethodVerification,
37516		OperationTypeDeleteContactMethod,
37517		OperationTypeCreateDistribution,
37518		OperationTypeUpdateDistribution,
37519		OperationTypeDeleteDistribution,
37520		OperationTypeResetDistributionCache,
37521		OperationTypeAttachCertificateToDistribution,
37522		OperationTypeDetachCertificateFromDistribution,
37523		OperationTypeUpdateDistributionBundle,
37524		OperationTypeSetIpAddressType,
37525		OperationTypeCreateCertificate,
37526		OperationTypeDeleteCertificate,
37527		OperationTypeCreateContainerService,
37528		OperationTypeUpdateContainerService,
37529		OperationTypeDeleteContainerService,
37530		OperationTypeCreateContainerServiceDeployment,
37531		OperationTypeCreateContainerServiceRegistryLogin,
37532		OperationTypeRegisterContainerImage,
37533		OperationTypeDeleteContainerImage,
37534	}
37535}
37536
37537const (
37538	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
37539	OriginProtocolPolicyEnumHttpOnly = "http-only"
37540
37541	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
37542	OriginProtocolPolicyEnumHttpsOnly = "https-only"
37543)
37544
37545// OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
37546func OriginProtocolPolicyEnum_Values() []string {
37547	return []string{
37548		OriginProtocolPolicyEnumHttpOnly,
37549		OriginProtocolPolicyEnumHttpsOnly,
37550	}
37551}
37552
37553const (
37554	// PortAccessTypePublic is a PortAccessType enum value
37555	PortAccessTypePublic = "Public"
37556
37557	// PortAccessTypePrivate is a PortAccessType enum value
37558	PortAccessTypePrivate = "Private"
37559)
37560
37561// PortAccessType_Values returns all elements of the PortAccessType enum
37562func PortAccessType_Values() []string {
37563	return []string{
37564		PortAccessTypePublic,
37565		PortAccessTypePrivate,
37566	}
37567}
37568
37569const (
37570	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
37571	PortInfoSourceTypeDefault = "DEFAULT"
37572
37573	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
37574	PortInfoSourceTypeInstance = "INSTANCE"
37575
37576	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
37577	PortInfoSourceTypeNone = "NONE"
37578
37579	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
37580	PortInfoSourceTypeClosed = "CLOSED"
37581)
37582
37583// PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
37584func PortInfoSourceType_Values() []string {
37585	return []string{
37586		PortInfoSourceTypeDefault,
37587		PortInfoSourceTypeInstance,
37588		PortInfoSourceTypeNone,
37589		PortInfoSourceTypeClosed,
37590	}
37591}
37592
37593const (
37594	// PortStateOpen is a PortState enum value
37595	PortStateOpen = "open"
37596
37597	// PortStateClosed is a PortState enum value
37598	PortStateClosed = "closed"
37599)
37600
37601// PortState_Values returns all elements of the PortState enum
37602func PortState_Values() []string {
37603	return []string{
37604		PortStateOpen,
37605		PortStateClosed,
37606	}
37607}
37608
37609const (
37610	// RecordStateStarted is a RecordState enum value
37611	RecordStateStarted = "Started"
37612
37613	// RecordStateSucceeded is a RecordState enum value
37614	RecordStateSucceeded = "Succeeded"
37615
37616	// RecordStateFailed is a RecordState enum value
37617	RecordStateFailed = "Failed"
37618)
37619
37620// RecordState_Values returns all elements of the RecordState enum
37621func RecordState_Values() []string {
37622	return []string{
37623		RecordStateStarted,
37624		RecordStateSucceeded,
37625		RecordStateFailed,
37626	}
37627}
37628
37629const (
37630	// RegionNameUsEast1 is a RegionName enum value
37631	RegionNameUsEast1 = "us-east-1"
37632
37633	// RegionNameUsEast2 is a RegionName enum value
37634	RegionNameUsEast2 = "us-east-2"
37635
37636	// RegionNameUsWest1 is a RegionName enum value
37637	RegionNameUsWest1 = "us-west-1"
37638
37639	// RegionNameUsWest2 is a RegionName enum value
37640	RegionNameUsWest2 = "us-west-2"
37641
37642	// RegionNameEuWest1 is a RegionName enum value
37643	RegionNameEuWest1 = "eu-west-1"
37644
37645	// RegionNameEuWest2 is a RegionName enum value
37646	RegionNameEuWest2 = "eu-west-2"
37647
37648	// RegionNameEuWest3 is a RegionName enum value
37649	RegionNameEuWest3 = "eu-west-3"
37650
37651	// RegionNameEuCentral1 is a RegionName enum value
37652	RegionNameEuCentral1 = "eu-central-1"
37653
37654	// RegionNameCaCentral1 is a RegionName enum value
37655	RegionNameCaCentral1 = "ca-central-1"
37656
37657	// RegionNameApSouth1 is a RegionName enum value
37658	RegionNameApSouth1 = "ap-south-1"
37659
37660	// RegionNameApSoutheast1 is a RegionName enum value
37661	RegionNameApSoutheast1 = "ap-southeast-1"
37662
37663	// RegionNameApSoutheast2 is a RegionName enum value
37664	RegionNameApSoutheast2 = "ap-southeast-2"
37665
37666	// RegionNameApNortheast1 is a RegionName enum value
37667	RegionNameApNortheast1 = "ap-northeast-1"
37668
37669	// RegionNameApNortheast2 is a RegionName enum value
37670	RegionNameApNortheast2 = "ap-northeast-2"
37671)
37672
37673// RegionName_Values returns all elements of the RegionName enum
37674func RegionName_Values() []string {
37675	return []string{
37676		RegionNameUsEast1,
37677		RegionNameUsEast2,
37678		RegionNameUsWest1,
37679		RegionNameUsWest2,
37680		RegionNameEuWest1,
37681		RegionNameEuWest2,
37682		RegionNameEuWest3,
37683		RegionNameEuCentral1,
37684		RegionNameCaCentral1,
37685		RegionNameApSouth1,
37686		RegionNameApSoutheast1,
37687		RegionNameApSoutheast2,
37688		RegionNameApNortheast1,
37689		RegionNameApNortheast2,
37690	}
37691}
37692
37693const (
37694	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
37695	RelationalDatabaseEngineMysql = "mysql"
37696)
37697
37698// RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
37699func RelationalDatabaseEngine_Values() []string {
37700	return []string{
37701		RelationalDatabaseEngineMysql,
37702	}
37703}
37704
37705const (
37706	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
37707	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
37708
37709	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
37710	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
37711
37712	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
37713	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
37714
37715	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
37716	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
37717
37718	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
37719	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
37720
37721	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
37722	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
37723)
37724
37725// RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
37726func RelationalDatabaseMetricName_Values() []string {
37727	return []string{
37728		RelationalDatabaseMetricNameCpuutilization,
37729		RelationalDatabaseMetricNameDatabaseConnections,
37730		RelationalDatabaseMetricNameDiskQueueDepth,
37731		RelationalDatabaseMetricNameFreeStorageSpace,
37732		RelationalDatabaseMetricNameNetworkReceiveThroughput,
37733		RelationalDatabaseMetricNameNetworkTransmitThroughput,
37734	}
37735}
37736
37737const (
37738	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
37739	RelationalDatabasePasswordVersionCurrent = "CURRENT"
37740
37741	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
37742	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
37743
37744	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
37745	RelationalDatabasePasswordVersionPending = "PENDING"
37746)
37747
37748// RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
37749func RelationalDatabasePasswordVersion_Values() []string {
37750	return []string{
37751		RelationalDatabasePasswordVersionCurrent,
37752		RelationalDatabasePasswordVersionPrevious,
37753		RelationalDatabasePasswordVersionPending,
37754	}
37755}
37756
37757const (
37758	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
37759	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
37760
37761	// RenewalStatusPendingValidation is a RenewalStatus enum value
37762	RenewalStatusPendingValidation = "PendingValidation"
37763
37764	// RenewalStatusSuccess is a RenewalStatus enum value
37765	RenewalStatusSuccess = "Success"
37766
37767	// RenewalStatusFailed is a RenewalStatus enum value
37768	RenewalStatusFailed = "Failed"
37769)
37770
37771// RenewalStatus_Values returns all elements of the RenewalStatus enum
37772func RenewalStatus_Values() []string {
37773	return []string{
37774		RenewalStatusPendingAutoRenewal,
37775		RenewalStatusPendingValidation,
37776		RenewalStatusSuccess,
37777		RenewalStatusFailed,
37778	}
37779}
37780
37781const (
37782	// ResourceTypeContainerService is a ResourceType enum value
37783	ResourceTypeContainerService = "ContainerService"
37784
37785	// ResourceTypeInstance is a ResourceType enum value
37786	ResourceTypeInstance = "Instance"
37787
37788	// ResourceTypeStaticIp is a ResourceType enum value
37789	ResourceTypeStaticIp = "StaticIp"
37790
37791	// ResourceTypeKeyPair is a ResourceType enum value
37792	ResourceTypeKeyPair = "KeyPair"
37793
37794	// ResourceTypeInstanceSnapshot is a ResourceType enum value
37795	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
37796
37797	// ResourceTypeDomain is a ResourceType enum value
37798	ResourceTypeDomain = "Domain"
37799
37800	// ResourceTypePeeredVpc is a ResourceType enum value
37801	ResourceTypePeeredVpc = "PeeredVpc"
37802
37803	// ResourceTypeLoadBalancer is a ResourceType enum value
37804	ResourceTypeLoadBalancer = "LoadBalancer"
37805
37806	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
37807	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
37808
37809	// ResourceTypeDisk is a ResourceType enum value
37810	ResourceTypeDisk = "Disk"
37811
37812	// ResourceTypeDiskSnapshot is a ResourceType enum value
37813	ResourceTypeDiskSnapshot = "DiskSnapshot"
37814
37815	// ResourceTypeRelationalDatabase is a ResourceType enum value
37816	ResourceTypeRelationalDatabase = "RelationalDatabase"
37817
37818	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
37819	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
37820
37821	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
37822	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
37823
37824	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
37825	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
37826
37827	// ResourceTypeAlarm is a ResourceType enum value
37828	ResourceTypeAlarm = "Alarm"
37829
37830	// ResourceTypeContactMethod is a ResourceType enum value
37831	ResourceTypeContactMethod = "ContactMethod"
37832
37833	// ResourceTypeDistribution is a ResourceType enum value
37834	ResourceTypeDistribution = "Distribution"
37835
37836	// ResourceTypeCertificate is a ResourceType enum value
37837	ResourceTypeCertificate = "Certificate"
37838)
37839
37840// ResourceType_Values returns all elements of the ResourceType enum
37841func ResourceType_Values() []string {
37842	return []string{
37843		ResourceTypeContainerService,
37844		ResourceTypeInstance,
37845		ResourceTypeStaticIp,
37846		ResourceTypeKeyPair,
37847		ResourceTypeInstanceSnapshot,
37848		ResourceTypeDomain,
37849		ResourceTypePeeredVpc,
37850		ResourceTypeLoadBalancer,
37851		ResourceTypeLoadBalancerTlsCertificate,
37852		ResourceTypeDisk,
37853		ResourceTypeDiskSnapshot,
37854		ResourceTypeRelationalDatabase,
37855		ResourceTypeRelationalDatabaseSnapshot,
37856		ResourceTypeExportSnapshotRecord,
37857		ResourceTypeCloudFormationStackRecord,
37858		ResourceTypeAlarm,
37859		ResourceTypeContactMethod,
37860		ResourceTypeDistribution,
37861		ResourceTypeCertificate,
37862	}
37863}
37864
37865const (
37866	// TreatMissingDataBreaching is a TreatMissingData enum value
37867	TreatMissingDataBreaching = "breaching"
37868
37869	// TreatMissingDataNotBreaching is a TreatMissingData enum value
37870	TreatMissingDataNotBreaching = "notBreaching"
37871
37872	// TreatMissingDataIgnore is a TreatMissingData enum value
37873	TreatMissingDataIgnore = "ignore"
37874
37875	// TreatMissingDataMissing is a TreatMissingData enum value
37876	TreatMissingDataMissing = "missing"
37877)
37878
37879// TreatMissingData_Values returns all elements of the TreatMissingData enum
37880func TreatMissingData_Values() []string {
37881	return []string{
37882		TreatMissingDataBreaching,
37883		TreatMissingDataNotBreaching,
37884		TreatMissingDataIgnore,
37885		TreatMissingDataMissing,
37886	}
37887}
37888