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 an Amazon Lightsail 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 following container service states are possible:
17668	//
17669	//    * PENDING - The container service is being created.
17670	//
17671	//    * READY - The container service is running but it does not have an active
17672	//    container deployment.
17673	//
17674	//    * DEPLOYING - The container service is launching a container deployment.
17675	//
17676	//    * RUNNING - The container service is running and it has an active container
17677	//    deployment.
17678	//
17679	//    * UPDATING - The container service capacity or its custom domains are
17680	//    being updated.
17681	//
17682	//    * DELETING - The container service is being deleted.
17683	//
17684	//    * DISABLED - The container service is disabled, and its active deployment
17685	//    and containers, if any, are shut down.
17686	State *string `locationName:"state" type:"string" enum:"ContainerServiceState"`
17687
17688	// An object that describes the current state of the container service.
17689	//
17690	// The state detail is populated only when a container service is in a PENDING,
17691	// DEPLOYING, or UPDATING state.
17692	StateDetail *ContainerServiceStateDetail `locationName:"stateDetail" type:"structure"`
17693
17694	// The tag keys and optional values for the resource. For more information about
17695	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
17696	Tags []*Tag `locationName:"tags" type:"list"`
17697
17698	// The publicly accessible URL of the container service.
17699	//
17700	// If no public endpoint is specified in the currentDeployment, this URL returns
17701	// a 404 response.
17702	Url *string `locationName:"url" type:"string"`
17703}
17704
17705// String returns the string representation
17706func (s ContainerService) String() string {
17707	return awsutil.Prettify(s)
17708}
17709
17710// GoString returns the string representation
17711func (s ContainerService) GoString() string {
17712	return s.String()
17713}
17714
17715// SetArn sets the Arn field's value.
17716func (s *ContainerService) SetArn(v string) *ContainerService {
17717	s.Arn = &v
17718	return s
17719}
17720
17721// SetContainerServiceName sets the ContainerServiceName field's value.
17722func (s *ContainerService) SetContainerServiceName(v string) *ContainerService {
17723	s.ContainerServiceName = &v
17724	return s
17725}
17726
17727// SetCreatedAt sets the CreatedAt field's value.
17728func (s *ContainerService) SetCreatedAt(v time.Time) *ContainerService {
17729	s.CreatedAt = &v
17730	return s
17731}
17732
17733// SetCurrentDeployment sets the CurrentDeployment field's value.
17734func (s *ContainerService) SetCurrentDeployment(v *ContainerServiceDeployment) *ContainerService {
17735	s.CurrentDeployment = v
17736	return s
17737}
17738
17739// SetIsDisabled sets the IsDisabled field's value.
17740func (s *ContainerService) SetIsDisabled(v bool) *ContainerService {
17741	s.IsDisabled = &v
17742	return s
17743}
17744
17745// SetLocation sets the Location field's value.
17746func (s *ContainerService) SetLocation(v *ResourceLocation) *ContainerService {
17747	s.Location = v
17748	return s
17749}
17750
17751// SetNextDeployment sets the NextDeployment field's value.
17752func (s *ContainerService) SetNextDeployment(v *ContainerServiceDeployment) *ContainerService {
17753	s.NextDeployment = v
17754	return s
17755}
17756
17757// SetPower sets the Power field's value.
17758func (s *ContainerService) SetPower(v string) *ContainerService {
17759	s.Power = &v
17760	return s
17761}
17762
17763// SetPowerId sets the PowerId field's value.
17764func (s *ContainerService) SetPowerId(v string) *ContainerService {
17765	s.PowerId = &v
17766	return s
17767}
17768
17769// SetPrincipalArn sets the PrincipalArn field's value.
17770func (s *ContainerService) SetPrincipalArn(v string) *ContainerService {
17771	s.PrincipalArn = &v
17772	return s
17773}
17774
17775// SetPrivateDomainName sets the PrivateDomainName field's value.
17776func (s *ContainerService) SetPrivateDomainName(v string) *ContainerService {
17777	s.PrivateDomainName = &v
17778	return s
17779}
17780
17781// SetPublicDomainNames sets the PublicDomainNames field's value.
17782func (s *ContainerService) SetPublicDomainNames(v map[string][]*string) *ContainerService {
17783	s.PublicDomainNames = v
17784	return s
17785}
17786
17787// SetResourceType sets the ResourceType field's value.
17788func (s *ContainerService) SetResourceType(v string) *ContainerService {
17789	s.ResourceType = &v
17790	return s
17791}
17792
17793// SetScale sets the Scale field's value.
17794func (s *ContainerService) SetScale(v int64) *ContainerService {
17795	s.Scale = &v
17796	return s
17797}
17798
17799// SetState sets the State field's value.
17800func (s *ContainerService) SetState(v string) *ContainerService {
17801	s.State = &v
17802	return s
17803}
17804
17805// SetStateDetail sets the StateDetail field's value.
17806func (s *ContainerService) SetStateDetail(v *ContainerServiceStateDetail) *ContainerService {
17807	s.StateDetail = v
17808	return s
17809}
17810
17811// SetTags sets the Tags field's value.
17812func (s *ContainerService) SetTags(v []*Tag) *ContainerService {
17813	s.Tags = v
17814	return s
17815}
17816
17817// SetUrl sets the Url field's value.
17818func (s *ContainerService) SetUrl(v string) *ContainerService {
17819	s.Url = &v
17820	return s
17821}
17822
17823// Describes a container deployment configuration of an Amazon Lightsail container
17824// service.
17825//
17826// A deployment specifies the settings, such as the ports and launch command,
17827// of containers that are deployed to your container service.
17828type ContainerServiceDeployment struct {
17829	_ struct{} `type:"structure"`
17830
17831	// An object that describes the configuration for the containers of the deployment.
17832	Containers map[string]*Container `locationName:"containers" type:"map"`
17833
17834	// The timestamp when the deployment was created.
17835	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17836
17837	// An object that describes the endpoint of the deployment.
17838	PublicEndpoint *ContainerServiceEndpoint `locationName:"publicEndpoint" type:"structure"`
17839
17840	// The state of the deployment.
17841	//
17842	// A deployment can be in one of the following states:
17843	//
17844	//    * Activating - The deployment is being created.
17845	//
17846	//    * Active - The deployment was successfully created, and it's currently
17847	//    running on the container service. The container service can have only
17848	//    one deployment in an active state at a time.
17849	//
17850	//    * Inactive - The deployment was previously successfully created, but it
17851	//    is not currently running on the container service.
17852	//
17853	//    * Failed - The deployment failed. Use the GetContainerLog action to view
17854	//    the log events for the containers in the deployment to try to determine
17855	//    the reason for the failure.
17856	State *string `locationName:"state" type:"string" enum:"ContainerServiceDeploymentState"`
17857
17858	// The version number of the deployment.
17859	Version *int64 `locationName:"version" type:"integer"`
17860}
17861
17862// String returns the string representation
17863func (s ContainerServiceDeployment) String() string {
17864	return awsutil.Prettify(s)
17865}
17866
17867// GoString returns the string representation
17868func (s ContainerServiceDeployment) GoString() string {
17869	return s.String()
17870}
17871
17872// SetContainers sets the Containers field's value.
17873func (s *ContainerServiceDeployment) SetContainers(v map[string]*Container) *ContainerServiceDeployment {
17874	s.Containers = v
17875	return s
17876}
17877
17878// SetCreatedAt sets the CreatedAt field's value.
17879func (s *ContainerServiceDeployment) SetCreatedAt(v time.Time) *ContainerServiceDeployment {
17880	s.CreatedAt = &v
17881	return s
17882}
17883
17884// SetPublicEndpoint sets the PublicEndpoint field's value.
17885func (s *ContainerServiceDeployment) SetPublicEndpoint(v *ContainerServiceEndpoint) *ContainerServiceDeployment {
17886	s.PublicEndpoint = v
17887	return s
17888}
17889
17890// SetState sets the State field's value.
17891func (s *ContainerServiceDeployment) SetState(v string) *ContainerServiceDeployment {
17892	s.State = &v
17893	return s
17894}
17895
17896// SetVersion sets the Version field's value.
17897func (s *ContainerServiceDeployment) SetVersion(v int64) *ContainerServiceDeployment {
17898	s.Version = &v
17899	return s
17900}
17901
17902// Describes a container deployment configuration of an Amazon Lightsail container
17903// service.
17904//
17905// A deployment specifies the settings, such as the ports and launch command,
17906// of containers that are deployed to your container service.
17907type ContainerServiceDeploymentRequest struct {
17908	_ struct{} `type:"structure"`
17909
17910	// An object that describes the configuration for the containers of the deployment.
17911	Containers map[string]*Container `locationName:"containers" type:"map"`
17912
17913	// An object that describes the endpoint of the deployment.
17914	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
17915}
17916
17917// String returns the string representation
17918func (s ContainerServiceDeploymentRequest) String() string {
17919	return awsutil.Prettify(s)
17920}
17921
17922// GoString returns the string representation
17923func (s ContainerServiceDeploymentRequest) GoString() string {
17924	return s.String()
17925}
17926
17927// Validate inspects the fields of the type to determine if they are valid.
17928func (s *ContainerServiceDeploymentRequest) Validate() error {
17929	invalidParams := request.ErrInvalidParams{Context: "ContainerServiceDeploymentRequest"}
17930	if s.PublicEndpoint != nil {
17931		if err := s.PublicEndpoint.Validate(); err != nil {
17932			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
17933		}
17934	}
17935
17936	if invalidParams.Len() > 0 {
17937		return invalidParams
17938	}
17939	return nil
17940}
17941
17942// SetContainers sets the Containers field's value.
17943func (s *ContainerServiceDeploymentRequest) SetContainers(v map[string]*Container) *ContainerServiceDeploymentRequest {
17944	s.Containers = v
17945	return s
17946}
17947
17948// SetPublicEndpoint sets the PublicEndpoint field's value.
17949func (s *ContainerServiceDeploymentRequest) SetPublicEndpoint(v *EndpointRequest) *ContainerServiceDeploymentRequest {
17950	s.PublicEndpoint = v
17951	return s
17952}
17953
17954// Describes the public endpoint configuration of a deployment of an Amazon
17955// Lightsail container service.
17956type ContainerServiceEndpoint struct {
17957	_ struct{} `type:"structure"`
17958
17959	// The name of the container entry of the deployment that the endpoint configuration
17960	// applies to.
17961	ContainerName *string `locationName:"containerName" type:"string"`
17962
17963	// The port of the specified container to which traffic is forwarded to.
17964	ContainerPort *int64 `locationName:"containerPort" type:"integer"`
17965
17966	// An object that describes the health check configuration of the container.
17967	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
17968}
17969
17970// String returns the string representation
17971func (s ContainerServiceEndpoint) String() string {
17972	return awsutil.Prettify(s)
17973}
17974
17975// GoString returns the string representation
17976func (s ContainerServiceEndpoint) GoString() string {
17977	return s.String()
17978}
17979
17980// SetContainerName sets the ContainerName field's value.
17981func (s *ContainerServiceEndpoint) SetContainerName(v string) *ContainerServiceEndpoint {
17982	s.ContainerName = &v
17983	return s
17984}
17985
17986// SetContainerPort sets the ContainerPort field's value.
17987func (s *ContainerServiceEndpoint) SetContainerPort(v int64) *ContainerServiceEndpoint {
17988	s.ContainerPort = &v
17989	return s
17990}
17991
17992// SetHealthCheck sets the HealthCheck field's value.
17993func (s *ContainerServiceEndpoint) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *ContainerServiceEndpoint {
17994	s.HealthCheck = v
17995	return s
17996}
17997
17998// Describes the health check configuration of an Amazon Lightsail container
17999// service.
18000type ContainerServiceHealthCheckConfig struct {
18001	_ struct{} `type:"structure"`
18002
18003	// The number of consecutive health checks successes required before moving
18004	// the container to the Healthy state. The default value is 2.
18005	HealthyThreshold *int64 `locationName:"healthyThreshold" type:"integer"`
18006
18007	// The approximate interval, in seconds, between health checks of an individual
18008	// container. You can specify between 5 and 300 seconds. The default value is
18009	// 5.
18010	IntervalSeconds *int64 `locationName:"intervalSeconds" type:"integer"`
18011
18012	// The path on the container on which to perform the health check. The default
18013	// value is /.
18014	Path *string `locationName:"path" type:"string"`
18015
18016	// The HTTP codes to use when checking for a successful response from a container.
18017	// You can specify values between 200 and 499.
18018	SuccessCodes *string `locationName:"successCodes" type:"string"`
18019
18020	// The amount of time, in seconds, during which no response means a failed health
18021	// check. You can specify between 2 and 60 seconds. The default value is 2.
18022	TimeoutSeconds *int64 `locationName:"timeoutSeconds" type:"integer"`
18023
18024	// The number of consecutive health check failures required before moving the
18025	// container to the Unhealthy state. The default value is 2.
18026	UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" type:"integer"`
18027}
18028
18029// String returns the string representation
18030func (s ContainerServiceHealthCheckConfig) String() string {
18031	return awsutil.Prettify(s)
18032}
18033
18034// GoString returns the string representation
18035func (s ContainerServiceHealthCheckConfig) GoString() string {
18036	return s.String()
18037}
18038
18039// SetHealthyThreshold sets the HealthyThreshold field's value.
18040func (s *ContainerServiceHealthCheckConfig) SetHealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
18041	s.HealthyThreshold = &v
18042	return s
18043}
18044
18045// SetIntervalSeconds sets the IntervalSeconds field's value.
18046func (s *ContainerServiceHealthCheckConfig) SetIntervalSeconds(v int64) *ContainerServiceHealthCheckConfig {
18047	s.IntervalSeconds = &v
18048	return s
18049}
18050
18051// SetPath sets the Path field's value.
18052func (s *ContainerServiceHealthCheckConfig) SetPath(v string) *ContainerServiceHealthCheckConfig {
18053	s.Path = &v
18054	return s
18055}
18056
18057// SetSuccessCodes sets the SuccessCodes field's value.
18058func (s *ContainerServiceHealthCheckConfig) SetSuccessCodes(v string) *ContainerServiceHealthCheckConfig {
18059	s.SuccessCodes = &v
18060	return s
18061}
18062
18063// SetTimeoutSeconds sets the TimeoutSeconds field's value.
18064func (s *ContainerServiceHealthCheckConfig) SetTimeoutSeconds(v int64) *ContainerServiceHealthCheckConfig {
18065	s.TimeoutSeconds = &v
18066	return s
18067}
18068
18069// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
18070func (s *ContainerServiceHealthCheckConfig) SetUnhealthyThreshold(v int64) *ContainerServiceHealthCheckConfig {
18071	s.UnhealthyThreshold = &v
18072	return s
18073}
18074
18075// Describes the log events of a container of an Amazon Lightsail container
18076// service.
18077type ContainerServiceLogEvent struct {
18078	_ struct{} `type:"structure"`
18079
18080	// The timestamp when the container service log event was created.
18081	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
18082
18083	// The message of the container service log event.
18084	Message *string `locationName:"message" type:"string"`
18085}
18086
18087// String returns the string representation
18088func (s ContainerServiceLogEvent) String() string {
18089	return awsutil.Prettify(s)
18090}
18091
18092// GoString returns the string representation
18093func (s ContainerServiceLogEvent) GoString() string {
18094	return s.String()
18095}
18096
18097// SetCreatedAt sets the CreatedAt field's value.
18098func (s *ContainerServiceLogEvent) SetCreatedAt(v time.Time) *ContainerServiceLogEvent {
18099	s.CreatedAt = &v
18100	return s
18101}
18102
18103// SetMessage sets the Message field's value.
18104func (s *ContainerServiceLogEvent) SetMessage(v string) *ContainerServiceLogEvent {
18105	s.Message = &v
18106	return s
18107}
18108
18109// Describes the powers that can be specified for an Amazon Lightsail container
18110// service.
18111//
18112// The power specifies the amount of RAM, the number of vCPUs, and the base
18113// price of the container service.
18114type ContainerServicePower struct {
18115	_ struct{} `type:"structure"`
18116
18117	// The number of vCPUs included in the power.
18118	CpuCount *float64 `locationName:"cpuCount" type:"float"`
18119
18120	// A Boolean value indicating whether the power is active and can be specified
18121	// for container services.
18122	IsActive *bool `locationName:"isActive" type:"boolean"`
18123
18124	// The friendly name of the power (e.g., nano).
18125	Name *string `locationName:"name" type:"string"`
18126
18127	// The ID of the power (e.g., nano-1).
18128	PowerId *string `locationName:"powerId" type:"string"`
18129
18130	// The monthly price of the power in USD.
18131	Price *float64 `locationName:"price" type:"float"`
18132
18133	// The amount of RAM (in GB) of the power.
18134	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
18135}
18136
18137// String returns the string representation
18138func (s ContainerServicePower) String() string {
18139	return awsutil.Prettify(s)
18140}
18141
18142// GoString returns the string representation
18143func (s ContainerServicePower) GoString() string {
18144	return s.String()
18145}
18146
18147// SetCpuCount sets the CpuCount field's value.
18148func (s *ContainerServicePower) SetCpuCount(v float64) *ContainerServicePower {
18149	s.CpuCount = &v
18150	return s
18151}
18152
18153// SetIsActive sets the IsActive field's value.
18154func (s *ContainerServicePower) SetIsActive(v bool) *ContainerServicePower {
18155	s.IsActive = &v
18156	return s
18157}
18158
18159// SetName sets the Name field's value.
18160func (s *ContainerServicePower) SetName(v string) *ContainerServicePower {
18161	s.Name = &v
18162	return s
18163}
18164
18165// SetPowerId sets the PowerId field's value.
18166func (s *ContainerServicePower) SetPowerId(v string) *ContainerServicePower {
18167	s.PowerId = &v
18168	return s
18169}
18170
18171// SetPrice sets the Price field's value.
18172func (s *ContainerServicePower) SetPrice(v float64) *ContainerServicePower {
18173	s.Price = &v
18174	return s
18175}
18176
18177// SetRamSizeInGb sets the RamSizeInGb field's value.
18178func (s *ContainerServicePower) SetRamSizeInGb(v float64) *ContainerServicePower {
18179	s.RamSizeInGb = &v
18180	return s
18181}
18182
18183// Describes the login information for the container image registry of an Amazon
18184// Lightsail account.
18185type ContainerServiceRegistryLogin struct {
18186	_ struct{} `type:"structure"`
18187
18188	// The timestamp of when the container image registry username and password
18189	// expire.
18190	//
18191	// The log in credentials expire 12 hours after they are created, at which point
18192	// you will need to create a new set of log in credentials using the CreateContainerServiceRegistryLogin
18193	// action.
18194	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
18195
18196	// The container service registry password to use to push container images to
18197	// the container image registry of a Lightsail account
18198	Password *string `locationName:"password" type:"string"`
18199
18200	// The address to use to push container images to the container image registry
18201	// of a Lightsail account.
18202	Registry *string `locationName:"registry" type:"string"`
18203
18204	// The container service registry username to use to push container images to
18205	// the container image registry of a Lightsail account.
18206	Username *string `locationName:"username" type:"string"`
18207}
18208
18209// String returns the string representation
18210func (s ContainerServiceRegistryLogin) String() string {
18211	return awsutil.Prettify(s)
18212}
18213
18214// GoString returns the string representation
18215func (s ContainerServiceRegistryLogin) GoString() string {
18216	return s.String()
18217}
18218
18219// SetExpiresAt sets the ExpiresAt field's value.
18220func (s *ContainerServiceRegistryLogin) SetExpiresAt(v time.Time) *ContainerServiceRegistryLogin {
18221	s.ExpiresAt = &v
18222	return s
18223}
18224
18225// SetPassword sets the Password field's value.
18226func (s *ContainerServiceRegistryLogin) SetPassword(v string) *ContainerServiceRegistryLogin {
18227	s.Password = &v
18228	return s
18229}
18230
18231// SetRegistry sets the Registry field's value.
18232func (s *ContainerServiceRegistryLogin) SetRegistry(v string) *ContainerServiceRegistryLogin {
18233	s.Registry = &v
18234	return s
18235}
18236
18237// SetUsername sets the Username field's value.
18238func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceRegistryLogin {
18239	s.Username = &v
18240	return s
18241}
18242
18243// Describes the current state of a container service.
18244type ContainerServiceStateDetail struct {
18245	_ struct{} `type:"structure"`
18246
18247	// The state code of the container service.
18248	//
18249	// The following state codes are possible:
18250	//
18251	//    * The following state codes are possible if your container service is
18252	//    in a DEPLOYING or UPDATING state: CREATING_SYSTEM_RESOURCES - The system
18253	//    resources for your container service are being created. CREATING_NETWORK_INFRASTRUCTURE
18254	//    - The network infrastructure for your container service are being created.
18255	//    PROVISIONING_CERTIFICATE - The SSL/TLS certificate for your container
18256	//    service is being created. PROVISIONING_SERVICE - Your container service
18257	//    is being provisioned. CREATING_DEPLOYMENT - Your deployment is being created
18258	//    on your container service. EVALUATING_HEALTH_CHECK - The health of your
18259	//    deployment is being evaluated. ACTIVATING_DEPLOYMENT - Your deployment
18260	//    is being activated.
18261	//
18262	//    * The following state codes are possible if your container service is
18263	//    in a PENDING state: CERTIFICATE_LIMIT_EXCEEDED - The SSL/TLS certificate
18264	//    required for your container service exceeds the maximum number of certificates
18265	//    allowed for your account. UNKNOWN_ERROR - An error was experienced when
18266	//    your container service was being created.
18267	Code *string `locationName:"code" type:"string" enum:"ContainerServiceStateDetailCode"`
18268
18269	// A message that provides more information for the state code.
18270	//
18271	// The state detail is populated only when a container service is in a PENDING,
18272	// DEPLOYING, or UPDATING state.
18273	Message *string `locationName:"message" type:"string"`
18274}
18275
18276// String returns the string representation
18277func (s ContainerServiceStateDetail) String() string {
18278	return awsutil.Prettify(s)
18279}
18280
18281// GoString returns the string representation
18282func (s ContainerServiceStateDetail) GoString() string {
18283	return s.String()
18284}
18285
18286// SetCode sets the Code field's value.
18287func (s *ContainerServiceStateDetail) SetCode(v string) *ContainerServiceStateDetail {
18288	s.Code = &v
18289	return s
18290}
18291
18292// SetMessage sets the Message field's value.
18293func (s *ContainerServiceStateDetail) SetMessage(v string) *ContainerServiceStateDetail {
18294	s.Message = &v
18295	return s
18296}
18297
18298// Describes whether an Amazon Lightsail content delivery network (CDN) distribution
18299// forwards cookies to the origin and, if so, which ones.
18300//
18301// For the cookies that you specify, your distribution caches separate versions
18302// of the specified content based on the cookie values in viewer requests.
18303type CookieObject struct {
18304	_ struct{} `type:"structure"`
18305
18306	// The specific cookies to forward to your distribution's origin.
18307	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
18308
18309	// Specifies which cookies to forward to the distribution's origin for a cache
18310	// behavior: all, none, or allow-list to forward only the cookies specified
18311	// in the cookiesAllowList parameter.
18312	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
18313}
18314
18315// String returns the string representation
18316func (s CookieObject) String() string {
18317	return awsutil.Prettify(s)
18318}
18319
18320// GoString returns the string representation
18321func (s CookieObject) GoString() string {
18322	return s.String()
18323}
18324
18325// SetCookiesAllowList sets the CookiesAllowList field's value.
18326func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
18327	s.CookiesAllowList = v
18328	return s
18329}
18330
18331// SetOption sets the Option field's value.
18332func (s *CookieObject) SetOption(v string) *CookieObject {
18333	s.Option = &v
18334	return s
18335}
18336
18337type CopySnapshotInput struct {
18338	_ struct{} `type:"structure"`
18339
18340	// The date of the source automatic snapshot to copy. Use the get auto snapshots
18341	// operation to identify the dates of the available automatic snapshots.
18342	//
18343	// Constraints:
18344	//
18345	//    * Must be specified in YYYY-MM-DD format.
18346	//
18347	//    * This parameter cannot be defined together with the use latest restorable
18348	//    auto snapshot parameter. The restore date and use latest restorable auto
18349	//    snapshot parameters are mutually exclusive.
18350	//
18351	//    * Define this parameter only when copying an automatic snapshot as a manual
18352	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18353	RestoreDate *string `locationName:"restoreDate" type:"string"`
18354
18355	// The AWS Region where the source manual or automatic snapshot is located.
18356	//
18357	// SourceRegion is a required field
18358	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
18359
18360	// The name of the source instance or disk from which the source automatic snapshot
18361	// was created.
18362	//
18363	// Constraint:
18364	//
18365	//    * Define this parameter only when copying an automatic snapshot as a manual
18366	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18367	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
18368
18369	// The name of the source manual snapshot to copy.
18370	//
18371	// Constraint:
18372	//
18373	//    * Define this parameter only when copying a manual snapshot as another
18374	//    manual snapshot.
18375	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
18376
18377	// The name of the new manual snapshot to be created as a copy.
18378	//
18379	// TargetSnapshotName is a required field
18380	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
18381
18382	// A Boolean value to indicate whether to use the latest available automatic
18383	// snapshot of the specified source instance or disk.
18384	//
18385	// Constraints:
18386	//
18387	//    * This parameter cannot be defined together with the restore date parameter.
18388	//    The use latest restorable auto snapshot and restore date parameters are
18389	//    mutually exclusive.
18390	//
18391	//    * Define this parameter only when copying an automatic snapshot as a manual
18392	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
18393	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
18394}
18395
18396// String returns the string representation
18397func (s CopySnapshotInput) String() string {
18398	return awsutil.Prettify(s)
18399}
18400
18401// GoString returns the string representation
18402func (s CopySnapshotInput) GoString() string {
18403	return s.String()
18404}
18405
18406// Validate inspects the fields of the type to determine if they are valid.
18407func (s *CopySnapshotInput) Validate() error {
18408	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
18409	if s.SourceRegion == nil {
18410		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
18411	}
18412	if s.TargetSnapshotName == nil {
18413		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
18414	}
18415
18416	if invalidParams.Len() > 0 {
18417		return invalidParams
18418	}
18419	return nil
18420}
18421
18422// SetRestoreDate sets the RestoreDate field's value.
18423func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
18424	s.RestoreDate = &v
18425	return s
18426}
18427
18428// SetSourceRegion sets the SourceRegion field's value.
18429func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
18430	s.SourceRegion = &v
18431	return s
18432}
18433
18434// SetSourceResourceName sets the SourceResourceName field's value.
18435func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
18436	s.SourceResourceName = &v
18437	return s
18438}
18439
18440// SetSourceSnapshotName sets the SourceSnapshotName field's value.
18441func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
18442	s.SourceSnapshotName = &v
18443	return s
18444}
18445
18446// SetTargetSnapshotName sets the TargetSnapshotName field's value.
18447func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
18448	s.TargetSnapshotName = &v
18449	return s
18450}
18451
18452// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
18453func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
18454	s.UseLatestRestorableAutoSnapshot = &v
18455	return s
18456}
18457
18458type CopySnapshotOutput struct {
18459	_ struct{} `type:"structure"`
18460
18461	// An array of objects that describe the result of the action, such as the status
18462	// of the request, the timestamp of the request, and the resources affected
18463	// by the request.
18464	Operations []*Operation `locationName:"operations" type:"list"`
18465}
18466
18467// String returns the string representation
18468func (s CopySnapshotOutput) String() string {
18469	return awsutil.Prettify(s)
18470}
18471
18472// GoString returns the string representation
18473func (s CopySnapshotOutput) GoString() string {
18474	return s.String()
18475}
18476
18477// SetOperations sets the Operations field's value.
18478func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
18479	s.Operations = v
18480	return s
18481}
18482
18483type CreateCertificateInput struct {
18484	_ struct{} `type:"structure"`
18485
18486	// The name for the certificate.
18487	//
18488	// CertificateName is a required field
18489	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
18490
18491	// The domain name (e.g., example.com) for the certificate.
18492	//
18493	// DomainName is a required field
18494	DomainName *string `locationName:"domainName" type:"string" required:"true"`
18495
18496	// An array of strings that specify the alternate domains (e.g., example2.com)
18497	// and subdomains (e.g., blog.example.com) for the certificate.
18498	//
18499	// You can specify a maximum of nine alternate domains (in addition to the primary
18500	// domain name).
18501	//
18502	// Wildcard domain entries (e.g., *.example.com) are not supported.
18503	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
18504
18505	// The tag keys and optional values to add to the certificate during create.
18506	//
18507	// Use the TagResource action to tag a resource after it's created.
18508	Tags []*Tag `locationName:"tags" type:"list"`
18509}
18510
18511// String returns the string representation
18512func (s CreateCertificateInput) String() string {
18513	return awsutil.Prettify(s)
18514}
18515
18516// GoString returns the string representation
18517func (s CreateCertificateInput) GoString() string {
18518	return s.String()
18519}
18520
18521// Validate inspects the fields of the type to determine if they are valid.
18522func (s *CreateCertificateInput) Validate() error {
18523	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
18524	if s.CertificateName == nil {
18525		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
18526	}
18527	if s.DomainName == nil {
18528		invalidParams.Add(request.NewErrParamRequired("DomainName"))
18529	}
18530
18531	if invalidParams.Len() > 0 {
18532		return invalidParams
18533	}
18534	return nil
18535}
18536
18537// SetCertificateName sets the CertificateName field's value.
18538func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
18539	s.CertificateName = &v
18540	return s
18541}
18542
18543// SetDomainName sets the DomainName field's value.
18544func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
18545	s.DomainName = &v
18546	return s
18547}
18548
18549// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
18550func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
18551	s.SubjectAlternativeNames = v
18552	return s
18553}
18554
18555// SetTags sets the Tags field's value.
18556func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
18557	s.Tags = v
18558	return s
18559}
18560
18561type CreateCertificateOutput struct {
18562	_ struct{} `type:"structure"`
18563
18564	// An object that describes the certificate created.
18565	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
18566
18567	// An array of objects that describe the result of the action, such as the status
18568	// of the request, the timestamp of the request, and the resources affected
18569	// by the request.
18570	Operations []*Operation `locationName:"operations" type:"list"`
18571}
18572
18573// String returns the string representation
18574func (s CreateCertificateOutput) String() string {
18575	return awsutil.Prettify(s)
18576}
18577
18578// GoString returns the string representation
18579func (s CreateCertificateOutput) GoString() string {
18580	return s.String()
18581}
18582
18583// SetCertificate sets the Certificate field's value.
18584func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
18585	s.Certificate = v
18586	return s
18587}
18588
18589// SetOperations sets the Operations field's value.
18590func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
18591	s.Operations = v
18592	return s
18593}
18594
18595type CreateCloudFormationStackInput struct {
18596	_ struct{} `type:"structure"`
18597
18598	// An array of parameters that will be used to create the new Amazon EC2 instance.
18599	// You can only pass one instance entry at a time in this array. You will get
18600	// an invalid parameter error if you pass more than one instance entry in this
18601	// array.
18602	//
18603	// Instances is a required field
18604	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
18605}
18606
18607// String returns the string representation
18608func (s CreateCloudFormationStackInput) String() string {
18609	return awsutil.Prettify(s)
18610}
18611
18612// GoString returns the string representation
18613func (s CreateCloudFormationStackInput) GoString() string {
18614	return s.String()
18615}
18616
18617// Validate inspects the fields of the type to determine if they are valid.
18618func (s *CreateCloudFormationStackInput) Validate() error {
18619	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
18620	if s.Instances == nil {
18621		invalidParams.Add(request.NewErrParamRequired("Instances"))
18622	}
18623	if s.Instances != nil {
18624		for i, v := range s.Instances {
18625			if v == nil {
18626				continue
18627			}
18628			if err := v.Validate(); err != nil {
18629				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
18630			}
18631		}
18632	}
18633
18634	if invalidParams.Len() > 0 {
18635		return invalidParams
18636	}
18637	return nil
18638}
18639
18640// SetInstances sets the Instances field's value.
18641func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
18642	s.Instances = v
18643	return s
18644}
18645
18646type CreateCloudFormationStackOutput struct {
18647	_ struct{} `type:"structure"`
18648
18649	// An array of objects that describe the result of the action, such as the status
18650	// of the request, the timestamp of the request, and the resources affected
18651	// by the request.
18652	Operations []*Operation `locationName:"operations" type:"list"`
18653}
18654
18655// String returns the string representation
18656func (s CreateCloudFormationStackOutput) String() string {
18657	return awsutil.Prettify(s)
18658}
18659
18660// GoString returns the string representation
18661func (s CreateCloudFormationStackOutput) GoString() string {
18662	return s.String()
18663}
18664
18665// SetOperations sets the Operations field's value.
18666func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
18667	s.Operations = v
18668	return s
18669}
18670
18671type CreateContactMethodInput struct {
18672	_ struct{} `type:"structure"`
18673
18674	// The destination of the contact method, such as an email address or a mobile
18675	// phone number.
18676	//
18677	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
18678	// for the phone number structure used for international telecommunication.
18679	// Phone numbers that follow this format can have a maximum of 15 digits, and
18680	// they are prefixed with the plus character (+) and the country code. For example,
18681	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
18682	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
18683	//
18684	// ContactEndpoint is a required field
18685	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
18686
18687	// The protocol of the contact method, such as Email or SMS (text messaging).
18688	//
18689	// The SMS protocol is supported only in the following AWS Regions.
18690	//
18691	//    * US East (N. Virginia) (us-east-1)
18692	//
18693	//    * US West (Oregon) (us-west-2)
18694	//
18695	//    * Europe (Ireland) (eu-west-1)
18696	//
18697	//    * Asia Pacific (Tokyo) (ap-northeast-1)
18698	//
18699	//    * Asia Pacific (Singapore) (ap-southeast-1)
18700	//
18701	//    * Asia Pacific (Sydney) (ap-southeast-2)
18702	//
18703	// For a list of countries/regions where SMS text messages can be sent, and
18704	// the latest AWS Regions where SMS text messaging is supported, see Supported
18705	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
18706	// in the Amazon SNS Developer Guide.
18707	//
18708	// For more information about notifications in Amazon Lightsail, see Notifications
18709	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
18710	//
18711	// Protocol is a required field
18712	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
18713}
18714
18715// String returns the string representation
18716func (s CreateContactMethodInput) String() string {
18717	return awsutil.Prettify(s)
18718}
18719
18720// GoString returns the string representation
18721func (s CreateContactMethodInput) GoString() string {
18722	return s.String()
18723}
18724
18725// Validate inspects the fields of the type to determine if they are valid.
18726func (s *CreateContactMethodInput) Validate() error {
18727	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
18728	if s.ContactEndpoint == nil {
18729		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
18730	}
18731	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
18732		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
18733	}
18734	if s.Protocol == nil {
18735		invalidParams.Add(request.NewErrParamRequired("Protocol"))
18736	}
18737
18738	if invalidParams.Len() > 0 {
18739		return invalidParams
18740	}
18741	return nil
18742}
18743
18744// SetContactEndpoint sets the ContactEndpoint field's value.
18745func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
18746	s.ContactEndpoint = &v
18747	return s
18748}
18749
18750// SetProtocol sets the Protocol field's value.
18751func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
18752	s.Protocol = &v
18753	return s
18754}
18755
18756type CreateContactMethodOutput struct {
18757	_ struct{} `type:"structure"`
18758
18759	// An array of objects that describe the result of the action, such as the status
18760	// of the request, the timestamp of the request, and the resources affected
18761	// by the request.
18762	Operations []*Operation `locationName:"operations" type:"list"`
18763}
18764
18765// String returns the string representation
18766func (s CreateContactMethodOutput) String() string {
18767	return awsutil.Prettify(s)
18768}
18769
18770// GoString returns the string representation
18771func (s CreateContactMethodOutput) GoString() string {
18772	return s.String()
18773}
18774
18775// SetOperations sets the Operations field's value.
18776func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
18777	s.Operations = v
18778	return s
18779}
18780
18781type CreateContainerServiceDeploymentInput struct {
18782	_ struct{} `type:"structure"`
18783
18784	// An object that describes the settings of the containers that will be launched
18785	// on the container service.
18786	Containers map[string]*Container `locationName:"containers" type:"map"`
18787
18788	// An object that describes the settings of the public endpoint for the container
18789	// service.
18790	PublicEndpoint *EndpointRequest `locationName:"publicEndpoint" type:"structure"`
18791
18792	// The name of the container service for which to create the deployment.
18793	//
18794	// ServiceName is a required field
18795	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
18796}
18797
18798// String returns the string representation
18799func (s CreateContainerServiceDeploymentInput) String() string {
18800	return awsutil.Prettify(s)
18801}
18802
18803// GoString returns the string representation
18804func (s CreateContainerServiceDeploymentInput) GoString() string {
18805	return s.String()
18806}
18807
18808// Validate inspects the fields of the type to determine if they are valid.
18809func (s *CreateContainerServiceDeploymentInput) Validate() error {
18810	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceDeploymentInput"}
18811	if s.ServiceName == nil {
18812		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
18813	}
18814	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
18815		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
18816	}
18817	if s.PublicEndpoint != nil {
18818		if err := s.PublicEndpoint.Validate(); err != nil {
18819			invalidParams.AddNested("PublicEndpoint", err.(request.ErrInvalidParams))
18820		}
18821	}
18822
18823	if invalidParams.Len() > 0 {
18824		return invalidParams
18825	}
18826	return nil
18827}
18828
18829// SetContainers sets the Containers field's value.
18830func (s *CreateContainerServiceDeploymentInput) SetContainers(v map[string]*Container) *CreateContainerServiceDeploymentInput {
18831	s.Containers = v
18832	return s
18833}
18834
18835// SetPublicEndpoint sets the PublicEndpoint field's value.
18836func (s *CreateContainerServiceDeploymentInput) SetPublicEndpoint(v *EndpointRequest) *CreateContainerServiceDeploymentInput {
18837	s.PublicEndpoint = v
18838	return s
18839}
18840
18841// SetServiceName sets the ServiceName field's value.
18842func (s *CreateContainerServiceDeploymentInput) SetServiceName(v string) *CreateContainerServiceDeploymentInput {
18843	s.ServiceName = &v
18844	return s
18845}
18846
18847type CreateContainerServiceDeploymentOutput struct {
18848	_ struct{} `type:"structure"`
18849
18850	// An object that describes a container service.
18851	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
18852}
18853
18854// String returns the string representation
18855func (s CreateContainerServiceDeploymentOutput) String() string {
18856	return awsutil.Prettify(s)
18857}
18858
18859// GoString returns the string representation
18860func (s CreateContainerServiceDeploymentOutput) GoString() string {
18861	return s.String()
18862}
18863
18864// SetContainerService sets the ContainerService field's value.
18865func (s *CreateContainerServiceDeploymentOutput) SetContainerService(v *ContainerService) *CreateContainerServiceDeploymentOutput {
18866	s.ContainerService = v
18867	return s
18868}
18869
18870type CreateContainerServiceInput struct {
18871	_ struct{} `type:"structure"`
18872
18873	// An object that describes a deployment for the container service.
18874	//
18875	// A deployment specifies the containers that will be launched on the container
18876	// service and their settings, such as the ports to open, the environment variables
18877	// to apply, and the launch command to run. It also specifies the container
18878	// that will serve as the public endpoint of the deployment and its settings,
18879	// such as the HTTP or HTTPS port to use, and the health check configuration.
18880	Deployment *ContainerServiceDeploymentRequest `locationName:"deployment" type:"structure"`
18881
18882	// The power specification for the container service.
18883	//
18884	// The power specifies the amount of memory, vCPUs, and base monthly cost of
18885	// each node of the container service. The power and scale of a container service
18886	// makes up its configured capacity. To determine the monthly price of your
18887	// container service, multiply the base price of the power with the scale (the
18888	// number of nodes) of the service.
18889	//
18890	// Use the GetContainerServicePowers action to get a list of power options that
18891	// you can specify using this parameter, and their base monthly cost.
18892	//
18893	// Power is a required field
18894	Power *string `locationName:"power" type:"string" required:"true" enum:"ContainerServicePowerName"`
18895
18896	// The public domain names to use with the container service, such as example.com
18897	// and www.example.com.
18898	//
18899	// You can specify up to four public domain names for a container service. The
18900	// domain names that you specify are used when you create a deployment with
18901	// a container configured as the public endpoint of your container service.
18902	//
18903	// If you don't specify public domain names, then you can use the default domain
18904	// of the container service.
18905	//
18906	// You must create and validate an SSL/TLS certificate before you can use public
18907	// domain names with your container service. Use the CreateCertificate action
18908	// to create a certificate for the public domain names you want to use with
18909	// your container service.
18910	//
18911	// You can specify public domain names using a string to array map as shown
18912	// in the example later on this page.
18913	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
18914
18915	// The scale specification for the container service.
18916	//
18917	// The scale specifies the allocated compute nodes of the container service.
18918	// The power and scale of a container service makes up its configured capacity.
18919	// To determine the monthly price of your container service, multiply the base
18920	// price of the power with the scale (the number of nodes) of the service.
18921	//
18922	// Scale is a required field
18923	Scale *int64 `locationName:"scale" min:"1" type:"integer" required:"true"`
18924
18925	// The name for the container service.
18926	//
18927	// The name that you specify for your container service will make up part of
18928	// its default domain. The default domain of a container service is typically
18929	// https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. If
18930	// the name of your container service is container-service-1, and it's located
18931	// in the US East (Ohio) AWS region (us-east-2), then the domain for your container
18932	// service will be like the following example: https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com
18933	//
18934	// The following are the requirements for container service names:
18935	//
18936	//    * Must be unique within each AWS Region in your Lightsail account.
18937	//
18938	//    * Must contain 1 to 63 characters.
18939	//
18940	//    * Must contain only alphanumeric characters and hyphens.
18941	//
18942	//    * A hyphen (-) can separate words but cannot be at the start or end of
18943	//    the name.
18944	//
18945	// ServiceName is a required field
18946	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
18947
18948	// The tag keys and optional values for the container service.
18949	//
18950	// For more information about tags in Lightsail, see the Lightsail Dev Guide
18951	// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
18952	Tags []*Tag `locationName:"tags" type:"list"`
18953}
18954
18955// String returns the string representation
18956func (s CreateContainerServiceInput) String() string {
18957	return awsutil.Prettify(s)
18958}
18959
18960// GoString returns the string representation
18961func (s CreateContainerServiceInput) GoString() string {
18962	return s.String()
18963}
18964
18965// Validate inspects the fields of the type to determine if they are valid.
18966func (s *CreateContainerServiceInput) Validate() error {
18967	invalidParams := request.ErrInvalidParams{Context: "CreateContainerServiceInput"}
18968	if s.Power == nil {
18969		invalidParams.Add(request.NewErrParamRequired("Power"))
18970	}
18971	if s.Scale == nil {
18972		invalidParams.Add(request.NewErrParamRequired("Scale"))
18973	}
18974	if s.Scale != nil && *s.Scale < 1 {
18975		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
18976	}
18977	if s.ServiceName == nil {
18978		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
18979	}
18980	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
18981		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
18982	}
18983	if s.Deployment != nil {
18984		if err := s.Deployment.Validate(); err != nil {
18985			invalidParams.AddNested("Deployment", err.(request.ErrInvalidParams))
18986		}
18987	}
18988
18989	if invalidParams.Len() > 0 {
18990		return invalidParams
18991	}
18992	return nil
18993}
18994
18995// SetDeployment sets the Deployment field's value.
18996func (s *CreateContainerServiceInput) SetDeployment(v *ContainerServiceDeploymentRequest) *CreateContainerServiceInput {
18997	s.Deployment = v
18998	return s
18999}
19000
19001// SetPower sets the Power field's value.
19002func (s *CreateContainerServiceInput) SetPower(v string) *CreateContainerServiceInput {
19003	s.Power = &v
19004	return s
19005}
19006
19007// SetPublicDomainNames sets the PublicDomainNames field's value.
19008func (s *CreateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *CreateContainerServiceInput {
19009	s.PublicDomainNames = v
19010	return s
19011}
19012
19013// SetScale sets the Scale field's value.
19014func (s *CreateContainerServiceInput) SetScale(v int64) *CreateContainerServiceInput {
19015	s.Scale = &v
19016	return s
19017}
19018
19019// SetServiceName sets the ServiceName field's value.
19020func (s *CreateContainerServiceInput) SetServiceName(v string) *CreateContainerServiceInput {
19021	s.ServiceName = &v
19022	return s
19023}
19024
19025// SetTags sets the Tags field's value.
19026func (s *CreateContainerServiceInput) SetTags(v []*Tag) *CreateContainerServiceInput {
19027	s.Tags = v
19028	return s
19029}
19030
19031type CreateContainerServiceOutput struct {
19032	_ struct{} `type:"structure"`
19033
19034	// An object that describes a container service.
19035	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
19036}
19037
19038// String returns the string representation
19039func (s CreateContainerServiceOutput) String() string {
19040	return awsutil.Prettify(s)
19041}
19042
19043// GoString returns the string representation
19044func (s CreateContainerServiceOutput) GoString() string {
19045	return s.String()
19046}
19047
19048// SetContainerService sets the ContainerService field's value.
19049func (s *CreateContainerServiceOutput) SetContainerService(v *ContainerService) *CreateContainerServiceOutput {
19050	s.ContainerService = v
19051	return s
19052}
19053
19054type CreateContainerServiceRegistryLoginInput struct {
19055	_ struct{} `type:"structure"`
19056}
19057
19058// String returns the string representation
19059func (s CreateContainerServiceRegistryLoginInput) String() string {
19060	return awsutil.Prettify(s)
19061}
19062
19063// GoString returns the string representation
19064func (s CreateContainerServiceRegistryLoginInput) GoString() string {
19065	return s.String()
19066}
19067
19068type CreateContainerServiceRegistryLoginOutput struct {
19069	_ struct{} `type:"structure"`
19070
19071	// An object that describes the log in information for the container service
19072	// registry of your Lightsail account.
19073	RegistryLogin *ContainerServiceRegistryLogin `locationName:"registryLogin" type:"structure"`
19074}
19075
19076// String returns the string representation
19077func (s CreateContainerServiceRegistryLoginOutput) String() string {
19078	return awsutil.Prettify(s)
19079}
19080
19081// GoString returns the string representation
19082func (s CreateContainerServiceRegistryLoginOutput) GoString() string {
19083	return s.String()
19084}
19085
19086// SetRegistryLogin sets the RegistryLogin field's value.
19087func (s *CreateContainerServiceRegistryLoginOutput) SetRegistryLogin(v *ContainerServiceRegistryLogin) *CreateContainerServiceRegistryLoginOutput {
19088	s.RegistryLogin = v
19089	return s
19090}
19091
19092type CreateDiskFromSnapshotInput struct {
19093	_ struct{} `type:"structure"`
19094
19095	// An array of objects that represent the add-ons to enable for the new disk.
19096	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19097
19098	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
19099	// Choose the same Availability Zone as the Lightsail instance where you want
19100	// to create the disk.
19101	//
19102	// Use the GetRegions operation to list the Availability Zones where Lightsail
19103	// is currently available.
19104	//
19105	// AvailabilityZone is a required field
19106	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19107
19108	// The unique Lightsail disk name (e.g., my-disk).
19109	//
19110	// DiskName is a required field
19111	DiskName *string `locationName:"diskName" type:"string" required:"true"`
19112
19113	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
19114	// new storage disk.
19115	//
19116	// Constraint:
19117	//
19118	//    * This parameter cannot be defined together with the source disk name
19119	//    parameter. The disk snapshot name and source disk name parameters are
19120	//    mutually exclusive.
19121	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
19122
19123	// The date of the automatic snapshot to use for the new disk. Use the get auto
19124	// snapshots operation to identify the dates of the available automatic snapshots.
19125	//
19126	// Constraints:
19127	//
19128	//    * Must be specified in YYYY-MM-DD format.
19129	//
19130	//    * This parameter cannot be defined together with the use latest restorable
19131	//    auto snapshot parameter. The restore date and use latest restorable auto
19132	//    snapshot parameters are mutually exclusive.
19133	//
19134	//    * Define this parameter only when creating a new disk from an automatic
19135	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19136	RestoreDate *string `locationName:"restoreDate" type:"string"`
19137
19138	// The size of the disk in GB (e.g., 32).
19139	//
19140	// SizeInGb is a required field
19141	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
19142
19143	// The name of the source disk from which the source automatic snapshot was
19144	// created.
19145	//
19146	// Constraints:
19147	//
19148	//    * This parameter cannot be defined together with the disk snapshot name
19149	//    parameter. The source disk name and disk snapshot name parameters are
19150	//    mutually exclusive.
19151	//
19152	//    * Define this parameter only when creating a new disk from an automatic
19153	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19154	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
19155
19156	// The tag keys and optional values to add to the resource during create.
19157	//
19158	// Use the TagResource action to tag a resource after it's created.
19159	Tags []*Tag `locationName:"tags" type:"list"`
19160
19161	// A Boolean value to indicate whether to use the latest available automatic
19162	// snapshot.
19163	//
19164	// Constraints:
19165	//
19166	//    * This parameter cannot be defined together with the restore date parameter.
19167	//    The use latest restorable auto snapshot and restore date parameters are
19168	//    mutually exclusive.
19169	//
19170	//    * Define this parameter only when creating a new disk from an automatic
19171	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19172	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
19173}
19174
19175// String returns the string representation
19176func (s CreateDiskFromSnapshotInput) String() string {
19177	return awsutil.Prettify(s)
19178}
19179
19180// GoString returns the string representation
19181func (s CreateDiskFromSnapshotInput) GoString() string {
19182	return s.String()
19183}
19184
19185// Validate inspects the fields of the type to determine if they are valid.
19186func (s *CreateDiskFromSnapshotInput) Validate() error {
19187	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
19188	if s.AvailabilityZone == nil {
19189		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19190	}
19191	if s.DiskName == nil {
19192		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19193	}
19194	if s.SizeInGb == nil {
19195		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
19196	}
19197	if s.AddOns != nil {
19198		for i, v := range s.AddOns {
19199			if v == nil {
19200				continue
19201			}
19202			if err := v.Validate(); err != nil {
19203				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
19204			}
19205		}
19206	}
19207
19208	if invalidParams.Len() > 0 {
19209		return invalidParams
19210	}
19211	return nil
19212}
19213
19214// SetAddOns sets the AddOns field's value.
19215func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
19216	s.AddOns = v
19217	return s
19218}
19219
19220// SetAvailabilityZone sets the AvailabilityZone field's value.
19221func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
19222	s.AvailabilityZone = &v
19223	return s
19224}
19225
19226// SetDiskName sets the DiskName field's value.
19227func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
19228	s.DiskName = &v
19229	return s
19230}
19231
19232// SetDiskSnapshotName sets the DiskSnapshotName field's value.
19233func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
19234	s.DiskSnapshotName = &v
19235	return s
19236}
19237
19238// SetRestoreDate sets the RestoreDate field's value.
19239func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
19240	s.RestoreDate = &v
19241	return s
19242}
19243
19244// SetSizeInGb sets the SizeInGb field's value.
19245func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
19246	s.SizeInGb = &v
19247	return s
19248}
19249
19250// SetSourceDiskName sets the SourceDiskName field's value.
19251func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
19252	s.SourceDiskName = &v
19253	return s
19254}
19255
19256// SetTags sets the Tags field's value.
19257func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
19258	s.Tags = v
19259	return s
19260}
19261
19262// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
19263func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
19264	s.UseLatestRestorableAutoSnapshot = &v
19265	return s
19266}
19267
19268type CreateDiskFromSnapshotOutput struct {
19269	_ struct{} `type:"structure"`
19270
19271	// An array of objects that describe the result of the action, such as the status
19272	// of the request, the timestamp of the request, and the resources affected
19273	// by the request.
19274	Operations []*Operation `locationName:"operations" type:"list"`
19275}
19276
19277// String returns the string representation
19278func (s CreateDiskFromSnapshotOutput) String() string {
19279	return awsutil.Prettify(s)
19280}
19281
19282// GoString returns the string representation
19283func (s CreateDiskFromSnapshotOutput) GoString() string {
19284	return s.String()
19285}
19286
19287// SetOperations sets the Operations field's value.
19288func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
19289	s.Operations = v
19290	return s
19291}
19292
19293type CreateDiskInput struct {
19294	_ struct{} `type:"structure"`
19295
19296	// An array of objects that represent the add-ons to enable for the new disk.
19297	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19298
19299	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
19300	// Use the same Availability Zone as the Lightsail instance to which you want
19301	// to attach the disk.
19302	//
19303	// Use the get regions operation to list the Availability Zones where Lightsail
19304	// is currently available.
19305	//
19306	// AvailabilityZone is a required field
19307	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19308
19309	// The unique Lightsail disk name (e.g., my-disk).
19310	//
19311	// DiskName is a required field
19312	DiskName *string `locationName:"diskName" type:"string" required:"true"`
19313
19314	// The size of the disk in GB (e.g., 32).
19315	//
19316	// SizeInGb is a required field
19317	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
19318
19319	// The tag keys and optional values to add to the resource during create.
19320	//
19321	// Use the TagResource action to tag a resource after it's created.
19322	Tags []*Tag `locationName:"tags" type:"list"`
19323}
19324
19325// String returns the string representation
19326func (s CreateDiskInput) String() string {
19327	return awsutil.Prettify(s)
19328}
19329
19330// GoString returns the string representation
19331func (s CreateDiskInput) GoString() string {
19332	return s.String()
19333}
19334
19335// Validate inspects the fields of the type to determine if they are valid.
19336func (s *CreateDiskInput) Validate() error {
19337	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
19338	if s.AvailabilityZone == nil {
19339		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
19340	}
19341	if s.DiskName == nil {
19342		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19343	}
19344	if s.SizeInGb == nil {
19345		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
19346	}
19347	if s.AddOns != nil {
19348		for i, v := range s.AddOns {
19349			if v == nil {
19350				continue
19351			}
19352			if err := v.Validate(); err != nil {
19353				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
19354			}
19355		}
19356	}
19357
19358	if invalidParams.Len() > 0 {
19359		return invalidParams
19360	}
19361	return nil
19362}
19363
19364// SetAddOns sets the AddOns field's value.
19365func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
19366	s.AddOns = v
19367	return s
19368}
19369
19370// SetAvailabilityZone sets the AvailabilityZone field's value.
19371func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
19372	s.AvailabilityZone = &v
19373	return s
19374}
19375
19376// SetDiskName sets the DiskName field's value.
19377func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
19378	s.DiskName = &v
19379	return s
19380}
19381
19382// SetSizeInGb sets the SizeInGb field's value.
19383func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
19384	s.SizeInGb = &v
19385	return s
19386}
19387
19388// SetTags sets the Tags field's value.
19389func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
19390	s.Tags = v
19391	return s
19392}
19393
19394type CreateDiskOutput struct {
19395	_ struct{} `type:"structure"`
19396
19397	// An array of objects that describe the result of the action, such as the status
19398	// of the request, the timestamp of the request, and the resources affected
19399	// by the request.
19400	Operations []*Operation `locationName:"operations" type:"list"`
19401}
19402
19403// String returns the string representation
19404func (s CreateDiskOutput) String() string {
19405	return awsutil.Prettify(s)
19406}
19407
19408// GoString returns the string representation
19409func (s CreateDiskOutput) GoString() string {
19410	return s.String()
19411}
19412
19413// SetOperations sets the Operations field's value.
19414func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
19415	s.Operations = v
19416	return s
19417}
19418
19419type CreateDiskSnapshotInput struct {
19420	_ struct{} `type:"structure"`
19421
19422	// The unique name of the source disk (e.g., Disk-Virginia-1).
19423	//
19424	// This parameter cannot be defined together with the instance name parameter.
19425	// The disk name and instance name parameters are mutually exclusive.
19426	DiskName *string `locationName:"diskName" type:"string"`
19427
19428	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
19429	// on the source disk.
19430	//
19431	// DiskSnapshotName is a required field
19432	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
19433
19434	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
19435	// When this is defined, a snapshot of the instance's system volume is created.
19436	//
19437	// This parameter cannot be defined together with the disk name parameter. The
19438	// instance name and disk name parameters are mutually exclusive.
19439	InstanceName *string `locationName:"instanceName" type:"string"`
19440
19441	// The tag keys and optional values to add to the resource during create.
19442	//
19443	// Use the TagResource action to tag a resource after it's created.
19444	Tags []*Tag `locationName:"tags" type:"list"`
19445}
19446
19447// String returns the string representation
19448func (s CreateDiskSnapshotInput) String() string {
19449	return awsutil.Prettify(s)
19450}
19451
19452// GoString returns the string representation
19453func (s CreateDiskSnapshotInput) GoString() string {
19454	return s.String()
19455}
19456
19457// Validate inspects the fields of the type to determine if they are valid.
19458func (s *CreateDiskSnapshotInput) Validate() error {
19459	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
19460	if s.DiskSnapshotName == nil {
19461		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
19462	}
19463
19464	if invalidParams.Len() > 0 {
19465		return invalidParams
19466	}
19467	return nil
19468}
19469
19470// SetDiskName sets the DiskName field's value.
19471func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
19472	s.DiskName = &v
19473	return s
19474}
19475
19476// SetDiskSnapshotName sets the DiskSnapshotName field's value.
19477func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
19478	s.DiskSnapshotName = &v
19479	return s
19480}
19481
19482// SetInstanceName sets the InstanceName field's value.
19483func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
19484	s.InstanceName = &v
19485	return s
19486}
19487
19488// SetTags sets the Tags field's value.
19489func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
19490	s.Tags = v
19491	return s
19492}
19493
19494type CreateDiskSnapshotOutput struct {
19495	_ struct{} `type:"structure"`
19496
19497	// An array of objects that describe the result of the action, such as the status
19498	// of the request, the timestamp of the request, and the resources affected
19499	// by the request.
19500	Operations []*Operation `locationName:"operations" type:"list"`
19501}
19502
19503// String returns the string representation
19504func (s CreateDiskSnapshotOutput) String() string {
19505	return awsutil.Prettify(s)
19506}
19507
19508// GoString returns the string representation
19509func (s CreateDiskSnapshotOutput) GoString() string {
19510	return s.String()
19511}
19512
19513// SetOperations sets the Operations field's value.
19514func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
19515	s.Operations = v
19516	return s
19517}
19518
19519type CreateDistributionInput struct {
19520	_ struct{} `type:"structure"`
19521
19522	// The bundle ID to use for the distribution.
19523	//
19524	// A distribution bundle describes the specifications of your distribution,
19525	// such as the monthly cost and monthly network transfer quota.
19526	//
19527	// Use the GetDistributionBundles action to get a list of distribution bundle
19528	// IDs that you can specify.
19529	//
19530	// BundleId is a required field
19531	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
19532
19533	// An object that describes the cache behavior settings for the distribution.
19534	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
19535
19536	// An array of objects that describe the per-path cache behavior for the distribution.
19537	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
19538
19539	// An object that describes the default cache behavior for the distribution.
19540	//
19541	// DefaultCacheBehavior is a required field
19542	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
19543
19544	// The name for the distribution.
19545	//
19546	// DistributionName is a required field
19547	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
19548
19549	// The IP address type for the distribution.
19550	//
19551	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
19552	//
19553	// The default value is dualstack.
19554	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
19555
19556	// An object that describes the origin resource for the distribution, such as
19557	// a Lightsail instance or load balancer.
19558	//
19559	// The distribution pulls, caches, and serves content from the origin.
19560	//
19561	// Origin is a required field
19562	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
19563
19564	// The tag keys and optional values to add to the distribution during create.
19565	//
19566	// Use the TagResource action to tag a resource after it's created.
19567	Tags []*Tag `locationName:"tags" type:"list"`
19568}
19569
19570// String returns the string representation
19571func (s CreateDistributionInput) String() string {
19572	return awsutil.Prettify(s)
19573}
19574
19575// GoString returns the string representation
19576func (s CreateDistributionInput) GoString() string {
19577	return s.String()
19578}
19579
19580// Validate inspects the fields of the type to determine if they are valid.
19581func (s *CreateDistributionInput) Validate() error {
19582	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
19583	if s.BundleId == nil {
19584		invalidParams.Add(request.NewErrParamRequired("BundleId"))
19585	}
19586	if s.DefaultCacheBehavior == nil {
19587		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
19588	}
19589	if s.DistributionName == nil {
19590		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
19591	}
19592	if s.Origin == nil {
19593		invalidParams.Add(request.NewErrParamRequired("Origin"))
19594	}
19595
19596	if invalidParams.Len() > 0 {
19597		return invalidParams
19598	}
19599	return nil
19600}
19601
19602// SetBundleId sets the BundleId field's value.
19603func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
19604	s.BundleId = &v
19605	return s
19606}
19607
19608// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
19609func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
19610	s.CacheBehaviorSettings = v
19611	return s
19612}
19613
19614// SetCacheBehaviors sets the CacheBehaviors field's value.
19615func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
19616	s.CacheBehaviors = v
19617	return s
19618}
19619
19620// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
19621func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
19622	s.DefaultCacheBehavior = v
19623	return s
19624}
19625
19626// SetDistributionName sets the DistributionName field's value.
19627func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
19628	s.DistributionName = &v
19629	return s
19630}
19631
19632// SetIpAddressType sets the IpAddressType field's value.
19633func (s *CreateDistributionInput) SetIpAddressType(v string) *CreateDistributionInput {
19634	s.IpAddressType = &v
19635	return s
19636}
19637
19638// SetOrigin sets the Origin field's value.
19639func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
19640	s.Origin = v
19641	return s
19642}
19643
19644// SetTags sets the Tags field's value.
19645func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
19646	s.Tags = v
19647	return s
19648}
19649
19650type CreateDistributionOutput struct {
19651	_ struct{} `type:"structure"`
19652
19653	// An object that describes the distribution created.
19654	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
19655
19656	// An array of objects that describe the result of the action, such as the status
19657	// of the request, the timestamp of the request, and the resources affected
19658	// by the request.
19659	Operation *Operation `locationName:"operation" type:"structure"`
19660}
19661
19662// String returns the string representation
19663func (s CreateDistributionOutput) String() string {
19664	return awsutil.Prettify(s)
19665}
19666
19667// GoString returns the string representation
19668func (s CreateDistributionOutput) GoString() string {
19669	return s.String()
19670}
19671
19672// SetDistribution sets the Distribution field's value.
19673func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
19674	s.Distribution = v
19675	return s
19676}
19677
19678// SetOperation sets the Operation field's value.
19679func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
19680	s.Operation = v
19681	return s
19682}
19683
19684type CreateDomainEntryInput struct {
19685	_ struct{} `type:"structure"`
19686
19687	// An array of key-value pairs containing information about the domain entry
19688	// request.
19689	//
19690	// DomainEntry is a required field
19691	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
19692
19693	// The domain name (e.g., example.com) for which you want to create the domain
19694	// entry.
19695	//
19696	// DomainName is a required field
19697	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19698}
19699
19700// String returns the string representation
19701func (s CreateDomainEntryInput) String() string {
19702	return awsutil.Prettify(s)
19703}
19704
19705// GoString returns the string representation
19706func (s CreateDomainEntryInput) GoString() string {
19707	return s.String()
19708}
19709
19710// Validate inspects the fields of the type to determine if they are valid.
19711func (s *CreateDomainEntryInput) Validate() error {
19712	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
19713	if s.DomainEntry == nil {
19714		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
19715	}
19716	if s.DomainName == nil {
19717		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19718	}
19719
19720	if invalidParams.Len() > 0 {
19721		return invalidParams
19722	}
19723	return nil
19724}
19725
19726// SetDomainEntry sets the DomainEntry field's value.
19727func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
19728	s.DomainEntry = v
19729	return s
19730}
19731
19732// SetDomainName sets the DomainName field's value.
19733func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
19734	s.DomainName = &v
19735	return s
19736}
19737
19738type CreateDomainEntryOutput struct {
19739	_ struct{} `type:"structure"`
19740
19741	// An array of objects that describe the result of the action, such as the status
19742	// of the request, the timestamp of the request, and the resources affected
19743	// by the request.
19744	Operation *Operation `locationName:"operation" type:"structure"`
19745}
19746
19747// String returns the string representation
19748func (s CreateDomainEntryOutput) String() string {
19749	return awsutil.Prettify(s)
19750}
19751
19752// GoString returns the string representation
19753func (s CreateDomainEntryOutput) GoString() string {
19754	return s.String()
19755}
19756
19757// SetOperation sets the Operation field's value.
19758func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
19759	s.Operation = v
19760	return s
19761}
19762
19763type CreateDomainInput struct {
19764	_ struct{} `type:"structure"`
19765
19766	// The domain name to manage (e.g., example.com).
19767	//
19768	// You cannot register a new domain name using Lightsail. You must register
19769	// a domain name using Amazon Route 53 or another domain name registrar. If
19770	// you have already registered your domain, you can enter its name in this parameter
19771	// to manage the DNS records for that domain using Lightsail.
19772	//
19773	// DomainName is a required field
19774	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19775
19776	// The tag keys and optional values to add to the resource during create.
19777	//
19778	// Use the TagResource action to tag a resource after it's created.
19779	Tags []*Tag `locationName:"tags" type:"list"`
19780}
19781
19782// String returns the string representation
19783func (s CreateDomainInput) String() string {
19784	return awsutil.Prettify(s)
19785}
19786
19787// GoString returns the string representation
19788func (s CreateDomainInput) GoString() string {
19789	return s.String()
19790}
19791
19792// Validate inspects the fields of the type to determine if they are valid.
19793func (s *CreateDomainInput) Validate() error {
19794	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
19795	if s.DomainName == nil {
19796		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19797	}
19798
19799	if invalidParams.Len() > 0 {
19800		return invalidParams
19801	}
19802	return nil
19803}
19804
19805// SetDomainName sets the DomainName field's value.
19806func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
19807	s.DomainName = &v
19808	return s
19809}
19810
19811// SetTags sets the Tags field's value.
19812func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
19813	s.Tags = v
19814	return s
19815}
19816
19817type CreateDomainOutput struct {
19818	_ struct{} `type:"structure"`
19819
19820	// An array of objects that describe the result of the action, such as the status
19821	// of the request, the timestamp of the request, and the resources affected
19822	// by the request.
19823	Operation *Operation `locationName:"operation" type:"structure"`
19824}
19825
19826// String returns the string representation
19827func (s CreateDomainOutput) String() string {
19828	return awsutil.Prettify(s)
19829}
19830
19831// GoString returns the string representation
19832func (s CreateDomainOutput) GoString() string {
19833	return s.String()
19834}
19835
19836// SetOperation sets the Operation field's value.
19837func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
19838	s.Operation = v
19839	return s
19840}
19841
19842type CreateInstanceSnapshotInput struct {
19843	_ struct{} `type:"structure"`
19844
19845	// The Lightsail instance on which to base your snapshot.
19846	//
19847	// InstanceName is a required field
19848	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19849
19850	// The name for your new snapshot.
19851	//
19852	// InstanceSnapshotName is a required field
19853	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
19854
19855	// The tag keys and optional values to add to the resource during create.
19856	//
19857	// Use the TagResource action to tag a resource after it's created.
19858	Tags []*Tag `locationName:"tags" type:"list"`
19859}
19860
19861// String returns the string representation
19862func (s CreateInstanceSnapshotInput) String() string {
19863	return awsutil.Prettify(s)
19864}
19865
19866// GoString returns the string representation
19867func (s CreateInstanceSnapshotInput) GoString() string {
19868	return s.String()
19869}
19870
19871// Validate inspects the fields of the type to determine if they are valid.
19872func (s *CreateInstanceSnapshotInput) Validate() error {
19873	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
19874	if s.InstanceName == nil {
19875		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19876	}
19877	if s.InstanceSnapshotName == nil {
19878		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
19879	}
19880
19881	if invalidParams.Len() > 0 {
19882		return invalidParams
19883	}
19884	return nil
19885}
19886
19887// SetInstanceName sets the InstanceName field's value.
19888func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
19889	s.InstanceName = &v
19890	return s
19891}
19892
19893// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
19894func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
19895	s.InstanceSnapshotName = &v
19896	return s
19897}
19898
19899// SetTags sets the Tags field's value.
19900func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
19901	s.Tags = v
19902	return s
19903}
19904
19905type CreateInstanceSnapshotOutput struct {
19906	_ struct{} `type:"structure"`
19907
19908	// An array of objects that describe the result of the action, such as the status
19909	// of the request, the timestamp of the request, and the resources affected
19910	// by the request.
19911	Operations []*Operation `locationName:"operations" type:"list"`
19912}
19913
19914// String returns the string representation
19915func (s CreateInstanceSnapshotOutput) String() string {
19916	return awsutil.Prettify(s)
19917}
19918
19919// GoString returns the string representation
19920func (s CreateInstanceSnapshotOutput) GoString() string {
19921	return s.String()
19922}
19923
19924// SetOperations sets the Operations field's value.
19925func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
19926	s.Operations = v
19927	return s
19928}
19929
19930type CreateInstancesFromSnapshotInput struct {
19931	_ struct{} `type:"structure"`
19932
19933	// An array of objects representing the add-ons to enable for the new instance.
19934	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
19935
19936	// An object containing information about one or more disk mappings.
19937	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
19938
19939	// The Availability Zone where you want to create your instances. Use the following
19940	// formatting: us-east-2a (case sensitive). You can get a list of Availability
19941	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
19942	// operation. Be sure to add the include Availability Zones parameter to your
19943	// request.
19944	//
19945	// AvailabilityZone is a required field
19946	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
19947
19948	// The bundle of specification information for your virtual private server (or
19949	// instance), including the pricing plan (e.g., micro_1_0).
19950	//
19951	// BundleId is a required field
19952	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
19953
19954	// The names for your new instances.
19955	//
19956	// InstanceNames is a required field
19957	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
19958
19959	// The name of the instance snapshot on which you are basing your new instances.
19960	// Use the get instance snapshots operation to return information about your
19961	// existing snapshots.
19962	//
19963	// Constraint:
19964	//
19965	//    * This parameter cannot be defined together with the source instance name
19966	//    parameter. The instance snapshot name and source instance name parameters
19967	//    are mutually exclusive.
19968	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
19969
19970	// The IP address type for the instance.
19971	//
19972	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
19973	//
19974	// The default value is dualstack.
19975	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
19976
19977	// The name for your key pair.
19978	KeyPairName *string `locationName:"keyPairName" type:"string"`
19979
19980	// The date of the automatic snapshot to use for the new instance. Use the get
19981	// auto snapshots operation to identify the dates of the available automatic
19982	// snapshots.
19983	//
19984	// Constraints:
19985	//
19986	//    * Must be specified in YYYY-MM-DD format.
19987	//
19988	//    * This parameter cannot be defined together with the use latest restorable
19989	//    auto snapshot parameter. The restore date and use latest restorable auto
19990	//    snapshot parameters are mutually exclusive.
19991	//
19992	//    * Define this parameter only when creating a new instance from an automatic
19993	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
19994	RestoreDate *string `locationName:"restoreDate" type:"string"`
19995
19996	// The name of the source instance from which the source automatic snapshot
19997	// was created.
19998	//
19999	// Constraints:
20000	//
20001	//    * This parameter cannot be defined together with the instance snapshot
20002	//    name parameter. The source instance name and instance snapshot name parameters
20003	//    are mutually exclusive.
20004	//
20005	//    * Define this parameter only when creating a new instance from an automatic
20006	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
20007	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
20008
20009	// The tag keys and optional values to add to the resource during create.
20010	//
20011	// Use the TagResource action to tag a resource after it's created.
20012	Tags []*Tag `locationName:"tags" type:"list"`
20013
20014	// A Boolean value to indicate whether to use the latest available automatic
20015	// snapshot.
20016	//
20017	// Constraints:
20018	//
20019	//    * This parameter cannot be defined together with the restore date parameter.
20020	//    The use latest restorable auto snapshot and restore date parameters are
20021	//    mutually exclusive.
20022	//
20023	//    * Define this parameter only when creating a new instance from an automatic
20024	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
20025	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
20026
20027	// You can create a launch script that configures a server with additional user
20028	// data. For example, apt-get -y update.
20029	//
20030	// Depending on the machine image you choose, the command to get software on
20031	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
20032	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
20033	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
20034	UserData *string `locationName:"userData" type:"string"`
20035}
20036
20037// String returns the string representation
20038func (s CreateInstancesFromSnapshotInput) String() string {
20039	return awsutil.Prettify(s)
20040}
20041
20042// GoString returns the string representation
20043func (s CreateInstancesFromSnapshotInput) GoString() string {
20044	return s.String()
20045}
20046
20047// Validate inspects the fields of the type to determine if they are valid.
20048func (s *CreateInstancesFromSnapshotInput) Validate() error {
20049	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
20050	if s.AvailabilityZone == nil {
20051		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
20052	}
20053	if s.BundleId == nil {
20054		invalidParams.Add(request.NewErrParamRequired("BundleId"))
20055	}
20056	if s.InstanceNames == nil {
20057		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
20058	}
20059	if s.AddOns != nil {
20060		for i, v := range s.AddOns {
20061			if v == nil {
20062				continue
20063			}
20064			if err := v.Validate(); err != nil {
20065				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
20066			}
20067		}
20068	}
20069
20070	if invalidParams.Len() > 0 {
20071		return invalidParams
20072	}
20073	return nil
20074}
20075
20076// SetAddOns sets the AddOns field's value.
20077func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
20078	s.AddOns = v
20079	return s
20080}
20081
20082// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
20083func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
20084	s.AttachedDiskMapping = v
20085	return s
20086}
20087
20088// SetAvailabilityZone sets the AvailabilityZone field's value.
20089func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
20090	s.AvailabilityZone = &v
20091	return s
20092}
20093
20094// SetBundleId sets the BundleId field's value.
20095func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
20096	s.BundleId = &v
20097	return s
20098}
20099
20100// SetInstanceNames sets the InstanceNames field's value.
20101func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
20102	s.InstanceNames = v
20103	return s
20104}
20105
20106// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
20107func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
20108	s.InstanceSnapshotName = &v
20109	return s
20110}
20111
20112// SetIpAddressType sets the IpAddressType field's value.
20113func (s *CreateInstancesFromSnapshotInput) SetIpAddressType(v string) *CreateInstancesFromSnapshotInput {
20114	s.IpAddressType = &v
20115	return s
20116}
20117
20118// SetKeyPairName sets the KeyPairName field's value.
20119func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
20120	s.KeyPairName = &v
20121	return s
20122}
20123
20124// SetRestoreDate sets the RestoreDate field's value.
20125func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
20126	s.RestoreDate = &v
20127	return s
20128}
20129
20130// SetSourceInstanceName sets the SourceInstanceName field's value.
20131func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
20132	s.SourceInstanceName = &v
20133	return s
20134}
20135
20136// SetTags sets the Tags field's value.
20137func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
20138	s.Tags = v
20139	return s
20140}
20141
20142// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
20143func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
20144	s.UseLatestRestorableAutoSnapshot = &v
20145	return s
20146}
20147
20148// SetUserData sets the UserData field's value.
20149func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
20150	s.UserData = &v
20151	return s
20152}
20153
20154type CreateInstancesFromSnapshotOutput struct {
20155	_ struct{} `type:"structure"`
20156
20157	// An array of objects that describe the result of the action, such as the status
20158	// of the request, the timestamp of the request, and the resources affected
20159	// by the request.
20160	Operations []*Operation `locationName:"operations" type:"list"`
20161}
20162
20163// String returns the string representation
20164func (s CreateInstancesFromSnapshotOutput) String() string {
20165	return awsutil.Prettify(s)
20166}
20167
20168// GoString returns the string representation
20169func (s CreateInstancesFromSnapshotOutput) GoString() string {
20170	return s.String()
20171}
20172
20173// SetOperations sets the Operations field's value.
20174func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
20175	s.Operations = v
20176	return s
20177}
20178
20179type CreateInstancesInput struct {
20180	_ struct{} `type:"structure"`
20181
20182	// An array of objects representing the add-ons to enable for the new instance.
20183	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
20184
20185	// The Availability Zone in which to create your instance. Use the following
20186	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
20187	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
20188	// operation. Be sure to add the include Availability Zones parameter to your
20189	// request.
20190	//
20191	// AvailabilityZone is a required field
20192	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
20193
20194	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
20195	// Use the get blueprints operation to return a list of available images (or
20196	// blueprints).
20197	//
20198	// Use active blueprints when creating new instances. Inactive blueprints are
20199	// listed to support customers with existing instances and are not necessarily
20200	// available to create new instances. Blueprints are marked inactive when they
20201	// become outdated due to operating system updates or new application releases.
20202	//
20203	// BlueprintId is a required field
20204	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
20205
20206	// The bundle of specification information for your virtual private server (or
20207	// instance), including the pricing plan (e.g., micro_1_0).
20208	//
20209	// BundleId is a required field
20210	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
20211
20212	// (Deprecated) The name for your custom image.
20213	//
20214	// In releases prior to June 12, 2017, this parameter was ignored by the API.
20215	// It is now deprecated.
20216	//
20217	// Deprecated: CustomImageName has been deprecated
20218	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
20219
20220	// The names to use for your new Lightsail instances. Separate multiple values
20221	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
20222	//
20223	// InstanceNames is a required field
20224	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
20225
20226	// The IP address type for the instance.
20227	//
20228	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
20229	//
20230	// The default value is dualstack.
20231	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
20232
20233	// The name of your key pair.
20234	KeyPairName *string `locationName:"keyPairName" type:"string"`
20235
20236	// The tag keys and optional values to add to the resource during create.
20237	//
20238	// Use the TagResource action to tag a resource after it's created.
20239	Tags []*Tag `locationName:"tags" type:"list"`
20240
20241	// A launch script you can create that configures a server with additional user
20242	// data. For example, you might want to run apt-get -y update.
20243	//
20244	// Depending on the machine image you choose, the command to get software on
20245	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
20246	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
20247	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
20248	UserData *string `locationName:"userData" type:"string"`
20249}
20250
20251// String returns the string representation
20252func (s CreateInstancesInput) String() string {
20253	return awsutil.Prettify(s)
20254}
20255
20256// GoString returns the string representation
20257func (s CreateInstancesInput) GoString() string {
20258	return s.String()
20259}
20260
20261// Validate inspects the fields of the type to determine if they are valid.
20262func (s *CreateInstancesInput) Validate() error {
20263	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
20264	if s.AvailabilityZone == nil {
20265		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
20266	}
20267	if s.BlueprintId == nil {
20268		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
20269	}
20270	if s.BundleId == nil {
20271		invalidParams.Add(request.NewErrParamRequired("BundleId"))
20272	}
20273	if s.InstanceNames == nil {
20274		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
20275	}
20276	if s.AddOns != nil {
20277		for i, v := range s.AddOns {
20278			if v == nil {
20279				continue
20280			}
20281			if err := v.Validate(); err != nil {
20282				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
20283			}
20284		}
20285	}
20286
20287	if invalidParams.Len() > 0 {
20288		return invalidParams
20289	}
20290	return nil
20291}
20292
20293// SetAddOns sets the AddOns field's value.
20294func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
20295	s.AddOns = v
20296	return s
20297}
20298
20299// SetAvailabilityZone sets the AvailabilityZone field's value.
20300func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
20301	s.AvailabilityZone = &v
20302	return s
20303}
20304
20305// SetBlueprintId sets the BlueprintId field's value.
20306func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
20307	s.BlueprintId = &v
20308	return s
20309}
20310
20311// SetBundleId sets the BundleId field's value.
20312func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
20313	s.BundleId = &v
20314	return s
20315}
20316
20317// SetCustomImageName sets the CustomImageName field's value.
20318func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
20319	s.CustomImageName = &v
20320	return s
20321}
20322
20323// SetInstanceNames sets the InstanceNames field's value.
20324func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
20325	s.InstanceNames = v
20326	return s
20327}
20328
20329// SetIpAddressType sets the IpAddressType field's value.
20330func (s *CreateInstancesInput) SetIpAddressType(v string) *CreateInstancesInput {
20331	s.IpAddressType = &v
20332	return s
20333}
20334
20335// SetKeyPairName sets the KeyPairName field's value.
20336func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
20337	s.KeyPairName = &v
20338	return s
20339}
20340
20341// SetTags sets the Tags field's value.
20342func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
20343	s.Tags = v
20344	return s
20345}
20346
20347// SetUserData sets the UserData field's value.
20348func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
20349	s.UserData = &v
20350	return s
20351}
20352
20353type CreateInstancesOutput struct {
20354	_ struct{} `type:"structure"`
20355
20356	// An array of objects that describe the result of the action, such as the status
20357	// of the request, the timestamp of the request, and the resources affected
20358	// by the request.
20359	Operations []*Operation `locationName:"operations" type:"list"`
20360}
20361
20362// String returns the string representation
20363func (s CreateInstancesOutput) String() string {
20364	return awsutil.Prettify(s)
20365}
20366
20367// GoString returns the string representation
20368func (s CreateInstancesOutput) GoString() string {
20369	return s.String()
20370}
20371
20372// SetOperations sets the Operations field's value.
20373func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
20374	s.Operations = v
20375	return s
20376}
20377
20378type CreateKeyPairInput struct {
20379	_ struct{} `type:"structure"`
20380
20381	// The name for your new key pair.
20382	//
20383	// KeyPairName is a required field
20384	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
20385
20386	// The tag keys and optional values to add to the resource during create.
20387	//
20388	// Use the TagResource action to tag a resource after it's created.
20389	Tags []*Tag `locationName:"tags" type:"list"`
20390}
20391
20392// String returns the string representation
20393func (s CreateKeyPairInput) String() string {
20394	return awsutil.Prettify(s)
20395}
20396
20397// GoString returns the string representation
20398func (s CreateKeyPairInput) GoString() string {
20399	return s.String()
20400}
20401
20402// Validate inspects the fields of the type to determine if they are valid.
20403func (s *CreateKeyPairInput) Validate() error {
20404	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
20405	if s.KeyPairName == nil {
20406		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
20407	}
20408
20409	if invalidParams.Len() > 0 {
20410		return invalidParams
20411	}
20412	return nil
20413}
20414
20415// SetKeyPairName sets the KeyPairName field's value.
20416func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
20417	s.KeyPairName = &v
20418	return s
20419}
20420
20421// SetTags sets the Tags field's value.
20422func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
20423	s.Tags = v
20424	return s
20425}
20426
20427type CreateKeyPairOutput struct {
20428	_ struct{} `type:"structure"`
20429
20430	// An array of key-value pairs containing information about the new key pair
20431	// you just created.
20432	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
20433
20434	// An array of objects that describe the result of the action, such as the status
20435	// of the request, the timestamp of the request, and the resources affected
20436	// by the request.
20437	Operation *Operation `locationName:"operation" type:"structure"`
20438
20439	// A base64-encoded RSA private key.
20440	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
20441
20442	// A base64-encoded public key of the ssh-rsa type.
20443	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
20444}
20445
20446// String returns the string representation
20447func (s CreateKeyPairOutput) String() string {
20448	return awsutil.Prettify(s)
20449}
20450
20451// GoString returns the string representation
20452func (s CreateKeyPairOutput) GoString() string {
20453	return s.String()
20454}
20455
20456// SetKeyPair sets the KeyPair field's value.
20457func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
20458	s.KeyPair = v
20459	return s
20460}
20461
20462// SetOperation sets the Operation field's value.
20463func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
20464	s.Operation = v
20465	return s
20466}
20467
20468// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
20469func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
20470	s.PrivateKeyBase64 = &v
20471	return s
20472}
20473
20474// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
20475func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
20476	s.PublicKeyBase64 = &v
20477	return s
20478}
20479
20480type CreateLoadBalancerInput struct {
20481	_ struct{} `type:"structure"`
20482
20483	// The optional alternative domains and subdomains to use with your SSL/TLS
20484	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
20485	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
20486
20487	// The domain name with which your certificate is associated (e.g., example.com).
20488	//
20489	// If you specify certificateDomainName, then certificateName is required (and
20490	// vice-versa).
20491	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
20492
20493	// The name of the SSL/TLS certificate.
20494	//
20495	// If you specify certificateName, then certificateDomainName is required (and
20496	// vice-versa).
20497	CertificateName *string `locationName:"certificateName" type:"string"`
20498
20499	// The path you provided to perform the load balancer health check. If you didn't
20500	// specify a health check path, Lightsail uses the root path of your website
20501	// (e.g., "/").
20502	//
20503	// You may want to specify a custom health check path other than the root of
20504	// your application if your home page loads slowly or has a lot of media or
20505	// scripting on it.
20506	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
20507
20508	// The instance port where you're creating your load balancer.
20509	//
20510	// InstancePort is a required field
20511	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
20512
20513	// The IP address type for the load balancer.
20514	//
20515	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
20516	//
20517	// The default value is dualstack.
20518	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
20519
20520	// The name of your load balancer.
20521	//
20522	// LoadBalancerName is a required field
20523	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20524
20525	// The tag keys and optional values to add to the resource during create.
20526	//
20527	// Use the TagResource action to tag a resource after it's created.
20528	Tags []*Tag `locationName:"tags" type:"list"`
20529}
20530
20531// String returns the string representation
20532func (s CreateLoadBalancerInput) String() string {
20533	return awsutil.Prettify(s)
20534}
20535
20536// GoString returns the string representation
20537func (s CreateLoadBalancerInput) GoString() string {
20538	return s.String()
20539}
20540
20541// Validate inspects the fields of the type to determine if they are valid.
20542func (s *CreateLoadBalancerInput) Validate() error {
20543	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
20544	if s.InstancePort == nil {
20545		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
20546	}
20547	if s.InstancePort != nil && *s.InstancePort < -1 {
20548		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
20549	}
20550	if s.LoadBalancerName == nil {
20551		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20552	}
20553
20554	if invalidParams.Len() > 0 {
20555		return invalidParams
20556	}
20557	return nil
20558}
20559
20560// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
20561func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
20562	s.CertificateAlternativeNames = v
20563	return s
20564}
20565
20566// SetCertificateDomainName sets the CertificateDomainName field's value.
20567func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
20568	s.CertificateDomainName = &v
20569	return s
20570}
20571
20572// SetCertificateName sets the CertificateName field's value.
20573func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
20574	s.CertificateName = &v
20575	return s
20576}
20577
20578// SetHealthCheckPath sets the HealthCheckPath field's value.
20579func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
20580	s.HealthCheckPath = &v
20581	return s
20582}
20583
20584// SetInstancePort sets the InstancePort field's value.
20585func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
20586	s.InstancePort = &v
20587	return s
20588}
20589
20590// SetIpAddressType sets the IpAddressType field's value.
20591func (s *CreateLoadBalancerInput) SetIpAddressType(v string) *CreateLoadBalancerInput {
20592	s.IpAddressType = &v
20593	return s
20594}
20595
20596// SetLoadBalancerName sets the LoadBalancerName field's value.
20597func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
20598	s.LoadBalancerName = &v
20599	return s
20600}
20601
20602// SetTags sets the Tags field's value.
20603func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
20604	s.Tags = v
20605	return s
20606}
20607
20608type CreateLoadBalancerOutput struct {
20609	_ struct{} `type:"structure"`
20610
20611	// An array of objects that describe the result of the action, such as the status
20612	// of the request, the timestamp of the request, and the resources affected
20613	// by the request.
20614	Operations []*Operation `locationName:"operations" type:"list"`
20615}
20616
20617// String returns the string representation
20618func (s CreateLoadBalancerOutput) String() string {
20619	return awsutil.Prettify(s)
20620}
20621
20622// GoString returns the string representation
20623func (s CreateLoadBalancerOutput) GoString() string {
20624	return s.String()
20625}
20626
20627// SetOperations sets the Operations field's value.
20628func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
20629	s.Operations = v
20630	return s
20631}
20632
20633type CreateLoadBalancerTlsCertificateInput struct {
20634	_ struct{} `type:"structure"`
20635
20636	// An array of strings listing alternative domains and subdomains for your SSL/TLS
20637	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
20638	// of 9 alternative names (in addition to the 1 primary domain). We do not support
20639	// wildcards (e.g., *.example.com).
20640	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
20641
20642	// The domain name (e.g., example.com) for your SSL/TLS certificate.
20643	//
20644	// CertificateDomainName is a required field
20645	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
20646
20647	// The SSL/TLS certificate name.
20648	//
20649	// You can have up to 10 certificates in your account at one time. Each Lightsail
20650	// load balancer can have up to 2 certificates associated with it at one time.
20651	// There is also an overall limit to the number of certificates that can be
20652	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
20653	//
20654	// CertificateName is a required field
20655	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
20656
20657	// The load balancer name where you want to create the SSL/TLS certificate.
20658	//
20659	// LoadBalancerName is a required field
20660	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
20661
20662	// The tag keys and optional values to add to the resource during create.
20663	//
20664	// Use the TagResource action to tag a resource after it's created.
20665	Tags []*Tag `locationName:"tags" type:"list"`
20666}
20667
20668// String returns the string representation
20669func (s CreateLoadBalancerTlsCertificateInput) String() string {
20670	return awsutil.Prettify(s)
20671}
20672
20673// GoString returns the string representation
20674func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
20675	return s.String()
20676}
20677
20678// Validate inspects the fields of the type to determine if they are valid.
20679func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
20680	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
20681	if s.CertificateDomainName == nil {
20682		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
20683	}
20684	if s.CertificateName == nil {
20685		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
20686	}
20687	if s.LoadBalancerName == nil {
20688		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
20689	}
20690
20691	if invalidParams.Len() > 0 {
20692		return invalidParams
20693	}
20694	return nil
20695}
20696
20697// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
20698func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
20699	s.CertificateAlternativeNames = v
20700	return s
20701}
20702
20703// SetCertificateDomainName sets the CertificateDomainName field's value.
20704func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
20705	s.CertificateDomainName = &v
20706	return s
20707}
20708
20709// SetCertificateName sets the CertificateName field's value.
20710func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
20711	s.CertificateName = &v
20712	return s
20713}
20714
20715// SetLoadBalancerName sets the LoadBalancerName field's value.
20716func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
20717	s.LoadBalancerName = &v
20718	return s
20719}
20720
20721// SetTags sets the Tags field's value.
20722func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
20723	s.Tags = v
20724	return s
20725}
20726
20727type CreateLoadBalancerTlsCertificateOutput struct {
20728	_ struct{} `type:"structure"`
20729
20730	// An array of objects that describe the result of the action, such as the status
20731	// of the request, the timestamp of the request, and the resources affected
20732	// by the request.
20733	Operations []*Operation `locationName:"operations" type:"list"`
20734}
20735
20736// String returns the string representation
20737func (s CreateLoadBalancerTlsCertificateOutput) String() string {
20738	return awsutil.Prettify(s)
20739}
20740
20741// GoString returns the string representation
20742func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
20743	return s.String()
20744}
20745
20746// SetOperations sets the Operations field's value.
20747func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
20748	s.Operations = v
20749	return s
20750}
20751
20752type CreateRelationalDatabaseFromSnapshotInput struct {
20753	_ struct{} `type:"structure"`
20754
20755	// The Availability Zone in which to create your new database. Use the us-east-2a
20756	// case-sensitive format.
20757	//
20758	// You can get a list of Availability Zones by using the get regions operation.
20759	// Be sure to add the include relational database Availability Zones parameter
20760	// to your request.
20761	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
20762
20763	// Specifies the accessibility options for your new database. A value of true
20764	// specifies a database that is available to resources outside of your Lightsail
20765	// account. A value of false specifies a database that is available only to
20766	// your Lightsail resources in the same region as your database.
20767	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
20768
20769	// The bundle ID for your new database. A bundle describes the performance specifications
20770	// for your database.
20771	//
20772	// You can get a list of database bundle IDs by using the get relational database
20773	// bundles operation.
20774	//
20775	// When creating a new database from a snapshot, you cannot choose a bundle
20776	// that is smaller than the bundle of the source database.
20777	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
20778
20779	// The name to use for your new Lightsail database resource.
20780	//
20781	// Constraints:
20782	//
20783	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
20784	//
20785	//    * The first and last character must be a letter or number.
20786	//
20787	// RelationalDatabaseName is a required field
20788	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
20789
20790	// The name of the database snapshot from which to create your new database.
20791	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
20792
20793	// The date and time to restore your database from.
20794	//
20795	// Constraints:
20796	//
20797	//    * Must be before the latest restorable time for the database.
20798	//
20799	//    * Cannot be specified if the use latest restorable time parameter is true.
20800	//
20801	//    * Specified in Coordinated Universal Time (UTC).
20802	//
20803	//    * Specified in the Unix time format. For example, if you wish to use a
20804	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
20805	//    as the restore time.
20806	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
20807
20808	// The name of the source database.
20809	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
20810
20811	// The tag keys and optional values to add to the resource during create.
20812	//
20813	// Use the TagResource action to tag a resource after it's created.
20814	Tags []*Tag `locationName:"tags" type:"list"`
20815
20816	// Specifies whether your database is restored from the latest backup time.
20817	// A value of true restores from the latest backup time.
20818	//
20819	// Default: false
20820	//
20821	// Constraints: Cannot be specified if the restore time parameter is provided.
20822	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
20823}
20824
20825// String returns the string representation
20826func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
20827	return awsutil.Prettify(s)
20828}
20829
20830// GoString returns the string representation
20831func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
20832	return s.String()
20833}
20834
20835// Validate inspects the fields of the type to determine if they are valid.
20836func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
20837	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
20838	if s.RelationalDatabaseName == nil {
20839		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
20840	}
20841
20842	if invalidParams.Len() > 0 {
20843		return invalidParams
20844	}
20845	return nil
20846}
20847
20848// SetAvailabilityZone sets the AvailabilityZone field's value.
20849func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
20850	s.AvailabilityZone = &v
20851	return s
20852}
20853
20854// SetPubliclyAccessible sets the PubliclyAccessible field's value.
20855func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
20856	s.PubliclyAccessible = &v
20857	return s
20858}
20859
20860// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
20861func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
20862	s.RelationalDatabaseBundleId = &v
20863	return s
20864}
20865
20866// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
20867func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20868	s.RelationalDatabaseName = &v
20869	return s
20870}
20871
20872// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
20873func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20874	s.RelationalDatabaseSnapshotName = &v
20875	return s
20876}
20877
20878// SetRestoreTime sets the RestoreTime field's value.
20879func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
20880	s.RestoreTime = &v
20881	return s
20882}
20883
20884// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
20885func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
20886	s.SourceRelationalDatabaseName = &v
20887	return s
20888}
20889
20890// SetTags sets the Tags field's value.
20891func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
20892	s.Tags = v
20893	return s
20894}
20895
20896// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
20897func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
20898	s.UseLatestRestorableTime = &v
20899	return s
20900}
20901
20902type CreateRelationalDatabaseFromSnapshotOutput struct {
20903	_ struct{} `type:"structure"`
20904
20905	// An array of objects that describe the result of the action, such as the status
20906	// of the request, the timestamp of the request, and the resources affected
20907	// by the request.
20908	Operations []*Operation `locationName:"operations" type:"list"`
20909}
20910
20911// String returns the string representation
20912func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
20913	return awsutil.Prettify(s)
20914}
20915
20916// GoString returns the string representation
20917func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
20918	return s.String()
20919}
20920
20921// SetOperations sets the Operations field's value.
20922func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
20923	s.Operations = v
20924	return s
20925}
20926
20927type CreateRelationalDatabaseInput struct {
20928	_ struct{} `type:"structure"`
20929
20930	// The Availability Zone in which to create your new database. Use the us-east-2a
20931	// case-sensitive format.
20932	//
20933	// You can get a list of Availability Zones by using the get regions operation.
20934	// Be sure to add the include relational database Availability Zones parameter
20935	// to your request.
20936	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
20937
20938	// The meaning of this parameter differs according to the database engine you
20939	// use.
20940	//
20941	// MySQL
20942	//
20943	// The name of the database to create when the Lightsail database resource is
20944	// created. If this parameter isn't specified, no database is created in the
20945	// database resource.
20946	//
20947	// Constraints:
20948	//
20949	//    * Must contain 1 to 64 letters or numbers.
20950	//
20951	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
20952	//    or digits (0- 9).
20953	//
20954	//    * Can't be a word reserved by the specified database engine. For more
20955	//    information about reserved words in MySQL, see the Keywords and Reserved
20956	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
20957	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), and
20958	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
20959	//
20960	// PostgreSQL
20961	//
20962	// The name of the database to create when the Lightsail database resource is
20963	// created. If this parameter isn't specified, a database named postgres is
20964	// created in the database resource.
20965	//
20966	// Constraints:
20967	//
20968	//    * Must contain 1 to 63 letters or numbers.
20969	//
20970	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
20971	//    or digits (0- 9).
20972	//
20973	//    * Can't be a word reserved by the specified database engine. For more
20974	//    information about reserved words in PostgreSQL, see the SQL Key Words
20975	//    articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
20976	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
20977	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
20978	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
20979	//
20980	// MasterDatabaseName is a required field
20981	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
20982
20983	// The password for the master user. The password can include any printable
20984	// ASCII character except "/", """, or "@". It cannot contain spaces.
20985	//
20986	// MySQL
20987	//
20988	// Constraints: Must contain from 8 to 41 characters.
20989	//
20990	// PostgreSQL
20991	//
20992	// Constraints: Must contain from 8 to 128 characters.
20993	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
20994
20995	// The name for the master user.
20996	//
20997	// MySQL
20998	//
20999	// Constraints:
21000	//
21001	//    * Required for MySQL.
21002	//
21003	//    * Must be 1 to 16 letters or numbers. Can contain underscores.
21004	//
21005	//    * First character must be a letter.
21006	//
21007	//    * Can't be a reserved word for the chosen database engine. For more information
21008	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
21009	//    Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html),
21010	//    MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html), or
21011	//    MySQL 8.0 (https://dev.mysql.com/doc/refman/8.0/en/keywords.html).
21012	//
21013	// PostgreSQL
21014	//
21015	// Constraints:
21016	//
21017	//    * Required for PostgreSQL.
21018	//
21019	//    * Must be 1 to 63 letters or numbers. Can contain underscores.
21020	//
21021	//    * First character must be a letter.
21022	//
21023	//    * Can't be a reserved word for the chosen database engine. For more information
21024	//    about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved
21025	//    Words articles for PostgreSQL 9.6 (https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html),
21026	//    PostgreSQL 10 (https://www.postgresql.org/docs/10/sql-keywords-appendix.html),
21027	//    PostgreSQL 11 (https://www.postgresql.org/docs/11/sql-keywords-appendix.html),
21028	//    and PostgreSQL 12 (https://www.postgresql.org/docs/12/sql-keywords-appendix.html).
21029	//
21030	// MasterUsername is a required field
21031	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
21032
21033	// The daily time range during which automated backups are created for your
21034	// new database if automated backups are enabled.
21035	//
21036	// The default is a 30-minute window selected at random from an 8-hour block
21037	// of time for each AWS Region. For more information about the preferred backup
21038	// 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)
21039	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
21040	//
21041	// Constraints:
21042	//
21043	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
21044	//
21045	//    * Specified in Coordinated Universal Time (UTC).
21046	//
21047	//    * Must not conflict with the preferred maintenance window.
21048	//
21049	//    * Must be at least 30 minutes.
21050	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
21051
21052	// The weekly time range during which system maintenance can occur on your new
21053	// database.
21054	//
21055	// The default is a 30-minute window selected at random from an 8-hour block
21056	// of time for each AWS Region, occurring on a random day of the week.
21057	//
21058	// Constraints:
21059	//
21060	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
21061	//
21062	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
21063	//
21064	//    * Must be at least 30 minutes.
21065	//
21066	//    * Specified in Coordinated Universal Time (UTC).
21067	//
21068	//    * Example: Tue:17:00-Tue:17:30
21069	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
21070
21071	// Specifies the accessibility options for your new database. A value of true
21072	// specifies a database that is available to resources outside of your Lightsail
21073	// account. A value of false specifies a database that is available only to
21074	// your Lightsail resources in the same region as your database.
21075	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
21076
21077	// The blueprint ID for your new database. A blueprint describes the major engine
21078	// version of a database.
21079	//
21080	// You can get a list of database blueprints IDs by using the get relational
21081	// database blueprints operation.
21082	//
21083	// RelationalDatabaseBlueprintId is a required field
21084	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
21085
21086	// The bundle ID for your new database. A bundle describes the performance specifications
21087	// for your database.
21088	//
21089	// You can get a list of database bundle IDs by using the get relational database
21090	// bundles operation.
21091	//
21092	// RelationalDatabaseBundleId is a required field
21093	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
21094
21095	// The name to use for your new Lightsail database resource.
21096	//
21097	// Constraints:
21098	//
21099	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
21100	//
21101	//    * The first and last character must be a letter or number.
21102	//
21103	// RelationalDatabaseName is a required field
21104	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21105
21106	// The tag keys and optional values to add to the resource during create.
21107	//
21108	// Use the TagResource action to tag a resource after it's created.
21109	Tags []*Tag `locationName:"tags" type:"list"`
21110}
21111
21112// String returns the string representation
21113func (s CreateRelationalDatabaseInput) String() string {
21114	return awsutil.Prettify(s)
21115}
21116
21117// GoString returns the string representation
21118func (s CreateRelationalDatabaseInput) GoString() string {
21119	return s.String()
21120}
21121
21122// Validate inspects the fields of the type to determine if they are valid.
21123func (s *CreateRelationalDatabaseInput) Validate() error {
21124	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
21125	if s.MasterDatabaseName == nil {
21126		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
21127	}
21128	if s.MasterUsername == nil {
21129		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
21130	}
21131	if s.RelationalDatabaseBlueprintId == nil {
21132		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
21133	}
21134	if s.RelationalDatabaseBundleId == nil {
21135		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
21136	}
21137	if s.RelationalDatabaseName == nil {
21138		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21139	}
21140
21141	if invalidParams.Len() > 0 {
21142		return invalidParams
21143	}
21144	return nil
21145}
21146
21147// SetAvailabilityZone sets the AvailabilityZone field's value.
21148func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
21149	s.AvailabilityZone = &v
21150	return s
21151}
21152
21153// SetMasterDatabaseName sets the MasterDatabaseName field's value.
21154func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
21155	s.MasterDatabaseName = &v
21156	return s
21157}
21158
21159// SetMasterUserPassword sets the MasterUserPassword field's value.
21160func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
21161	s.MasterUserPassword = &v
21162	return s
21163}
21164
21165// SetMasterUsername sets the MasterUsername field's value.
21166func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
21167	s.MasterUsername = &v
21168	return s
21169}
21170
21171// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21172func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
21173	s.PreferredBackupWindow = &v
21174	return s
21175}
21176
21177// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21178func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
21179	s.PreferredMaintenanceWindow = &v
21180	return s
21181}
21182
21183// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21184func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
21185	s.PubliclyAccessible = &v
21186	return s
21187}
21188
21189// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
21190func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
21191	s.RelationalDatabaseBlueprintId = &v
21192	return s
21193}
21194
21195// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
21196func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
21197	s.RelationalDatabaseBundleId = &v
21198	return s
21199}
21200
21201// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21202func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
21203	s.RelationalDatabaseName = &v
21204	return s
21205}
21206
21207// SetTags sets the Tags field's value.
21208func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
21209	s.Tags = v
21210	return s
21211}
21212
21213type CreateRelationalDatabaseOutput struct {
21214	_ struct{} `type:"structure"`
21215
21216	// An array of objects that describe the result of the action, such as the status
21217	// of the request, the timestamp of the request, and the resources affected
21218	// by the request.
21219	Operations []*Operation `locationName:"operations" type:"list"`
21220}
21221
21222// String returns the string representation
21223func (s CreateRelationalDatabaseOutput) String() string {
21224	return awsutil.Prettify(s)
21225}
21226
21227// GoString returns the string representation
21228func (s CreateRelationalDatabaseOutput) GoString() string {
21229	return s.String()
21230}
21231
21232// SetOperations sets the Operations field's value.
21233func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
21234	s.Operations = v
21235	return s
21236}
21237
21238type CreateRelationalDatabaseSnapshotInput struct {
21239	_ struct{} `type:"structure"`
21240
21241	// The name of the database on which to base your new snapshot.
21242	//
21243	// RelationalDatabaseName is a required field
21244	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
21245
21246	// The name for your new database snapshot.
21247	//
21248	// Constraints:
21249	//
21250	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
21251	//
21252	//    * The first and last character must be a letter or number.
21253	//
21254	// RelationalDatabaseSnapshotName is a required field
21255	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
21256
21257	// The tag keys and optional values to add to the resource during create.
21258	//
21259	// Use the TagResource action to tag a resource after it's created.
21260	Tags []*Tag `locationName:"tags" type:"list"`
21261}
21262
21263// String returns the string representation
21264func (s CreateRelationalDatabaseSnapshotInput) String() string {
21265	return awsutil.Prettify(s)
21266}
21267
21268// GoString returns the string representation
21269func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
21270	return s.String()
21271}
21272
21273// Validate inspects the fields of the type to determine if they are valid.
21274func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
21275	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
21276	if s.RelationalDatabaseName == nil {
21277		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
21278	}
21279	if s.RelationalDatabaseSnapshotName == nil {
21280		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
21281	}
21282
21283	if invalidParams.Len() > 0 {
21284		return invalidParams
21285	}
21286	return nil
21287}
21288
21289// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
21290func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
21291	s.RelationalDatabaseName = &v
21292	return s
21293}
21294
21295// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
21296func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
21297	s.RelationalDatabaseSnapshotName = &v
21298	return s
21299}
21300
21301// SetTags sets the Tags field's value.
21302func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
21303	s.Tags = v
21304	return s
21305}
21306
21307type CreateRelationalDatabaseSnapshotOutput struct {
21308	_ struct{} `type:"structure"`
21309
21310	// An array of objects that describe the result of the action, such as the status
21311	// of the request, the timestamp of the request, and the resources affected
21312	// by the request.
21313	Operations []*Operation `locationName:"operations" type:"list"`
21314}
21315
21316// String returns the string representation
21317func (s CreateRelationalDatabaseSnapshotOutput) String() string {
21318	return awsutil.Prettify(s)
21319}
21320
21321// GoString returns the string representation
21322func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
21323	return s.String()
21324}
21325
21326// SetOperations sets the Operations field's value.
21327func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
21328	s.Operations = v
21329	return s
21330}
21331
21332type DeleteAlarmInput struct {
21333	_ struct{} `type:"structure"`
21334
21335	// The name of the alarm to delete.
21336	//
21337	// AlarmName is a required field
21338	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
21339}
21340
21341// String returns the string representation
21342func (s DeleteAlarmInput) String() string {
21343	return awsutil.Prettify(s)
21344}
21345
21346// GoString returns the string representation
21347func (s DeleteAlarmInput) GoString() string {
21348	return s.String()
21349}
21350
21351// Validate inspects the fields of the type to determine if they are valid.
21352func (s *DeleteAlarmInput) Validate() error {
21353	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
21354	if s.AlarmName == nil {
21355		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
21356	}
21357
21358	if invalidParams.Len() > 0 {
21359		return invalidParams
21360	}
21361	return nil
21362}
21363
21364// SetAlarmName sets the AlarmName field's value.
21365func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
21366	s.AlarmName = &v
21367	return s
21368}
21369
21370type DeleteAlarmOutput struct {
21371	_ struct{} `type:"structure"`
21372
21373	// An array of objects that describe the result of the action, such as the status
21374	// of the request, the timestamp of the request, and the resources affected
21375	// by the request.
21376	Operations []*Operation `locationName:"operations" type:"list"`
21377}
21378
21379// String returns the string representation
21380func (s DeleteAlarmOutput) String() string {
21381	return awsutil.Prettify(s)
21382}
21383
21384// GoString returns the string representation
21385func (s DeleteAlarmOutput) GoString() string {
21386	return s.String()
21387}
21388
21389// SetOperations sets the Operations field's value.
21390func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
21391	s.Operations = v
21392	return s
21393}
21394
21395type DeleteAutoSnapshotInput struct {
21396	_ struct{} `type:"structure"`
21397
21398	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
21399	// get auto snapshots operation to get the available automatic snapshots for
21400	// a resource.
21401	//
21402	// Date is a required field
21403	Date *string `locationName:"date" type:"string" required:"true"`
21404
21405	// The name of the source instance or disk from which to delete the automatic
21406	// snapshot.
21407	//
21408	// ResourceName is a required field
21409	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
21410}
21411
21412// String returns the string representation
21413func (s DeleteAutoSnapshotInput) String() string {
21414	return awsutil.Prettify(s)
21415}
21416
21417// GoString returns the string representation
21418func (s DeleteAutoSnapshotInput) GoString() string {
21419	return s.String()
21420}
21421
21422// Validate inspects the fields of the type to determine if they are valid.
21423func (s *DeleteAutoSnapshotInput) Validate() error {
21424	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
21425	if s.Date == nil {
21426		invalidParams.Add(request.NewErrParamRequired("Date"))
21427	}
21428	if s.ResourceName == nil {
21429		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
21430	}
21431
21432	if invalidParams.Len() > 0 {
21433		return invalidParams
21434	}
21435	return nil
21436}
21437
21438// SetDate sets the Date field's value.
21439func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
21440	s.Date = &v
21441	return s
21442}
21443
21444// SetResourceName sets the ResourceName field's value.
21445func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
21446	s.ResourceName = &v
21447	return s
21448}
21449
21450type DeleteAutoSnapshotOutput struct {
21451	_ struct{} `type:"structure"`
21452
21453	// An array of objects that describe the result of the action, such as the status
21454	// of the request, the timestamp of the request, and the resources affected
21455	// by the request.
21456	Operations []*Operation `locationName:"operations" type:"list"`
21457}
21458
21459// String returns the string representation
21460func (s DeleteAutoSnapshotOutput) String() string {
21461	return awsutil.Prettify(s)
21462}
21463
21464// GoString returns the string representation
21465func (s DeleteAutoSnapshotOutput) GoString() string {
21466	return s.String()
21467}
21468
21469// SetOperations sets the Operations field's value.
21470func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
21471	s.Operations = v
21472	return s
21473}
21474
21475type DeleteCertificateInput struct {
21476	_ struct{} `type:"structure"`
21477
21478	// The name of the certificate to delete.
21479	//
21480	// Use the GetCertificates action to get a list of certificate names that you
21481	// can specify.
21482	//
21483	// CertificateName is a required field
21484	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
21485}
21486
21487// String returns the string representation
21488func (s DeleteCertificateInput) String() string {
21489	return awsutil.Prettify(s)
21490}
21491
21492// GoString returns the string representation
21493func (s DeleteCertificateInput) GoString() string {
21494	return s.String()
21495}
21496
21497// Validate inspects the fields of the type to determine if they are valid.
21498func (s *DeleteCertificateInput) Validate() error {
21499	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
21500	if s.CertificateName == nil {
21501		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
21502	}
21503
21504	if invalidParams.Len() > 0 {
21505		return invalidParams
21506	}
21507	return nil
21508}
21509
21510// SetCertificateName sets the CertificateName field's value.
21511func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
21512	s.CertificateName = &v
21513	return s
21514}
21515
21516type DeleteCertificateOutput struct {
21517	_ struct{} `type:"structure"`
21518
21519	// An array of objects that describe the result of the action, such as the status
21520	// of the request, the timestamp of the request, and the resources affected
21521	// by the request.
21522	Operations []*Operation `locationName:"operations" type:"list"`
21523}
21524
21525// String returns the string representation
21526func (s DeleteCertificateOutput) String() string {
21527	return awsutil.Prettify(s)
21528}
21529
21530// GoString returns the string representation
21531func (s DeleteCertificateOutput) GoString() string {
21532	return s.String()
21533}
21534
21535// SetOperations sets the Operations field's value.
21536func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
21537	s.Operations = v
21538	return s
21539}
21540
21541type DeleteContactMethodInput struct {
21542	_ struct{} `type:"structure"`
21543
21544	// The protocol that will be deleted, such as Email or SMS (text messaging).
21545	//
21546	// To delete an Email and an SMS contact method if you added both, you must
21547	// run separate DeleteContactMethod actions to delete each protocol.
21548	//
21549	// Protocol is a required field
21550	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
21551}
21552
21553// String returns the string representation
21554func (s DeleteContactMethodInput) String() string {
21555	return awsutil.Prettify(s)
21556}
21557
21558// GoString returns the string representation
21559func (s DeleteContactMethodInput) GoString() string {
21560	return s.String()
21561}
21562
21563// Validate inspects the fields of the type to determine if they are valid.
21564func (s *DeleteContactMethodInput) Validate() error {
21565	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
21566	if s.Protocol == nil {
21567		invalidParams.Add(request.NewErrParamRequired("Protocol"))
21568	}
21569
21570	if invalidParams.Len() > 0 {
21571		return invalidParams
21572	}
21573	return nil
21574}
21575
21576// SetProtocol sets the Protocol field's value.
21577func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
21578	s.Protocol = &v
21579	return s
21580}
21581
21582type DeleteContactMethodOutput struct {
21583	_ struct{} `type:"structure"`
21584
21585	// An array of objects that describe the result of the action, such as the status
21586	// of the request, the timestamp of the request, and the resources affected
21587	// by the request.
21588	Operations []*Operation `locationName:"operations" type:"list"`
21589}
21590
21591// String returns the string representation
21592func (s DeleteContactMethodOutput) String() string {
21593	return awsutil.Prettify(s)
21594}
21595
21596// GoString returns the string representation
21597func (s DeleteContactMethodOutput) GoString() string {
21598	return s.String()
21599}
21600
21601// SetOperations sets the Operations field's value.
21602func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
21603	s.Operations = v
21604	return s
21605}
21606
21607type DeleteContainerImageInput struct {
21608	_ struct{} `type:"structure"`
21609
21610	// The name of the container image to delete from the container service.
21611	//
21612	// Use the GetContainerImages action to get the name of the container images
21613	// that are registered to a container service.
21614	//
21615	// Container images sourced from your Lightsail container service, that are
21616	// registered and stored on your service, start with a colon (:). For example,
21617	// :container-service-1.mystaticwebsite.1. Container images sourced from a public
21618	// registry like Docker Hub don't start with a colon. For example, nginx:latest
21619	// or nginx.
21620	//
21621	// Image is a required field
21622	Image *string `locationName:"image" type:"string" required:"true"`
21623
21624	// The name of the container service for which to delete a registered container
21625	// image.
21626	//
21627	// ServiceName is a required field
21628	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21629}
21630
21631// String returns the string representation
21632func (s DeleteContainerImageInput) String() string {
21633	return awsutil.Prettify(s)
21634}
21635
21636// GoString returns the string representation
21637func (s DeleteContainerImageInput) GoString() string {
21638	return s.String()
21639}
21640
21641// Validate inspects the fields of the type to determine if they are valid.
21642func (s *DeleteContainerImageInput) Validate() error {
21643	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerImageInput"}
21644	if s.Image == nil {
21645		invalidParams.Add(request.NewErrParamRequired("Image"))
21646	}
21647	if s.ServiceName == nil {
21648		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21649	}
21650	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21651		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21652	}
21653
21654	if invalidParams.Len() > 0 {
21655		return invalidParams
21656	}
21657	return nil
21658}
21659
21660// SetImage sets the Image field's value.
21661func (s *DeleteContainerImageInput) SetImage(v string) *DeleteContainerImageInput {
21662	s.Image = &v
21663	return s
21664}
21665
21666// SetServiceName sets the ServiceName field's value.
21667func (s *DeleteContainerImageInput) SetServiceName(v string) *DeleteContainerImageInput {
21668	s.ServiceName = &v
21669	return s
21670}
21671
21672type DeleteContainerImageOutput struct {
21673	_ struct{} `type:"structure"`
21674}
21675
21676// String returns the string representation
21677func (s DeleteContainerImageOutput) String() string {
21678	return awsutil.Prettify(s)
21679}
21680
21681// GoString returns the string representation
21682func (s DeleteContainerImageOutput) GoString() string {
21683	return s.String()
21684}
21685
21686type DeleteContainerServiceInput struct {
21687	_ struct{} `type:"structure"`
21688
21689	// The name of the container service to delete.
21690	//
21691	// ServiceName is a required field
21692	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
21693}
21694
21695// String returns the string representation
21696func (s DeleteContainerServiceInput) String() string {
21697	return awsutil.Prettify(s)
21698}
21699
21700// GoString returns the string representation
21701func (s DeleteContainerServiceInput) GoString() string {
21702	return s.String()
21703}
21704
21705// Validate inspects the fields of the type to determine if they are valid.
21706func (s *DeleteContainerServiceInput) Validate() error {
21707	invalidParams := request.ErrInvalidParams{Context: "DeleteContainerServiceInput"}
21708	if s.ServiceName == nil {
21709		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
21710	}
21711	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
21712		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
21713	}
21714
21715	if invalidParams.Len() > 0 {
21716		return invalidParams
21717	}
21718	return nil
21719}
21720
21721// SetServiceName sets the ServiceName field's value.
21722func (s *DeleteContainerServiceInput) SetServiceName(v string) *DeleteContainerServiceInput {
21723	s.ServiceName = &v
21724	return s
21725}
21726
21727type DeleteContainerServiceOutput struct {
21728	_ struct{} `type:"structure"`
21729}
21730
21731// String returns the string representation
21732func (s DeleteContainerServiceOutput) String() string {
21733	return awsutil.Prettify(s)
21734}
21735
21736// GoString returns the string representation
21737func (s DeleteContainerServiceOutput) GoString() string {
21738	return s.String()
21739}
21740
21741type DeleteDiskInput struct {
21742	_ struct{} `type:"structure"`
21743
21744	// The unique name of the disk you want to delete (e.g., my-disk).
21745	//
21746	// DiskName is a required field
21747	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21748
21749	// A Boolean value to indicate whether to delete the enabled add-ons for the
21750	// disk.
21751	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
21752}
21753
21754// String returns the string representation
21755func (s DeleteDiskInput) String() string {
21756	return awsutil.Prettify(s)
21757}
21758
21759// GoString returns the string representation
21760func (s DeleteDiskInput) GoString() string {
21761	return s.String()
21762}
21763
21764// Validate inspects the fields of the type to determine if they are valid.
21765func (s *DeleteDiskInput) Validate() error {
21766	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
21767	if s.DiskName == nil {
21768		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21769	}
21770
21771	if invalidParams.Len() > 0 {
21772		return invalidParams
21773	}
21774	return nil
21775}
21776
21777// SetDiskName sets the DiskName field's value.
21778func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
21779	s.DiskName = &v
21780	return s
21781}
21782
21783// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
21784func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
21785	s.ForceDeleteAddOns = &v
21786	return s
21787}
21788
21789type DeleteDiskOutput struct {
21790	_ struct{} `type:"structure"`
21791
21792	// An array of objects that describe the result of the action, such as the status
21793	// of the request, the timestamp of the request, and the resources affected
21794	// by the request.
21795	Operations []*Operation `locationName:"operations" type:"list"`
21796}
21797
21798// String returns the string representation
21799func (s DeleteDiskOutput) String() string {
21800	return awsutil.Prettify(s)
21801}
21802
21803// GoString returns the string representation
21804func (s DeleteDiskOutput) GoString() string {
21805	return s.String()
21806}
21807
21808// SetOperations sets the Operations field's value.
21809func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
21810	s.Operations = v
21811	return s
21812}
21813
21814type DeleteDiskSnapshotInput struct {
21815	_ struct{} `type:"structure"`
21816
21817	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
21818	//
21819	// DiskSnapshotName is a required field
21820	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
21821}
21822
21823// String returns the string representation
21824func (s DeleteDiskSnapshotInput) String() string {
21825	return awsutil.Prettify(s)
21826}
21827
21828// GoString returns the string representation
21829func (s DeleteDiskSnapshotInput) GoString() string {
21830	return s.String()
21831}
21832
21833// Validate inspects the fields of the type to determine if they are valid.
21834func (s *DeleteDiskSnapshotInput) Validate() error {
21835	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
21836	if s.DiskSnapshotName == nil {
21837		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
21838	}
21839
21840	if invalidParams.Len() > 0 {
21841		return invalidParams
21842	}
21843	return nil
21844}
21845
21846// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21847func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
21848	s.DiskSnapshotName = &v
21849	return s
21850}
21851
21852type DeleteDiskSnapshotOutput struct {
21853	_ struct{} `type:"structure"`
21854
21855	// An array of objects that describe the result of the action, such as the status
21856	// of the request, the timestamp of the request, and the resources affected
21857	// by the request.
21858	Operations []*Operation `locationName:"operations" type:"list"`
21859}
21860
21861// String returns the string representation
21862func (s DeleteDiskSnapshotOutput) String() string {
21863	return awsutil.Prettify(s)
21864}
21865
21866// GoString returns the string representation
21867func (s DeleteDiskSnapshotOutput) GoString() string {
21868	return s.String()
21869}
21870
21871// SetOperations sets the Operations field's value.
21872func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
21873	s.Operations = v
21874	return s
21875}
21876
21877type DeleteDistributionInput struct {
21878	_ struct{} `type:"structure"`
21879
21880	// The name of the distribution to delete.
21881	//
21882	// Use the GetDistributions action to get a list of distribution names that
21883	// you can specify.
21884	DistributionName *string `locationName:"distributionName" type:"string"`
21885}
21886
21887// String returns the string representation
21888func (s DeleteDistributionInput) String() string {
21889	return awsutil.Prettify(s)
21890}
21891
21892// GoString returns the string representation
21893func (s DeleteDistributionInput) GoString() string {
21894	return s.String()
21895}
21896
21897// SetDistributionName sets the DistributionName field's value.
21898func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
21899	s.DistributionName = &v
21900	return s
21901}
21902
21903type DeleteDistributionOutput struct {
21904	_ struct{} `type:"structure"`
21905
21906	// An object that describes the result of the action, such as the status of
21907	// the request, the timestamp of the request, and the resources affected by
21908	// the request.
21909	Operation *Operation `locationName:"operation" type:"structure"`
21910}
21911
21912// String returns the string representation
21913func (s DeleteDistributionOutput) String() string {
21914	return awsutil.Prettify(s)
21915}
21916
21917// GoString returns the string representation
21918func (s DeleteDistributionOutput) GoString() string {
21919	return s.String()
21920}
21921
21922// SetOperation sets the Operation field's value.
21923func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
21924	s.Operation = v
21925	return s
21926}
21927
21928type DeleteDomainEntryInput struct {
21929	_ struct{} `type:"structure"`
21930
21931	// An array of key-value pairs containing information about your domain entries.
21932	//
21933	// DomainEntry is a required field
21934	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
21935
21936	// The name of the domain entry to delete.
21937	//
21938	// DomainName is a required field
21939	DomainName *string `locationName:"domainName" type:"string" required:"true"`
21940}
21941
21942// String returns the string representation
21943func (s DeleteDomainEntryInput) String() string {
21944	return awsutil.Prettify(s)
21945}
21946
21947// GoString returns the string representation
21948func (s DeleteDomainEntryInput) GoString() string {
21949	return s.String()
21950}
21951
21952// Validate inspects the fields of the type to determine if they are valid.
21953func (s *DeleteDomainEntryInput) Validate() error {
21954	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
21955	if s.DomainEntry == nil {
21956		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
21957	}
21958	if s.DomainName == nil {
21959		invalidParams.Add(request.NewErrParamRequired("DomainName"))
21960	}
21961
21962	if invalidParams.Len() > 0 {
21963		return invalidParams
21964	}
21965	return nil
21966}
21967
21968// SetDomainEntry sets the DomainEntry field's value.
21969func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
21970	s.DomainEntry = v
21971	return s
21972}
21973
21974// SetDomainName sets the DomainName field's value.
21975func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
21976	s.DomainName = &v
21977	return s
21978}
21979
21980type DeleteDomainEntryOutput struct {
21981	_ struct{} `type:"structure"`
21982
21983	// An array of objects that describe the result of the action, such as the status
21984	// of the request, the timestamp of the request, and the resources affected
21985	// by the request.
21986	Operation *Operation `locationName:"operation" type:"structure"`
21987}
21988
21989// String returns the string representation
21990func (s DeleteDomainEntryOutput) String() string {
21991	return awsutil.Prettify(s)
21992}
21993
21994// GoString returns the string representation
21995func (s DeleteDomainEntryOutput) GoString() string {
21996	return s.String()
21997}
21998
21999// SetOperation sets the Operation field's value.
22000func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
22001	s.Operation = v
22002	return s
22003}
22004
22005type DeleteDomainInput struct {
22006	_ struct{} `type:"structure"`
22007
22008	// The specific domain name to delete.
22009	//
22010	// DomainName is a required field
22011	DomainName *string `locationName:"domainName" type:"string" required:"true"`
22012}
22013
22014// String returns the string representation
22015func (s DeleteDomainInput) String() string {
22016	return awsutil.Prettify(s)
22017}
22018
22019// GoString returns the string representation
22020func (s DeleteDomainInput) GoString() string {
22021	return s.String()
22022}
22023
22024// Validate inspects the fields of the type to determine if they are valid.
22025func (s *DeleteDomainInput) Validate() error {
22026	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
22027	if s.DomainName == nil {
22028		invalidParams.Add(request.NewErrParamRequired("DomainName"))
22029	}
22030
22031	if invalidParams.Len() > 0 {
22032		return invalidParams
22033	}
22034	return nil
22035}
22036
22037// SetDomainName sets the DomainName field's value.
22038func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
22039	s.DomainName = &v
22040	return s
22041}
22042
22043type DeleteDomainOutput struct {
22044	_ struct{} `type:"structure"`
22045
22046	// An array of objects that describe the result of the action, such as the status
22047	// of the request, the timestamp of the request, and the resources affected
22048	// by the request.
22049	Operation *Operation `locationName:"operation" type:"structure"`
22050}
22051
22052// String returns the string representation
22053func (s DeleteDomainOutput) String() string {
22054	return awsutil.Prettify(s)
22055}
22056
22057// GoString returns the string representation
22058func (s DeleteDomainOutput) GoString() string {
22059	return s.String()
22060}
22061
22062// SetOperation sets the Operation field's value.
22063func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
22064	s.Operation = v
22065	return s
22066}
22067
22068type DeleteInstanceInput struct {
22069	_ struct{} `type:"structure"`
22070
22071	// A Boolean value to indicate whether to delete the enabled add-ons for the
22072	// disk.
22073	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
22074
22075	// The name of the instance to delete.
22076	//
22077	// InstanceName is a required field
22078	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22079}
22080
22081// String returns the string representation
22082func (s DeleteInstanceInput) String() string {
22083	return awsutil.Prettify(s)
22084}
22085
22086// GoString returns the string representation
22087func (s DeleteInstanceInput) GoString() string {
22088	return s.String()
22089}
22090
22091// Validate inspects the fields of the type to determine if they are valid.
22092func (s *DeleteInstanceInput) Validate() error {
22093	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
22094	if s.InstanceName == nil {
22095		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22096	}
22097
22098	if invalidParams.Len() > 0 {
22099		return invalidParams
22100	}
22101	return nil
22102}
22103
22104// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
22105func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
22106	s.ForceDeleteAddOns = &v
22107	return s
22108}
22109
22110// SetInstanceName sets the InstanceName field's value.
22111func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
22112	s.InstanceName = &v
22113	return s
22114}
22115
22116type DeleteInstanceOutput struct {
22117	_ struct{} `type:"structure"`
22118
22119	// An array of objects that describe the result of the action, such as the status
22120	// of the request, the timestamp of the request, and the resources affected
22121	// by the request.
22122	Operations []*Operation `locationName:"operations" type:"list"`
22123}
22124
22125// String returns the string representation
22126func (s DeleteInstanceOutput) String() string {
22127	return awsutil.Prettify(s)
22128}
22129
22130// GoString returns the string representation
22131func (s DeleteInstanceOutput) GoString() string {
22132	return s.String()
22133}
22134
22135// SetOperations sets the Operations field's value.
22136func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
22137	s.Operations = v
22138	return s
22139}
22140
22141type DeleteInstanceSnapshotInput struct {
22142	_ struct{} `type:"structure"`
22143
22144	// The name of the snapshot to delete.
22145	//
22146	// InstanceSnapshotName is a required field
22147	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
22148}
22149
22150// String returns the string representation
22151func (s DeleteInstanceSnapshotInput) String() string {
22152	return awsutil.Prettify(s)
22153}
22154
22155// GoString returns the string representation
22156func (s DeleteInstanceSnapshotInput) GoString() string {
22157	return s.String()
22158}
22159
22160// Validate inspects the fields of the type to determine if they are valid.
22161func (s *DeleteInstanceSnapshotInput) Validate() error {
22162	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
22163	if s.InstanceSnapshotName == nil {
22164		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
22165	}
22166
22167	if invalidParams.Len() > 0 {
22168		return invalidParams
22169	}
22170	return nil
22171}
22172
22173// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
22174func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
22175	s.InstanceSnapshotName = &v
22176	return s
22177}
22178
22179type DeleteInstanceSnapshotOutput struct {
22180	_ struct{} `type:"structure"`
22181
22182	// An array of objects that describe the result of the action, such as the status
22183	// of the request, the timestamp of the request, and the resources affected
22184	// by the request.
22185	Operations []*Operation `locationName:"operations" type:"list"`
22186}
22187
22188// String returns the string representation
22189func (s DeleteInstanceSnapshotOutput) String() string {
22190	return awsutil.Prettify(s)
22191}
22192
22193// GoString returns the string representation
22194func (s DeleteInstanceSnapshotOutput) GoString() string {
22195	return s.String()
22196}
22197
22198// SetOperations sets the Operations field's value.
22199func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
22200	s.Operations = v
22201	return s
22202}
22203
22204type DeleteKeyPairInput struct {
22205	_ struct{} `type:"structure"`
22206
22207	// The name of the key pair to delete.
22208	//
22209	// KeyPairName is a required field
22210	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
22211}
22212
22213// String returns the string representation
22214func (s DeleteKeyPairInput) String() string {
22215	return awsutil.Prettify(s)
22216}
22217
22218// GoString returns the string representation
22219func (s DeleteKeyPairInput) GoString() string {
22220	return s.String()
22221}
22222
22223// Validate inspects the fields of the type to determine if they are valid.
22224func (s *DeleteKeyPairInput) Validate() error {
22225	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
22226	if s.KeyPairName == nil {
22227		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
22228	}
22229
22230	if invalidParams.Len() > 0 {
22231		return invalidParams
22232	}
22233	return nil
22234}
22235
22236// SetKeyPairName sets the KeyPairName field's value.
22237func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
22238	s.KeyPairName = &v
22239	return s
22240}
22241
22242type DeleteKeyPairOutput struct {
22243	_ struct{} `type:"structure"`
22244
22245	// An array of objects that describe the result of the action, such as the status
22246	// of the request, the timestamp of the request, and the resources affected
22247	// by the request.
22248	Operation *Operation `locationName:"operation" type:"structure"`
22249}
22250
22251// String returns the string representation
22252func (s DeleteKeyPairOutput) String() string {
22253	return awsutil.Prettify(s)
22254}
22255
22256// GoString returns the string representation
22257func (s DeleteKeyPairOutput) GoString() string {
22258	return s.String()
22259}
22260
22261// SetOperation sets the Operation field's value.
22262func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
22263	s.Operation = v
22264	return s
22265}
22266
22267type DeleteKnownHostKeysInput struct {
22268	_ struct{} `type:"structure"`
22269
22270	// The name of the instance for which you want to reset the host key or certificate.
22271	//
22272	// InstanceName is a required field
22273	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22274}
22275
22276// String returns the string representation
22277func (s DeleteKnownHostKeysInput) String() string {
22278	return awsutil.Prettify(s)
22279}
22280
22281// GoString returns the string representation
22282func (s DeleteKnownHostKeysInput) GoString() string {
22283	return s.String()
22284}
22285
22286// Validate inspects the fields of the type to determine if they are valid.
22287func (s *DeleteKnownHostKeysInput) Validate() error {
22288	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
22289	if s.InstanceName == nil {
22290		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22291	}
22292
22293	if invalidParams.Len() > 0 {
22294		return invalidParams
22295	}
22296	return nil
22297}
22298
22299// SetInstanceName sets the InstanceName field's value.
22300func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
22301	s.InstanceName = &v
22302	return s
22303}
22304
22305type DeleteKnownHostKeysOutput struct {
22306	_ struct{} `type:"structure"`
22307
22308	// An array of objects that describe the result of the action, such as the status
22309	// of the request, the timestamp of the request, and the resources affected
22310	// by the request.
22311	Operations []*Operation `locationName:"operations" type:"list"`
22312}
22313
22314// String returns the string representation
22315func (s DeleteKnownHostKeysOutput) String() string {
22316	return awsutil.Prettify(s)
22317}
22318
22319// GoString returns the string representation
22320func (s DeleteKnownHostKeysOutput) GoString() string {
22321	return s.String()
22322}
22323
22324// SetOperations sets the Operations field's value.
22325func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
22326	s.Operations = v
22327	return s
22328}
22329
22330type DeleteLoadBalancerInput struct {
22331	_ struct{} `type:"structure"`
22332
22333	// The name of the load balancer you want to delete.
22334	//
22335	// LoadBalancerName is a required field
22336	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22337}
22338
22339// String returns the string representation
22340func (s DeleteLoadBalancerInput) String() string {
22341	return awsutil.Prettify(s)
22342}
22343
22344// GoString returns the string representation
22345func (s DeleteLoadBalancerInput) GoString() string {
22346	return s.String()
22347}
22348
22349// Validate inspects the fields of the type to determine if they are valid.
22350func (s *DeleteLoadBalancerInput) Validate() error {
22351	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
22352	if s.LoadBalancerName == nil {
22353		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22354	}
22355
22356	if invalidParams.Len() > 0 {
22357		return invalidParams
22358	}
22359	return nil
22360}
22361
22362// SetLoadBalancerName sets the LoadBalancerName field's value.
22363func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
22364	s.LoadBalancerName = &v
22365	return s
22366}
22367
22368type DeleteLoadBalancerOutput struct {
22369	_ struct{} `type:"structure"`
22370
22371	// An array of objects that describe the result of the action, such as the status
22372	// of the request, the timestamp of the request, and the resources affected
22373	// by the request.
22374	Operations []*Operation `locationName:"operations" type:"list"`
22375}
22376
22377// String returns the string representation
22378func (s DeleteLoadBalancerOutput) String() string {
22379	return awsutil.Prettify(s)
22380}
22381
22382// GoString returns the string representation
22383func (s DeleteLoadBalancerOutput) GoString() string {
22384	return s.String()
22385}
22386
22387// SetOperations sets the Operations field's value.
22388func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
22389	s.Operations = v
22390	return s
22391}
22392
22393type DeleteLoadBalancerTlsCertificateInput struct {
22394	_ struct{} `type:"structure"`
22395
22396	// The SSL/TLS certificate name.
22397	//
22398	// CertificateName is a required field
22399	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
22400
22401	// When true, forces the deletion of an SSL/TLS certificate.
22402	//
22403	// There can be two certificates associated with a Lightsail load balancer:
22404	// the primary and the backup. The force parameter is required when the primary
22405	// SSL/TLS certificate is in use by an instance attached to the load balancer.
22406	Force *bool `locationName:"force" type:"boolean"`
22407
22408	// The load balancer name.
22409	//
22410	// LoadBalancerName is a required field
22411	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22412}
22413
22414// String returns the string representation
22415func (s DeleteLoadBalancerTlsCertificateInput) String() string {
22416	return awsutil.Prettify(s)
22417}
22418
22419// GoString returns the string representation
22420func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
22421	return s.String()
22422}
22423
22424// Validate inspects the fields of the type to determine if they are valid.
22425func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
22426	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
22427	if s.CertificateName == nil {
22428		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
22429	}
22430	if s.LoadBalancerName == nil {
22431		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22432	}
22433
22434	if invalidParams.Len() > 0 {
22435		return invalidParams
22436	}
22437	return nil
22438}
22439
22440// SetCertificateName sets the CertificateName field's value.
22441func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
22442	s.CertificateName = &v
22443	return s
22444}
22445
22446// SetForce sets the Force field's value.
22447func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
22448	s.Force = &v
22449	return s
22450}
22451
22452// SetLoadBalancerName sets the LoadBalancerName field's value.
22453func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
22454	s.LoadBalancerName = &v
22455	return s
22456}
22457
22458type DeleteLoadBalancerTlsCertificateOutput struct {
22459	_ struct{} `type:"structure"`
22460
22461	// An array of objects that describe the result of the action, such as the status
22462	// of the request, the timestamp of the request, and the resources affected
22463	// by the request.
22464	Operations []*Operation `locationName:"operations" type:"list"`
22465}
22466
22467// String returns the string representation
22468func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
22469	return awsutil.Prettify(s)
22470}
22471
22472// GoString returns the string representation
22473func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
22474	return s.String()
22475}
22476
22477// SetOperations sets the Operations field's value.
22478func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
22479	s.Operations = v
22480	return s
22481}
22482
22483type DeleteRelationalDatabaseInput struct {
22484	_ struct{} `type:"structure"`
22485
22486	// The name of the database snapshot created if skip final snapshot is false,
22487	// which is the default value for that parameter.
22488	//
22489	// Specifying this parameter and also specifying the skip final snapshot parameter
22490	// to true results in an error.
22491	//
22492	// Constraints:
22493	//
22494	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
22495	//
22496	//    * The first and last character must be a letter or number.
22497	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
22498
22499	// The name of the database that you are deleting.
22500	//
22501	// RelationalDatabaseName is a required field
22502	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22503
22504	// Determines whether a final database snapshot is created before your database
22505	// is deleted. If true is specified, no database snapshot is created. If false
22506	// is specified, a database snapshot is created before your database is deleted.
22507	//
22508	// You must specify the final relational database snapshot name parameter if
22509	// the skip final snapshot parameter is false.
22510	//
22511	// Default: false
22512	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
22513}
22514
22515// String returns the string representation
22516func (s DeleteRelationalDatabaseInput) String() string {
22517	return awsutil.Prettify(s)
22518}
22519
22520// GoString returns the string representation
22521func (s DeleteRelationalDatabaseInput) GoString() string {
22522	return s.String()
22523}
22524
22525// Validate inspects the fields of the type to determine if they are valid.
22526func (s *DeleteRelationalDatabaseInput) Validate() error {
22527	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
22528	if s.RelationalDatabaseName == nil {
22529		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22530	}
22531
22532	if invalidParams.Len() > 0 {
22533		return invalidParams
22534	}
22535	return nil
22536}
22537
22538// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
22539func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
22540	s.FinalRelationalDatabaseSnapshotName = &v
22541	return s
22542}
22543
22544// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22545func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
22546	s.RelationalDatabaseName = &v
22547	return s
22548}
22549
22550// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
22551func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
22552	s.SkipFinalSnapshot = &v
22553	return s
22554}
22555
22556type DeleteRelationalDatabaseOutput struct {
22557	_ struct{} `type:"structure"`
22558
22559	// An array of objects that describe the result of the action, such as the status
22560	// of the request, the timestamp of the request, and the resources affected
22561	// by the request.
22562	Operations []*Operation `locationName:"operations" type:"list"`
22563}
22564
22565// String returns the string representation
22566func (s DeleteRelationalDatabaseOutput) String() string {
22567	return awsutil.Prettify(s)
22568}
22569
22570// GoString returns the string representation
22571func (s DeleteRelationalDatabaseOutput) GoString() string {
22572	return s.String()
22573}
22574
22575// SetOperations sets the Operations field's value.
22576func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
22577	s.Operations = v
22578	return s
22579}
22580
22581type DeleteRelationalDatabaseSnapshotInput struct {
22582	_ struct{} `type:"structure"`
22583
22584	// The name of the database snapshot that you are deleting.
22585	//
22586	// RelationalDatabaseSnapshotName is a required field
22587	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
22588}
22589
22590// String returns the string representation
22591func (s DeleteRelationalDatabaseSnapshotInput) String() string {
22592	return awsutil.Prettify(s)
22593}
22594
22595// GoString returns the string representation
22596func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
22597	return s.String()
22598}
22599
22600// Validate inspects the fields of the type to determine if they are valid.
22601func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
22602	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
22603	if s.RelationalDatabaseSnapshotName == nil {
22604		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
22605	}
22606
22607	if invalidParams.Len() > 0 {
22608		return invalidParams
22609	}
22610	return nil
22611}
22612
22613// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
22614func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
22615	s.RelationalDatabaseSnapshotName = &v
22616	return s
22617}
22618
22619type DeleteRelationalDatabaseSnapshotOutput struct {
22620	_ struct{} `type:"structure"`
22621
22622	// An array of objects that describe the result of the action, such as the status
22623	// of the request, the timestamp of the request, and the resources affected
22624	// by the request.
22625	Operations []*Operation `locationName:"operations" type:"list"`
22626}
22627
22628// String returns the string representation
22629func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
22630	return awsutil.Prettify(s)
22631}
22632
22633// GoString returns the string representation
22634func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
22635	return s.String()
22636}
22637
22638// SetOperations sets the Operations field's value.
22639func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
22640	s.Operations = v
22641	return s
22642}
22643
22644// Describes the destination of a record.
22645type DestinationInfo struct {
22646	_ struct{} `type:"structure"`
22647
22648	// The ID of the resource created at the destination.
22649	Id *string `locationName:"id" type:"string"`
22650
22651	// The destination service of the record.
22652	Service *string `locationName:"service" type:"string"`
22653}
22654
22655// String returns the string representation
22656func (s DestinationInfo) String() string {
22657	return awsutil.Prettify(s)
22658}
22659
22660// GoString returns the string representation
22661func (s DestinationInfo) GoString() string {
22662	return s.String()
22663}
22664
22665// SetId sets the Id field's value.
22666func (s *DestinationInfo) SetId(v string) *DestinationInfo {
22667	s.Id = &v
22668	return s
22669}
22670
22671// SetService sets the Service field's value.
22672func (s *DestinationInfo) SetService(v string) *DestinationInfo {
22673	s.Service = &v
22674	return s
22675}
22676
22677type DetachCertificateFromDistributionInput struct {
22678	_ struct{} `type:"structure"`
22679
22680	// The name of the distribution from which to detach the certificate.
22681	//
22682	// Use the GetDistributions action to get a list of distribution names that
22683	// you can specify.
22684	//
22685	// DistributionName is a required field
22686	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
22687}
22688
22689// String returns the string representation
22690func (s DetachCertificateFromDistributionInput) String() string {
22691	return awsutil.Prettify(s)
22692}
22693
22694// GoString returns the string representation
22695func (s DetachCertificateFromDistributionInput) GoString() string {
22696	return s.String()
22697}
22698
22699// Validate inspects the fields of the type to determine if they are valid.
22700func (s *DetachCertificateFromDistributionInput) Validate() error {
22701	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
22702	if s.DistributionName == nil {
22703		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
22704	}
22705
22706	if invalidParams.Len() > 0 {
22707		return invalidParams
22708	}
22709	return nil
22710}
22711
22712// SetDistributionName sets the DistributionName field's value.
22713func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
22714	s.DistributionName = &v
22715	return s
22716}
22717
22718type DetachCertificateFromDistributionOutput struct {
22719	_ struct{} `type:"structure"`
22720
22721	// An object that describes the result of the action, such as the status of
22722	// the request, the timestamp of the request, and the resources affected by
22723	// the request.
22724	Operation *Operation `locationName:"operation" type:"structure"`
22725}
22726
22727// String returns the string representation
22728func (s DetachCertificateFromDistributionOutput) String() string {
22729	return awsutil.Prettify(s)
22730}
22731
22732// GoString returns the string representation
22733func (s DetachCertificateFromDistributionOutput) GoString() string {
22734	return s.String()
22735}
22736
22737// SetOperation sets the Operation field's value.
22738func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
22739	s.Operation = v
22740	return s
22741}
22742
22743type DetachDiskInput struct {
22744	_ struct{} `type:"structure"`
22745
22746	// The unique name of the disk you want to detach from your instance (e.g.,
22747	// my-disk).
22748	//
22749	// DiskName is a required field
22750	DiskName *string `locationName:"diskName" type:"string" required:"true"`
22751}
22752
22753// String returns the string representation
22754func (s DetachDiskInput) String() string {
22755	return awsutil.Prettify(s)
22756}
22757
22758// GoString returns the string representation
22759func (s DetachDiskInput) GoString() string {
22760	return s.String()
22761}
22762
22763// Validate inspects the fields of the type to determine if they are valid.
22764func (s *DetachDiskInput) Validate() error {
22765	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
22766	if s.DiskName == nil {
22767		invalidParams.Add(request.NewErrParamRequired("DiskName"))
22768	}
22769
22770	if invalidParams.Len() > 0 {
22771		return invalidParams
22772	}
22773	return nil
22774}
22775
22776// SetDiskName sets the DiskName field's value.
22777func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
22778	s.DiskName = &v
22779	return s
22780}
22781
22782type DetachDiskOutput struct {
22783	_ struct{} `type:"structure"`
22784
22785	// An array of objects that describe the result of the action, such as the status
22786	// of the request, the timestamp of the request, and the resources affected
22787	// by the request.
22788	Operations []*Operation `locationName:"operations" type:"list"`
22789}
22790
22791// String returns the string representation
22792func (s DetachDiskOutput) String() string {
22793	return awsutil.Prettify(s)
22794}
22795
22796// GoString returns the string representation
22797func (s DetachDiskOutput) GoString() string {
22798	return s.String()
22799}
22800
22801// SetOperations sets the Operations field's value.
22802func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
22803	s.Operations = v
22804	return s
22805}
22806
22807type DetachInstancesFromLoadBalancerInput struct {
22808	_ struct{} `type:"structure"`
22809
22810	// An array of strings containing the names of the instances you want to detach
22811	// from the load balancer.
22812	//
22813	// InstanceNames is a required field
22814	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
22815
22816	// The name of the Lightsail load balancer.
22817	//
22818	// LoadBalancerName is a required field
22819	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
22820}
22821
22822// String returns the string representation
22823func (s DetachInstancesFromLoadBalancerInput) String() string {
22824	return awsutil.Prettify(s)
22825}
22826
22827// GoString returns the string representation
22828func (s DetachInstancesFromLoadBalancerInput) GoString() string {
22829	return s.String()
22830}
22831
22832// Validate inspects the fields of the type to determine if they are valid.
22833func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
22834	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
22835	if s.InstanceNames == nil {
22836		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
22837	}
22838	if s.LoadBalancerName == nil {
22839		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
22840	}
22841
22842	if invalidParams.Len() > 0 {
22843		return invalidParams
22844	}
22845	return nil
22846}
22847
22848// SetInstanceNames sets the InstanceNames field's value.
22849func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
22850	s.InstanceNames = v
22851	return s
22852}
22853
22854// SetLoadBalancerName sets the LoadBalancerName field's value.
22855func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
22856	s.LoadBalancerName = &v
22857	return s
22858}
22859
22860type DetachInstancesFromLoadBalancerOutput struct {
22861	_ struct{} `type:"structure"`
22862
22863	// An array of objects that describe the result of the action, such as the status
22864	// of the request, the timestamp of the request, and the resources affected
22865	// by the request.
22866	Operations []*Operation `locationName:"operations" type:"list"`
22867}
22868
22869// String returns the string representation
22870func (s DetachInstancesFromLoadBalancerOutput) String() string {
22871	return awsutil.Prettify(s)
22872}
22873
22874// GoString returns the string representation
22875func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
22876	return s.String()
22877}
22878
22879// SetOperations sets the Operations field's value.
22880func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
22881	s.Operations = v
22882	return s
22883}
22884
22885type DetachStaticIpInput struct {
22886	_ struct{} `type:"structure"`
22887
22888	// The name of the static IP to detach from the instance.
22889	//
22890	// StaticIpName is a required field
22891	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
22892}
22893
22894// String returns the string representation
22895func (s DetachStaticIpInput) String() string {
22896	return awsutil.Prettify(s)
22897}
22898
22899// GoString returns the string representation
22900func (s DetachStaticIpInput) GoString() string {
22901	return s.String()
22902}
22903
22904// Validate inspects the fields of the type to determine if they are valid.
22905func (s *DetachStaticIpInput) Validate() error {
22906	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
22907	if s.StaticIpName == nil {
22908		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
22909	}
22910
22911	if invalidParams.Len() > 0 {
22912		return invalidParams
22913	}
22914	return nil
22915}
22916
22917// SetStaticIpName sets the StaticIpName field's value.
22918func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
22919	s.StaticIpName = &v
22920	return s
22921}
22922
22923type DetachStaticIpOutput struct {
22924	_ struct{} `type:"structure"`
22925
22926	// An array of objects that describe the result of the action, such as the status
22927	// of the request, the timestamp of the request, and the resources affected
22928	// by the request.
22929	Operations []*Operation `locationName:"operations" type:"list"`
22930}
22931
22932// String returns the string representation
22933func (s DetachStaticIpOutput) String() string {
22934	return awsutil.Prettify(s)
22935}
22936
22937// GoString returns the string representation
22938func (s DetachStaticIpOutput) GoString() string {
22939	return s.String()
22940}
22941
22942// SetOperations sets the Operations field's value.
22943func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
22944	s.Operations = v
22945	return s
22946}
22947
22948type DisableAddOnInput struct {
22949	_ struct{} `type:"structure"`
22950
22951	// The add-on type to disable.
22952	//
22953	// AddOnType is a required field
22954	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
22955
22956	// The name of the source resource for which to disable the add-on.
22957	//
22958	// ResourceName is a required field
22959	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
22960}
22961
22962// String returns the string representation
22963func (s DisableAddOnInput) String() string {
22964	return awsutil.Prettify(s)
22965}
22966
22967// GoString returns the string representation
22968func (s DisableAddOnInput) GoString() string {
22969	return s.String()
22970}
22971
22972// Validate inspects the fields of the type to determine if they are valid.
22973func (s *DisableAddOnInput) Validate() error {
22974	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
22975	if s.AddOnType == nil {
22976		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
22977	}
22978	if s.ResourceName == nil {
22979		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
22980	}
22981
22982	if invalidParams.Len() > 0 {
22983		return invalidParams
22984	}
22985	return nil
22986}
22987
22988// SetAddOnType sets the AddOnType field's value.
22989func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
22990	s.AddOnType = &v
22991	return s
22992}
22993
22994// SetResourceName sets the ResourceName field's value.
22995func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
22996	s.ResourceName = &v
22997	return s
22998}
22999
23000type DisableAddOnOutput struct {
23001	_ struct{} `type:"structure"`
23002
23003	// An array of objects that describe the result of the action, such as the status
23004	// of the request, the timestamp of the request, and the resources affected
23005	// by the request.
23006	Operations []*Operation `locationName:"operations" type:"list"`
23007}
23008
23009// String returns the string representation
23010func (s DisableAddOnOutput) String() string {
23011	return awsutil.Prettify(s)
23012}
23013
23014// GoString returns the string representation
23015func (s DisableAddOnOutput) GoString() string {
23016	return s.String()
23017}
23018
23019// SetOperations sets the Operations field's value.
23020func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
23021	s.Operations = v
23022	return s
23023}
23024
23025// Describes a system disk or a block storage disk.
23026type Disk struct {
23027	_ struct{} `type:"structure"`
23028
23029	// An array of objects representing the add-ons enabled on the disk.
23030	AddOns []*AddOn `locationName:"addOns" type:"list"`
23031
23032	// The Amazon Resource Name (ARN) of the disk.
23033	Arn *string `locationName:"arn" type:"string"`
23034
23035	// The resources to which the disk is attached.
23036	AttachedTo *string `locationName:"attachedTo" type:"string"`
23037
23038	// (Deprecated) The attachment state of the disk.
23039	//
23040	// In releases prior to November 14, 2017, this parameter returned attached
23041	// for system disks in the API response. It is now deprecated, but still included
23042	// in the response. Use isAttached instead.
23043	//
23044	// Deprecated: AttachmentState has been deprecated
23045	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
23046
23047	// The date when the disk was created.
23048	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23049
23050	// (Deprecated) The number of GB in use by the disk.
23051	//
23052	// In releases prior to November 14, 2017, this parameter was not included in
23053	// the API response. It is now deprecated.
23054	//
23055	// Deprecated: GbInUse has been deprecated
23056	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
23057
23058	// The input/output operations per second (IOPS) of the disk.
23059	Iops *int64 `locationName:"iops" type:"integer"`
23060
23061	// A Boolean value indicating whether the disk is attached.
23062	IsAttached *bool `locationName:"isAttached" type:"boolean"`
23063
23064	// A Boolean value indicating whether this disk is a system disk (has an operating
23065	// system loaded on it).
23066	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
23067
23068	// The AWS Region and Availability Zone where the disk is located.
23069	Location *ResourceLocation `locationName:"location" type:"structure"`
23070
23071	// The unique name of the disk.
23072	Name *string `locationName:"name" type:"string"`
23073
23074	// The disk path.
23075	Path *string `locationName:"path" type:"string"`
23076
23077	// The Lightsail resource type (e.g., Disk).
23078	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23079
23080	// The size of the disk in GB.
23081	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23082
23083	// Describes the status of the disk.
23084	State *string `locationName:"state" type:"string" enum:"DiskState"`
23085
23086	// The support code. Include this code in your email to support when you have
23087	// questions about an instance or another resource in Lightsail. This code enables
23088	// our support team to look up your Lightsail information more easily.
23089	SupportCode *string `locationName:"supportCode" type:"string"`
23090
23091	// The tag keys and optional values for the resource. For more information about
23092	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23093	Tags []*Tag `locationName:"tags" type:"list"`
23094}
23095
23096// String returns the string representation
23097func (s Disk) String() string {
23098	return awsutil.Prettify(s)
23099}
23100
23101// GoString returns the string representation
23102func (s Disk) GoString() string {
23103	return s.String()
23104}
23105
23106// SetAddOns sets the AddOns field's value.
23107func (s *Disk) SetAddOns(v []*AddOn) *Disk {
23108	s.AddOns = v
23109	return s
23110}
23111
23112// SetArn sets the Arn field's value.
23113func (s *Disk) SetArn(v string) *Disk {
23114	s.Arn = &v
23115	return s
23116}
23117
23118// SetAttachedTo sets the AttachedTo field's value.
23119func (s *Disk) SetAttachedTo(v string) *Disk {
23120	s.AttachedTo = &v
23121	return s
23122}
23123
23124// SetAttachmentState sets the AttachmentState field's value.
23125func (s *Disk) SetAttachmentState(v string) *Disk {
23126	s.AttachmentState = &v
23127	return s
23128}
23129
23130// SetCreatedAt sets the CreatedAt field's value.
23131func (s *Disk) SetCreatedAt(v time.Time) *Disk {
23132	s.CreatedAt = &v
23133	return s
23134}
23135
23136// SetGbInUse sets the GbInUse field's value.
23137func (s *Disk) SetGbInUse(v int64) *Disk {
23138	s.GbInUse = &v
23139	return s
23140}
23141
23142// SetIops sets the Iops field's value.
23143func (s *Disk) SetIops(v int64) *Disk {
23144	s.Iops = &v
23145	return s
23146}
23147
23148// SetIsAttached sets the IsAttached field's value.
23149func (s *Disk) SetIsAttached(v bool) *Disk {
23150	s.IsAttached = &v
23151	return s
23152}
23153
23154// SetIsSystemDisk sets the IsSystemDisk field's value.
23155func (s *Disk) SetIsSystemDisk(v bool) *Disk {
23156	s.IsSystemDisk = &v
23157	return s
23158}
23159
23160// SetLocation sets the Location field's value.
23161func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
23162	s.Location = v
23163	return s
23164}
23165
23166// SetName sets the Name field's value.
23167func (s *Disk) SetName(v string) *Disk {
23168	s.Name = &v
23169	return s
23170}
23171
23172// SetPath sets the Path field's value.
23173func (s *Disk) SetPath(v string) *Disk {
23174	s.Path = &v
23175	return s
23176}
23177
23178// SetResourceType sets the ResourceType field's value.
23179func (s *Disk) SetResourceType(v string) *Disk {
23180	s.ResourceType = &v
23181	return s
23182}
23183
23184// SetSizeInGb sets the SizeInGb field's value.
23185func (s *Disk) SetSizeInGb(v int64) *Disk {
23186	s.SizeInGb = &v
23187	return s
23188}
23189
23190// SetState sets the State field's value.
23191func (s *Disk) SetState(v string) *Disk {
23192	s.State = &v
23193	return s
23194}
23195
23196// SetSupportCode sets the SupportCode field's value.
23197func (s *Disk) SetSupportCode(v string) *Disk {
23198	s.SupportCode = &v
23199	return s
23200}
23201
23202// SetTags sets the Tags field's value.
23203func (s *Disk) SetTags(v []*Tag) *Disk {
23204	s.Tags = v
23205	return s
23206}
23207
23208// Describes a disk.
23209type DiskInfo struct {
23210	_ struct{} `type:"structure"`
23211
23212	// A Boolean value indicating whether this disk is a system disk (has an operating
23213	// system loaded on it).
23214	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
23215
23216	// The disk name.
23217	Name *string `locationName:"name" type:"string"`
23218
23219	// The disk path.
23220	Path *string `locationName:"path" type:"string"`
23221
23222	// The size of the disk in GB (e.g., 32).
23223	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23224}
23225
23226// String returns the string representation
23227func (s DiskInfo) String() string {
23228	return awsutil.Prettify(s)
23229}
23230
23231// GoString returns the string representation
23232func (s DiskInfo) GoString() string {
23233	return s.String()
23234}
23235
23236// SetIsSystemDisk sets the IsSystemDisk field's value.
23237func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
23238	s.IsSystemDisk = &v
23239	return s
23240}
23241
23242// SetName sets the Name field's value.
23243func (s *DiskInfo) SetName(v string) *DiskInfo {
23244	s.Name = &v
23245	return s
23246}
23247
23248// SetPath sets the Path field's value.
23249func (s *DiskInfo) SetPath(v string) *DiskInfo {
23250	s.Path = &v
23251	return s
23252}
23253
23254// SetSizeInGb sets the SizeInGb field's value.
23255func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
23256	s.SizeInGb = &v
23257	return s
23258}
23259
23260// Describes a block storage disk mapping.
23261type DiskMap struct {
23262	_ struct{} `type:"structure"`
23263
23264	// The new disk name (e.g., my-new-disk).
23265	NewDiskName *string `locationName:"newDiskName" type:"string"`
23266
23267	// The original disk path exposed to the instance (for example, /dev/sdh).
23268	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
23269}
23270
23271// String returns the string representation
23272func (s DiskMap) String() string {
23273	return awsutil.Prettify(s)
23274}
23275
23276// GoString returns the string representation
23277func (s DiskMap) GoString() string {
23278	return s.String()
23279}
23280
23281// SetNewDiskName sets the NewDiskName field's value.
23282func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
23283	s.NewDiskName = &v
23284	return s
23285}
23286
23287// SetOriginalDiskPath sets the OriginalDiskPath field's value.
23288func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
23289	s.OriginalDiskPath = &v
23290	return s
23291}
23292
23293// Describes a block storage disk snapshot.
23294type DiskSnapshot struct {
23295	_ struct{} `type:"structure"`
23296
23297	// The Amazon Resource Name (ARN) of the disk snapshot.
23298	Arn *string `locationName:"arn" type:"string"`
23299
23300	// The date when the disk snapshot was created.
23301	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23302
23303	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
23304	// was created.
23305	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
23306
23307	// The unique name of the source disk from which the disk snapshot was created.
23308	FromDiskName *string `locationName:"fromDiskName" type:"string"`
23309
23310	// The Amazon Resource Name (ARN) of the source instance from which the disk
23311	// (system volume) snapshot was created.
23312	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
23313
23314	// The unique name of the source instance from which the disk (system volume)
23315	// snapshot was created.
23316	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
23317
23318	// A Boolean value indicating whether the snapshot was created from an automatic
23319	// snapshot.
23320	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
23321
23322	// The AWS Region and Availability Zone where the disk snapshot was created.
23323	Location *ResourceLocation `locationName:"location" type:"structure"`
23324
23325	// The name of the disk snapshot (e.g., my-disk-snapshot).
23326	Name *string `locationName:"name" type:"string"`
23327
23328	// The progress of the snapshot.
23329	Progress *string `locationName:"progress" type:"string"`
23330
23331	// The Lightsail resource type (e.g., DiskSnapshot).
23332	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23333
23334	// The size of the disk in GB.
23335	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23336
23337	// The status of the disk snapshot operation.
23338	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
23339
23340	// The support code. Include this code in your email to support when you have
23341	// questions about an instance or another resource in Lightsail. This code enables
23342	// our support team to look up your Lightsail information more easily.
23343	SupportCode *string `locationName:"supportCode" type:"string"`
23344
23345	// The tag keys and optional values for the resource. For more information about
23346	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23347	Tags []*Tag `locationName:"tags" type:"list"`
23348}
23349
23350// String returns the string representation
23351func (s DiskSnapshot) String() string {
23352	return awsutil.Prettify(s)
23353}
23354
23355// GoString returns the string representation
23356func (s DiskSnapshot) GoString() string {
23357	return s.String()
23358}
23359
23360// SetArn sets the Arn field's value.
23361func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
23362	s.Arn = &v
23363	return s
23364}
23365
23366// SetCreatedAt sets the CreatedAt field's value.
23367func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
23368	s.CreatedAt = &v
23369	return s
23370}
23371
23372// SetFromDiskArn sets the FromDiskArn field's value.
23373func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
23374	s.FromDiskArn = &v
23375	return s
23376}
23377
23378// SetFromDiskName sets the FromDiskName field's value.
23379func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
23380	s.FromDiskName = &v
23381	return s
23382}
23383
23384// SetFromInstanceArn sets the FromInstanceArn field's value.
23385func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
23386	s.FromInstanceArn = &v
23387	return s
23388}
23389
23390// SetFromInstanceName sets the FromInstanceName field's value.
23391func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
23392	s.FromInstanceName = &v
23393	return s
23394}
23395
23396// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
23397func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
23398	s.IsFromAutoSnapshot = &v
23399	return s
23400}
23401
23402// SetLocation sets the Location field's value.
23403func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
23404	s.Location = v
23405	return s
23406}
23407
23408// SetName sets the Name field's value.
23409func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
23410	s.Name = &v
23411	return s
23412}
23413
23414// SetProgress sets the Progress field's value.
23415func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
23416	s.Progress = &v
23417	return s
23418}
23419
23420// SetResourceType sets the ResourceType field's value.
23421func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
23422	s.ResourceType = &v
23423	return s
23424}
23425
23426// SetSizeInGb sets the SizeInGb field's value.
23427func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
23428	s.SizeInGb = &v
23429	return s
23430}
23431
23432// SetState sets the State field's value.
23433func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
23434	s.State = &v
23435	return s
23436}
23437
23438// SetSupportCode sets the SupportCode field's value.
23439func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
23440	s.SupportCode = &v
23441	return s
23442}
23443
23444// SetTags sets the Tags field's value.
23445func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
23446	s.Tags = v
23447	return s
23448}
23449
23450// Describes a disk snapshot.
23451type DiskSnapshotInfo struct {
23452	_ struct{} `type:"structure"`
23453
23454	// The size of the disk in GB (e.g., 32).
23455	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23456}
23457
23458// String returns the string representation
23459func (s DiskSnapshotInfo) String() string {
23460	return awsutil.Prettify(s)
23461}
23462
23463// GoString returns the string representation
23464func (s DiskSnapshotInfo) GoString() string {
23465	return s.String()
23466}
23467
23468// SetSizeInGb sets the SizeInGb field's value.
23469func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
23470	s.SizeInGb = &v
23471	return s
23472}
23473
23474// Describes the specifications of a distribution bundle.
23475type DistributionBundle struct {
23476	_ struct{} `type:"structure"`
23477
23478	// The ID of the bundle.
23479	BundleId *string `locationName:"bundleId" type:"string"`
23480
23481	// Indicates whether the bundle is active, and can be specified for a new distribution.
23482	IsActive *bool `locationName:"isActive" type:"boolean"`
23483
23484	// The name of the distribution bundle.
23485	Name *string `locationName:"name" type:"string"`
23486
23487	// The monthly price, in US dollars, of the bundle.
23488	Price *float64 `locationName:"price" type:"float"`
23489
23490	// The monthly network transfer quota of the bundle.
23491	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
23492}
23493
23494// String returns the string representation
23495func (s DistributionBundle) String() string {
23496	return awsutil.Prettify(s)
23497}
23498
23499// GoString returns the string representation
23500func (s DistributionBundle) GoString() string {
23501	return s.String()
23502}
23503
23504// SetBundleId sets the BundleId field's value.
23505func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
23506	s.BundleId = &v
23507	return s
23508}
23509
23510// SetIsActive sets the IsActive field's value.
23511func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
23512	s.IsActive = &v
23513	return s
23514}
23515
23516// SetName sets the Name field's value.
23517func (s *DistributionBundle) SetName(v string) *DistributionBundle {
23518	s.Name = &v
23519	return s
23520}
23521
23522// SetPrice sets the Price field's value.
23523func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
23524	s.Price = &v
23525	return s
23526}
23527
23528// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
23529func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
23530	s.TransferPerMonthInGb = &v
23531	return s
23532}
23533
23534// Describes a domain where you are storing recordsets in Lightsail.
23535type Domain struct {
23536	_ struct{} `type:"structure"`
23537
23538	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
23539	Arn *string `locationName:"arn" type:"string"`
23540
23541	// The date when the domain recordset was created.
23542	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23543
23544	// An array of key-value pairs containing information about the domain entries.
23545	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
23546
23547	// The AWS Region and Availability Zones where the domain recordset was created.
23548	Location *ResourceLocation `locationName:"location" type:"structure"`
23549
23550	// The name of the domain.
23551	Name *string `locationName:"name" type:"string"`
23552
23553	// The resource type.
23554	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23555
23556	// The support code. Include this code in your email to support when you have
23557	// questions about an instance or another resource in Lightsail. This code enables
23558	// our support team to look up your Lightsail information more easily.
23559	SupportCode *string `locationName:"supportCode" type:"string"`
23560
23561	// The tag keys and optional values for the resource. For more information about
23562	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23563	Tags []*Tag `locationName:"tags" type:"list"`
23564}
23565
23566// String returns the string representation
23567func (s Domain) String() string {
23568	return awsutil.Prettify(s)
23569}
23570
23571// GoString returns the string representation
23572func (s Domain) GoString() string {
23573	return s.String()
23574}
23575
23576// SetArn sets the Arn field's value.
23577func (s *Domain) SetArn(v string) *Domain {
23578	s.Arn = &v
23579	return s
23580}
23581
23582// SetCreatedAt sets the CreatedAt field's value.
23583func (s *Domain) SetCreatedAt(v time.Time) *Domain {
23584	s.CreatedAt = &v
23585	return s
23586}
23587
23588// SetDomainEntries sets the DomainEntries field's value.
23589func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
23590	s.DomainEntries = v
23591	return s
23592}
23593
23594// SetLocation sets the Location field's value.
23595func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
23596	s.Location = v
23597	return s
23598}
23599
23600// SetName sets the Name field's value.
23601func (s *Domain) SetName(v string) *Domain {
23602	s.Name = &v
23603	return s
23604}
23605
23606// SetResourceType sets the ResourceType field's value.
23607func (s *Domain) SetResourceType(v string) *Domain {
23608	s.ResourceType = &v
23609	return s
23610}
23611
23612// SetSupportCode sets the SupportCode field's value.
23613func (s *Domain) SetSupportCode(v string) *Domain {
23614	s.SupportCode = &v
23615	return s
23616}
23617
23618// SetTags sets the Tags field's value.
23619func (s *Domain) SetTags(v []*Tag) *Domain {
23620	s.Tags = v
23621	return s
23622}
23623
23624// Describes a domain recordset entry.
23625type DomainEntry struct {
23626	_ struct{} `type:"structure"`
23627
23628	// The ID of the domain recordset entry.
23629	Id *string `locationName:"id" type:"string"`
23630
23631	// When true, specifies whether the domain entry is an alias used by the Lightsail
23632	// load balancer. You can include an alias (A type) record in your request,
23633	// which points to a load balancer DNS name and routes traffic to your load
23634	// balancer.
23635	IsAlias *bool `locationName:"isAlias" type:"boolean"`
23636
23637	// The name of the domain.
23638	Name *string `locationName:"name" type:"string"`
23639
23640	// (Deprecated) The options for the domain entry.
23641	//
23642	// In releases prior to November 29, 2017, this parameter was not included in
23643	// the API response. It is now deprecated.
23644	//
23645	// Deprecated: Options has been deprecated
23646	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
23647
23648	// The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.).
23649	//
23650	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
23651	// For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net.
23652	// For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com.
23653	// Be sure to also set isAlias to true when setting up an A record for a Lightsail
23654	// load balancer, distribution, or container service.
23655	Target *string `locationName:"target" type:"string"`
23656
23657	// The type of domain entry, such as address for IPv4 (A), address for IPv6
23658	// (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start
23659	// of authority (SOA), service locator (SRV), or text (TXT).
23660	//
23661	// The following domain entry types can be used:
23662	//
23663	//    * A
23664	//
23665	//    * AAAA
23666	//
23667	//    * CNAME
23668	//
23669	//    * MX
23670	//
23671	//    * NS
23672	//
23673	//    * SOA
23674	//
23675	//    * SRV
23676	//
23677	//    * TXT
23678	Type *string `locationName:"type" type:"string"`
23679}
23680
23681// String returns the string representation
23682func (s DomainEntry) String() string {
23683	return awsutil.Prettify(s)
23684}
23685
23686// GoString returns the string representation
23687func (s DomainEntry) GoString() string {
23688	return s.String()
23689}
23690
23691// SetId sets the Id field's value.
23692func (s *DomainEntry) SetId(v string) *DomainEntry {
23693	s.Id = &v
23694	return s
23695}
23696
23697// SetIsAlias sets the IsAlias field's value.
23698func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
23699	s.IsAlias = &v
23700	return s
23701}
23702
23703// SetName sets the Name field's value.
23704func (s *DomainEntry) SetName(v string) *DomainEntry {
23705	s.Name = &v
23706	return s
23707}
23708
23709// SetOptions sets the Options field's value.
23710func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
23711	s.Options = v
23712	return s
23713}
23714
23715// SetTarget sets the Target field's value.
23716func (s *DomainEntry) SetTarget(v string) *DomainEntry {
23717	s.Target = &v
23718	return s
23719}
23720
23721// SetType sets the Type field's value.
23722func (s *DomainEntry) SetType(v string) *DomainEntry {
23723	s.Type = &v
23724	return s
23725}
23726
23727// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
23728type DomainValidationRecord struct {
23729	_ struct{} `type:"structure"`
23730
23731	// The domain name of the certificate validation record. For example, example.com
23732	// or www.example.com.
23733	DomainName *string `locationName:"domainName" type:"string"`
23734
23735	// An object that describes the DNS records to add to your domain's DNS to validate
23736	// it for the certificate.
23737	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
23738}
23739
23740// String returns the string representation
23741func (s DomainValidationRecord) String() string {
23742	return awsutil.Prettify(s)
23743}
23744
23745// GoString returns the string representation
23746func (s DomainValidationRecord) GoString() string {
23747	return s.String()
23748}
23749
23750// SetDomainName sets the DomainName field's value.
23751func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
23752	s.DomainName = &v
23753	return s
23754}
23755
23756// SetResourceRecord sets the ResourceRecord field's value.
23757func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
23758	s.ResourceRecord = v
23759	return s
23760}
23761
23762type DownloadDefaultKeyPairInput struct {
23763	_ struct{} `type:"structure"`
23764}
23765
23766// String returns the string representation
23767func (s DownloadDefaultKeyPairInput) String() string {
23768	return awsutil.Prettify(s)
23769}
23770
23771// GoString returns the string representation
23772func (s DownloadDefaultKeyPairInput) GoString() string {
23773	return s.String()
23774}
23775
23776type DownloadDefaultKeyPairOutput struct {
23777	_ struct{} `type:"structure"`
23778
23779	// A base64-encoded RSA private key.
23780	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
23781
23782	// A base64-encoded public key of the ssh-rsa type.
23783	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
23784}
23785
23786// String returns the string representation
23787func (s DownloadDefaultKeyPairOutput) String() string {
23788	return awsutil.Prettify(s)
23789}
23790
23791// GoString returns the string representation
23792func (s DownloadDefaultKeyPairOutput) GoString() string {
23793	return s.String()
23794}
23795
23796// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
23797func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
23798	s.PrivateKeyBase64 = &v
23799	return s
23800}
23801
23802// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
23803func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
23804	s.PublicKeyBase64 = &v
23805	return s
23806}
23807
23808type EnableAddOnInput struct {
23809	_ struct{} `type:"structure"`
23810
23811	// An array of strings representing the add-on to enable or modify.
23812	//
23813	// AddOnRequest is a required field
23814	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
23815
23816	// The name of the source resource for which to enable or modify the add-on.
23817	//
23818	// ResourceName is a required field
23819	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
23820}
23821
23822// String returns the string representation
23823func (s EnableAddOnInput) String() string {
23824	return awsutil.Prettify(s)
23825}
23826
23827// GoString returns the string representation
23828func (s EnableAddOnInput) GoString() string {
23829	return s.String()
23830}
23831
23832// Validate inspects the fields of the type to determine if they are valid.
23833func (s *EnableAddOnInput) Validate() error {
23834	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
23835	if s.AddOnRequest == nil {
23836		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
23837	}
23838	if s.ResourceName == nil {
23839		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
23840	}
23841	if s.AddOnRequest != nil {
23842		if err := s.AddOnRequest.Validate(); err != nil {
23843			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
23844		}
23845	}
23846
23847	if invalidParams.Len() > 0 {
23848		return invalidParams
23849	}
23850	return nil
23851}
23852
23853// SetAddOnRequest sets the AddOnRequest field's value.
23854func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
23855	s.AddOnRequest = v
23856	return s
23857}
23858
23859// SetResourceName sets the ResourceName field's value.
23860func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
23861	s.ResourceName = &v
23862	return s
23863}
23864
23865type EnableAddOnOutput struct {
23866	_ struct{} `type:"structure"`
23867
23868	// An array of objects that describe the result of the action, such as the status
23869	// of the request, the timestamp of the request, and the resources affected
23870	// by the request.
23871	Operations []*Operation `locationName:"operations" type:"list"`
23872}
23873
23874// String returns the string representation
23875func (s EnableAddOnOutput) String() string {
23876	return awsutil.Prettify(s)
23877}
23878
23879// GoString returns the string representation
23880func (s EnableAddOnOutput) GoString() string {
23881	return s.String()
23882}
23883
23884// SetOperations sets the Operations field's value.
23885func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
23886	s.Operations = v
23887	return s
23888}
23889
23890// Describes the settings of a public endpoint for an Amazon Lightsail container
23891// service.
23892type EndpointRequest struct {
23893	_ struct{} `type:"structure"`
23894
23895	// The name of the container for the endpoint.
23896	//
23897	// ContainerName is a required field
23898	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
23899
23900	// The port of the container to which traffic is forwarded to.
23901	//
23902	// ContainerPort is a required field
23903	ContainerPort *int64 `locationName:"containerPort" type:"integer" required:"true"`
23904
23905	// An object that describes the health check configuration of the container.
23906	HealthCheck *ContainerServiceHealthCheckConfig `locationName:"healthCheck" type:"structure"`
23907}
23908
23909// String returns the string representation
23910func (s EndpointRequest) String() string {
23911	return awsutil.Prettify(s)
23912}
23913
23914// GoString returns the string representation
23915func (s EndpointRequest) GoString() string {
23916	return s.String()
23917}
23918
23919// Validate inspects the fields of the type to determine if they are valid.
23920func (s *EndpointRequest) Validate() error {
23921	invalidParams := request.ErrInvalidParams{Context: "EndpointRequest"}
23922	if s.ContainerName == nil {
23923		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
23924	}
23925	if s.ContainerPort == nil {
23926		invalidParams.Add(request.NewErrParamRequired("ContainerPort"))
23927	}
23928
23929	if invalidParams.Len() > 0 {
23930		return invalidParams
23931	}
23932	return nil
23933}
23934
23935// SetContainerName sets the ContainerName field's value.
23936func (s *EndpointRequest) SetContainerName(v string) *EndpointRequest {
23937	s.ContainerName = &v
23938	return s
23939}
23940
23941// SetContainerPort sets the ContainerPort field's value.
23942func (s *EndpointRequest) SetContainerPort(v int64) *EndpointRequest {
23943	s.ContainerPort = &v
23944	return s
23945}
23946
23947// SetHealthCheck sets the HealthCheck field's value.
23948func (s *EndpointRequest) SetHealthCheck(v *ContainerServiceHealthCheckConfig) *EndpointRequest {
23949	s.HealthCheck = v
23950	return s
23951}
23952
23953type ExportSnapshotInput struct {
23954	_ struct{} `type:"structure"`
23955
23956	// The name of the instance or disk snapshot to be exported to Amazon EC2.
23957	//
23958	// SourceSnapshotName is a required field
23959	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
23960}
23961
23962// String returns the string representation
23963func (s ExportSnapshotInput) String() string {
23964	return awsutil.Prettify(s)
23965}
23966
23967// GoString returns the string representation
23968func (s ExportSnapshotInput) GoString() string {
23969	return s.String()
23970}
23971
23972// Validate inspects the fields of the type to determine if they are valid.
23973func (s *ExportSnapshotInput) Validate() error {
23974	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
23975	if s.SourceSnapshotName == nil {
23976		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
23977	}
23978
23979	if invalidParams.Len() > 0 {
23980		return invalidParams
23981	}
23982	return nil
23983}
23984
23985// SetSourceSnapshotName sets the SourceSnapshotName field's value.
23986func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
23987	s.SourceSnapshotName = &v
23988	return s
23989}
23990
23991type ExportSnapshotOutput struct {
23992	_ struct{} `type:"structure"`
23993
23994	// An array of objects that describe the result of the action, such as the status
23995	// of the request, the timestamp of the request, and the resources affected
23996	// by the request.
23997	Operations []*Operation `locationName:"operations" type:"list"`
23998}
23999
24000// String returns the string representation
24001func (s ExportSnapshotOutput) String() string {
24002	return awsutil.Prettify(s)
24003}
24004
24005// GoString returns the string representation
24006func (s ExportSnapshotOutput) GoString() string {
24007	return s.String()
24008}
24009
24010// SetOperations sets the Operations field's value.
24011func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
24012	s.Operations = v
24013	return s
24014}
24015
24016// Describes an export snapshot record.
24017type ExportSnapshotRecord struct {
24018	_ struct{} `type:"structure"`
24019
24020	// The Amazon Resource Name (ARN) of the export snapshot record.
24021	Arn *string `locationName:"arn" type:"string"`
24022
24023	// The date when the export snapshot record was created.
24024	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
24025
24026	// A list of objects describing the destination of the export snapshot record.
24027	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
24028
24029	// The AWS Region and Availability Zone where the export snapshot record is
24030	// located.
24031	Location *ResourceLocation `locationName:"location" type:"structure"`
24032
24033	// The export snapshot record name.
24034	Name *string `locationName:"name" type:"string"`
24035
24036	// The Lightsail resource type (e.g., ExportSnapshotRecord).
24037	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
24038
24039	// A list of objects describing the source of the export snapshot record.
24040	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
24041
24042	// The state of the export snapshot record.
24043	State *string `locationName:"state" type:"string" enum:"RecordState"`
24044}
24045
24046// String returns the string representation
24047func (s ExportSnapshotRecord) String() string {
24048	return awsutil.Prettify(s)
24049}
24050
24051// GoString returns the string representation
24052func (s ExportSnapshotRecord) GoString() string {
24053	return s.String()
24054}
24055
24056// SetArn sets the Arn field's value.
24057func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
24058	s.Arn = &v
24059	return s
24060}
24061
24062// SetCreatedAt sets the CreatedAt field's value.
24063func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
24064	s.CreatedAt = &v
24065	return s
24066}
24067
24068// SetDestinationInfo sets the DestinationInfo field's value.
24069func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
24070	s.DestinationInfo = v
24071	return s
24072}
24073
24074// SetLocation sets the Location field's value.
24075func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
24076	s.Location = v
24077	return s
24078}
24079
24080// SetName sets the Name field's value.
24081func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
24082	s.Name = &v
24083	return s
24084}
24085
24086// SetResourceType sets the ResourceType field's value.
24087func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
24088	s.ResourceType = &v
24089	return s
24090}
24091
24092// SetSourceInfo sets the SourceInfo field's value.
24093func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
24094	s.SourceInfo = v
24095	return s
24096}
24097
24098// SetState sets the State field's value.
24099func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
24100	s.State = &v
24101	return s
24102}
24103
24104// Describes the source of an export snapshot record.
24105type ExportSnapshotRecordSourceInfo struct {
24106	_ struct{} `type:"structure"`
24107
24108	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
24109	Arn *string `locationName:"arn" type:"string"`
24110
24111	// The date when the source instance or disk snapshot was created.
24112	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
24113
24114	// A list of objects describing a disk snapshot.
24115	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
24116
24117	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
24118	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
24119
24120	// The name of the snapshot's source instance or disk.
24121	FromResourceName *string `locationName:"fromResourceName" type:"string"`
24122
24123	// A list of objects describing an instance snapshot.
24124	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
24125
24126	// The name of the source instance or disk snapshot.
24127	Name *string `locationName:"name" type:"string"`
24128
24129	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
24130	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
24131}
24132
24133// String returns the string representation
24134func (s ExportSnapshotRecordSourceInfo) String() string {
24135	return awsutil.Prettify(s)
24136}
24137
24138// GoString returns the string representation
24139func (s ExportSnapshotRecordSourceInfo) GoString() string {
24140	return s.String()
24141}
24142
24143// SetArn sets the Arn field's value.
24144func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
24145	s.Arn = &v
24146	return s
24147}
24148
24149// SetCreatedAt sets the CreatedAt field's value.
24150func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
24151	s.CreatedAt = &v
24152	return s
24153}
24154
24155// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
24156func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
24157	s.DiskSnapshotInfo = v
24158	return s
24159}
24160
24161// SetFromResourceArn sets the FromResourceArn field's value.
24162func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
24163	s.FromResourceArn = &v
24164	return s
24165}
24166
24167// SetFromResourceName sets the FromResourceName field's value.
24168func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
24169	s.FromResourceName = &v
24170	return s
24171}
24172
24173// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
24174func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
24175	s.InstanceSnapshotInfo = v
24176	return s
24177}
24178
24179// SetName sets the Name field's value.
24180func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
24181	s.Name = &v
24182	return s
24183}
24184
24185// SetResourceType sets the ResourceType field's value.
24186func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
24187	s.ResourceType = &v
24188	return s
24189}
24190
24191type GetActiveNamesInput struct {
24192	_ struct{} `type:"structure"`
24193
24194	// The token to advance to the next page of results from your request.
24195	//
24196	// To get a page token, perform an initial GetActiveNames request. If your results
24197	// are paginated, the response will return a next page token that you can specify
24198	// as the page token in a subsequent request.
24199	PageToken *string `locationName:"pageToken" type:"string"`
24200}
24201
24202// String returns the string representation
24203func (s GetActiveNamesInput) String() string {
24204	return awsutil.Prettify(s)
24205}
24206
24207// GoString returns the string representation
24208func (s GetActiveNamesInput) GoString() string {
24209	return s.String()
24210}
24211
24212// SetPageToken sets the PageToken field's value.
24213func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
24214	s.PageToken = &v
24215	return s
24216}
24217
24218type GetActiveNamesOutput struct {
24219	_ struct{} `type:"structure"`
24220
24221	// The list of active names returned by the get active names request.
24222	ActiveNames []*string `locationName:"activeNames" type:"list"`
24223
24224	// The token to advance to the next page of results from your request.
24225	//
24226	// A next page token is not returned if there are no more results to display.
24227	//
24228	// To get the next page of results, perform another GetActiveNames request and
24229	// specify the next page token using the pageToken parameter.
24230	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24231}
24232
24233// String returns the string representation
24234func (s GetActiveNamesOutput) String() string {
24235	return awsutil.Prettify(s)
24236}
24237
24238// GoString returns the string representation
24239func (s GetActiveNamesOutput) GoString() string {
24240	return s.String()
24241}
24242
24243// SetActiveNames sets the ActiveNames field's value.
24244func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
24245	s.ActiveNames = v
24246	return s
24247}
24248
24249// SetNextPageToken sets the NextPageToken field's value.
24250func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
24251	s.NextPageToken = &v
24252	return s
24253}
24254
24255type GetAlarmsInput struct {
24256	_ struct{} `type:"structure"`
24257
24258	// The name of the alarm.
24259	//
24260	// Specify an alarm name to return information about a specific alarm.
24261	AlarmName *string `locationName:"alarmName" type:"string"`
24262
24263	// The name of the Lightsail resource being monitored by the alarm.
24264	//
24265	// Specify a monitored resource name to return information about all alarms
24266	// for a specific resource.
24267	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
24268
24269	// The token to advance to the next page of results from your request.
24270	//
24271	// To get a page token, perform an initial GetAlarms request. If your results
24272	// are paginated, the response will return a next page token that you can specify
24273	// as the page token in a subsequent request.
24274	PageToken *string `locationName:"pageToken" type:"string"`
24275}
24276
24277// String returns the string representation
24278func (s GetAlarmsInput) String() string {
24279	return awsutil.Prettify(s)
24280}
24281
24282// GoString returns the string representation
24283func (s GetAlarmsInput) GoString() string {
24284	return s.String()
24285}
24286
24287// SetAlarmName sets the AlarmName field's value.
24288func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
24289	s.AlarmName = &v
24290	return s
24291}
24292
24293// SetMonitoredResourceName sets the MonitoredResourceName field's value.
24294func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
24295	s.MonitoredResourceName = &v
24296	return s
24297}
24298
24299// SetPageToken sets the PageToken field's value.
24300func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
24301	s.PageToken = &v
24302	return s
24303}
24304
24305type GetAlarmsOutput struct {
24306	_ struct{} `type:"structure"`
24307
24308	// An array of objects that describe the alarms.
24309	Alarms []*Alarm `locationName:"alarms" type:"list"`
24310
24311	// The token to advance to the next page of results from your request.
24312	//
24313	// A next page token is not returned if there are no more results to display.
24314	//
24315	// To get the next page of results, perform another GetAlarms request and specify
24316	// the next page token using the pageToken parameter.
24317	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24318}
24319
24320// String returns the string representation
24321func (s GetAlarmsOutput) String() string {
24322	return awsutil.Prettify(s)
24323}
24324
24325// GoString returns the string representation
24326func (s GetAlarmsOutput) GoString() string {
24327	return s.String()
24328}
24329
24330// SetAlarms sets the Alarms field's value.
24331func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
24332	s.Alarms = v
24333	return s
24334}
24335
24336// SetNextPageToken sets the NextPageToken field's value.
24337func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
24338	s.NextPageToken = &v
24339	return s
24340}
24341
24342type GetAutoSnapshotsInput struct {
24343	_ struct{} `type:"structure"`
24344
24345	// The name of the source instance or disk from which to get automatic snapshot
24346	// information.
24347	//
24348	// ResourceName is a required field
24349	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24350}
24351
24352// String returns the string representation
24353func (s GetAutoSnapshotsInput) String() string {
24354	return awsutil.Prettify(s)
24355}
24356
24357// GoString returns the string representation
24358func (s GetAutoSnapshotsInput) GoString() string {
24359	return s.String()
24360}
24361
24362// Validate inspects the fields of the type to determine if they are valid.
24363func (s *GetAutoSnapshotsInput) Validate() error {
24364	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
24365	if s.ResourceName == nil {
24366		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24367	}
24368
24369	if invalidParams.Len() > 0 {
24370		return invalidParams
24371	}
24372	return nil
24373}
24374
24375// SetResourceName sets the ResourceName field's value.
24376func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
24377	s.ResourceName = &v
24378	return s
24379}
24380
24381type GetAutoSnapshotsOutput struct {
24382	_ struct{} `type:"structure"`
24383
24384	// An array of objects that describe the automatic snapshots that are available
24385	// for the specified source instance or disk.
24386	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
24387
24388	// The name of the source instance or disk for the automatic snapshots.
24389	ResourceName *string `locationName:"resourceName" type:"string"`
24390
24391	// The resource type (e.g., Instance or Disk).
24392	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
24393}
24394
24395// String returns the string representation
24396func (s GetAutoSnapshotsOutput) String() string {
24397	return awsutil.Prettify(s)
24398}
24399
24400// GoString returns the string representation
24401func (s GetAutoSnapshotsOutput) GoString() string {
24402	return s.String()
24403}
24404
24405// SetAutoSnapshots sets the AutoSnapshots field's value.
24406func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
24407	s.AutoSnapshots = v
24408	return s
24409}
24410
24411// SetResourceName sets the ResourceName field's value.
24412func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
24413	s.ResourceName = &v
24414	return s
24415}
24416
24417// SetResourceType sets the ResourceType field's value.
24418func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
24419	s.ResourceType = &v
24420	return s
24421}
24422
24423type GetBlueprintsInput struct {
24424	_ struct{} `type:"structure"`
24425
24426	// A Boolean value indicating whether to include inactive results in your request.
24427	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
24428
24429	// The token to advance to the next page of results from your request.
24430	//
24431	// To get a page token, perform an initial GetBlueprints request. If your results
24432	// are paginated, the response will return a next page token that you can specify
24433	// as the page token in a subsequent request.
24434	PageToken *string `locationName:"pageToken" type:"string"`
24435}
24436
24437// String returns the string representation
24438func (s GetBlueprintsInput) String() string {
24439	return awsutil.Prettify(s)
24440}
24441
24442// GoString returns the string representation
24443func (s GetBlueprintsInput) GoString() string {
24444	return s.String()
24445}
24446
24447// SetIncludeInactive sets the IncludeInactive field's value.
24448func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
24449	s.IncludeInactive = &v
24450	return s
24451}
24452
24453// SetPageToken sets the PageToken field's value.
24454func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
24455	s.PageToken = &v
24456	return s
24457}
24458
24459type GetBlueprintsOutput struct {
24460	_ struct{} `type:"structure"`
24461
24462	// An array of key-value pairs that contains information about the available
24463	// blueprints.
24464	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
24465
24466	// The token to advance to the next page of results from your request.
24467	//
24468	// A next page token is not returned if there are no more results to display.
24469	//
24470	// To get the next page of results, perform another GetBlueprints request and
24471	// specify the next page token using the pageToken parameter.
24472	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24473}
24474
24475// String returns the string representation
24476func (s GetBlueprintsOutput) String() string {
24477	return awsutil.Prettify(s)
24478}
24479
24480// GoString returns the string representation
24481func (s GetBlueprintsOutput) GoString() string {
24482	return s.String()
24483}
24484
24485// SetBlueprints sets the Blueprints field's value.
24486func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
24487	s.Blueprints = v
24488	return s
24489}
24490
24491// SetNextPageToken sets the NextPageToken field's value.
24492func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
24493	s.NextPageToken = &v
24494	return s
24495}
24496
24497type GetBundlesInput struct {
24498	_ struct{} `type:"structure"`
24499
24500	// A Boolean value that indicates whether to include inactive bundle results
24501	// in your request.
24502	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
24503
24504	// The token to advance to the next page of results from your request.
24505	//
24506	// To get a page token, perform an initial GetBundles request. If your results
24507	// are paginated, the response will return a next page token that you can specify
24508	// as the page token in a subsequent request.
24509	PageToken *string `locationName:"pageToken" type:"string"`
24510}
24511
24512// String returns the string representation
24513func (s GetBundlesInput) String() string {
24514	return awsutil.Prettify(s)
24515}
24516
24517// GoString returns the string representation
24518func (s GetBundlesInput) GoString() string {
24519	return s.String()
24520}
24521
24522// SetIncludeInactive sets the IncludeInactive field's value.
24523func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
24524	s.IncludeInactive = &v
24525	return s
24526}
24527
24528// SetPageToken sets the PageToken field's value.
24529func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
24530	s.PageToken = &v
24531	return s
24532}
24533
24534type GetBundlesOutput struct {
24535	_ struct{} `type:"structure"`
24536
24537	// An array of key-value pairs that contains information about the available
24538	// bundles.
24539	Bundles []*Bundle `locationName:"bundles" type:"list"`
24540
24541	// The token to advance to the next page of results from your request.
24542	//
24543	// A next page token is not returned if there are no more results to display.
24544	//
24545	// To get the next page of results, perform another GetBundles request and specify
24546	// the next page token using the pageToken parameter.
24547	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24548}
24549
24550// String returns the string representation
24551func (s GetBundlesOutput) String() string {
24552	return awsutil.Prettify(s)
24553}
24554
24555// GoString returns the string representation
24556func (s GetBundlesOutput) GoString() string {
24557	return s.String()
24558}
24559
24560// SetBundles sets the Bundles field's value.
24561func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
24562	s.Bundles = v
24563	return s
24564}
24565
24566// SetNextPageToken sets the NextPageToken field's value.
24567func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
24568	s.NextPageToken = &v
24569	return s
24570}
24571
24572type GetCertificatesInput struct {
24573	_ struct{} `type:"structure"`
24574
24575	// The name for the certificate for which to return information.
24576	//
24577	// When omitted, the response includes all of your certificates in the AWS Region
24578	// where the request is made.
24579	CertificateName *string `locationName:"certificateName" type:"string"`
24580
24581	// The status of the certificates for which to return information.
24582	//
24583	// For example, specify ISSUED to return only certificates with an ISSUED status.
24584	//
24585	// When omitted, the response includes all of your certificates in the AWS Region
24586	// where the request is made, regardless of their current status.
24587	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
24588
24589	// Indicates whether to include detailed information about the certificates
24590	// in the response.
24591	//
24592	// When omitted, the response includes only the certificate names, Amazon Resource
24593	// Names (ARNs), domain names, and tags.
24594	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
24595}
24596
24597// String returns the string representation
24598func (s GetCertificatesInput) String() string {
24599	return awsutil.Prettify(s)
24600}
24601
24602// GoString returns the string representation
24603func (s GetCertificatesInput) GoString() string {
24604	return s.String()
24605}
24606
24607// SetCertificateName sets the CertificateName field's value.
24608func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
24609	s.CertificateName = &v
24610	return s
24611}
24612
24613// SetCertificateStatuses sets the CertificateStatuses field's value.
24614func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
24615	s.CertificateStatuses = v
24616	return s
24617}
24618
24619// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
24620func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
24621	s.IncludeCertificateDetails = &v
24622	return s
24623}
24624
24625type GetCertificatesOutput struct {
24626	_ struct{} `type:"structure"`
24627
24628	// An object that describes certificates.
24629	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
24630}
24631
24632// String returns the string representation
24633func (s GetCertificatesOutput) String() string {
24634	return awsutil.Prettify(s)
24635}
24636
24637// GoString returns the string representation
24638func (s GetCertificatesOutput) GoString() string {
24639	return s.String()
24640}
24641
24642// SetCertificates sets the Certificates field's value.
24643func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
24644	s.Certificates = v
24645	return s
24646}
24647
24648type GetCloudFormationStackRecordsInput struct {
24649	_ struct{} `type:"structure"`
24650
24651	// The token to advance to the next page of results from your request.
24652	//
24653	// To get a page token, perform an initial GetClouFormationStackRecords request.
24654	// If your results are paginated, the response will return a next page token
24655	// that you can specify as the page token in a subsequent request.
24656	PageToken *string `locationName:"pageToken" type:"string"`
24657}
24658
24659// String returns the string representation
24660func (s GetCloudFormationStackRecordsInput) String() string {
24661	return awsutil.Prettify(s)
24662}
24663
24664// GoString returns the string representation
24665func (s GetCloudFormationStackRecordsInput) GoString() string {
24666	return s.String()
24667}
24668
24669// SetPageToken sets the PageToken field's value.
24670func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
24671	s.PageToken = &v
24672	return s
24673}
24674
24675type GetCloudFormationStackRecordsOutput struct {
24676	_ struct{} `type:"structure"`
24677
24678	// A list of objects describing the CloudFormation stack records.
24679	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
24680
24681	// The token to advance to the next page of results from your request.
24682	//
24683	// A next page token is not returned if there are no more results to display.
24684	//
24685	// To get the next page of results, perform another GetCloudFormationStackRecords
24686	// request and specify the next page token using the pageToken parameter.
24687	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24688}
24689
24690// String returns the string representation
24691func (s GetCloudFormationStackRecordsOutput) String() string {
24692	return awsutil.Prettify(s)
24693}
24694
24695// GoString returns the string representation
24696func (s GetCloudFormationStackRecordsOutput) GoString() string {
24697	return s.String()
24698}
24699
24700// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
24701func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
24702	s.CloudFormationStackRecords = v
24703	return s
24704}
24705
24706// SetNextPageToken sets the NextPageToken field's value.
24707func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
24708	s.NextPageToken = &v
24709	return s
24710}
24711
24712type GetContactMethodsInput struct {
24713	_ struct{} `type:"structure"`
24714
24715	// The protocols used to send notifications, such as Email, or SMS (text messaging).
24716	//
24717	// Specify a protocol in your request to return information about a specific
24718	// contact method protocol.
24719	Protocols []*string `locationName:"protocols" type:"list"`
24720}
24721
24722// String returns the string representation
24723func (s GetContactMethodsInput) String() string {
24724	return awsutil.Prettify(s)
24725}
24726
24727// GoString returns the string representation
24728func (s GetContactMethodsInput) GoString() string {
24729	return s.String()
24730}
24731
24732// SetProtocols sets the Protocols field's value.
24733func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
24734	s.Protocols = v
24735	return s
24736}
24737
24738type GetContactMethodsOutput struct {
24739	_ struct{} `type:"structure"`
24740
24741	// An array of objects that describe the contact methods.
24742	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
24743}
24744
24745// String returns the string representation
24746func (s GetContactMethodsOutput) String() string {
24747	return awsutil.Prettify(s)
24748}
24749
24750// GoString returns the string representation
24751func (s GetContactMethodsOutput) GoString() string {
24752	return s.String()
24753}
24754
24755// SetContactMethods sets the ContactMethods field's value.
24756func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
24757	s.ContactMethods = v
24758	return s
24759}
24760
24761type GetContainerAPIMetadataInput struct {
24762	_ struct{} `type:"structure"`
24763}
24764
24765// String returns the string representation
24766func (s GetContainerAPIMetadataInput) String() string {
24767	return awsutil.Prettify(s)
24768}
24769
24770// GoString returns the string representation
24771func (s GetContainerAPIMetadataInput) GoString() string {
24772	return s.String()
24773}
24774
24775type GetContainerAPIMetadataOutput struct {
24776	_ struct{} `type:"structure"`
24777
24778	// Metadata about Lightsail containers, such as the current version of the Lightsail
24779	// Control (lightsailctl) plugin.
24780	Metadata []map[string]*string `locationName:"metadata" type:"list"`
24781}
24782
24783// String returns the string representation
24784func (s GetContainerAPIMetadataOutput) String() string {
24785	return awsutil.Prettify(s)
24786}
24787
24788// GoString returns the string representation
24789func (s GetContainerAPIMetadataOutput) GoString() string {
24790	return s.String()
24791}
24792
24793// SetMetadata sets the Metadata field's value.
24794func (s *GetContainerAPIMetadataOutput) SetMetadata(v []map[string]*string) *GetContainerAPIMetadataOutput {
24795	s.Metadata = v
24796	return s
24797}
24798
24799type GetContainerImagesInput struct {
24800	_ struct{} `type:"structure"`
24801
24802	// The name of the container service for which to return registered container
24803	// images.
24804	//
24805	// ServiceName is a required field
24806	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24807}
24808
24809// String returns the string representation
24810func (s GetContainerImagesInput) String() string {
24811	return awsutil.Prettify(s)
24812}
24813
24814// GoString returns the string representation
24815func (s GetContainerImagesInput) GoString() string {
24816	return s.String()
24817}
24818
24819// Validate inspects the fields of the type to determine if they are valid.
24820func (s *GetContainerImagesInput) Validate() error {
24821	invalidParams := request.ErrInvalidParams{Context: "GetContainerImagesInput"}
24822	if s.ServiceName == nil {
24823		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24824	}
24825	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24826		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24827	}
24828
24829	if invalidParams.Len() > 0 {
24830		return invalidParams
24831	}
24832	return nil
24833}
24834
24835// SetServiceName sets the ServiceName field's value.
24836func (s *GetContainerImagesInput) SetServiceName(v string) *GetContainerImagesInput {
24837	s.ServiceName = &v
24838	return s
24839}
24840
24841type GetContainerImagesOutput struct {
24842	_ struct{} `type:"structure"`
24843
24844	// An array of objects that describe container images that are registered to
24845	// the container service.
24846	ContainerImages []*ContainerImage `locationName:"containerImages" type:"list"`
24847}
24848
24849// String returns the string representation
24850func (s GetContainerImagesOutput) String() string {
24851	return awsutil.Prettify(s)
24852}
24853
24854// GoString returns the string representation
24855func (s GetContainerImagesOutput) GoString() string {
24856	return s.String()
24857}
24858
24859// SetContainerImages sets the ContainerImages field's value.
24860func (s *GetContainerImagesOutput) SetContainerImages(v []*ContainerImage) *GetContainerImagesOutput {
24861	s.ContainerImages = v
24862	return s
24863}
24864
24865type GetContainerLogInput struct {
24866	_ struct{} `type:"structure"`
24867
24868	// The name of the container that is either running or previously ran on the
24869	// container service for which to return a log.
24870	//
24871	// ContainerName is a required field
24872	ContainerName *string `locationName:"containerName" type:"string" required:"true"`
24873
24874	// The end of the time interval for which to get log data.
24875	//
24876	// Constraints:
24877	//
24878	//    * Specified in Coordinated Universal Time (UTC).
24879	//
24880	//    * Specified in the Unix time format. For example, if you wish to use an
24881	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
24882	//    time.
24883	//
24884	// You can convert a human-friendly time to Unix time format using a converter
24885	// like Epoch converter (https://www.epochconverter.com/).
24886	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
24887
24888	// The pattern to use to filter the returned log events to a specific term.
24889	//
24890	// The following are a few examples of filter patterns that you can specify:
24891	//
24892	//    * To return all log events, specify a filter pattern of "".
24893	//
24894	//    * To exclude log events that contain the ERROR term, and return all other
24895	//    log events, specify a filter pattern of "-ERROR".
24896	//
24897	//    * To return log events that contain the ERROR term, specify a filter pattern
24898	//    of "ERROR".
24899	//
24900	//    * To return log events that contain both the ERROR and Exception terms,
24901	//    specify a filter pattern of "ERROR Exception".
24902	//
24903	//    * To return log events that contain the ERROR or the Exception term, specify
24904	//    a filter pattern of "?ERROR ?Exception".
24905	FilterPattern *string `locationName:"filterPattern" type:"string"`
24906
24907	// The token to advance to the next page of results from your request.
24908	//
24909	// To get a page token, perform an initial GetContainerLog request. If your
24910	// results are paginated, the response will return a next page token that you
24911	// can specify as the page token in a subsequent request.
24912	PageToken *string `locationName:"pageToken" type:"string"`
24913
24914	// The name of the container service for which to get a container log.
24915	//
24916	// ServiceName is a required field
24917	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
24918
24919	// The start of the time interval for which to get log data.
24920	//
24921	// Constraints:
24922	//
24923	//    * Specified in Coordinated Universal Time (UTC).
24924	//
24925	//    * Specified in the Unix time format. For example, if you wish to use a
24926	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
24927	//    start time.
24928	//
24929	// You can convert a human-friendly time to Unix time format using a converter
24930	// like Epoch converter (https://www.epochconverter.com/).
24931	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
24932}
24933
24934// String returns the string representation
24935func (s GetContainerLogInput) String() string {
24936	return awsutil.Prettify(s)
24937}
24938
24939// GoString returns the string representation
24940func (s GetContainerLogInput) GoString() string {
24941	return s.String()
24942}
24943
24944// Validate inspects the fields of the type to determine if they are valid.
24945func (s *GetContainerLogInput) Validate() error {
24946	invalidParams := request.ErrInvalidParams{Context: "GetContainerLogInput"}
24947	if s.ContainerName == nil {
24948		invalidParams.Add(request.NewErrParamRequired("ContainerName"))
24949	}
24950	if s.ServiceName == nil {
24951		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
24952	}
24953	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
24954		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
24955	}
24956
24957	if invalidParams.Len() > 0 {
24958		return invalidParams
24959	}
24960	return nil
24961}
24962
24963// SetContainerName sets the ContainerName field's value.
24964func (s *GetContainerLogInput) SetContainerName(v string) *GetContainerLogInput {
24965	s.ContainerName = &v
24966	return s
24967}
24968
24969// SetEndTime sets the EndTime field's value.
24970func (s *GetContainerLogInput) SetEndTime(v time.Time) *GetContainerLogInput {
24971	s.EndTime = &v
24972	return s
24973}
24974
24975// SetFilterPattern sets the FilterPattern field's value.
24976func (s *GetContainerLogInput) SetFilterPattern(v string) *GetContainerLogInput {
24977	s.FilterPattern = &v
24978	return s
24979}
24980
24981// SetPageToken sets the PageToken field's value.
24982func (s *GetContainerLogInput) SetPageToken(v string) *GetContainerLogInput {
24983	s.PageToken = &v
24984	return s
24985}
24986
24987// SetServiceName sets the ServiceName field's value.
24988func (s *GetContainerLogInput) SetServiceName(v string) *GetContainerLogInput {
24989	s.ServiceName = &v
24990	return s
24991}
24992
24993// SetStartTime sets the StartTime field's value.
24994func (s *GetContainerLogInput) SetStartTime(v time.Time) *GetContainerLogInput {
24995	s.StartTime = &v
24996	return s
24997}
24998
24999type GetContainerLogOutput struct {
25000	_ struct{} `type:"structure"`
25001
25002	// An array of objects that describe the log events of a container.
25003	LogEvents []*ContainerServiceLogEvent `locationName:"logEvents" type:"list"`
25004
25005	// The token to advance to the next page of results from your request.
25006	//
25007	// A next page token is not returned if there are no more results to display.
25008	//
25009	// To get the next page of results, perform another GetContainerLog request
25010	// and specify the next page token using the pageToken parameter.
25011	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25012}
25013
25014// String returns the string representation
25015func (s GetContainerLogOutput) String() string {
25016	return awsutil.Prettify(s)
25017}
25018
25019// GoString returns the string representation
25020func (s GetContainerLogOutput) GoString() string {
25021	return s.String()
25022}
25023
25024// SetLogEvents sets the LogEvents field's value.
25025func (s *GetContainerLogOutput) SetLogEvents(v []*ContainerServiceLogEvent) *GetContainerLogOutput {
25026	s.LogEvents = v
25027	return s
25028}
25029
25030// SetNextPageToken sets the NextPageToken field's value.
25031func (s *GetContainerLogOutput) SetNextPageToken(v string) *GetContainerLogOutput {
25032	s.NextPageToken = &v
25033	return s
25034}
25035
25036type GetContainerServiceDeploymentsInput struct {
25037	_ struct{} `type:"structure"`
25038
25039	// The name of the container service for which to return deployments.
25040	//
25041	// ServiceName is a required field
25042	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
25043}
25044
25045// String returns the string representation
25046func (s GetContainerServiceDeploymentsInput) String() string {
25047	return awsutil.Prettify(s)
25048}
25049
25050// GoString returns the string representation
25051func (s GetContainerServiceDeploymentsInput) GoString() string {
25052	return s.String()
25053}
25054
25055// Validate inspects the fields of the type to determine if they are valid.
25056func (s *GetContainerServiceDeploymentsInput) Validate() error {
25057	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceDeploymentsInput"}
25058	if s.ServiceName == nil {
25059		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
25060	}
25061	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
25062		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
25063	}
25064
25065	if invalidParams.Len() > 0 {
25066		return invalidParams
25067	}
25068	return nil
25069}
25070
25071// SetServiceName sets the ServiceName field's value.
25072func (s *GetContainerServiceDeploymentsInput) SetServiceName(v string) *GetContainerServiceDeploymentsInput {
25073	s.ServiceName = &v
25074	return s
25075}
25076
25077type GetContainerServiceDeploymentsOutput struct {
25078	_ struct{} `type:"structure"`
25079
25080	// An array of objects that describe deployments for a container service.
25081	Deployments []*ContainerServiceDeployment `locationName:"deployments" type:"list"`
25082}
25083
25084// String returns the string representation
25085func (s GetContainerServiceDeploymentsOutput) String() string {
25086	return awsutil.Prettify(s)
25087}
25088
25089// GoString returns the string representation
25090func (s GetContainerServiceDeploymentsOutput) GoString() string {
25091	return s.String()
25092}
25093
25094// SetDeployments sets the Deployments field's value.
25095func (s *GetContainerServiceDeploymentsOutput) SetDeployments(v []*ContainerServiceDeployment) *GetContainerServiceDeploymentsOutput {
25096	s.Deployments = v
25097	return s
25098}
25099
25100type GetContainerServiceMetricDataInput struct {
25101	_ struct{} `type:"structure"`
25102
25103	// The end time of the time period.
25104	//
25105	// EndTime is a required field
25106	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
25107
25108	// The metric for which you want to return information.
25109	//
25110	// Valid container service metric names are listed below, along with the most
25111	// useful statistics to include in your request, and the published unit value.
25112	//
25113	//    * CPUUtilization - The average percentage of compute units that are currently
25114	//    in use across all nodes of the container service. This metric identifies
25115	//    the processing power required to run containers on each node of the container
25116	//    service. Statistics: The most useful statistics are Maximum and Average.
25117	//    Unit: The published unit is Percent.
25118	//
25119	//    * MemoryUtilization - The average percentage of available memory that
25120	//    is currently in use across all nodes of the container service. This metric
25121	//    identifies the memory required to run containers on each node of the container
25122	//    service. Statistics: The most useful statistics are Maximum and Average.
25123	//    Unit: The published unit is Percent.
25124	//
25125	// MetricName is a required field
25126	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"ContainerServiceMetricName"`
25127
25128	// The granularity, in seconds, of the returned data points.
25129	//
25130	// All container service metric data is available in 5-minute (300 seconds)
25131	// granularity.
25132	//
25133	// Period is a required field
25134	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
25135
25136	// The name of the container service for which to get metric data.
25137	//
25138	// ServiceName is a required field
25139	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
25140
25141	// The start time of the time period.
25142	//
25143	// StartTime is a required field
25144	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
25145
25146	// The statistic for the metric.
25147	//
25148	// The following statistics are available:
25149	//
25150	//    * Minimum - The lowest value observed during the specified period. Use
25151	//    this value to determine low volumes of activity for your application.
25152	//
25153	//    * Maximum - The highest value observed during the specified period. Use
25154	//    this value to determine high volumes of activity for your application.
25155	//
25156	//    * Sum - All values submitted for the matching metric added together. You
25157	//    can use this statistic to determine the total volume of a metric.
25158	//
25159	//    * Average - The value of Sum / SampleCount during the specified period.
25160	//    By comparing this statistic with the Minimum and Maximum values, you can
25161	//    determine the full scope of a metric and how close the average use is
25162	//    to the Minimum and Maximum values. This comparison helps you to know when
25163	//    to increase or decrease your resources.
25164	//
25165	//    * SampleCount - The count, or number, of data points used for the statistical
25166	//    calculation.
25167	//
25168	// Statistics is a required field
25169	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
25170}
25171
25172// String returns the string representation
25173func (s GetContainerServiceMetricDataInput) String() string {
25174	return awsutil.Prettify(s)
25175}
25176
25177// GoString returns the string representation
25178func (s GetContainerServiceMetricDataInput) GoString() string {
25179	return s.String()
25180}
25181
25182// Validate inspects the fields of the type to determine if they are valid.
25183func (s *GetContainerServiceMetricDataInput) Validate() error {
25184	invalidParams := request.ErrInvalidParams{Context: "GetContainerServiceMetricDataInput"}
25185	if s.EndTime == nil {
25186		invalidParams.Add(request.NewErrParamRequired("EndTime"))
25187	}
25188	if s.MetricName == nil {
25189		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25190	}
25191	if s.Period == nil {
25192		invalidParams.Add(request.NewErrParamRequired("Period"))
25193	}
25194	if s.Period != nil && *s.Period < 60 {
25195		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
25196	}
25197	if s.ServiceName == nil {
25198		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
25199	}
25200	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
25201		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
25202	}
25203	if s.StartTime == nil {
25204		invalidParams.Add(request.NewErrParamRequired("StartTime"))
25205	}
25206	if s.Statistics == nil {
25207		invalidParams.Add(request.NewErrParamRequired("Statistics"))
25208	}
25209
25210	if invalidParams.Len() > 0 {
25211		return invalidParams
25212	}
25213	return nil
25214}
25215
25216// SetEndTime sets the EndTime field's value.
25217func (s *GetContainerServiceMetricDataInput) SetEndTime(v time.Time) *GetContainerServiceMetricDataInput {
25218	s.EndTime = &v
25219	return s
25220}
25221
25222// SetMetricName sets the MetricName field's value.
25223func (s *GetContainerServiceMetricDataInput) SetMetricName(v string) *GetContainerServiceMetricDataInput {
25224	s.MetricName = &v
25225	return s
25226}
25227
25228// SetPeriod sets the Period field's value.
25229func (s *GetContainerServiceMetricDataInput) SetPeriod(v int64) *GetContainerServiceMetricDataInput {
25230	s.Period = &v
25231	return s
25232}
25233
25234// SetServiceName sets the ServiceName field's value.
25235func (s *GetContainerServiceMetricDataInput) SetServiceName(v string) *GetContainerServiceMetricDataInput {
25236	s.ServiceName = &v
25237	return s
25238}
25239
25240// SetStartTime sets the StartTime field's value.
25241func (s *GetContainerServiceMetricDataInput) SetStartTime(v time.Time) *GetContainerServiceMetricDataInput {
25242	s.StartTime = &v
25243	return s
25244}
25245
25246// SetStatistics sets the Statistics field's value.
25247func (s *GetContainerServiceMetricDataInput) SetStatistics(v []*string) *GetContainerServiceMetricDataInput {
25248	s.Statistics = v
25249	return s
25250}
25251
25252type GetContainerServiceMetricDataOutput struct {
25253	_ struct{} `type:"structure"`
25254
25255	// An array of objects that describe the metric data returned.
25256	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
25257
25258	// The name of the metric returned.
25259	MetricName *string `locationName:"metricName" type:"string" enum:"ContainerServiceMetricName"`
25260}
25261
25262// String returns the string representation
25263func (s GetContainerServiceMetricDataOutput) String() string {
25264	return awsutil.Prettify(s)
25265}
25266
25267// GoString returns the string representation
25268func (s GetContainerServiceMetricDataOutput) GoString() string {
25269	return s.String()
25270}
25271
25272// SetMetricData sets the MetricData field's value.
25273func (s *GetContainerServiceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetContainerServiceMetricDataOutput {
25274	s.MetricData = v
25275	return s
25276}
25277
25278// SetMetricName sets the MetricName field's value.
25279func (s *GetContainerServiceMetricDataOutput) SetMetricName(v string) *GetContainerServiceMetricDataOutput {
25280	s.MetricName = &v
25281	return s
25282}
25283
25284type GetContainerServicePowersInput struct {
25285	_ struct{} `type:"structure"`
25286}
25287
25288// String returns the string representation
25289func (s GetContainerServicePowersInput) String() string {
25290	return awsutil.Prettify(s)
25291}
25292
25293// GoString returns the string representation
25294func (s GetContainerServicePowersInput) GoString() string {
25295	return s.String()
25296}
25297
25298type GetContainerServicePowersOutput struct {
25299	_ struct{} `type:"structure"`
25300
25301	// An array of objects that describe the powers that can be specified for a
25302	// container service.
25303	Powers []*ContainerServicePower `locationName:"powers" type:"list"`
25304}
25305
25306// String returns the string representation
25307func (s GetContainerServicePowersOutput) String() string {
25308	return awsutil.Prettify(s)
25309}
25310
25311// GoString returns the string representation
25312func (s GetContainerServicePowersOutput) GoString() string {
25313	return s.String()
25314}
25315
25316// SetPowers sets the Powers field's value.
25317func (s *GetContainerServicePowersOutput) SetPowers(v []*ContainerServicePower) *GetContainerServicePowersOutput {
25318	s.Powers = v
25319	return s
25320}
25321
25322type GetContainerServicesInput struct {
25323	_ struct{} `type:"structure"`
25324
25325	// The name of the container service for which to return information.
25326	//
25327	// When omitted, the response includes all of your container services in the
25328	// AWS Region where the request is made.
25329	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
25330}
25331
25332// String returns the string representation
25333func (s GetContainerServicesInput) String() string {
25334	return awsutil.Prettify(s)
25335}
25336
25337// GoString returns the string representation
25338func (s GetContainerServicesInput) GoString() string {
25339	return s.String()
25340}
25341
25342// Validate inspects the fields of the type to determine if they are valid.
25343func (s *GetContainerServicesInput) Validate() error {
25344	invalidParams := request.ErrInvalidParams{Context: "GetContainerServicesInput"}
25345	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
25346		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
25347	}
25348
25349	if invalidParams.Len() > 0 {
25350		return invalidParams
25351	}
25352	return nil
25353}
25354
25355// SetServiceName sets the ServiceName field's value.
25356func (s *GetContainerServicesInput) SetServiceName(v string) *GetContainerServicesInput {
25357	s.ServiceName = &v
25358	return s
25359}
25360
25361type GetContainerServicesOutput struct {
25362	_ struct{} `type:"structure"`
25363
25364	// An array of objects that describe one or more container services.
25365	ContainerServices []*ContainerService `locationName:"containerServices" type:"list"`
25366}
25367
25368// String returns the string representation
25369func (s GetContainerServicesOutput) String() string {
25370	return awsutil.Prettify(s)
25371}
25372
25373// GoString returns the string representation
25374func (s GetContainerServicesOutput) GoString() string {
25375	return s.String()
25376}
25377
25378// SetContainerServices sets the ContainerServices field's value.
25379func (s *GetContainerServicesOutput) SetContainerServices(v []*ContainerService) *GetContainerServicesOutput {
25380	s.ContainerServices = v
25381	return s
25382}
25383
25384type GetDiskInput struct {
25385	_ struct{} `type:"structure"`
25386
25387	// The name of the disk (e.g., my-disk).
25388	//
25389	// DiskName is a required field
25390	DiskName *string `locationName:"diskName" type:"string" required:"true"`
25391}
25392
25393// String returns the string representation
25394func (s GetDiskInput) String() string {
25395	return awsutil.Prettify(s)
25396}
25397
25398// GoString returns the string representation
25399func (s GetDiskInput) GoString() string {
25400	return s.String()
25401}
25402
25403// Validate inspects the fields of the type to determine if they are valid.
25404func (s *GetDiskInput) Validate() error {
25405	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
25406	if s.DiskName == nil {
25407		invalidParams.Add(request.NewErrParamRequired("DiskName"))
25408	}
25409
25410	if invalidParams.Len() > 0 {
25411		return invalidParams
25412	}
25413	return nil
25414}
25415
25416// SetDiskName sets the DiskName field's value.
25417func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
25418	s.DiskName = &v
25419	return s
25420}
25421
25422type GetDiskOutput struct {
25423	_ struct{} `type:"structure"`
25424
25425	// An object containing information about the disk.
25426	Disk *Disk `locationName:"disk" type:"structure"`
25427}
25428
25429// String returns the string representation
25430func (s GetDiskOutput) String() string {
25431	return awsutil.Prettify(s)
25432}
25433
25434// GoString returns the string representation
25435func (s GetDiskOutput) GoString() string {
25436	return s.String()
25437}
25438
25439// SetDisk sets the Disk field's value.
25440func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
25441	s.Disk = v
25442	return s
25443}
25444
25445type GetDiskSnapshotInput struct {
25446	_ struct{} `type:"structure"`
25447
25448	// The name of the disk snapshot (e.g., my-disk-snapshot).
25449	//
25450	// DiskSnapshotName is a required field
25451	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
25452}
25453
25454// String returns the string representation
25455func (s GetDiskSnapshotInput) String() string {
25456	return awsutil.Prettify(s)
25457}
25458
25459// GoString returns the string representation
25460func (s GetDiskSnapshotInput) GoString() string {
25461	return s.String()
25462}
25463
25464// Validate inspects the fields of the type to determine if they are valid.
25465func (s *GetDiskSnapshotInput) Validate() error {
25466	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
25467	if s.DiskSnapshotName == nil {
25468		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
25469	}
25470
25471	if invalidParams.Len() > 0 {
25472		return invalidParams
25473	}
25474	return nil
25475}
25476
25477// SetDiskSnapshotName sets the DiskSnapshotName field's value.
25478func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
25479	s.DiskSnapshotName = &v
25480	return s
25481}
25482
25483type GetDiskSnapshotOutput struct {
25484	_ struct{} `type:"structure"`
25485
25486	// An object containing information about the disk snapshot.
25487	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
25488}
25489
25490// String returns the string representation
25491func (s GetDiskSnapshotOutput) String() string {
25492	return awsutil.Prettify(s)
25493}
25494
25495// GoString returns the string representation
25496func (s GetDiskSnapshotOutput) GoString() string {
25497	return s.String()
25498}
25499
25500// SetDiskSnapshot sets the DiskSnapshot field's value.
25501func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
25502	s.DiskSnapshot = v
25503	return s
25504}
25505
25506type GetDiskSnapshotsInput struct {
25507	_ struct{} `type:"structure"`
25508
25509	// The token to advance to the next page of results from your request.
25510	//
25511	// To get a page token, perform an initial GetDiskSnapshots request. If your
25512	// results are paginated, the response will return a next page token that you
25513	// can specify as the page token in a subsequent request.
25514	PageToken *string `locationName:"pageToken" type:"string"`
25515}
25516
25517// String returns the string representation
25518func (s GetDiskSnapshotsInput) String() string {
25519	return awsutil.Prettify(s)
25520}
25521
25522// GoString returns the string representation
25523func (s GetDiskSnapshotsInput) GoString() string {
25524	return s.String()
25525}
25526
25527// SetPageToken sets the PageToken field's value.
25528func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
25529	s.PageToken = &v
25530	return s
25531}
25532
25533type GetDiskSnapshotsOutput struct {
25534	_ struct{} `type:"structure"`
25535
25536	// An array of objects containing information about all block storage disk snapshots.
25537	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
25538
25539	// The token to advance to the next page of results from your request.
25540	//
25541	// A next page token is not returned if there are no more results to display.
25542	//
25543	// To get the next page of results, perform another GetDiskSnapshots request
25544	// and specify the next page token using the pageToken parameter.
25545	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25546}
25547
25548// String returns the string representation
25549func (s GetDiskSnapshotsOutput) String() string {
25550	return awsutil.Prettify(s)
25551}
25552
25553// GoString returns the string representation
25554func (s GetDiskSnapshotsOutput) GoString() string {
25555	return s.String()
25556}
25557
25558// SetDiskSnapshots sets the DiskSnapshots field's value.
25559func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
25560	s.DiskSnapshots = v
25561	return s
25562}
25563
25564// SetNextPageToken sets the NextPageToken field's value.
25565func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
25566	s.NextPageToken = &v
25567	return s
25568}
25569
25570type GetDisksInput struct {
25571	_ struct{} `type:"structure"`
25572
25573	// The token to advance to the next page of results from your request.
25574	//
25575	// To get a page token, perform an initial GetDisks request. If your results
25576	// are paginated, the response will return a next page token that you can specify
25577	// as the page token in a subsequent request.
25578	PageToken *string `locationName:"pageToken" type:"string"`
25579}
25580
25581// String returns the string representation
25582func (s GetDisksInput) String() string {
25583	return awsutil.Prettify(s)
25584}
25585
25586// GoString returns the string representation
25587func (s GetDisksInput) GoString() string {
25588	return s.String()
25589}
25590
25591// SetPageToken sets the PageToken field's value.
25592func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
25593	s.PageToken = &v
25594	return s
25595}
25596
25597type GetDisksOutput struct {
25598	_ struct{} `type:"structure"`
25599
25600	// An array of objects containing information about all block storage disks.
25601	Disks []*Disk `locationName:"disks" type:"list"`
25602
25603	// The token to advance to the next page of results from your request.
25604	//
25605	// A next page token is not returned if there are no more results to display.
25606	//
25607	// To get the next page of results, perform another GetDisks request and specify
25608	// the next page token using the pageToken parameter.
25609	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25610}
25611
25612// String returns the string representation
25613func (s GetDisksOutput) String() string {
25614	return awsutil.Prettify(s)
25615}
25616
25617// GoString returns the string representation
25618func (s GetDisksOutput) GoString() string {
25619	return s.String()
25620}
25621
25622// SetDisks sets the Disks field's value.
25623func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
25624	s.Disks = v
25625	return s
25626}
25627
25628// SetNextPageToken sets the NextPageToken field's value.
25629func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
25630	s.NextPageToken = &v
25631	return s
25632}
25633
25634type GetDistributionBundlesInput struct {
25635	_ struct{} `type:"structure"`
25636}
25637
25638// String returns the string representation
25639func (s GetDistributionBundlesInput) String() string {
25640	return awsutil.Prettify(s)
25641}
25642
25643// GoString returns the string representation
25644func (s GetDistributionBundlesInput) GoString() string {
25645	return s.String()
25646}
25647
25648type GetDistributionBundlesOutput struct {
25649	_ struct{} `type:"structure"`
25650
25651	// An object that describes a distribution bundle.
25652	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
25653}
25654
25655// String returns the string representation
25656func (s GetDistributionBundlesOutput) String() string {
25657	return awsutil.Prettify(s)
25658}
25659
25660// GoString returns the string representation
25661func (s GetDistributionBundlesOutput) GoString() string {
25662	return s.String()
25663}
25664
25665// SetBundles sets the Bundles field's value.
25666func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
25667	s.Bundles = v
25668	return s
25669}
25670
25671type GetDistributionLatestCacheResetInput struct {
25672	_ struct{} `type:"structure"`
25673
25674	// The name of the distribution for which to return the timestamp of the last
25675	// cache reset.
25676	//
25677	// Use the GetDistributions action to get a list of distribution names that
25678	// you can specify.
25679	//
25680	// When omitted, the response includes the latest cache reset timestamp of all
25681	// your distributions.
25682	DistributionName *string `locationName:"distributionName" type:"string"`
25683}
25684
25685// String returns the string representation
25686func (s GetDistributionLatestCacheResetInput) String() string {
25687	return awsutil.Prettify(s)
25688}
25689
25690// GoString returns the string representation
25691func (s GetDistributionLatestCacheResetInput) GoString() string {
25692	return s.String()
25693}
25694
25695// SetDistributionName sets the DistributionName field's value.
25696func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
25697	s.DistributionName = &v
25698	return s
25699}
25700
25701type GetDistributionLatestCacheResetOutput struct {
25702	_ struct{} `type:"structure"`
25703
25704	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
25705	// format.
25706	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
25707
25708	// The status of the last cache reset.
25709	Status *string `locationName:"status" type:"string"`
25710}
25711
25712// String returns the string representation
25713func (s GetDistributionLatestCacheResetOutput) String() string {
25714	return awsutil.Prettify(s)
25715}
25716
25717// GoString returns the string representation
25718func (s GetDistributionLatestCacheResetOutput) GoString() string {
25719	return s.String()
25720}
25721
25722// SetCreateTime sets the CreateTime field's value.
25723func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
25724	s.CreateTime = &v
25725	return s
25726}
25727
25728// SetStatus sets the Status field's value.
25729func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
25730	s.Status = &v
25731	return s
25732}
25733
25734type GetDistributionMetricDataInput struct {
25735	_ struct{} `type:"structure"`
25736
25737	// The name of the distribution for which to get metric data.
25738	//
25739	// Use the GetDistributions action to get a list of distribution names that
25740	// you can specify.
25741	//
25742	// DistributionName is a required field
25743	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
25744
25745	// The end of the time interval for which to get metric data.
25746	//
25747	// Constraints:
25748	//
25749	//    * Specified in Coordinated Universal Time (UTC).
25750	//
25751	//    * Specified in the Unix time format. For example, if you wish to use an
25752	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
25753	//    time.
25754	//
25755	// You can convert a human-friendly time to Unix time format using a converter
25756	// like Epoch converter (https://www.epochconverter.com/).
25757	//
25758	// EndTime is a required field
25759	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
25760
25761	// The metric for which you want to return information.
25762	//
25763	// Valid distribution metric names are listed below, along with the most useful
25764	// statistics to include in your request, and the published unit value.
25765	//
25766	//    * Requests - The total number of viewer requests received by your Lightsail
25767	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
25768	//    Statistics: The most useful statistic is Sum. Unit: The published unit
25769	//    is None.
25770	//
25771	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
25772	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
25773	//    Unit: The published unit is None.
25774	//
25775	//    * BytesUploaded - The number of bytes uploaded to your origin by your
25776	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
25777	//    useful statistic is Sum. Unit: The published unit is None.
25778	//
25779	//    * TotalErrorRate - The percentage of all viewer requests for which the
25780	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
25781	//    statistic is Average. Unit: The published unit is Percent.
25782	//
25783	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
25784	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
25785	//    have made an error. For example, a status code of 404 (Not Found) means
25786	//    that the client requested an object that could not be found. Statistics:
25787	//    The most useful statistic is Average. Unit: The published unit is Percent.
25788	//
25789	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
25790	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
25791	//    the requests. For example, a status code of 503 (Service Unavailable)
25792	//    means that the origin server is currently unavailable. Statistics: The
25793	//    most useful statistic is Average. Unit: The published unit is Percent.
25794	//
25795	// MetricName is a required field
25796	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
25797
25798	// The granularity, in seconds, for the metric data points that will be returned.
25799	//
25800	// Period is a required field
25801	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
25802
25803	// The start of the time interval for which to get metric data.
25804	//
25805	// Constraints:
25806	//
25807	//    * Specified in Coordinated Universal Time (UTC).
25808	//
25809	//    * Specified in the Unix time format. For example, if you wish to use a
25810	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
25811	//    start time.
25812	//
25813	// You can convert a human-friendly time to Unix time format using a converter
25814	// like Epoch converter (https://www.epochconverter.com/).
25815	//
25816	// StartTime is a required field
25817	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
25818
25819	// The statistic for the metric.
25820	//
25821	// The following statistics are available:
25822	//
25823	//    * Minimum - The lowest value observed during the specified period. Use
25824	//    this value to determine low volumes of activity for your application.
25825	//
25826	//    * Maximum - The highest value observed during the specified period. Use
25827	//    this value to determine high volumes of activity for your application.
25828	//
25829	//    * Sum - All values submitted for the matching metric added together. You
25830	//    can use this statistic to determine the total volume of a metric.
25831	//
25832	//    * Average - The value of Sum / SampleCount during the specified period.
25833	//    By comparing this statistic with the Minimum and Maximum values, you can
25834	//    determine the full scope of a metric and how close the average use is
25835	//    to the Minimum and Maximum values. This comparison helps you to know when
25836	//    to increase or decrease your resources.
25837	//
25838	//    * SampleCount - The count, or number, of data points used for the statistical
25839	//    calculation.
25840	//
25841	// Statistics is a required field
25842	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
25843
25844	// The unit for the metric data request.
25845	//
25846	// Valid units depend on the metric data being requested. For the valid units
25847	// with each available metric, see the metricName parameter.
25848	//
25849	// Unit is a required field
25850	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
25851}
25852
25853// String returns the string representation
25854func (s GetDistributionMetricDataInput) String() string {
25855	return awsutil.Prettify(s)
25856}
25857
25858// GoString returns the string representation
25859func (s GetDistributionMetricDataInput) GoString() string {
25860	return s.String()
25861}
25862
25863// Validate inspects the fields of the type to determine if they are valid.
25864func (s *GetDistributionMetricDataInput) Validate() error {
25865	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
25866	if s.DistributionName == nil {
25867		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
25868	}
25869	if s.EndTime == nil {
25870		invalidParams.Add(request.NewErrParamRequired("EndTime"))
25871	}
25872	if s.MetricName == nil {
25873		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25874	}
25875	if s.Period == nil {
25876		invalidParams.Add(request.NewErrParamRequired("Period"))
25877	}
25878	if s.Period != nil && *s.Period < 60 {
25879		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
25880	}
25881	if s.StartTime == nil {
25882		invalidParams.Add(request.NewErrParamRequired("StartTime"))
25883	}
25884	if s.Statistics == nil {
25885		invalidParams.Add(request.NewErrParamRequired("Statistics"))
25886	}
25887	if s.Unit == nil {
25888		invalidParams.Add(request.NewErrParamRequired("Unit"))
25889	}
25890
25891	if invalidParams.Len() > 0 {
25892		return invalidParams
25893	}
25894	return nil
25895}
25896
25897// SetDistributionName sets the DistributionName field's value.
25898func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
25899	s.DistributionName = &v
25900	return s
25901}
25902
25903// SetEndTime sets the EndTime field's value.
25904func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
25905	s.EndTime = &v
25906	return s
25907}
25908
25909// SetMetricName sets the MetricName field's value.
25910func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
25911	s.MetricName = &v
25912	return s
25913}
25914
25915// SetPeriod sets the Period field's value.
25916func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
25917	s.Period = &v
25918	return s
25919}
25920
25921// SetStartTime sets the StartTime field's value.
25922func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
25923	s.StartTime = &v
25924	return s
25925}
25926
25927// SetStatistics sets the Statistics field's value.
25928func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
25929	s.Statistics = v
25930	return s
25931}
25932
25933// SetUnit sets the Unit field's value.
25934func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
25935	s.Unit = &v
25936	return s
25937}
25938
25939type GetDistributionMetricDataOutput struct {
25940	_ struct{} `type:"structure"`
25941
25942	// An array of objects that describe the metric data returned.
25943	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
25944
25945	// The name of the metric returned.
25946	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
25947}
25948
25949// String returns the string representation
25950func (s GetDistributionMetricDataOutput) String() string {
25951	return awsutil.Prettify(s)
25952}
25953
25954// GoString returns the string representation
25955func (s GetDistributionMetricDataOutput) GoString() string {
25956	return s.String()
25957}
25958
25959// SetMetricData sets the MetricData field's value.
25960func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
25961	s.MetricData = v
25962	return s
25963}
25964
25965// SetMetricName sets the MetricName field's value.
25966func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
25967	s.MetricName = &v
25968	return s
25969}
25970
25971type GetDistributionsInput struct {
25972	_ struct{} `type:"structure"`
25973
25974	// The name of the distribution for which to return information.
25975	//
25976	// Use the GetDistributions action to get a list of distribution names that
25977	// you can specify.
25978	//
25979	// When omitted, the response includes all of your distributions in the AWS
25980	// Region where the request is made.
25981	DistributionName *string `locationName:"distributionName" type:"string"`
25982
25983	// The token to advance to the next page of results from your request.
25984	//
25985	// To get a page token, perform an initial GetDistributions request. If your
25986	// results are paginated, the response will return a next page token that you
25987	// can specify as the page token in a subsequent request.
25988	PageToken *string `locationName:"pageToken" type:"string"`
25989}
25990
25991// String returns the string representation
25992func (s GetDistributionsInput) String() string {
25993	return awsutil.Prettify(s)
25994}
25995
25996// GoString returns the string representation
25997func (s GetDistributionsInput) GoString() string {
25998	return s.String()
25999}
26000
26001// SetDistributionName sets the DistributionName field's value.
26002func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
26003	s.DistributionName = &v
26004	return s
26005}
26006
26007// SetPageToken sets the PageToken field's value.
26008func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
26009	s.PageToken = &v
26010	return s
26011}
26012
26013type GetDistributionsOutput struct {
26014	_ struct{} `type:"structure"`
26015
26016	// An array of objects that describe your distributions.
26017	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
26018
26019	// The token to advance to the next page of results from your request.
26020	//
26021	// A next page token is not returned if there are no more results to display.
26022	//
26023	// To get the next page of results, perform another GetDistributions request
26024	// and specify the next page token using the pageToken parameter.
26025	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26026}
26027
26028// String returns the string representation
26029func (s GetDistributionsOutput) String() string {
26030	return awsutil.Prettify(s)
26031}
26032
26033// GoString returns the string representation
26034func (s GetDistributionsOutput) GoString() string {
26035	return s.String()
26036}
26037
26038// SetDistributions sets the Distributions field's value.
26039func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
26040	s.Distributions = v
26041	return s
26042}
26043
26044// SetNextPageToken sets the NextPageToken field's value.
26045func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
26046	s.NextPageToken = &v
26047	return s
26048}
26049
26050type GetDomainInput struct {
26051	_ struct{} `type:"structure"`
26052
26053	// The domain name for which your want to return information about.
26054	//
26055	// DomainName is a required field
26056	DomainName *string `locationName:"domainName" type:"string" required:"true"`
26057}
26058
26059// String returns the string representation
26060func (s GetDomainInput) String() string {
26061	return awsutil.Prettify(s)
26062}
26063
26064// GoString returns the string representation
26065func (s GetDomainInput) GoString() string {
26066	return s.String()
26067}
26068
26069// Validate inspects the fields of the type to determine if they are valid.
26070func (s *GetDomainInput) Validate() error {
26071	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
26072	if s.DomainName == nil {
26073		invalidParams.Add(request.NewErrParamRequired("DomainName"))
26074	}
26075
26076	if invalidParams.Len() > 0 {
26077		return invalidParams
26078	}
26079	return nil
26080}
26081
26082// SetDomainName sets the DomainName field's value.
26083func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
26084	s.DomainName = &v
26085	return s
26086}
26087
26088type GetDomainOutput struct {
26089	_ struct{} `type:"structure"`
26090
26091	// An array of key-value pairs containing information about your get domain
26092	// request.
26093	Domain *Domain `locationName:"domain" type:"structure"`
26094}
26095
26096// String returns the string representation
26097func (s GetDomainOutput) String() string {
26098	return awsutil.Prettify(s)
26099}
26100
26101// GoString returns the string representation
26102func (s GetDomainOutput) GoString() string {
26103	return s.String()
26104}
26105
26106// SetDomain sets the Domain field's value.
26107func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
26108	s.Domain = v
26109	return s
26110}
26111
26112type GetDomainsInput struct {
26113	_ struct{} `type:"structure"`
26114
26115	// The token to advance to the next page of results from your request.
26116	//
26117	// To get a page token, perform an initial GetDomains request. If your results
26118	// are paginated, the response will return a next page token that you can specify
26119	// as the page token in a subsequent request.
26120	PageToken *string `locationName:"pageToken" type:"string"`
26121}
26122
26123// String returns the string representation
26124func (s GetDomainsInput) String() string {
26125	return awsutil.Prettify(s)
26126}
26127
26128// GoString returns the string representation
26129func (s GetDomainsInput) GoString() string {
26130	return s.String()
26131}
26132
26133// SetPageToken sets the PageToken field's value.
26134func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
26135	s.PageToken = &v
26136	return s
26137}
26138
26139type GetDomainsOutput struct {
26140	_ struct{} `type:"structure"`
26141
26142	// An array of key-value pairs containing information about each of the domain
26143	// entries in the user's account.
26144	Domains []*Domain `locationName:"domains" type:"list"`
26145
26146	// The token to advance to the next page of results from your request.
26147	//
26148	// A next page token is not returned if there are no more results to display.
26149	//
26150	// To get the next page of results, perform another GetDomains request and specify
26151	// the next page token using the pageToken parameter.
26152	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26153}
26154
26155// String returns the string representation
26156func (s GetDomainsOutput) String() string {
26157	return awsutil.Prettify(s)
26158}
26159
26160// GoString returns the string representation
26161func (s GetDomainsOutput) GoString() string {
26162	return s.String()
26163}
26164
26165// SetDomains sets the Domains field's value.
26166func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
26167	s.Domains = v
26168	return s
26169}
26170
26171// SetNextPageToken sets the NextPageToken field's value.
26172func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
26173	s.NextPageToken = &v
26174	return s
26175}
26176
26177type GetExportSnapshotRecordsInput struct {
26178	_ struct{} `type:"structure"`
26179
26180	// The token to advance to the next page of results from your request.
26181	//
26182	// To get a page token, perform an initial GetExportSnapshotRecords request.
26183	// If your results are paginated, the response will return a next page token
26184	// that you can specify as the page token in a subsequent request.
26185	PageToken *string `locationName:"pageToken" type:"string"`
26186}
26187
26188// String returns the string representation
26189func (s GetExportSnapshotRecordsInput) String() string {
26190	return awsutil.Prettify(s)
26191}
26192
26193// GoString returns the string representation
26194func (s GetExportSnapshotRecordsInput) GoString() string {
26195	return s.String()
26196}
26197
26198// SetPageToken sets the PageToken field's value.
26199func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
26200	s.PageToken = &v
26201	return s
26202}
26203
26204type GetExportSnapshotRecordsOutput struct {
26205	_ struct{} `type:"structure"`
26206
26207	// A list of objects describing the export snapshot records.
26208	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
26209
26210	// The token to advance to the next page of results from your request.
26211	//
26212	// A next page token is not returned if there are no more results to display.
26213	//
26214	// To get the next page of results, perform another GetExportSnapshotRecords
26215	// request and specify the next page token using the pageToken parameter.
26216	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26217}
26218
26219// String returns the string representation
26220func (s GetExportSnapshotRecordsOutput) String() string {
26221	return awsutil.Prettify(s)
26222}
26223
26224// GoString returns the string representation
26225func (s GetExportSnapshotRecordsOutput) GoString() string {
26226	return s.String()
26227}
26228
26229// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
26230func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
26231	s.ExportSnapshotRecords = v
26232	return s
26233}
26234
26235// SetNextPageToken sets the NextPageToken field's value.
26236func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
26237	s.NextPageToken = &v
26238	return s
26239}
26240
26241type GetInstanceAccessDetailsInput struct {
26242	_ struct{} `type:"structure"`
26243
26244	// The name of the instance to access.
26245	//
26246	// InstanceName is a required field
26247	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26248
26249	// The protocol to use to connect to your instance. Defaults to ssh.
26250	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
26251}
26252
26253// String returns the string representation
26254func (s GetInstanceAccessDetailsInput) String() string {
26255	return awsutil.Prettify(s)
26256}
26257
26258// GoString returns the string representation
26259func (s GetInstanceAccessDetailsInput) GoString() string {
26260	return s.String()
26261}
26262
26263// Validate inspects the fields of the type to determine if they are valid.
26264func (s *GetInstanceAccessDetailsInput) Validate() error {
26265	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
26266	if s.InstanceName == nil {
26267		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26268	}
26269
26270	if invalidParams.Len() > 0 {
26271		return invalidParams
26272	}
26273	return nil
26274}
26275
26276// SetInstanceName sets the InstanceName field's value.
26277func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
26278	s.InstanceName = &v
26279	return s
26280}
26281
26282// SetProtocol sets the Protocol field's value.
26283func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
26284	s.Protocol = &v
26285	return s
26286}
26287
26288type GetInstanceAccessDetailsOutput struct {
26289	_ struct{} `type:"structure"`
26290
26291	// An array of key-value pairs containing information about a get instance access
26292	// request.
26293	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
26294}
26295
26296// String returns the string representation
26297func (s GetInstanceAccessDetailsOutput) String() string {
26298	return awsutil.Prettify(s)
26299}
26300
26301// GoString returns the string representation
26302func (s GetInstanceAccessDetailsOutput) GoString() string {
26303	return s.String()
26304}
26305
26306// SetAccessDetails sets the AccessDetails field's value.
26307func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
26308	s.AccessDetails = v
26309	return s
26310}
26311
26312type GetInstanceInput struct {
26313	_ struct{} `type:"structure"`
26314
26315	// The name of the instance.
26316	//
26317	// InstanceName is a required field
26318	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26319}
26320
26321// String returns the string representation
26322func (s GetInstanceInput) String() string {
26323	return awsutil.Prettify(s)
26324}
26325
26326// GoString returns the string representation
26327func (s GetInstanceInput) GoString() string {
26328	return s.String()
26329}
26330
26331// Validate inspects the fields of the type to determine if they are valid.
26332func (s *GetInstanceInput) Validate() error {
26333	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
26334	if s.InstanceName == nil {
26335		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26336	}
26337
26338	if invalidParams.Len() > 0 {
26339		return invalidParams
26340	}
26341	return nil
26342}
26343
26344// SetInstanceName sets the InstanceName field's value.
26345func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
26346	s.InstanceName = &v
26347	return s
26348}
26349
26350type GetInstanceMetricDataInput struct {
26351	_ struct{} `type:"structure"`
26352
26353	// The end time of the time period.
26354	//
26355	// EndTime is a required field
26356	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
26357
26358	// The name of the instance for which you want to get metrics data.
26359	//
26360	// InstanceName is a required field
26361	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26362
26363	// The metric for which you want to return information.
26364	//
26365	// Valid instance metric names are listed below, along with the most useful
26366	// statistics to include in your request, and the published unit value.
26367	//
26368	//    * BurstCapacityPercentage - The percentage of CPU performance available
26369	//    for your instance to burst above its baseline. Your instance continuously
26370	//    accrues and consumes burst capacity. Burst capacity stops accruing when
26371	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
26372	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
26373	//    Statistics: The most useful statistics are Maximum and Average. Unit:
26374	//    The published unit is Percent.
26375	//
26376	//    * BurstCapacityTime - The available amount of time for your instance to
26377	//    burst at 100% CPU utilization. Your instance continuously accrues and
26378	//    consumes burst capacity. Burst capacity time stops accruing when your
26379	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
26380	//    time is consumed at the full rate only when your instance operates at
26381	//    100% CPU utilization. For example, if your instance operates at 50% CPU
26382	//    utilization in the burstable zone for a 5-minute period, then it consumes
26383	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
26384	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
26385	//    5-minute period. For more information, see Viewing instance burst capacity
26386	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
26387	//    Statistics: The most useful statistics are Maximum and Average. Unit:
26388	//    The published unit is Seconds.
26389	//
26390	//    * CPUUtilization - The percentage of allocated compute units that are
26391	//    currently in use on the instance. This metric identifies the processing
26392	//    power to run the applications on the instance. Tools in your operating
26393	//    system can show a lower percentage than Lightsail when the instance is
26394	//    not allocated a full processor core. Statistics: The most useful statistics
26395	//    are Maximum and Average. Unit: The published unit is Percent.
26396	//
26397	//    * NetworkIn - The number of bytes received on all network interfaces by
26398	//    the instance. This metric identifies the volume of incoming network traffic
26399	//    to the instance. The number reported is the number of bytes received during
26400	//    the period. Because this metric is reported in 5-minute intervals, divide
26401	//    the reported number by 300 to find Bytes/second. Statistics: The most
26402	//    useful statistic is Sum. Unit: The published unit is Bytes.
26403	//
26404	//    * NetworkOut - The number of bytes sent out on all network interfaces
26405	//    by the instance. This metric identifies the volume of outgoing network
26406	//    traffic from the instance. The number reported is the number of bytes
26407	//    sent during the period. Because this metric is reported in 5-minute intervals,
26408	//    divide the reported number by 300 to find Bytes/second. Statistics: The
26409	//    most useful statistic is Sum. Unit: The published unit is Bytes.
26410	//
26411	//    * StatusCheckFailed - Reports whether the instance passed or failed both
26412	//    the instance status check and the system status check. This metric can
26413	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
26414	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
26415	//    Unit: The published unit is Count.
26416	//
26417	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
26418	//    failed the instance status check. This metric can be either 0 (passed)
26419	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
26420	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
26421	//    unit is Count.
26422	//
26423	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
26424	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
26425	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
26426	//    The most useful statistic is Sum. Unit: The published unit is Count.
26427	//
26428	// MetricName is a required field
26429	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
26430
26431	// The granularity, in seconds, of the returned data points.
26432	//
26433	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
26434	// instance metric data is available in 1-minute (60 seconds) granularity. All
26435	// other instance metric data is available in 5-minute (300 seconds) granularity.
26436	//
26437	// Period is a required field
26438	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
26439
26440	// The start time of the time period.
26441	//
26442	// StartTime is a required field
26443	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
26444
26445	// The statistic for the metric.
26446	//
26447	// The following statistics are available:
26448	//
26449	//    * Minimum - The lowest value observed during the specified period. Use
26450	//    this value to determine low volumes of activity for your application.
26451	//
26452	//    * Maximum - The highest value observed during the specified period. Use
26453	//    this value to determine high volumes of activity for your application.
26454	//
26455	//    * Sum - All values submitted for the matching metric added together. You
26456	//    can use this statistic to determine the total volume of a metric.
26457	//
26458	//    * Average - The value of Sum / SampleCount during the specified period.
26459	//    By comparing this statistic with the Minimum and Maximum values, you can
26460	//    determine the full scope of a metric and how close the average use is
26461	//    to the Minimum and Maximum values. This comparison helps you to know when
26462	//    to increase or decrease your resources.
26463	//
26464	//    * SampleCount - The count, or number, of data points used for the statistical
26465	//    calculation.
26466	//
26467	// Statistics is a required field
26468	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
26469
26470	// The unit for the metric data request. Valid units depend on the metric data
26471	// being requested. For the valid units to specify with each available metric,
26472	// see the metricName parameter.
26473	//
26474	// Unit is a required field
26475	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
26476}
26477
26478// String returns the string representation
26479func (s GetInstanceMetricDataInput) String() string {
26480	return awsutil.Prettify(s)
26481}
26482
26483// GoString returns the string representation
26484func (s GetInstanceMetricDataInput) GoString() string {
26485	return s.String()
26486}
26487
26488// Validate inspects the fields of the type to determine if they are valid.
26489func (s *GetInstanceMetricDataInput) Validate() error {
26490	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
26491	if s.EndTime == nil {
26492		invalidParams.Add(request.NewErrParamRequired("EndTime"))
26493	}
26494	if s.InstanceName == nil {
26495		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26496	}
26497	if s.MetricName == nil {
26498		invalidParams.Add(request.NewErrParamRequired("MetricName"))
26499	}
26500	if s.Period == nil {
26501		invalidParams.Add(request.NewErrParamRequired("Period"))
26502	}
26503	if s.Period != nil && *s.Period < 60 {
26504		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
26505	}
26506	if s.StartTime == nil {
26507		invalidParams.Add(request.NewErrParamRequired("StartTime"))
26508	}
26509	if s.Statistics == nil {
26510		invalidParams.Add(request.NewErrParamRequired("Statistics"))
26511	}
26512	if s.Unit == nil {
26513		invalidParams.Add(request.NewErrParamRequired("Unit"))
26514	}
26515
26516	if invalidParams.Len() > 0 {
26517		return invalidParams
26518	}
26519	return nil
26520}
26521
26522// SetEndTime sets the EndTime field's value.
26523func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
26524	s.EndTime = &v
26525	return s
26526}
26527
26528// SetInstanceName sets the InstanceName field's value.
26529func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
26530	s.InstanceName = &v
26531	return s
26532}
26533
26534// SetMetricName sets the MetricName field's value.
26535func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
26536	s.MetricName = &v
26537	return s
26538}
26539
26540// SetPeriod sets the Period field's value.
26541func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
26542	s.Period = &v
26543	return s
26544}
26545
26546// SetStartTime sets the StartTime field's value.
26547func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
26548	s.StartTime = &v
26549	return s
26550}
26551
26552// SetStatistics sets the Statistics field's value.
26553func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
26554	s.Statistics = v
26555	return s
26556}
26557
26558// SetUnit sets the Unit field's value.
26559func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
26560	s.Unit = &v
26561	return s
26562}
26563
26564type GetInstanceMetricDataOutput struct {
26565	_ struct{} `type:"structure"`
26566
26567	// An array of objects that describe the metric data returned.
26568	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
26569
26570	// The name of the metric returned.
26571	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
26572}
26573
26574// String returns the string representation
26575func (s GetInstanceMetricDataOutput) String() string {
26576	return awsutil.Prettify(s)
26577}
26578
26579// GoString returns the string representation
26580func (s GetInstanceMetricDataOutput) GoString() string {
26581	return s.String()
26582}
26583
26584// SetMetricData sets the MetricData field's value.
26585func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
26586	s.MetricData = v
26587	return s
26588}
26589
26590// SetMetricName sets the MetricName field's value.
26591func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
26592	s.MetricName = &v
26593	return s
26594}
26595
26596type GetInstanceOutput struct {
26597	_ struct{} `type:"structure"`
26598
26599	// An array of key-value pairs containing information about the specified instance.
26600	Instance *Instance `locationName:"instance" type:"structure"`
26601}
26602
26603// String returns the string representation
26604func (s GetInstanceOutput) String() string {
26605	return awsutil.Prettify(s)
26606}
26607
26608// GoString returns the string representation
26609func (s GetInstanceOutput) GoString() string {
26610	return s.String()
26611}
26612
26613// SetInstance sets the Instance field's value.
26614func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
26615	s.Instance = v
26616	return s
26617}
26618
26619type GetInstancePortStatesInput struct {
26620	_ struct{} `type:"structure"`
26621
26622	// The name of the instance for which to return firewall port states.
26623	//
26624	// InstanceName is a required field
26625	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26626}
26627
26628// String returns the string representation
26629func (s GetInstancePortStatesInput) String() string {
26630	return awsutil.Prettify(s)
26631}
26632
26633// GoString returns the string representation
26634func (s GetInstancePortStatesInput) GoString() string {
26635	return s.String()
26636}
26637
26638// Validate inspects the fields of the type to determine if they are valid.
26639func (s *GetInstancePortStatesInput) Validate() error {
26640	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
26641	if s.InstanceName == nil {
26642		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26643	}
26644
26645	if invalidParams.Len() > 0 {
26646		return invalidParams
26647	}
26648	return nil
26649}
26650
26651// SetInstanceName sets the InstanceName field's value.
26652func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
26653	s.InstanceName = &v
26654	return s
26655}
26656
26657type GetInstancePortStatesOutput struct {
26658	_ struct{} `type:"structure"`
26659
26660	// An array of objects that describe the firewall port states for the specified
26661	// instance.
26662	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
26663}
26664
26665// String returns the string representation
26666func (s GetInstancePortStatesOutput) String() string {
26667	return awsutil.Prettify(s)
26668}
26669
26670// GoString returns the string representation
26671func (s GetInstancePortStatesOutput) GoString() string {
26672	return s.String()
26673}
26674
26675// SetPortStates sets the PortStates field's value.
26676func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
26677	s.PortStates = v
26678	return s
26679}
26680
26681type GetInstanceSnapshotInput struct {
26682	_ struct{} `type:"structure"`
26683
26684	// The name of the snapshot for which you are requesting information.
26685	//
26686	// InstanceSnapshotName is a required field
26687	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
26688}
26689
26690// String returns the string representation
26691func (s GetInstanceSnapshotInput) String() string {
26692	return awsutil.Prettify(s)
26693}
26694
26695// GoString returns the string representation
26696func (s GetInstanceSnapshotInput) GoString() string {
26697	return s.String()
26698}
26699
26700// Validate inspects the fields of the type to determine if they are valid.
26701func (s *GetInstanceSnapshotInput) Validate() error {
26702	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
26703	if s.InstanceSnapshotName == nil {
26704		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
26705	}
26706
26707	if invalidParams.Len() > 0 {
26708		return invalidParams
26709	}
26710	return nil
26711}
26712
26713// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
26714func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
26715	s.InstanceSnapshotName = &v
26716	return s
26717}
26718
26719type GetInstanceSnapshotOutput struct {
26720	_ struct{} `type:"structure"`
26721
26722	// An array of key-value pairs containing information about the results of your
26723	// get instance snapshot request.
26724	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
26725}
26726
26727// String returns the string representation
26728func (s GetInstanceSnapshotOutput) String() string {
26729	return awsutil.Prettify(s)
26730}
26731
26732// GoString returns the string representation
26733func (s GetInstanceSnapshotOutput) GoString() string {
26734	return s.String()
26735}
26736
26737// SetInstanceSnapshot sets the InstanceSnapshot field's value.
26738func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
26739	s.InstanceSnapshot = v
26740	return s
26741}
26742
26743type GetInstanceSnapshotsInput struct {
26744	_ struct{} `type:"structure"`
26745
26746	// The token to advance to the next page of results from your request.
26747	//
26748	// To get a page token, perform an initial GetInstanceSnapshots request. If
26749	// your results are paginated, the response will return a next page token that
26750	// you can specify as the page token in a subsequent request.
26751	PageToken *string `locationName:"pageToken" type:"string"`
26752}
26753
26754// String returns the string representation
26755func (s GetInstanceSnapshotsInput) String() string {
26756	return awsutil.Prettify(s)
26757}
26758
26759// GoString returns the string representation
26760func (s GetInstanceSnapshotsInput) GoString() string {
26761	return s.String()
26762}
26763
26764// SetPageToken sets the PageToken field's value.
26765func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
26766	s.PageToken = &v
26767	return s
26768}
26769
26770type GetInstanceSnapshotsOutput struct {
26771	_ struct{} `type:"structure"`
26772
26773	// An array of key-value pairs containing information about the results of your
26774	// get instance snapshots request.
26775	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
26776
26777	// The token to advance to the next page of results from your request.
26778	//
26779	// A next page token is not returned if there are no more results to display.
26780	//
26781	// To get the next page of results, perform another GetInstanceSnapshots request
26782	// and specify the next page token using the pageToken parameter.
26783	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26784}
26785
26786// String returns the string representation
26787func (s GetInstanceSnapshotsOutput) String() string {
26788	return awsutil.Prettify(s)
26789}
26790
26791// GoString returns the string representation
26792func (s GetInstanceSnapshotsOutput) GoString() string {
26793	return s.String()
26794}
26795
26796// SetInstanceSnapshots sets the InstanceSnapshots field's value.
26797func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
26798	s.InstanceSnapshots = v
26799	return s
26800}
26801
26802// SetNextPageToken sets the NextPageToken field's value.
26803func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
26804	s.NextPageToken = &v
26805	return s
26806}
26807
26808type GetInstanceStateInput struct {
26809	_ struct{} `type:"structure"`
26810
26811	// The name of the instance to get state information about.
26812	//
26813	// InstanceName is a required field
26814	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
26815}
26816
26817// String returns the string representation
26818func (s GetInstanceStateInput) String() string {
26819	return awsutil.Prettify(s)
26820}
26821
26822// GoString returns the string representation
26823func (s GetInstanceStateInput) GoString() string {
26824	return s.String()
26825}
26826
26827// Validate inspects the fields of the type to determine if they are valid.
26828func (s *GetInstanceStateInput) Validate() error {
26829	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
26830	if s.InstanceName == nil {
26831		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
26832	}
26833
26834	if invalidParams.Len() > 0 {
26835		return invalidParams
26836	}
26837	return nil
26838}
26839
26840// SetInstanceName sets the InstanceName field's value.
26841func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
26842	s.InstanceName = &v
26843	return s
26844}
26845
26846type GetInstanceStateOutput struct {
26847	_ struct{} `type:"structure"`
26848
26849	// The state of the instance.
26850	State *InstanceState `locationName:"state" type:"structure"`
26851}
26852
26853// String returns the string representation
26854func (s GetInstanceStateOutput) String() string {
26855	return awsutil.Prettify(s)
26856}
26857
26858// GoString returns the string representation
26859func (s GetInstanceStateOutput) GoString() string {
26860	return s.String()
26861}
26862
26863// SetState sets the State field's value.
26864func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
26865	s.State = v
26866	return s
26867}
26868
26869type GetInstancesInput struct {
26870	_ struct{} `type:"structure"`
26871
26872	// The token to advance to the next page of results from your request.
26873	//
26874	// To get a page token, perform an initial GetInstances request. If your results
26875	// are paginated, the response will return a next page token that you can specify
26876	// as the page token in a subsequent request.
26877	PageToken *string `locationName:"pageToken" type:"string"`
26878}
26879
26880// String returns the string representation
26881func (s GetInstancesInput) String() string {
26882	return awsutil.Prettify(s)
26883}
26884
26885// GoString returns the string representation
26886func (s GetInstancesInput) GoString() string {
26887	return s.String()
26888}
26889
26890// SetPageToken sets the PageToken field's value.
26891func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
26892	s.PageToken = &v
26893	return s
26894}
26895
26896type GetInstancesOutput struct {
26897	_ struct{} `type:"structure"`
26898
26899	// An array of key-value pairs containing information about your instances.
26900	Instances []*Instance `locationName:"instances" type:"list"`
26901
26902	// The token to advance to the next page of results from your request.
26903	//
26904	// A next page token is not returned if there are no more results to display.
26905	//
26906	// To get the next page of results, perform another GetInstances request and
26907	// specify the next page token using the pageToken parameter.
26908	NextPageToken *string `locationName:"nextPageToken" type:"string"`
26909}
26910
26911// String returns the string representation
26912func (s GetInstancesOutput) String() string {
26913	return awsutil.Prettify(s)
26914}
26915
26916// GoString returns the string representation
26917func (s GetInstancesOutput) GoString() string {
26918	return s.String()
26919}
26920
26921// SetInstances sets the Instances field's value.
26922func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
26923	s.Instances = v
26924	return s
26925}
26926
26927// SetNextPageToken sets the NextPageToken field's value.
26928func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
26929	s.NextPageToken = &v
26930	return s
26931}
26932
26933type GetKeyPairInput struct {
26934	_ struct{} `type:"structure"`
26935
26936	// The name of the key pair for which you are requesting information.
26937	//
26938	// KeyPairName is a required field
26939	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
26940}
26941
26942// String returns the string representation
26943func (s GetKeyPairInput) String() string {
26944	return awsutil.Prettify(s)
26945}
26946
26947// GoString returns the string representation
26948func (s GetKeyPairInput) GoString() string {
26949	return s.String()
26950}
26951
26952// Validate inspects the fields of the type to determine if they are valid.
26953func (s *GetKeyPairInput) Validate() error {
26954	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
26955	if s.KeyPairName == nil {
26956		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
26957	}
26958
26959	if invalidParams.Len() > 0 {
26960		return invalidParams
26961	}
26962	return nil
26963}
26964
26965// SetKeyPairName sets the KeyPairName field's value.
26966func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
26967	s.KeyPairName = &v
26968	return s
26969}
26970
26971type GetKeyPairOutput struct {
26972	_ struct{} `type:"structure"`
26973
26974	// An array of key-value pairs containing information about the key pair.
26975	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
26976}
26977
26978// String returns the string representation
26979func (s GetKeyPairOutput) String() string {
26980	return awsutil.Prettify(s)
26981}
26982
26983// GoString returns the string representation
26984func (s GetKeyPairOutput) GoString() string {
26985	return s.String()
26986}
26987
26988// SetKeyPair sets the KeyPair field's value.
26989func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
26990	s.KeyPair = v
26991	return s
26992}
26993
26994type GetKeyPairsInput struct {
26995	_ struct{} `type:"structure"`
26996
26997	// The token to advance to the next page of results from your request.
26998	//
26999	// To get a page token, perform an initial GetKeyPairs request. If your results
27000	// are paginated, the response will return a next page token that you can specify
27001	// as the page token in a subsequent request.
27002	PageToken *string `locationName:"pageToken" type:"string"`
27003}
27004
27005// String returns the string representation
27006func (s GetKeyPairsInput) String() string {
27007	return awsutil.Prettify(s)
27008}
27009
27010// GoString returns the string representation
27011func (s GetKeyPairsInput) GoString() string {
27012	return s.String()
27013}
27014
27015// SetPageToken sets the PageToken field's value.
27016func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
27017	s.PageToken = &v
27018	return s
27019}
27020
27021type GetKeyPairsOutput struct {
27022	_ struct{} `type:"structure"`
27023
27024	// An array of key-value pairs containing information about the key pairs.
27025	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
27026
27027	// The token to advance to the next page of results from your request.
27028	//
27029	// A next page token is not returned if there are no more results to display.
27030	//
27031	// To get the next page of results, perform another GetKeyPairs request and
27032	// specify the next page token using the pageToken parameter.
27033	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27034}
27035
27036// String returns the string representation
27037func (s GetKeyPairsOutput) String() string {
27038	return awsutil.Prettify(s)
27039}
27040
27041// GoString returns the string representation
27042func (s GetKeyPairsOutput) GoString() string {
27043	return s.String()
27044}
27045
27046// SetKeyPairs sets the KeyPairs field's value.
27047func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
27048	s.KeyPairs = v
27049	return s
27050}
27051
27052// SetNextPageToken sets the NextPageToken field's value.
27053func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
27054	s.NextPageToken = &v
27055	return s
27056}
27057
27058type GetLoadBalancerInput struct {
27059	_ struct{} `type:"structure"`
27060
27061	// The name of the load balancer.
27062	//
27063	// LoadBalancerName is a required field
27064	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
27065}
27066
27067// String returns the string representation
27068func (s GetLoadBalancerInput) String() string {
27069	return awsutil.Prettify(s)
27070}
27071
27072// GoString returns the string representation
27073func (s GetLoadBalancerInput) GoString() string {
27074	return s.String()
27075}
27076
27077// Validate inspects the fields of the type to determine if they are valid.
27078func (s *GetLoadBalancerInput) Validate() error {
27079	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
27080	if s.LoadBalancerName == nil {
27081		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27082	}
27083
27084	if invalidParams.Len() > 0 {
27085		return invalidParams
27086	}
27087	return nil
27088}
27089
27090// SetLoadBalancerName sets the LoadBalancerName field's value.
27091func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
27092	s.LoadBalancerName = &v
27093	return s
27094}
27095
27096type GetLoadBalancerMetricDataInput struct {
27097	_ struct{} `type:"structure"`
27098
27099	// The end time of the period.
27100	//
27101	// EndTime is a required field
27102	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
27103
27104	// The name of the load balancer.
27105	//
27106	// LoadBalancerName is a required field
27107	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
27108
27109	// The metric for which you want to return information.
27110	//
27111	// Valid load balancer metric names are listed below, along with the most useful
27112	// statistics to include in your request, and the published unit value.
27113	//
27114	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
27115	//    by the client that did not establish a session with the load balancer
27116	//    due to a TLS error generated by the load balancer. Possible causes include
27117	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
27118	//    is Sum. Unit: The published unit is Count.
27119	//
27120	//    * HealthyHostCount - The number of target instances that are considered
27121	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
27122	//    Maximum. Unit: The published unit is Count.
27123	//
27124	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
27125	//    generated by the target instances. This does not include any response
27126	//    codes generated by the load balancer. Statistics: The most useful statistic
27127	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27128	//    published unit is Count.
27129	//
27130	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
27131	//    generated by the target instances. This does not include any response
27132	//    codes generated by the load balancer. Statistics: The most useful statistic
27133	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27134	//    published unit is Count.
27135	//
27136	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
27137	//    generated by the target instances. This does not include any response
27138	//    codes generated by the load balancer. Statistics: The most useful statistic
27139	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27140	//    published unit is Count.
27141	//
27142	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
27143	//    generated by the target instances. This does not include any response
27144	//    codes generated by the load balancer. Statistics: The most useful statistic
27145	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
27146	//    published unit is Count.
27147	//
27148	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
27149	//    originated from the load balancer. Client errors are generated when requests
27150	//    are malformed or incomplete. These requests were not received by the target
27151	//    instance. This count does not include response codes generated by the
27152	//    target instances. Statistics: The most useful statistic is Sum. Note that
27153	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
27154	//    Count.
27155	//
27156	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
27157	//    originated from the load balancer. This does not include any response
27158	//    codes generated by the target instance. This metric is reported if there
27159	//    are no healthy instances attached to the load balancer, or if the request
27160	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
27161	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
27162	//    and Average all return 1. Unit: The published unit is Count.
27163	//
27164	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
27165	//    leaves the load balancer until a response from the target instance is
27166	//    received. Statistics: The most useful statistic is Average. Unit: The
27167	//    published unit is Seconds.
27168	//
27169	//    * RejectedConnectionCount - The number of connections that were rejected
27170	//    because the load balancer had reached its maximum number of connections.
27171	//    Statistics: The most useful statistic is Sum. Unit: The published unit
27172	//    is Count.
27173	//
27174	//    * RequestCount - The number of requests processed over IPv4. This count
27175	//    includes only the requests with a response generated by a target instance
27176	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
27177	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
27178	//    is Count.
27179	//
27180	//    * UnhealthyHostCount - The number of target instances that are considered
27181	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
27182	//    and Maximum. Unit: The published unit is Count.
27183	//
27184	// MetricName is a required field
27185	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
27186
27187	// The granularity, in seconds, of the returned data points.
27188	//
27189	// Period is a required field
27190	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
27191
27192	// The start time of the period.
27193	//
27194	// StartTime is a required field
27195	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
27196
27197	// The statistic for the metric.
27198	//
27199	// The following statistics are available:
27200	//
27201	//    * Minimum - The lowest value observed during the specified period. Use
27202	//    this value to determine low volumes of activity for your application.
27203	//
27204	//    * Maximum - The highest value observed during the specified period. Use
27205	//    this value to determine high volumes of activity for your application.
27206	//
27207	//    * Sum - All values submitted for the matching metric added together. You
27208	//    can use this statistic to determine the total volume of a metric.
27209	//
27210	//    * Average - The value of Sum / SampleCount during the specified period.
27211	//    By comparing this statistic with the Minimum and Maximum values, you can
27212	//    determine the full scope of a metric and how close the average use is
27213	//    to the Minimum and Maximum values. This comparison helps you to know when
27214	//    to increase or decrease your resources.
27215	//
27216	//    * SampleCount - The count, or number, of data points used for the statistical
27217	//    calculation.
27218	//
27219	// Statistics is a required field
27220	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
27221
27222	// The unit for the metric data request. Valid units depend on the metric data
27223	// being requested. For the valid units with each available metric, see the
27224	// metricName parameter.
27225	//
27226	// Unit is a required field
27227	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
27228}
27229
27230// String returns the string representation
27231func (s GetLoadBalancerMetricDataInput) String() string {
27232	return awsutil.Prettify(s)
27233}
27234
27235// GoString returns the string representation
27236func (s GetLoadBalancerMetricDataInput) GoString() string {
27237	return s.String()
27238}
27239
27240// Validate inspects the fields of the type to determine if they are valid.
27241func (s *GetLoadBalancerMetricDataInput) Validate() error {
27242	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
27243	if s.EndTime == nil {
27244		invalidParams.Add(request.NewErrParamRequired("EndTime"))
27245	}
27246	if s.LoadBalancerName == nil {
27247		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27248	}
27249	if s.MetricName == nil {
27250		invalidParams.Add(request.NewErrParamRequired("MetricName"))
27251	}
27252	if s.Period == nil {
27253		invalidParams.Add(request.NewErrParamRequired("Period"))
27254	}
27255	if s.Period != nil && *s.Period < 60 {
27256		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
27257	}
27258	if s.StartTime == nil {
27259		invalidParams.Add(request.NewErrParamRequired("StartTime"))
27260	}
27261	if s.Statistics == nil {
27262		invalidParams.Add(request.NewErrParamRequired("Statistics"))
27263	}
27264	if s.Unit == nil {
27265		invalidParams.Add(request.NewErrParamRequired("Unit"))
27266	}
27267
27268	if invalidParams.Len() > 0 {
27269		return invalidParams
27270	}
27271	return nil
27272}
27273
27274// SetEndTime sets the EndTime field's value.
27275func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
27276	s.EndTime = &v
27277	return s
27278}
27279
27280// SetLoadBalancerName sets the LoadBalancerName field's value.
27281func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
27282	s.LoadBalancerName = &v
27283	return s
27284}
27285
27286// SetMetricName sets the MetricName field's value.
27287func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
27288	s.MetricName = &v
27289	return s
27290}
27291
27292// SetPeriod sets the Period field's value.
27293func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
27294	s.Period = &v
27295	return s
27296}
27297
27298// SetStartTime sets the StartTime field's value.
27299func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
27300	s.StartTime = &v
27301	return s
27302}
27303
27304// SetStatistics sets the Statistics field's value.
27305func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
27306	s.Statistics = v
27307	return s
27308}
27309
27310// SetUnit sets the Unit field's value.
27311func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
27312	s.Unit = &v
27313	return s
27314}
27315
27316type GetLoadBalancerMetricDataOutput struct {
27317	_ struct{} `type:"structure"`
27318
27319	// An array of objects that describe the metric data returned.
27320	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
27321
27322	// The name of the metric returned.
27323	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
27324}
27325
27326// String returns the string representation
27327func (s GetLoadBalancerMetricDataOutput) String() string {
27328	return awsutil.Prettify(s)
27329}
27330
27331// GoString returns the string representation
27332func (s GetLoadBalancerMetricDataOutput) GoString() string {
27333	return s.String()
27334}
27335
27336// SetMetricData sets the MetricData field's value.
27337func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
27338	s.MetricData = v
27339	return s
27340}
27341
27342// SetMetricName sets the MetricName field's value.
27343func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
27344	s.MetricName = &v
27345	return s
27346}
27347
27348type GetLoadBalancerOutput struct {
27349	_ struct{} `type:"structure"`
27350
27351	// An object containing information about your load balancer.
27352	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
27353}
27354
27355// String returns the string representation
27356func (s GetLoadBalancerOutput) String() string {
27357	return awsutil.Prettify(s)
27358}
27359
27360// GoString returns the string representation
27361func (s GetLoadBalancerOutput) GoString() string {
27362	return s.String()
27363}
27364
27365// SetLoadBalancer sets the LoadBalancer field's value.
27366func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
27367	s.LoadBalancer = v
27368	return s
27369}
27370
27371type GetLoadBalancerTlsCertificatesInput struct {
27372	_ struct{} `type:"structure"`
27373
27374	// The name of the load balancer you associated with your SSL/TLS certificate.
27375	//
27376	// LoadBalancerName is a required field
27377	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
27378}
27379
27380// String returns the string representation
27381func (s GetLoadBalancerTlsCertificatesInput) String() string {
27382	return awsutil.Prettify(s)
27383}
27384
27385// GoString returns the string representation
27386func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
27387	return s.String()
27388}
27389
27390// Validate inspects the fields of the type to determine if they are valid.
27391func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
27392	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
27393	if s.LoadBalancerName == nil {
27394		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
27395	}
27396
27397	if invalidParams.Len() > 0 {
27398		return invalidParams
27399	}
27400	return nil
27401}
27402
27403// SetLoadBalancerName sets the LoadBalancerName field's value.
27404func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
27405	s.LoadBalancerName = &v
27406	return s
27407}
27408
27409type GetLoadBalancerTlsCertificatesOutput struct {
27410	_ struct{} `type:"structure"`
27411
27412	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
27413	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
27414}
27415
27416// String returns the string representation
27417func (s GetLoadBalancerTlsCertificatesOutput) String() string {
27418	return awsutil.Prettify(s)
27419}
27420
27421// GoString returns the string representation
27422func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
27423	return s.String()
27424}
27425
27426// SetTlsCertificates sets the TlsCertificates field's value.
27427func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
27428	s.TlsCertificates = v
27429	return s
27430}
27431
27432type GetLoadBalancersInput struct {
27433	_ struct{} `type:"structure"`
27434
27435	// The token to advance to the next page of results from your request.
27436	//
27437	// To get a page token, perform an initial GetLoadBalancers request. If your
27438	// results are paginated, the response will return a next page token that you
27439	// can specify as the page token in a subsequent request.
27440	PageToken *string `locationName:"pageToken" type:"string"`
27441}
27442
27443// String returns the string representation
27444func (s GetLoadBalancersInput) String() string {
27445	return awsutil.Prettify(s)
27446}
27447
27448// GoString returns the string representation
27449func (s GetLoadBalancersInput) GoString() string {
27450	return s.String()
27451}
27452
27453// SetPageToken sets the PageToken field's value.
27454func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
27455	s.PageToken = &v
27456	return s
27457}
27458
27459type GetLoadBalancersOutput struct {
27460	_ struct{} `type:"structure"`
27461
27462	// An array of LoadBalancer objects describing your load balancers.
27463	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
27464
27465	// The token to advance to the next page of results from your request.
27466	//
27467	// A next page token is not returned if there are no more results to display.
27468	//
27469	// To get the next page of results, perform another GetLoadBalancers request
27470	// and specify the next page token using the pageToken parameter.
27471	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27472}
27473
27474// String returns the string representation
27475func (s GetLoadBalancersOutput) String() string {
27476	return awsutil.Prettify(s)
27477}
27478
27479// GoString returns the string representation
27480func (s GetLoadBalancersOutput) GoString() string {
27481	return s.String()
27482}
27483
27484// SetLoadBalancers sets the LoadBalancers field's value.
27485func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
27486	s.LoadBalancers = v
27487	return s
27488}
27489
27490// SetNextPageToken sets the NextPageToken field's value.
27491func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
27492	s.NextPageToken = &v
27493	return s
27494}
27495
27496type GetOperationInput struct {
27497	_ struct{} `type:"structure"`
27498
27499	// A GUID used to identify the operation.
27500	//
27501	// OperationId is a required field
27502	OperationId *string `locationName:"operationId" type:"string" required:"true"`
27503}
27504
27505// String returns the string representation
27506func (s GetOperationInput) String() string {
27507	return awsutil.Prettify(s)
27508}
27509
27510// GoString returns the string representation
27511func (s GetOperationInput) GoString() string {
27512	return s.String()
27513}
27514
27515// Validate inspects the fields of the type to determine if they are valid.
27516func (s *GetOperationInput) Validate() error {
27517	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
27518	if s.OperationId == nil {
27519		invalidParams.Add(request.NewErrParamRequired("OperationId"))
27520	}
27521
27522	if invalidParams.Len() > 0 {
27523		return invalidParams
27524	}
27525	return nil
27526}
27527
27528// SetOperationId sets the OperationId field's value.
27529func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
27530	s.OperationId = &v
27531	return s
27532}
27533
27534type GetOperationOutput struct {
27535	_ struct{} `type:"structure"`
27536
27537	// An array of objects that describe the result of the action, such as the status
27538	// of the request, the timestamp of the request, and the resources affected
27539	// by the request.
27540	Operation *Operation `locationName:"operation" type:"structure"`
27541}
27542
27543// String returns the string representation
27544func (s GetOperationOutput) String() string {
27545	return awsutil.Prettify(s)
27546}
27547
27548// GoString returns the string representation
27549func (s GetOperationOutput) GoString() string {
27550	return s.String()
27551}
27552
27553// SetOperation sets the Operation field's value.
27554func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
27555	s.Operation = v
27556	return s
27557}
27558
27559type GetOperationsForResourceInput struct {
27560	_ struct{} `type:"structure"`
27561
27562	// The token to advance to the next page of results from your request.
27563	//
27564	// To get a page token, perform an initial GetOperationsForResource request.
27565	// If your results are paginated, the response will return a next page token
27566	// that you can specify as the page token in a subsequent request.
27567	PageToken *string `locationName:"pageToken" type:"string"`
27568
27569	// The name of the resource for which you are requesting information.
27570	//
27571	// ResourceName is a required field
27572	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
27573}
27574
27575// String returns the string representation
27576func (s GetOperationsForResourceInput) String() string {
27577	return awsutil.Prettify(s)
27578}
27579
27580// GoString returns the string representation
27581func (s GetOperationsForResourceInput) GoString() string {
27582	return s.String()
27583}
27584
27585// Validate inspects the fields of the type to determine if they are valid.
27586func (s *GetOperationsForResourceInput) Validate() error {
27587	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
27588	if s.ResourceName == nil {
27589		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
27590	}
27591
27592	if invalidParams.Len() > 0 {
27593		return invalidParams
27594	}
27595	return nil
27596}
27597
27598// SetPageToken sets the PageToken field's value.
27599func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
27600	s.PageToken = &v
27601	return s
27602}
27603
27604// SetResourceName sets the ResourceName field's value.
27605func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
27606	s.ResourceName = &v
27607	return s
27608}
27609
27610type GetOperationsForResourceOutput struct {
27611	_ struct{} `type:"structure"`
27612
27613	// (Deprecated) Returns the number of pages of results that remain.
27614	//
27615	// In releases prior to June 12, 2017, this parameter returned null by the API.
27616	// It is now deprecated, and the API returns the next page token parameter instead.
27617	//
27618	// Deprecated: NextPageCount has been deprecated
27619	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
27620
27621	// The token to advance to the next page of results from your request.
27622	//
27623	// A next page token is not returned if there are no more results to display.
27624	//
27625	// To get the next page of results, perform another GetOperationsForResource
27626	// request and specify the next page token using the pageToken parameter.
27627	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27628
27629	// An array of objects that describe the result of the action, such as the status
27630	// of the request, the timestamp of the request, and the resources affected
27631	// by the request.
27632	Operations []*Operation `locationName:"operations" type:"list"`
27633}
27634
27635// String returns the string representation
27636func (s GetOperationsForResourceOutput) String() string {
27637	return awsutil.Prettify(s)
27638}
27639
27640// GoString returns the string representation
27641func (s GetOperationsForResourceOutput) GoString() string {
27642	return s.String()
27643}
27644
27645// SetNextPageCount sets the NextPageCount field's value.
27646func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
27647	s.NextPageCount = &v
27648	return s
27649}
27650
27651// SetNextPageToken sets the NextPageToken field's value.
27652func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
27653	s.NextPageToken = &v
27654	return s
27655}
27656
27657// SetOperations sets the Operations field's value.
27658func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
27659	s.Operations = v
27660	return s
27661}
27662
27663type GetOperationsInput struct {
27664	_ struct{} `type:"structure"`
27665
27666	// The token to advance to the next page of results from your request.
27667	//
27668	// To get a page token, perform an initial GetOperations request. If your results
27669	// are paginated, the response will return a next page token that you can specify
27670	// as the page token in a subsequent request.
27671	PageToken *string `locationName:"pageToken" type:"string"`
27672}
27673
27674// String returns the string representation
27675func (s GetOperationsInput) String() string {
27676	return awsutil.Prettify(s)
27677}
27678
27679// GoString returns the string representation
27680func (s GetOperationsInput) GoString() string {
27681	return s.String()
27682}
27683
27684// SetPageToken sets the PageToken field's value.
27685func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
27686	s.PageToken = &v
27687	return s
27688}
27689
27690type GetOperationsOutput struct {
27691	_ struct{} `type:"structure"`
27692
27693	// The token to advance to the next page of results from your request.
27694	//
27695	// A next page token is not returned if there are no more results to display.
27696	//
27697	// To get the next page of results, perform another GetOperations request and
27698	// specify the next page token using the pageToken parameter.
27699	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27700
27701	// An array of objects that describe the result of the action, such as the status
27702	// of the request, the timestamp of the request, and the resources affected
27703	// by the request.
27704	Operations []*Operation `locationName:"operations" type:"list"`
27705}
27706
27707// String returns the string representation
27708func (s GetOperationsOutput) String() string {
27709	return awsutil.Prettify(s)
27710}
27711
27712// GoString returns the string representation
27713func (s GetOperationsOutput) GoString() string {
27714	return s.String()
27715}
27716
27717// SetNextPageToken sets the NextPageToken field's value.
27718func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
27719	s.NextPageToken = &v
27720	return s
27721}
27722
27723// SetOperations sets the Operations field's value.
27724func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
27725	s.Operations = v
27726	return s
27727}
27728
27729type GetRegionsInput struct {
27730	_ struct{} `type:"structure"`
27731
27732	// A Boolean value indicating whether to also include Availability Zones in
27733	// your get regions request. Availability Zones are indicated with a letter:
27734	// e.g., us-east-2a.
27735	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
27736
27737	// A Boolean value indicating whether to also include Availability Zones for
27738	// databases in your get regions request. Availability Zones are indicated with
27739	// a letter (e.g., us-east-2a).
27740	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
27741}
27742
27743// String returns the string representation
27744func (s GetRegionsInput) String() string {
27745	return awsutil.Prettify(s)
27746}
27747
27748// GoString returns the string representation
27749func (s GetRegionsInput) GoString() string {
27750	return s.String()
27751}
27752
27753// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
27754func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
27755	s.IncludeAvailabilityZones = &v
27756	return s
27757}
27758
27759// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
27760func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
27761	s.IncludeRelationalDatabaseAvailabilityZones = &v
27762	return s
27763}
27764
27765type GetRegionsOutput struct {
27766	_ struct{} `type:"structure"`
27767
27768	// An array of key-value pairs containing information about your get regions
27769	// request.
27770	Regions []*Region `locationName:"regions" type:"list"`
27771}
27772
27773// String returns the string representation
27774func (s GetRegionsOutput) String() string {
27775	return awsutil.Prettify(s)
27776}
27777
27778// GoString returns the string representation
27779func (s GetRegionsOutput) GoString() string {
27780	return s.String()
27781}
27782
27783// SetRegions sets the Regions field's value.
27784func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
27785	s.Regions = v
27786	return s
27787}
27788
27789type GetRelationalDatabaseBlueprintsInput struct {
27790	_ struct{} `type:"structure"`
27791
27792	// The token to advance to the next page of results from your request.
27793	//
27794	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
27795	// If your results are paginated, the response will return a next page token
27796	// that you can specify as the page token in a subsequent request.
27797	PageToken *string `locationName:"pageToken" type:"string"`
27798}
27799
27800// String returns the string representation
27801func (s GetRelationalDatabaseBlueprintsInput) String() string {
27802	return awsutil.Prettify(s)
27803}
27804
27805// GoString returns the string representation
27806func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
27807	return s.String()
27808}
27809
27810// SetPageToken sets the PageToken field's value.
27811func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
27812	s.PageToken = &v
27813	return s
27814}
27815
27816type GetRelationalDatabaseBlueprintsOutput struct {
27817	_ struct{} `type:"structure"`
27818
27819	// An object describing the result of your get relational database blueprints
27820	// request.
27821	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
27822
27823	// The token to advance to the next page of results from your request.
27824	//
27825	// A next page token is not returned if there are no more results to display.
27826	//
27827	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
27828	// request and specify the next page token using the pageToken parameter.
27829	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27830}
27831
27832// String returns the string representation
27833func (s GetRelationalDatabaseBlueprintsOutput) String() string {
27834	return awsutil.Prettify(s)
27835}
27836
27837// GoString returns the string representation
27838func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
27839	return s.String()
27840}
27841
27842// SetBlueprints sets the Blueprints field's value.
27843func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
27844	s.Blueprints = v
27845	return s
27846}
27847
27848// SetNextPageToken sets the NextPageToken field's value.
27849func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
27850	s.NextPageToken = &v
27851	return s
27852}
27853
27854type GetRelationalDatabaseBundlesInput struct {
27855	_ struct{} `type:"structure"`
27856
27857	// The token to advance to the next page of results from your request.
27858	//
27859	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
27860	// If your results are paginated, the response will return a next page token
27861	// that you can specify as the page token in a subsequent request.
27862	PageToken *string `locationName:"pageToken" type:"string"`
27863}
27864
27865// String returns the string representation
27866func (s GetRelationalDatabaseBundlesInput) String() string {
27867	return awsutil.Prettify(s)
27868}
27869
27870// GoString returns the string representation
27871func (s GetRelationalDatabaseBundlesInput) GoString() string {
27872	return s.String()
27873}
27874
27875// SetPageToken sets the PageToken field's value.
27876func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
27877	s.PageToken = &v
27878	return s
27879}
27880
27881type GetRelationalDatabaseBundlesOutput struct {
27882	_ struct{} `type:"structure"`
27883
27884	// An object describing the result of your get relational database bundles request.
27885	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
27886
27887	// The token to advance to the next page of results from your request.
27888	//
27889	// A next page token is not returned if there are no more results to display.
27890	//
27891	// To get the next page of results, perform another GetRelationalDatabaseBundles
27892	// request and specify the next page token using the pageToken parameter.
27893	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27894}
27895
27896// String returns the string representation
27897func (s GetRelationalDatabaseBundlesOutput) String() string {
27898	return awsutil.Prettify(s)
27899}
27900
27901// GoString returns the string representation
27902func (s GetRelationalDatabaseBundlesOutput) GoString() string {
27903	return s.String()
27904}
27905
27906// SetBundles sets the Bundles field's value.
27907func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
27908	s.Bundles = v
27909	return s
27910}
27911
27912// SetNextPageToken sets the NextPageToken field's value.
27913func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
27914	s.NextPageToken = &v
27915	return s
27916}
27917
27918type GetRelationalDatabaseEventsInput struct {
27919	_ struct{} `type:"structure"`
27920
27921	// The number of minutes in the past from which to retrieve events. For example,
27922	// to get all events from the past 2 hours, enter 120.
27923	//
27924	// Default: 60
27925	//
27926	// The minimum is 1 and the maximum is 14 days (20160 minutes).
27927	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
27928
27929	// The token to advance to the next page of results from your request.
27930	//
27931	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
27932	// If your results are paginated, the response will return a next page token
27933	// that you can specify as the page token in a subsequent request.
27934	PageToken *string `locationName:"pageToken" type:"string"`
27935
27936	// The name of the database from which to get events.
27937	//
27938	// RelationalDatabaseName is a required field
27939	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
27940}
27941
27942// String returns the string representation
27943func (s GetRelationalDatabaseEventsInput) String() string {
27944	return awsutil.Prettify(s)
27945}
27946
27947// GoString returns the string representation
27948func (s GetRelationalDatabaseEventsInput) GoString() string {
27949	return s.String()
27950}
27951
27952// Validate inspects the fields of the type to determine if they are valid.
27953func (s *GetRelationalDatabaseEventsInput) Validate() error {
27954	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
27955	if s.RelationalDatabaseName == nil {
27956		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
27957	}
27958
27959	if invalidParams.Len() > 0 {
27960		return invalidParams
27961	}
27962	return nil
27963}
27964
27965// SetDurationInMinutes sets the DurationInMinutes field's value.
27966func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
27967	s.DurationInMinutes = &v
27968	return s
27969}
27970
27971// SetPageToken sets the PageToken field's value.
27972func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
27973	s.PageToken = &v
27974	return s
27975}
27976
27977// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
27978func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
27979	s.RelationalDatabaseName = &v
27980	return s
27981}
27982
27983type GetRelationalDatabaseEventsOutput struct {
27984	_ struct{} `type:"structure"`
27985
27986	// The token to advance to the next page of results from your request.
27987	//
27988	// A next page token is not returned if there are no more results to display.
27989	//
27990	// To get the next page of results, perform another GetRelationalDatabaseEvents
27991	// request and specify the next page token using the pageToken parameter.
27992	NextPageToken *string `locationName:"nextPageToken" type:"string"`
27993
27994	// An object describing the result of your get relational database events request.
27995	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
27996}
27997
27998// String returns the string representation
27999func (s GetRelationalDatabaseEventsOutput) String() string {
28000	return awsutil.Prettify(s)
28001}
28002
28003// GoString returns the string representation
28004func (s GetRelationalDatabaseEventsOutput) GoString() string {
28005	return s.String()
28006}
28007
28008// SetNextPageToken sets the NextPageToken field's value.
28009func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
28010	s.NextPageToken = &v
28011	return s
28012}
28013
28014// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
28015func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
28016	s.RelationalDatabaseEvents = v
28017	return s
28018}
28019
28020type GetRelationalDatabaseInput struct {
28021	_ struct{} `type:"structure"`
28022
28023	// The name of the database that you are looking up.
28024	//
28025	// RelationalDatabaseName is a required field
28026	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28027}
28028
28029// String returns the string representation
28030func (s GetRelationalDatabaseInput) String() string {
28031	return awsutil.Prettify(s)
28032}
28033
28034// GoString returns the string representation
28035func (s GetRelationalDatabaseInput) GoString() string {
28036	return s.String()
28037}
28038
28039// Validate inspects the fields of the type to determine if they are valid.
28040func (s *GetRelationalDatabaseInput) Validate() error {
28041	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
28042	if s.RelationalDatabaseName == nil {
28043		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28044	}
28045
28046	if invalidParams.Len() > 0 {
28047		return invalidParams
28048	}
28049	return nil
28050}
28051
28052// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28053func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
28054	s.RelationalDatabaseName = &v
28055	return s
28056}
28057
28058type GetRelationalDatabaseLogEventsInput struct {
28059	_ struct{} `type:"structure"`
28060
28061	// The end of the time interval from which to get log events.
28062	//
28063	// Constraints:
28064	//
28065	//    * Specified in Coordinated Universal Time (UTC).
28066	//
28067	//    * Specified in the Unix time format. For example, if you wish to use an
28068	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
28069	//    the end time.
28070	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
28071
28072	// The name of the log stream.
28073	//
28074	// Use the get relational database log streams operation to get a list of available
28075	// log streams.
28076	//
28077	// LogStreamName is a required field
28078	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
28079
28080	// The token to advance to the next or previous page of results from your request.
28081	//
28082	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
28083	// If your results are paginated, the response will return a next forward token
28084	// and/or next backward token that you can specify as the page token in a subsequent
28085	// request.
28086	PageToken *string `locationName:"pageToken" type:"string"`
28087
28088	// The name of your database for which to get log events.
28089	//
28090	// RelationalDatabaseName is a required field
28091	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28092
28093	// Parameter to specify if the log should start from head or tail. If true is
28094	// specified, the log event starts from the head of the log. If false is specified,
28095	// the log event starts from the tail of the log.
28096	//
28097	// For PostgreSQL, the default value of false is the only option available.
28098	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
28099
28100	// The start of the time interval from which to get log events.
28101	//
28102	// Constraints:
28103	//
28104	//    * Specified in Coordinated Universal Time (UTC).
28105	//
28106	//    * Specified in the Unix time format. For example, if you wish to use a
28107	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
28108	//    as the start time.
28109	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
28110}
28111
28112// String returns the string representation
28113func (s GetRelationalDatabaseLogEventsInput) String() string {
28114	return awsutil.Prettify(s)
28115}
28116
28117// GoString returns the string representation
28118func (s GetRelationalDatabaseLogEventsInput) GoString() string {
28119	return s.String()
28120}
28121
28122// Validate inspects the fields of the type to determine if they are valid.
28123func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
28124	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
28125	if s.LogStreamName == nil {
28126		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
28127	}
28128	if s.RelationalDatabaseName == nil {
28129		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28130	}
28131
28132	if invalidParams.Len() > 0 {
28133		return invalidParams
28134	}
28135	return nil
28136}
28137
28138// SetEndTime sets the EndTime field's value.
28139func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
28140	s.EndTime = &v
28141	return s
28142}
28143
28144// SetLogStreamName sets the LogStreamName field's value.
28145func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
28146	s.LogStreamName = &v
28147	return s
28148}
28149
28150// SetPageToken sets the PageToken field's value.
28151func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
28152	s.PageToken = &v
28153	return s
28154}
28155
28156// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28157func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
28158	s.RelationalDatabaseName = &v
28159	return s
28160}
28161
28162// SetStartFromHead sets the StartFromHead field's value.
28163func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
28164	s.StartFromHead = &v
28165	return s
28166}
28167
28168// SetStartTime sets the StartTime field's value.
28169func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
28170	s.StartTime = &v
28171	return s
28172}
28173
28174type GetRelationalDatabaseLogEventsOutput struct {
28175	_ struct{} `type:"structure"`
28176
28177	// A token used for advancing to the previous page of results from your get
28178	// relational database log events request.
28179	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
28180
28181	// A token used for advancing to the next page of results from your get relational
28182	// database log events request.
28183	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
28184
28185	// An object describing the result of your get relational database log events
28186	// request.
28187	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
28188}
28189
28190// String returns the string representation
28191func (s GetRelationalDatabaseLogEventsOutput) String() string {
28192	return awsutil.Prettify(s)
28193}
28194
28195// GoString returns the string representation
28196func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
28197	return s.String()
28198}
28199
28200// SetNextBackwardToken sets the NextBackwardToken field's value.
28201func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
28202	s.NextBackwardToken = &v
28203	return s
28204}
28205
28206// SetNextForwardToken sets the NextForwardToken field's value.
28207func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
28208	s.NextForwardToken = &v
28209	return s
28210}
28211
28212// SetResourceLogEvents sets the ResourceLogEvents field's value.
28213func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
28214	s.ResourceLogEvents = v
28215	return s
28216}
28217
28218type GetRelationalDatabaseLogStreamsInput struct {
28219	_ struct{} `type:"structure"`
28220
28221	// The name of your database for which to get log streams.
28222	//
28223	// RelationalDatabaseName is a required field
28224	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28225}
28226
28227// String returns the string representation
28228func (s GetRelationalDatabaseLogStreamsInput) String() string {
28229	return awsutil.Prettify(s)
28230}
28231
28232// GoString returns the string representation
28233func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
28234	return s.String()
28235}
28236
28237// Validate inspects the fields of the type to determine if they are valid.
28238func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
28239	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
28240	if s.RelationalDatabaseName == nil {
28241		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28242	}
28243
28244	if invalidParams.Len() > 0 {
28245		return invalidParams
28246	}
28247	return nil
28248}
28249
28250// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28251func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
28252	s.RelationalDatabaseName = &v
28253	return s
28254}
28255
28256type GetRelationalDatabaseLogStreamsOutput struct {
28257	_ struct{} `type:"structure"`
28258
28259	// An object describing the result of your get relational database log streams
28260	// request.
28261	LogStreams []*string `locationName:"logStreams" type:"list"`
28262}
28263
28264// String returns the string representation
28265func (s GetRelationalDatabaseLogStreamsOutput) String() string {
28266	return awsutil.Prettify(s)
28267}
28268
28269// GoString returns the string representation
28270func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
28271	return s.String()
28272}
28273
28274// SetLogStreams sets the LogStreams field's value.
28275func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
28276	s.LogStreams = v
28277	return s
28278}
28279
28280type GetRelationalDatabaseMasterUserPasswordInput struct {
28281	_ struct{} `type:"structure"`
28282
28283	// The password version to return.
28284	//
28285	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
28286	// respectively. Specifying PENDING returns the newest version of the password
28287	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
28288	// the PENDING password is no longer available.
28289	//
28290	// Default: CURRENT
28291	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
28292
28293	// The name of your database for which to get the master user password.
28294	//
28295	// RelationalDatabaseName is a required field
28296	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28297}
28298
28299// String returns the string representation
28300func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
28301	return awsutil.Prettify(s)
28302}
28303
28304// GoString returns the string representation
28305func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
28306	return s.String()
28307}
28308
28309// Validate inspects the fields of the type to determine if they are valid.
28310func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
28311	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
28312	if s.RelationalDatabaseName == nil {
28313		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28314	}
28315
28316	if invalidParams.Len() > 0 {
28317		return invalidParams
28318	}
28319	return nil
28320}
28321
28322// SetPasswordVersion sets the PasswordVersion field's value.
28323func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
28324	s.PasswordVersion = &v
28325	return s
28326}
28327
28328// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28329func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
28330	s.RelationalDatabaseName = &v
28331	return s
28332}
28333
28334type GetRelationalDatabaseMasterUserPasswordOutput struct {
28335	_ struct{} `type:"structure"`
28336
28337	// The timestamp when the specified version of the master user password was
28338	// created.
28339	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
28340
28341	// The master user password for the password version specified.
28342	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
28343}
28344
28345// String returns the string representation
28346func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
28347	return awsutil.Prettify(s)
28348}
28349
28350// GoString returns the string representation
28351func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
28352	return s.String()
28353}
28354
28355// SetCreatedAt sets the CreatedAt field's value.
28356func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
28357	s.CreatedAt = &v
28358	return s
28359}
28360
28361// SetMasterUserPassword sets the MasterUserPassword field's value.
28362func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
28363	s.MasterUserPassword = &v
28364	return s
28365}
28366
28367type GetRelationalDatabaseMetricDataInput struct {
28368	_ struct{} `type:"structure"`
28369
28370	// The end of the time interval from which to get metric data.
28371	//
28372	// Constraints:
28373	//
28374	//    * Specified in Coordinated Universal Time (UTC).
28375	//
28376	//    * Specified in the Unix time format. For example, if you wish to use an
28377	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
28378	//    the end time.
28379	//
28380	// EndTime is a required field
28381	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
28382
28383	// The metric for which you want to return information.
28384	//
28385	// Valid relational database metric names are listed below, along with the most
28386	// useful statistics to include in your request, and the published unit value.
28387	// All relational database metric data is available in 1-minute (60 seconds)
28388	// granularity.
28389	//
28390	//    * CPUUtilization - The percentage of CPU utilization currently in use
28391	//    on the database. Statistics: The most useful statistics are Maximum and
28392	//    Average. Unit: The published unit is Percent.
28393	//
28394	//    * DatabaseConnections - The number of database connections in use. Statistics:
28395	//    The most useful statistics are Maximum and Sum. Unit: The published unit
28396	//    is Count.
28397	//
28398	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
28399	//    that are waiting to access the disk. Statistics: The most useful statistic
28400	//    is Sum. Unit: The published unit is Count.
28401	//
28402	//    * FreeStorageSpace - The amount of available storage space. Statistics:
28403	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
28404	//
28405	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
28406	//    the database, including both customer database traffic and AWS traffic
28407	//    used for monitoring and replication. Statistics: The most useful statistic
28408	//    is Average. Unit: The published unit is Bytes/Second.
28409	//
28410	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
28411	//    on the database, including both customer database traffic and AWS traffic
28412	//    used for monitoring and replication. Statistics: The most useful statistic
28413	//    is Average. Unit: The published unit is Bytes/Second.
28414	//
28415	// MetricName is a required field
28416	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
28417
28418	// The granularity, in seconds, of the returned data points.
28419	//
28420	// All relational database metric data is available in 1-minute (60 seconds)
28421	// granularity.
28422	//
28423	// Period is a required field
28424	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
28425
28426	// The name of your database from which to get metric data.
28427	//
28428	// RelationalDatabaseName is a required field
28429	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28430
28431	// The start of the time interval from which to get metric data.
28432	//
28433	// Constraints:
28434	//
28435	//    * Specified in Coordinated Universal Time (UTC).
28436	//
28437	//    * Specified in the Unix time format. For example, if you wish to use a
28438	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
28439	//    as the start time.
28440	//
28441	// StartTime is a required field
28442	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
28443
28444	// The statistic for the metric.
28445	//
28446	// The following statistics are available:
28447	//
28448	//    * Minimum - The lowest value observed during the specified period. Use
28449	//    this value to determine low volumes of activity for your application.
28450	//
28451	//    * Maximum - The highest value observed during the specified period. Use
28452	//    this value to determine high volumes of activity for your application.
28453	//
28454	//    * Sum - All values submitted for the matching metric added together. You
28455	//    can use this statistic to determine the total volume of a metric.
28456	//
28457	//    * Average - The value of Sum / SampleCount during the specified period.
28458	//    By comparing this statistic with the Minimum and Maximum values, you can
28459	//    determine the full scope of a metric and how close the average use is
28460	//    to the Minimum and Maximum values. This comparison helps you to know when
28461	//    to increase or decrease your resources.
28462	//
28463	//    * SampleCount - The count, or number, of data points used for the statistical
28464	//    calculation.
28465	//
28466	// Statistics is a required field
28467	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
28468
28469	// The unit for the metric data request. Valid units depend on the metric data
28470	// being requested. For the valid units with each available metric, see the
28471	// metricName parameter.
28472	//
28473	// Unit is a required field
28474	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
28475}
28476
28477// String returns the string representation
28478func (s GetRelationalDatabaseMetricDataInput) String() string {
28479	return awsutil.Prettify(s)
28480}
28481
28482// GoString returns the string representation
28483func (s GetRelationalDatabaseMetricDataInput) GoString() string {
28484	return s.String()
28485}
28486
28487// Validate inspects the fields of the type to determine if they are valid.
28488func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
28489	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
28490	if s.EndTime == nil {
28491		invalidParams.Add(request.NewErrParamRequired("EndTime"))
28492	}
28493	if s.MetricName == nil {
28494		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28495	}
28496	if s.Period == nil {
28497		invalidParams.Add(request.NewErrParamRequired("Period"))
28498	}
28499	if s.Period != nil && *s.Period < 60 {
28500		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
28501	}
28502	if s.RelationalDatabaseName == nil {
28503		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28504	}
28505	if s.StartTime == nil {
28506		invalidParams.Add(request.NewErrParamRequired("StartTime"))
28507	}
28508	if s.Statistics == nil {
28509		invalidParams.Add(request.NewErrParamRequired("Statistics"))
28510	}
28511	if s.Unit == nil {
28512		invalidParams.Add(request.NewErrParamRequired("Unit"))
28513	}
28514
28515	if invalidParams.Len() > 0 {
28516		return invalidParams
28517	}
28518	return nil
28519}
28520
28521// SetEndTime sets the EndTime field's value.
28522func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
28523	s.EndTime = &v
28524	return s
28525}
28526
28527// SetMetricName sets the MetricName field's value.
28528func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
28529	s.MetricName = &v
28530	return s
28531}
28532
28533// SetPeriod sets the Period field's value.
28534func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
28535	s.Period = &v
28536	return s
28537}
28538
28539// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28540func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
28541	s.RelationalDatabaseName = &v
28542	return s
28543}
28544
28545// SetStartTime sets the StartTime field's value.
28546func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
28547	s.StartTime = &v
28548	return s
28549}
28550
28551// SetStatistics sets the Statistics field's value.
28552func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
28553	s.Statistics = v
28554	return s
28555}
28556
28557// SetUnit sets the Unit field's value.
28558func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
28559	s.Unit = &v
28560	return s
28561}
28562
28563type GetRelationalDatabaseMetricDataOutput struct {
28564	_ struct{} `type:"structure"`
28565
28566	// An array of objects that describe the metric data returned.
28567	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
28568
28569	// The name of the metric returned.
28570	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
28571}
28572
28573// String returns the string representation
28574func (s GetRelationalDatabaseMetricDataOutput) String() string {
28575	return awsutil.Prettify(s)
28576}
28577
28578// GoString returns the string representation
28579func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
28580	return s.String()
28581}
28582
28583// SetMetricData sets the MetricData field's value.
28584func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
28585	s.MetricData = v
28586	return s
28587}
28588
28589// SetMetricName sets the MetricName field's value.
28590func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
28591	s.MetricName = &v
28592	return s
28593}
28594
28595type GetRelationalDatabaseOutput struct {
28596	_ struct{} `type:"structure"`
28597
28598	// An object describing the specified database.
28599	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
28600}
28601
28602// String returns the string representation
28603func (s GetRelationalDatabaseOutput) String() string {
28604	return awsutil.Prettify(s)
28605}
28606
28607// GoString returns the string representation
28608func (s GetRelationalDatabaseOutput) GoString() string {
28609	return s.String()
28610}
28611
28612// SetRelationalDatabase sets the RelationalDatabase field's value.
28613func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
28614	s.RelationalDatabase = v
28615	return s
28616}
28617
28618type GetRelationalDatabaseParametersInput struct {
28619	_ struct{} `type:"structure"`
28620
28621	// The token to advance to the next page of results from your request.
28622	//
28623	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
28624	// If your results are paginated, the response will return a next page token
28625	// that you can specify as the page token in a subsequent request.
28626	PageToken *string `locationName:"pageToken" type:"string"`
28627
28628	// The name of your database for which to get parameters.
28629	//
28630	// RelationalDatabaseName is a required field
28631	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
28632}
28633
28634// String returns the string representation
28635func (s GetRelationalDatabaseParametersInput) String() string {
28636	return awsutil.Prettify(s)
28637}
28638
28639// GoString returns the string representation
28640func (s GetRelationalDatabaseParametersInput) GoString() string {
28641	return s.String()
28642}
28643
28644// Validate inspects the fields of the type to determine if they are valid.
28645func (s *GetRelationalDatabaseParametersInput) Validate() error {
28646	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
28647	if s.RelationalDatabaseName == nil {
28648		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
28649	}
28650
28651	if invalidParams.Len() > 0 {
28652		return invalidParams
28653	}
28654	return nil
28655}
28656
28657// SetPageToken sets the PageToken field's value.
28658func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
28659	s.PageToken = &v
28660	return s
28661}
28662
28663// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
28664func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
28665	s.RelationalDatabaseName = &v
28666	return s
28667}
28668
28669type GetRelationalDatabaseParametersOutput struct {
28670	_ struct{} `type:"structure"`
28671
28672	// The token to advance to the next page of results from your request.
28673	//
28674	// A next page token is not returned if there are no more results to display.
28675	//
28676	// To get the next page of results, perform another GetRelationalDatabaseParameters
28677	// request and specify the next page token using the pageToken parameter.
28678	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28679
28680	// An object describing the result of your get relational database parameters
28681	// request.
28682	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
28683}
28684
28685// String returns the string representation
28686func (s GetRelationalDatabaseParametersOutput) String() string {
28687	return awsutil.Prettify(s)
28688}
28689
28690// GoString returns the string representation
28691func (s GetRelationalDatabaseParametersOutput) GoString() string {
28692	return s.String()
28693}
28694
28695// SetNextPageToken sets the NextPageToken field's value.
28696func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
28697	s.NextPageToken = &v
28698	return s
28699}
28700
28701// SetParameters sets the Parameters field's value.
28702func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
28703	s.Parameters = v
28704	return s
28705}
28706
28707type GetRelationalDatabaseSnapshotInput struct {
28708	_ struct{} `type:"structure"`
28709
28710	// The name of the database snapshot for which to get information.
28711	//
28712	// RelationalDatabaseSnapshotName is a required field
28713	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
28714}
28715
28716// String returns the string representation
28717func (s GetRelationalDatabaseSnapshotInput) String() string {
28718	return awsutil.Prettify(s)
28719}
28720
28721// GoString returns the string representation
28722func (s GetRelationalDatabaseSnapshotInput) GoString() string {
28723	return s.String()
28724}
28725
28726// Validate inspects the fields of the type to determine if they are valid.
28727func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
28728	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
28729	if s.RelationalDatabaseSnapshotName == nil {
28730		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
28731	}
28732
28733	if invalidParams.Len() > 0 {
28734		return invalidParams
28735	}
28736	return nil
28737}
28738
28739// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
28740func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
28741	s.RelationalDatabaseSnapshotName = &v
28742	return s
28743}
28744
28745type GetRelationalDatabaseSnapshotOutput struct {
28746	_ struct{} `type:"structure"`
28747
28748	// An object describing the specified database snapshot.
28749	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
28750}
28751
28752// String returns the string representation
28753func (s GetRelationalDatabaseSnapshotOutput) String() string {
28754	return awsutil.Prettify(s)
28755}
28756
28757// GoString returns the string representation
28758func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
28759	return s.String()
28760}
28761
28762// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
28763func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
28764	s.RelationalDatabaseSnapshot = v
28765	return s
28766}
28767
28768type GetRelationalDatabaseSnapshotsInput struct {
28769	_ struct{} `type:"structure"`
28770
28771	// The token to advance to the next page of results from your request.
28772	//
28773	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
28774	// If your results are paginated, the response will return a next page token
28775	// that you can specify as the page token in a subsequent request.
28776	PageToken *string `locationName:"pageToken" type:"string"`
28777}
28778
28779// String returns the string representation
28780func (s GetRelationalDatabaseSnapshotsInput) String() string {
28781	return awsutil.Prettify(s)
28782}
28783
28784// GoString returns the string representation
28785func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
28786	return s.String()
28787}
28788
28789// SetPageToken sets the PageToken field's value.
28790func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
28791	s.PageToken = &v
28792	return s
28793}
28794
28795type GetRelationalDatabaseSnapshotsOutput struct {
28796	_ struct{} `type:"structure"`
28797
28798	// The token to advance to the next page of results from your request.
28799	//
28800	// A next page token is not returned if there are no more results to display.
28801	//
28802	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
28803	// request and specify the next page token using the pageToken parameter.
28804	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28805
28806	// An object describing the result of your get relational database snapshots
28807	// request.
28808	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
28809}
28810
28811// String returns the string representation
28812func (s GetRelationalDatabaseSnapshotsOutput) String() string {
28813	return awsutil.Prettify(s)
28814}
28815
28816// GoString returns the string representation
28817func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
28818	return s.String()
28819}
28820
28821// SetNextPageToken sets the NextPageToken field's value.
28822func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
28823	s.NextPageToken = &v
28824	return s
28825}
28826
28827// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
28828func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
28829	s.RelationalDatabaseSnapshots = v
28830	return s
28831}
28832
28833type GetRelationalDatabasesInput struct {
28834	_ struct{} `type:"structure"`
28835
28836	// The token to advance to the next page of results from your request.
28837	//
28838	// To get a page token, perform an initial GetRelationalDatabases request. If
28839	// your results are paginated, the response will return a next page token that
28840	// you can specify as the page token in a subsequent request.
28841	PageToken *string `locationName:"pageToken" type:"string"`
28842}
28843
28844// String returns the string representation
28845func (s GetRelationalDatabasesInput) String() string {
28846	return awsutil.Prettify(s)
28847}
28848
28849// GoString returns the string representation
28850func (s GetRelationalDatabasesInput) GoString() string {
28851	return s.String()
28852}
28853
28854// SetPageToken sets the PageToken field's value.
28855func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
28856	s.PageToken = &v
28857	return s
28858}
28859
28860type GetRelationalDatabasesOutput struct {
28861	_ struct{} `type:"structure"`
28862
28863	// The token to advance to the next page of results from your request.
28864	//
28865	// A next page token is not returned if there are no more results to display.
28866	//
28867	// To get the next page of results, perform another GetRelationalDatabases request
28868	// and specify the next page token using the pageToken parameter.
28869	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28870
28871	// An object describing the result of your get relational databases request.
28872	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
28873}
28874
28875// String returns the string representation
28876func (s GetRelationalDatabasesOutput) String() string {
28877	return awsutil.Prettify(s)
28878}
28879
28880// GoString returns the string representation
28881func (s GetRelationalDatabasesOutput) GoString() string {
28882	return s.String()
28883}
28884
28885// SetNextPageToken sets the NextPageToken field's value.
28886func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
28887	s.NextPageToken = &v
28888	return s
28889}
28890
28891// SetRelationalDatabases sets the RelationalDatabases field's value.
28892func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
28893	s.RelationalDatabases = v
28894	return s
28895}
28896
28897type GetStaticIpInput struct {
28898	_ struct{} `type:"structure"`
28899
28900	// The name of the static IP in Lightsail.
28901	//
28902	// StaticIpName is a required field
28903	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
28904}
28905
28906// String returns the string representation
28907func (s GetStaticIpInput) String() string {
28908	return awsutil.Prettify(s)
28909}
28910
28911// GoString returns the string representation
28912func (s GetStaticIpInput) GoString() string {
28913	return s.String()
28914}
28915
28916// Validate inspects the fields of the type to determine if they are valid.
28917func (s *GetStaticIpInput) Validate() error {
28918	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
28919	if s.StaticIpName == nil {
28920		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
28921	}
28922
28923	if invalidParams.Len() > 0 {
28924		return invalidParams
28925	}
28926	return nil
28927}
28928
28929// SetStaticIpName sets the StaticIpName field's value.
28930func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
28931	s.StaticIpName = &v
28932	return s
28933}
28934
28935type GetStaticIpOutput struct {
28936	_ struct{} `type:"structure"`
28937
28938	// An array of key-value pairs containing information about the requested static
28939	// IP.
28940	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
28941}
28942
28943// String returns the string representation
28944func (s GetStaticIpOutput) String() string {
28945	return awsutil.Prettify(s)
28946}
28947
28948// GoString returns the string representation
28949func (s GetStaticIpOutput) GoString() string {
28950	return s.String()
28951}
28952
28953// SetStaticIp sets the StaticIp field's value.
28954func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
28955	s.StaticIp = v
28956	return s
28957}
28958
28959type GetStaticIpsInput struct {
28960	_ struct{} `type:"structure"`
28961
28962	// The token to advance to the next page of results from your request.
28963	//
28964	// To get a page token, perform an initial GetStaticIps request. If your results
28965	// are paginated, the response will return a next page token that you can specify
28966	// as the page token in a subsequent request.
28967	PageToken *string `locationName:"pageToken" type:"string"`
28968}
28969
28970// String returns the string representation
28971func (s GetStaticIpsInput) String() string {
28972	return awsutil.Prettify(s)
28973}
28974
28975// GoString returns the string representation
28976func (s GetStaticIpsInput) GoString() string {
28977	return s.String()
28978}
28979
28980// SetPageToken sets the PageToken field's value.
28981func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
28982	s.PageToken = &v
28983	return s
28984}
28985
28986type GetStaticIpsOutput struct {
28987	_ struct{} `type:"structure"`
28988
28989	// The token to advance to the next page of results from your request.
28990	//
28991	// A next page token is not returned if there are no more results to display.
28992	//
28993	// To get the next page of results, perform another GetStaticIps request and
28994	// specify the next page token using the pageToken parameter.
28995	NextPageToken *string `locationName:"nextPageToken" type:"string"`
28996
28997	// An array of key-value pairs containing information about your get static
28998	// IPs request.
28999	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
29000}
29001
29002// String returns the string representation
29003func (s GetStaticIpsOutput) String() string {
29004	return awsutil.Prettify(s)
29005}
29006
29007// GoString returns the string representation
29008func (s GetStaticIpsOutput) GoString() string {
29009	return s.String()
29010}
29011
29012// SetNextPageToken sets the NextPageToken field's value.
29013func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
29014	s.NextPageToken = &v
29015	return s
29016}
29017
29018// SetStaticIps sets the StaticIps field's value.
29019func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
29020	s.StaticIps = v
29021	return s
29022}
29023
29024// Describes the request headers that a Lightsail distribution bases caching
29025// on.
29026//
29027// For the headers that you specify, your distribution caches separate versions
29028// of the specified content based on the header values in viewer requests. For
29029// example, suppose viewer requests for logo.jpg contain a custom product header
29030// that has a value of either acme or apex, and you configure your distribution
29031// to cache your content based on values in the product header. Your distribution
29032// forwards the product header to the origin and caches the response from the
29033// origin once for each header value.
29034type HeaderObject struct {
29035	_ struct{} `type:"structure"`
29036
29037	// The specific headers to forward to your distribution's origin.
29038	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
29039
29040	// The headers that you want your distribution to forward to your origin and
29041	// base caching on.
29042	//
29043	// You can configure your distribution to do one of the following:
29044	//
29045	//    * all - Forward all headers to your origin.
29046	//
29047	//    * none - Forward only the default headers.
29048	//
29049	//    * allow-list - Forward only the headers you specify using the headersAllowList
29050	//    parameter.
29051	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
29052}
29053
29054// String returns the string representation
29055func (s HeaderObject) String() string {
29056	return awsutil.Prettify(s)
29057}
29058
29059// GoString returns the string representation
29060func (s HeaderObject) GoString() string {
29061	return s.String()
29062}
29063
29064// SetHeadersAllowList sets the HeadersAllowList field's value.
29065func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
29066	s.HeadersAllowList = v
29067	return s
29068}
29069
29070// SetOption sets the Option field's value.
29071func (s *HeaderObject) SetOption(v string) *HeaderObject {
29072	s.Option = &v
29073	return s
29074}
29075
29076// Describes the public SSH host keys or the RDP certificate.
29077type HostKeyAttributes struct {
29078	_ struct{} `type:"structure"`
29079
29080	// The SSH host key algorithm or the RDP certificate format.
29081	//
29082	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
29083	// etc. For RDP certificates, the algorithm is always x509-cert.
29084	Algorithm *string `locationName:"algorithm" type:"string"`
29085
29086	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
29087	//
29088	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
29089	//
29090	//    * 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
29091	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
29092
29093	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
29094	//
29095	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
29096	//
29097	//    * 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
29098	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
29099
29100	// The returned RDP certificate is not valid after this point in time.
29101	//
29102	// This value is listed only for RDP certificates.
29103	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
29104
29105	// The returned RDP certificate is valid after this point in time.
29106	//
29107	// This value is listed only for RDP certificates.
29108	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
29109
29110	// The public SSH host key or the RDP certificate.
29111	PublicKey *string `locationName:"publicKey" type:"string"`
29112
29113	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
29114	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
29115}
29116
29117// String returns the string representation
29118func (s HostKeyAttributes) String() string {
29119	return awsutil.Prettify(s)
29120}
29121
29122// GoString returns the string representation
29123func (s HostKeyAttributes) GoString() string {
29124	return s.String()
29125}
29126
29127// SetAlgorithm sets the Algorithm field's value.
29128func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
29129	s.Algorithm = &v
29130	return s
29131}
29132
29133// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
29134func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
29135	s.FingerprintSHA1 = &v
29136	return s
29137}
29138
29139// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
29140func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
29141	s.FingerprintSHA256 = &v
29142	return s
29143}
29144
29145// SetNotValidAfter sets the NotValidAfter field's value.
29146func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
29147	s.NotValidAfter = &v
29148	return s
29149}
29150
29151// SetNotValidBefore sets the NotValidBefore field's value.
29152func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
29153	s.NotValidBefore = &v
29154	return s
29155}
29156
29157// SetPublicKey sets the PublicKey field's value.
29158func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
29159	s.PublicKey = &v
29160	return s
29161}
29162
29163// SetWitnessedAt sets the WitnessedAt field's value.
29164func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
29165	s.WitnessedAt = &v
29166	return s
29167}
29168
29169type ImportKeyPairInput struct {
29170	_ struct{} `type:"structure"`
29171
29172	// The name of the key pair for which you want to import the public key.
29173	//
29174	// KeyPairName is a required field
29175	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
29176
29177	// A base64-encoded public key of the ssh-rsa type.
29178	//
29179	// PublicKeyBase64 is a required field
29180	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
29181}
29182
29183// String returns the string representation
29184func (s ImportKeyPairInput) String() string {
29185	return awsutil.Prettify(s)
29186}
29187
29188// GoString returns the string representation
29189func (s ImportKeyPairInput) GoString() string {
29190	return s.String()
29191}
29192
29193// Validate inspects the fields of the type to determine if they are valid.
29194func (s *ImportKeyPairInput) Validate() error {
29195	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
29196	if s.KeyPairName == nil {
29197		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
29198	}
29199	if s.PublicKeyBase64 == nil {
29200		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
29201	}
29202
29203	if invalidParams.Len() > 0 {
29204		return invalidParams
29205	}
29206	return nil
29207}
29208
29209// SetKeyPairName sets the KeyPairName field's value.
29210func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
29211	s.KeyPairName = &v
29212	return s
29213}
29214
29215// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
29216func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
29217	s.PublicKeyBase64 = &v
29218	return s
29219}
29220
29221type ImportKeyPairOutput struct {
29222	_ struct{} `type:"structure"`
29223
29224	// An array of objects that describe the result of the action, such as the status
29225	// of the request, the timestamp of the request, and the resources affected
29226	// by the request.
29227	Operation *Operation `locationName:"operation" type:"structure"`
29228}
29229
29230// String returns the string representation
29231func (s ImportKeyPairOutput) String() string {
29232	return awsutil.Prettify(s)
29233}
29234
29235// GoString returns the string representation
29236func (s ImportKeyPairOutput) GoString() string {
29237	return s.String()
29238}
29239
29240// SetOperation sets the Operation field's value.
29241func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
29242	s.Operation = v
29243	return s
29244}
29245
29246// Describes the origin resource of an Amazon Lightsail content delivery network
29247// (CDN) distribution.
29248//
29249// An origin can be a Lightsail instance or load balancer. A distribution pulls
29250// content from an origin, caches it, and serves it to viewers via a worldwide
29251// network of edge servers.
29252type InputOrigin struct {
29253	_ struct{} `type:"structure"`
29254
29255	// The name of the origin resource.
29256	Name *string `locationName:"name" type:"string"`
29257
29258	// The protocol that your Amazon Lightsail distribution uses when establishing
29259	// a connection with your origin to pull content.
29260	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
29261
29262	// The AWS Region name of the origin resource.
29263	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
29264}
29265
29266// String returns the string representation
29267func (s InputOrigin) String() string {
29268	return awsutil.Prettify(s)
29269}
29270
29271// GoString returns the string representation
29272func (s InputOrigin) GoString() string {
29273	return s.String()
29274}
29275
29276// SetName sets the Name field's value.
29277func (s *InputOrigin) SetName(v string) *InputOrigin {
29278	s.Name = &v
29279	return s
29280}
29281
29282// SetProtocolPolicy sets the ProtocolPolicy field's value.
29283func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
29284	s.ProtocolPolicy = &v
29285	return s
29286}
29287
29288// SetRegionName sets the RegionName field's value.
29289func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
29290	s.RegionName = &v
29291	return s
29292}
29293
29294// Describes an instance (a virtual private server).
29295type Instance struct {
29296	_ struct{} `type:"structure"`
29297
29298	// An array of objects representing the add-ons enabled on the instance.
29299	AddOns []*AddOn `locationName:"addOns" type:"list"`
29300
29301	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
29302	Arn *string `locationName:"arn" type:"string"`
29303
29304	// The blueprint ID (e.g., os_amlinux_2016_03).
29305	BlueprintId *string `locationName:"blueprintId" type:"string"`
29306
29307	// The friendly name of the blueprint (e.g., Amazon Linux).
29308	BlueprintName *string `locationName:"blueprintName" type:"string"`
29309
29310	// The bundle for the instance (e.g., micro_1_0).
29311	BundleId *string `locationName:"bundleId" type:"string"`
29312
29313	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
29314	// time format.
29315	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
29316
29317	// The size of the vCPU and the amount of RAM for the instance.
29318	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
29319
29320	// The IP address type of the instance.
29321	//
29322	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
29323	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
29324
29325	// The IPv6 addresses of the instance.
29326	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
29327
29328	// A Boolean value indicating whether this instance has a static IP assigned
29329	// to it.
29330	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
29331
29332	// The region name and Availability Zone where the instance is located.
29333	Location *ResourceLocation `locationName:"location" type:"structure"`
29334
29335	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
29336	Name *string `locationName:"name" type:"string"`
29337
29338	// Information about the public ports and monthly data transfer rates for the
29339	// instance.
29340	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
29341
29342	// The private IP address of the instance.
29343	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
29344
29345	// The public IP address of the instance.
29346	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
29347
29348	// The type of resource (usually Instance).
29349	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
29350
29351	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
29352	SshKeyName *string `locationName:"sshKeyName" type:"string"`
29353
29354	// The status code and the state (e.g., running) for the instance.
29355	State *InstanceState `locationName:"state" type:"structure"`
29356
29357	// The support code. Include this code in your email to support when you have
29358	// questions about an instance or another resource in Lightsail. This code enables
29359	// our support team to look up your Lightsail information more easily.
29360	SupportCode *string `locationName:"supportCode" type:"string"`
29361
29362	// The tag keys and optional values for the resource. For more information about
29363	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
29364	Tags []*Tag `locationName:"tags" type:"list"`
29365
29366	// The user name for connecting to the instance (e.g., ec2-user).
29367	Username *string `locationName:"username" type:"string"`
29368}
29369
29370// String returns the string representation
29371func (s Instance) String() string {
29372	return awsutil.Prettify(s)
29373}
29374
29375// GoString returns the string representation
29376func (s Instance) GoString() string {
29377	return s.String()
29378}
29379
29380// SetAddOns sets the AddOns field's value.
29381func (s *Instance) SetAddOns(v []*AddOn) *Instance {
29382	s.AddOns = v
29383	return s
29384}
29385
29386// SetArn sets the Arn field's value.
29387func (s *Instance) SetArn(v string) *Instance {
29388	s.Arn = &v
29389	return s
29390}
29391
29392// SetBlueprintId sets the BlueprintId field's value.
29393func (s *Instance) SetBlueprintId(v string) *Instance {
29394	s.BlueprintId = &v
29395	return s
29396}
29397
29398// SetBlueprintName sets the BlueprintName field's value.
29399func (s *Instance) SetBlueprintName(v string) *Instance {
29400	s.BlueprintName = &v
29401	return s
29402}
29403
29404// SetBundleId sets the BundleId field's value.
29405func (s *Instance) SetBundleId(v string) *Instance {
29406	s.BundleId = &v
29407	return s
29408}
29409
29410// SetCreatedAt sets the CreatedAt field's value.
29411func (s *Instance) SetCreatedAt(v time.Time) *Instance {
29412	s.CreatedAt = &v
29413	return s
29414}
29415
29416// SetHardware sets the Hardware field's value.
29417func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
29418	s.Hardware = v
29419	return s
29420}
29421
29422// SetIpAddressType sets the IpAddressType field's value.
29423func (s *Instance) SetIpAddressType(v string) *Instance {
29424	s.IpAddressType = &v
29425	return s
29426}
29427
29428// SetIpv6Addresses sets the Ipv6Addresses field's value.
29429func (s *Instance) SetIpv6Addresses(v []*string) *Instance {
29430	s.Ipv6Addresses = v
29431	return s
29432}
29433
29434// SetIsStaticIp sets the IsStaticIp field's value.
29435func (s *Instance) SetIsStaticIp(v bool) *Instance {
29436	s.IsStaticIp = &v
29437	return s
29438}
29439
29440// SetLocation sets the Location field's value.
29441func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
29442	s.Location = v
29443	return s
29444}
29445
29446// SetName sets the Name field's value.
29447func (s *Instance) SetName(v string) *Instance {
29448	s.Name = &v
29449	return s
29450}
29451
29452// SetNetworking sets the Networking field's value.
29453func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
29454	s.Networking = v
29455	return s
29456}
29457
29458// SetPrivateIpAddress sets the PrivateIpAddress field's value.
29459func (s *Instance) SetPrivateIpAddress(v string) *Instance {
29460	s.PrivateIpAddress = &v
29461	return s
29462}
29463
29464// SetPublicIpAddress sets the PublicIpAddress field's value.
29465func (s *Instance) SetPublicIpAddress(v string) *Instance {
29466	s.PublicIpAddress = &v
29467	return s
29468}
29469
29470// SetResourceType sets the ResourceType field's value.
29471func (s *Instance) SetResourceType(v string) *Instance {
29472	s.ResourceType = &v
29473	return s
29474}
29475
29476// SetSshKeyName sets the SshKeyName field's value.
29477func (s *Instance) SetSshKeyName(v string) *Instance {
29478	s.SshKeyName = &v
29479	return s
29480}
29481
29482// SetState sets the State field's value.
29483func (s *Instance) SetState(v *InstanceState) *Instance {
29484	s.State = v
29485	return s
29486}
29487
29488// SetSupportCode sets the SupportCode field's value.
29489func (s *Instance) SetSupportCode(v string) *Instance {
29490	s.SupportCode = &v
29491	return s
29492}
29493
29494// SetTags sets the Tags field's value.
29495func (s *Instance) SetTags(v []*Tag) *Instance {
29496	s.Tags = v
29497	return s
29498}
29499
29500// SetUsername sets the Username field's value.
29501func (s *Instance) SetUsername(v string) *Instance {
29502	s.Username = &v
29503	return s
29504}
29505
29506// The parameters for gaining temporary access to one of your Amazon Lightsail
29507// instances.
29508type InstanceAccessDetails struct {
29509	_ struct{} `type:"structure"`
29510
29511	// For SSH access, the public key to use when accessing your instance For OpenSSH
29512	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
29513	CertKey *string `locationName:"certKey" type:"string"`
29514
29515	// For SSH access, the date on which the temporary keys expire.
29516	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
29517
29518	// Describes the public SSH host keys or the RDP certificate.
29519	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
29520
29521	// The name of this Amazon Lightsail instance.
29522	InstanceName *string `locationName:"instanceName" type:"string"`
29523
29524	// The public IP address of the Amazon Lightsail instance.
29525	IpAddress *string `locationName:"ipAddress" type:"string"`
29526
29527	// For RDP access, the password for your Amazon Lightsail instance. Password
29528	// will be an empty string if the password for your new instance is not ready
29529	// yet. When you create an instance, it can take up to 15 minutes for the instance
29530	// to be ready.
29531	//
29532	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
29533	// password will always be an empty string.
29534	//
29535	// If you change the Administrator password on the instance, Lightsail will
29536	// continue to return the original password value. When accessing the instance
29537	// using RDP, you need to manually enter the Administrator password after changing
29538	// it from the default.
29539	Password *string `locationName:"password" type:"string"`
29540
29541	// For a Windows Server-based instance, an object with the data you can use
29542	// to retrieve your password. This is only needed if password is empty and the
29543	// instance is not new (and therefore the password is not ready yet). When you
29544	// create an instance, it can take up to 15 minutes for the instance to be ready.
29545	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
29546
29547	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
29548	// line SSH), you should save this value to tempkey).
29549	PrivateKey *string `locationName:"privateKey" type:"string"`
29550
29551	// The protocol for these Amazon Lightsail instance access details.
29552	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
29553
29554	// The user name to use when logging in to the Amazon Lightsail instance.
29555	Username *string `locationName:"username" type:"string"`
29556}
29557
29558// String returns the string representation
29559func (s InstanceAccessDetails) String() string {
29560	return awsutil.Prettify(s)
29561}
29562
29563// GoString returns the string representation
29564func (s InstanceAccessDetails) GoString() string {
29565	return s.String()
29566}
29567
29568// SetCertKey sets the CertKey field's value.
29569func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
29570	s.CertKey = &v
29571	return s
29572}
29573
29574// SetExpiresAt sets the ExpiresAt field's value.
29575func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
29576	s.ExpiresAt = &v
29577	return s
29578}
29579
29580// SetHostKeys sets the HostKeys field's value.
29581func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
29582	s.HostKeys = v
29583	return s
29584}
29585
29586// SetInstanceName sets the InstanceName field's value.
29587func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
29588	s.InstanceName = &v
29589	return s
29590}
29591
29592// SetIpAddress sets the IpAddress field's value.
29593func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
29594	s.IpAddress = &v
29595	return s
29596}
29597
29598// SetPassword sets the Password field's value.
29599func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
29600	s.Password = &v
29601	return s
29602}
29603
29604// SetPasswordData sets the PasswordData field's value.
29605func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
29606	s.PasswordData = v
29607	return s
29608}
29609
29610// SetPrivateKey sets the PrivateKey field's value.
29611func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
29612	s.PrivateKey = &v
29613	return s
29614}
29615
29616// SetProtocol sets the Protocol field's value.
29617func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
29618	s.Protocol = &v
29619	return s
29620}
29621
29622// SetUsername sets the Username field's value.
29623func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
29624	s.Username = &v
29625	return s
29626}
29627
29628// Describes the Amazon Elastic Compute Cloud instance and related resources
29629// to be created using the create cloud formation stack operation.
29630type InstanceEntry struct {
29631	_ struct{} `type:"structure"`
29632
29633	// The Availability Zone for the new Amazon EC2 instance.
29634	//
29635	// AvailabilityZone is a required field
29636	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
29637
29638	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
29639	//
29640	// InstanceType is a required field
29641	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
29642
29643	// The port configuration to use for the new Amazon EC2 instance.
29644	//
29645	// The following configuration options are available:
29646	//
29647	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
29648	//    blueprint. If this is specified, then IPv4 and IPv6 will be configured
29649	//    for the new instance that is created in Amazon EC2.
29650	//
29651	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
29652	//    instance. If this is specified, the new instance that is created in Amazon
29653	//    EC2 will be configured to match the configuration of the source Lightsail
29654	//    instance. For example, if the source instance is configured for dual-stack
29655	//    (IPv4 and IPv6), then IPv4 and IPv6 will be configured for the new instance
29656	//    that is created in Amazon EC2. If the source instance is configured for
29657	//    IPv4 only, then only IPv4 will be configured for the new instance that
29658	//    is created in Amazon EC2.
29659	//
29660	//    * NONE - Use the default Amazon EC2 security group. If this is specified,
29661	//    then only IPv4 will be configured for the new instance that is created
29662	//    in Amazon EC2.
29663	//
29664	//    * CLOSED - All ports closed. If this is specified, then only IPv4 will
29665	//    be configured for the new instance that is created in Amazon EC2.
29666	//
29667	// If you configured lightsail-connect as a cidrListAliases on your instance,
29668	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
29669	// connect to your instance, that configuration is not carried over to your
29670	// new Amazon EC2 instance.
29671	//
29672	// PortInfoSource is a required field
29673	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
29674
29675	// The name of the export snapshot record, which contains the exported Lightsail
29676	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
29677	//
29678	// Use the get export snapshot records operation to get a list of export snapshot
29679	// records that you can use to create a CloudFormation stack.
29680	//
29681	// SourceName is a required field
29682	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
29683
29684	// A launch script you can create that configures a server with additional user
29685	// data. For example, you might want to run apt-get -y update.
29686	//
29687	// Depending on the machine image you choose, the command to get software on
29688	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
29689	// use apt-get, and FreeBSD uses pkg.
29690	UserData *string `locationName:"userData" type:"string"`
29691}
29692
29693// String returns the string representation
29694func (s InstanceEntry) String() string {
29695	return awsutil.Prettify(s)
29696}
29697
29698// GoString returns the string representation
29699func (s InstanceEntry) GoString() string {
29700	return s.String()
29701}
29702
29703// Validate inspects the fields of the type to determine if they are valid.
29704func (s *InstanceEntry) Validate() error {
29705	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
29706	if s.AvailabilityZone == nil {
29707		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
29708	}
29709	if s.InstanceType == nil {
29710		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
29711	}
29712	if s.PortInfoSource == nil {
29713		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
29714	}
29715	if s.SourceName == nil {
29716		invalidParams.Add(request.NewErrParamRequired("SourceName"))
29717	}
29718
29719	if invalidParams.Len() > 0 {
29720		return invalidParams
29721	}
29722	return nil
29723}
29724
29725// SetAvailabilityZone sets the AvailabilityZone field's value.
29726func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
29727	s.AvailabilityZone = &v
29728	return s
29729}
29730
29731// SetInstanceType sets the InstanceType field's value.
29732func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
29733	s.InstanceType = &v
29734	return s
29735}
29736
29737// SetPortInfoSource sets the PortInfoSource field's value.
29738func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
29739	s.PortInfoSource = &v
29740	return s
29741}
29742
29743// SetSourceName sets the SourceName field's value.
29744func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
29745	s.SourceName = &v
29746	return s
29747}
29748
29749// SetUserData sets the UserData field's value.
29750func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
29751	s.UserData = &v
29752	return s
29753}
29754
29755// Describes the hardware for the instance.
29756type InstanceHardware struct {
29757	_ struct{} `type:"structure"`
29758
29759	// The number of vCPUs the instance has.
29760	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
29761
29762	// The disks attached to the instance.
29763	Disks []*Disk `locationName:"disks" type:"list"`
29764
29765	// The amount of RAM in GB on the instance (e.g., 1.0).
29766	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
29767}
29768
29769// String returns the string representation
29770func (s InstanceHardware) String() string {
29771	return awsutil.Prettify(s)
29772}
29773
29774// GoString returns the string representation
29775func (s InstanceHardware) GoString() string {
29776	return s.String()
29777}
29778
29779// SetCpuCount sets the CpuCount field's value.
29780func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
29781	s.CpuCount = &v
29782	return s
29783}
29784
29785// SetDisks sets the Disks field's value.
29786func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
29787	s.Disks = v
29788	return s
29789}
29790
29791// SetRamSizeInGb sets the RamSizeInGb field's value.
29792func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
29793	s.RamSizeInGb = &v
29794	return s
29795}
29796
29797// Describes information about the health of the instance.
29798type InstanceHealthSummary struct {
29799	_ struct{} `type:"structure"`
29800
29801	// Describes the overall instance health. Valid values are below.
29802	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
29803
29804	// More information about the instance health. If the instanceHealth is healthy,
29805	// then an instanceHealthReason value is not provided.
29806	//
29807	// If instanceHealth is initial, the instanceHealthReason value can be one of
29808	// the following:
29809	//
29810	//    * Lb.RegistrationInProgress - The target instance is in the process of
29811	//    being registered with the load balancer.
29812	//
29813	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
29814	//    the target instance the minimum number of health checks required to determine
29815	//    its health status.
29816	//
29817	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
29818	// of the following:
29819	//
29820	//    * Instance.ResponseCodeMismatch - The health checks did not return an
29821	//    expected HTTP code.
29822	//
29823	//    * Instance.Timeout - The health check requests timed out.
29824	//
29825	//    * Instance.FailedHealthChecks - The health checks failed because the connection
29826	//    to the target instance timed out, the target instance response was malformed,
29827	//    or the target instance failed the health check for an unknown reason.
29828	//
29829	//    * Lb.InternalError - The health checks failed due to an internal error.
29830	//
29831	// If instanceHealth is unused, the instanceHealthReason value can be one of
29832	// the following:
29833	//
29834	//    * Instance.NotRegistered - The target instance is not registered with
29835	//    the target group.
29836	//
29837	//    * Instance.NotInUse - The target group is not used by any load balancer,
29838	//    or the target instance is in an Availability Zone that is not enabled
29839	//    for its load balancer.
29840	//
29841	//    * Instance.IpUnusable - The target IP address is reserved for use by a
29842	//    Lightsail load balancer.
29843	//
29844	//    * Instance.InvalidState - The target is in the stopped or terminated state.
29845	//
29846	// If instanceHealth is draining, the instanceHealthReason value can be one
29847	// of the following:
29848	//
29849	//    * Instance.DeregistrationInProgress - The target instance is in the process
29850	//    of being deregistered and the deregistration delay period has not expired.
29851	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
29852
29853	// The name of the Lightsail instance for which you are requesting health check
29854	// data.
29855	InstanceName *string `locationName:"instanceName" type:"string"`
29856}
29857
29858// String returns the string representation
29859func (s InstanceHealthSummary) String() string {
29860	return awsutil.Prettify(s)
29861}
29862
29863// GoString returns the string representation
29864func (s InstanceHealthSummary) GoString() string {
29865	return s.String()
29866}
29867
29868// SetInstanceHealth sets the InstanceHealth field's value.
29869func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
29870	s.InstanceHealth = &v
29871	return s
29872}
29873
29874// SetInstanceHealthReason sets the InstanceHealthReason field's value.
29875func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
29876	s.InstanceHealthReason = &v
29877	return s
29878}
29879
29880// SetInstanceName sets the InstanceName field's value.
29881func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
29882	s.InstanceName = &v
29883	return s
29884}
29885
29886// Describes monthly data transfer rates and port information for an instance.
29887type InstanceNetworking struct {
29888	_ struct{} `type:"structure"`
29889
29890	// The amount of data in GB allocated for monthly data transfers.
29891	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
29892
29893	// An array of key-value pairs containing information about the ports on the
29894	// instance.
29895	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
29896}
29897
29898// String returns the string representation
29899func (s InstanceNetworking) String() string {
29900	return awsutil.Prettify(s)
29901}
29902
29903// GoString returns the string representation
29904func (s InstanceNetworking) GoString() string {
29905	return s.String()
29906}
29907
29908// SetMonthlyTransfer sets the MonthlyTransfer field's value.
29909func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
29910	s.MonthlyTransfer = v
29911	return s
29912}
29913
29914// SetPorts sets the Ports field's value.
29915func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
29916	s.Ports = v
29917	return s
29918}
29919
29920// Describes information about ports for an Amazon Lightsail instance.
29921type InstancePortInfo struct {
29922	_ struct{} `type:"structure"`
29923
29924	// The access direction (inbound or outbound).
29925	//
29926	// Lightsail currently supports only inbound access direction.
29927	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
29928
29929	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
29930	// or Custom if a specific IP address or range of IP addresses is allowed.
29931	AccessFrom *string `locationName:"accessFrom" type:"string"`
29932
29933	// The type of access (Public or Private).
29934	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
29935
29936	// An alias that defines access for a preconfigured range of IP addresses.
29937	//
29938	// The only alias currently supported is lightsail-connect, which allows IP
29939	// addresses of the browser-based RDP/SSH client in the Lightsail console to
29940	// connect to your instance.
29941	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
29942
29943	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
29944	// allowed to connect to an instance through the ports, and the protocol.
29945	//
29946	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
29947	// to an instance.
29948	//
29949	// For more information about CIDR block notation, see Classless Inter-Domain
29950	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
29951	// on Wikipedia.
29952	Cidrs []*string `locationName:"cidrs" type:"list"`
29953
29954	// The common name of the port information.
29955	CommonName *string `locationName:"commonName" type:"string"`
29956
29957	// The first port in a range of open ports on an instance.
29958	//
29959	// Allowed ports:
29960	//
29961	//    * TCP and UDP - 0 to 65535
29962	//
29963	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
29964	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
29965	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
29966	//    on Wikipedia.
29967	//
29968	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
29969	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
29970	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
29971	FromPort *int64 `locationName:"fromPort" type:"integer"`
29972
29973	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
29974	// allowed to connect to an instance through the ports, and the protocol. Only
29975	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
29976	// IPv4 should be used.
29977	//
29978	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
29979	// to an instance.
29980	//
29981	// For more information about CIDR block notation, see Classless Inter-Domain
29982	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
29983	// on Wikipedia.
29984	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
29985
29986	// The IP protocol name.
29987	//
29988	// The name can be one of the following:
29989	//
29990	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
29991	//    and error-checked delivery of streamed data between applications running
29992	//    on hosts communicating by an IP network. If you have an application that
29993	//    doesn't require reliable data stream service, use UDP instead.
29994	//
29995	//    * all - All transport layer protocol types. For more general information,
29996	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
29997	//    Wikipedia.
29998	//
29999	//    * udp - With User Datagram Protocol (UDP), computer applications can send
30000	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
30001	//    Prior communications are not required to set up transmission channels
30002	//    or data paths. Applications that don't require reliable data stream service
30003	//    can use UDP, which provides a connectionless datagram service that emphasizes
30004	//    reduced latency over reliability. If you do require reliable data stream
30005	//    service, use TCP instead.
30006	//
30007	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
30008	//    messages and operational information indicating success or failure when
30009	//    communicating with an instance. For example, an error is indicated when
30010	//    an instance could not be reached. When you specify icmp as the protocol,
30011	//    you must specify the ICMP type using the fromPort parameter, and ICMP
30012	//    code using the toPort parameter.
30013	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
30014
30015	// The last port in a range of open ports on an instance.
30016	//
30017	// Allowed ports:
30018	//
30019	//    * TCP and UDP - 0 to 65535
30020	//
30021	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
30022	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
30023	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
30024	//    on Wikipedia.
30025	//
30026	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
30027	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
30028	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
30029	ToPort *int64 `locationName:"toPort" type:"integer"`
30030}
30031
30032// String returns the string representation
30033func (s InstancePortInfo) String() string {
30034	return awsutil.Prettify(s)
30035}
30036
30037// GoString returns the string representation
30038func (s InstancePortInfo) GoString() string {
30039	return s.String()
30040}
30041
30042// SetAccessDirection sets the AccessDirection field's value.
30043func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
30044	s.AccessDirection = &v
30045	return s
30046}
30047
30048// SetAccessFrom sets the AccessFrom field's value.
30049func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
30050	s.AccessFrom = &v
30051	return s
30052}
30053
30054// SetAccessType sets the AccessType field's value.
30055func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
30056	s.AccessType = &v
30057	return s
30058}
30059
30060// SetCidrListAliases sets the CidrListAliases field's value.
30061func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
30062	s.CidrListAliases = v
30063	return s
30064}
30065
30066// SetCidrs sets the Cidrs field's value.
30067func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
30068	s.Cidrs = v
30069	return s
30070}
30071
30072// SetCommonName sets the CommonName field's value.
30073func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
30074	s.CommonName = &v
30075	return s
30076}
30077
30078// SetFromPort sets the FromPort field's value.
30079func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
30080	s.FromPort = &v
30081	return s
30082}
30083
30084// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
30085func (s *InstancePortInfo) SetIpv6Cidrs(v []*string) *InstancePortInfo {
30086	s.Ipv6Cidrs = v
30087	return s
30088}
30089
30090// SetProtocol sets the Protocol field's value.
30091func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
30092	s.Protocol = &v
30093	return s
30094}
30095
30096// SetToPort sets the ToPort field's value.
30097func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
30098	s.ToPort = &v
30099	return s
30100}
30101
30102// Describes open ports on an instance, the IP addresses allowed to connect
30103// to the instance through the ports, and the protocol.
30104type InstancePortState struct {
30105	_ struct{} `type:"structure"`
30106
30107	// An alias that defines access for a preconfigured range of IP addresses.
30108	//
30109	// The only alias currently supported is lightsail-connect, which allows IP
30110	// addresses of the browser-based RDP/SSH client in the Lightsail console to
30111	// connect to your instance.
30112	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
30113
30114	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
30115	// allowed to connect to an instance through the ports, and the protocol.
30116	//
30117	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
30118	// to an instance.
30119	//
30120	// For more information about CIDR block notation, see Classless Inter-Domain
30121	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
30122	// on Wikipedia.
30123	Cidrs []*string `locationName:"cidrs" type:"list"`
30124
30125	// The first port in a range of open ports on an instance.
30126	//
30127	// Allowed ports:
30128	//
30129	//    * TCP and UDP - 0 to 65535
30130	//
30131	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
30132	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
30133	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
30134	//    on Wikipedia.
30135	//
30136	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
30137	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
30138	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
30139	FromPort *int64 `locationName:"fromPort" type:"integer"`
30140
30141	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
30142	// allowed to connect to an instance through the ports, and the protocol. Only
30143	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
30144	// IPv4 should be used.
30145	//
30146	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
30147	// to an instance.
30148	//
30149	// For more information about CIDR block notation, see Classless Inter-Domain
30150	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
30151	// on Wikipedia.
30152	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
30153
30154	// The IP protocol name.
30155	//
30156	// The name can be one of the following:
30157	//
30158	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
30159	//    and error-checked delivery of streamed data between applications running
30160	//    on hosts communicating by an IP network. If you have an application that
30161	//    doesn't require reliable data stream service, use UDP instead.
30162	//
30163	//    * all - All transport layer protocol types. For more general information,
30164	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
30165	//    Wikipedia.
30166	//
30167	//    * udp - With User Datagram Protocol (UDP), computer applications can send
30168	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
30169	//    Prior communications are not required to set up transmission channels
30170	//    or data paths. Applications that don't require reliable data stream service
30171	//    can use UDP, which provides a connectionless datagram service that emphasizes
30172	//    reduced latency over reliability. If you do require reliable data stream
30173	//    service, use TCP instead.
30174	//
30175	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
30176	//    messages and operational information indicating success or failure when
30177	//    communicating with an instance. For example, an error is indicated when
30178	//    an instance could not be reached. When you specify icmp as the protocol,
30179	//    you must specify the ICMP type using the fromPort parameter, and ICMP
30180	//    code using the toPort parameter.
30181	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
30182
30183	// Specifies whether the instance port is open or closed.
30184	//
30185	// The port state for Lightsail instances is always open.
30186	State *string `locationName:"state" type:"string" enum:"PortState"`
30187
30188	// The last port in a range of open ports on an instance.
30189	//
30190	// Allowed ports:
30191	//
30192	//    * TCP and UDP - 0 to 65535
30193	//
30194	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
30195	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
30196	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
30197	//    on Wikipedia.
30198	//
30199	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
30200	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
30201	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
30202	ToPort *int64 `locationName:"toPort" type:"integer"`
30203}
30204
30205// String returns the string representation
30206func (s InstancePortState) String() string {
30207	return awsutil.Prettify(s)
30208}
30209
30210// GoString returns the string representation
30211func (s InstancePortState) GoString() string {
30212	return s.String()
30213}
30214
30215// SetCidrListAliases sets the CidrListAliases field's value.
30216func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
30217	s.CidrListAliases = v
30218	return s
30219}
30220
30221// SetCidrs sets the Cidrs field's value.
30222func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
30223	s.Cidrs = v
30224	return s
30225}
30226
30227// SetFromPort sets the FromPort field's value.
30228func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
30229	s.FromPort = &v
30230	return s
30231}
30232
30233// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
30234func (s *InstancePortState) SetIpv6Cidrs(v []*string) *InstancePortState {
30235	s.Ipv6Cidrs = v
30236	return s
30237}
30238
30239// SetProtocol sets the Protocol field's value.
30240func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
30241	s.Protocol = &v
30242	return s
30243}
30244
30245// SetState sets the State field's value.
30246func (s *InstancePortState) SetState(v string) *InstancePortState {
30247	s.State = &v
30248	return s
30249}
30250
30251// SetToPort sets the ToPort field's value.
30252func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
30253	s.ToPort = &v
30254	return s
30255}
30256
30257// Describes an instance snapshot.
30258type InstanceSnapshot struct {
30259	_ struct{} `type:"structure"`
30260
30261	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
30262	Arn *string `locationName:"arn" type:"string"`
30263
30264	// The timestamp when the snapshot was created (e.g., 1479907467.024).
30265	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30266
30267	// An array of disk objects containing information about all block storage disks.
30268	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
30269
30270	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
30271	// A blueprint is a virtual private server (or instance) image used to create
30272	// instances quickly.
30273	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
30274
30275	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
30276	FromBundleId *string `locationName:"fromBundleId" type:"string"`
30277
30278	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
30279	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
30280	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
30281
30282	// The instance from which the snapshot was created.
30283	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
30284
30285	// A Boolean value indicating whether the snapshot was created from an automatic
30286	// snapshot.
30287	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
30288
30289	// The region name and Availability Zone where you created the snapshot.
30290	Location *ResourceLocation `locationName:"location" type:"structure"`
30291
30292	// The name of the snapshot.
30293	Name *string `locationName:"name" type:"string"`
30294
30295	// The progress of the snapshot.
30296	//
30297	// This is populated only for disk snapshots, and is null for instance snapshots.
30298	Progress *string `locationName:"progress" type:"string"`
30299
30300	// The type of resource (usually InstanceSnapshot).
30301	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30302
30303	// The size in GB of the SSD.
30304	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
30305
30306	// The state the snapshot is in.
30307	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
30308
30309	// The support code. Include this code in your email to support when you have
30310	// questions about an instance or another resource in Lightsail. This code enables
30311	// our support team to look up your Lightsail information more easily.
30312	SupportCode *string `locationName:"supportCode" type:"string"`
30313
30314	// The tag keys and optional values for the resource. For more information about
30315	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30316	Tags []*Tag `locationName:"tags" type:"list"`
30317}
30318
30319// String returns the string representation
30320func (s InstanceSnapshot) String() string {
30321	return awsutil.Prettify(s)
30322}
30323
30324// GoString returns the string representation
30325func (s InstanceSnapshot) GoString() string {
30326	return s.String()
30327}
30328
30329// SetArn sets the Arn field's value.
30330func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
30331	s.Arn = &v
30332	return s
30333}
30334
30335// SetCreatedAt sets the CreatedAt field's value.
30336func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
30337	s.CreatedAt = &v
30338	return s
30339}
30340
30341// SetFromAttachedDisks sets the FromAttachedDisks field's value.
30342func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
30343	s.FromAttachedDisks = v
30344	return s
30345}
30346
30347// SetFromBlueprintId sets the FromBlueprintId field's value.
30348func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
30349	s.FromBlueprintId = &v
30350	return s
30351}
30352
30353// SetFromBundleId sets the FromBundleId field's value.
30354func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
30355	s.FromBundleId = &v
30356	return s
30357}
30358
30359// SetFromInstanceArn sets the FromInstanceArn field's value.
30360func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
30361	s.FromInstanceArn = &v
30362	return s
30363}
30364
30365// SetFromInstanceName sets the FromInstanceName field's value.
30366func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
30367	s.FromInstanceName = &v
30368	return s
30369}
30370
30371// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
30372func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
30373	s.IsFromAutoSnapshot = &v
30374	return s
30375}
30376
30377// SetLocation sets the Location field's value.
30378func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
30379	s.Location = v
30380	return s
30381}
30382
30383// SetName sets the Name field's value.
30384func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
30385	s.Name = &v
30386	return s
30387}
30388
30389// SetProgress sets the Progress field's value.
30390func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
30391	s.Progress = &v
30392	return s
30393}
30394
30395// SetResourceType sets the ResourceType field's value.
30396func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
30397	s.ResourceType = &v
30398	return s
30399}
30400
30401// SetSizeInGb sets the SizeInGb field's value.
30402func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
30403	s.SizeInGb = &v
30404	return s
30405}
30406
30407// SetState sets the State field's value.
30408func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
30409	s.State = &v
30410	return s
30411}
30412
30413// SetSupportCode sets the SupportCode field's value.
30414func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
30415	s.SupportCode = &v
30416	return s
30417}
30418
30419// SetTags sets the Tags field's value.
30420func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
30421	s.Tags = v
30422	return s
30423}
30424
30425// Describes an instance snapshot.
30426type InstanceSnapshotInfo struct {
30427	_ struct{} `type:"structure"`
30428
30429	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
30430	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
30431
30432	// The bundle ID from which the source instance was created (e.g., micro_1_0).
30433	FromBundleId *string `locationName:"fromBundleId" type:"string"`
30434
30435	// A list of objects describing the disks that were attached to the source instance.
30436	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
30437}
30438
30439// String returns the string representation
30440func (s InstanceSnapshotInfo) String() string {
30441	return awsutil.Prettify(s)
30442}
30443
30444// GoString returns the string representation
30445func (s InstanceSnapshotInfo) GoString() string {
30446	return s.String()
30447}
30448
30449// SetFromBlueprintId sets the FromBlueprintId field's value.
30450func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
30451	s.FromBlueprintId = &v
30452	return s
30453}
30454
30455// SetFromBundleId sets the FromBundleId field's value.
30456func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
30457	s.FromBundleId = &v
30458	return s
30459}
30460
30461// SetFromDiskInfo sets the FromDiskInfo field's value.
30462func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
30463	s.FromDiskInfo = v
30464	return s
30465}
30466
30467// Describes the virtual private server (or instance) status.
30468type InstanceState struct {
30469	_ struct{} `type:"structure"`
30470
30471	// The status code for the instance.
30472	Code *int64 `locationName:"code" type:"integer"`
30473
30474	// The state of the instance (e.g., running or pending).
30475	Name *string `locationName:"name" type:"string"`
30476}
30477
30478// String returns the string representation
30479func (s InstanceState) String() string {
30480	return awsutil.Prettify(s)
30481}
30482
30483// GoString returns the string representation
30484func (s InstanceState) GoString() string {
30485	return s.String()
30486}
30487
30488// SetCode sets the Code field's value.
30489func (s *InstanceState) SetCode(v int64) *InstanceState {
30490	s.Code = &v
30491	return s
30492}
30493
30494// SetName sets the Name field's value.
30495func (s *InstanceState) SetName(v string) *InstanceState {
30496	s.Name = &v
30497	return s
30498}
30499
30500// Lightsail throws this exception when user input does not conform to the validation
30501// rules of an input field.
30502//
30503// Domain and distribution APIs are only available in the N. Virginia (us-east-1)
30504// AWS Region. Please set your AWS Region configuration to us-east-1 to create,
30505// view, or edit these resources.
30506type InvalidInputException struct {
30507	_            struct{}                  `type:"structure"`
30508	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30509
30510	Code_ *string `locationName:"code" type:"string"`
30511
30512	Docs *string `locationName:"docs" type:"string"`
30513
30514	Message_ *string `locationName:"message" type:"string"`
30515
30516	Tip *string `locationName:"tip" type:"string"`
30517}
30518
30519// String returns the string representation
30520func (s InvalidInputException) String() string {
30521	return awsutil.Prettify(s)
30522}
30523
30524// GoString returns the string representation
30525func (s InvalidInputException) GoString() string {
30526	return s.String()
30527}
30528
30529func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
30530	return &InvalidInputException{
30531		RespMetadata: v,
30532	}
30533}
30534
30535// Code returns the exception type name.
30536func (s *InvalidInputException) Code() string {
30537	return "InvalidInputException"
30538}
30539
30540// Message returns the exception's message.
30541func (s *InvalidInputException) Message() string {
30542	if s.Message_ != nil {
30543		return *s.Message_
30544	}
30545	return ""
30546}
30547
30548// OrigErr always returns nil, satisfies awserr.Error interface.
30549func (s *InvalidInputException) OrigErr() error {
30550	return nil
30551}
30552
30553func (s *InvalidInputException) Error() string {
30554	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
30555}
30556
30557// Status code returns the HTTP status code for the request's response error.
30558func (s *InvalidInputException) StatusCode() int {
30559	return s.RespMetadata.StatusCode
30560}
30561
30562// RequestID returns the service's response RequestID for request.
30563func (s *InvalidInputException) RequestID() string {
30564	return s.RespMetadata.RequestID
30565}
30566
30567type IsVpcPeeredInput struct {
30568	_ struct{} `type:"structure"`
30569}
30570
30571// String returns the string representation
30572func (s IsVpcPeeredInput) String() string {
30573	return awsutil.Prettify(s)
30574}
30575
30576// GoString returns the string representation
30577func (s IsVpcPeeredInput) GoString() string {
30578	return s.String()
30579}
30580
30581type IsVpcPeeredOutput struct {
30582	_ struct{} `type:"structure"`
30583
30584	// Returns true if the Lightsail VPC is peered; otherwise, false.
30585	IsPeered *bool `locationName:"isPeered" type:"boolean"`
30586}
30587
30588// String returns the string representation
30589func (s IsVpcPeeredOutput) String() string {
30590	return awsutil.Prettify(s)
30591}
30592
30593// GoString returns the string representation
30594func (s IsVpcPeeredOutput) GoString() string {
30595	return s.String()
30596}
30597
30598// SetIsPeered sets the IsPeered field's value.
30599func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
30600	s.IsPeered = &v
30601	return s
30602}
30603
30604// Describes the SSH key pair.
30605type KeyPair struct {
30606	_ struct{} `type:"structure"`
30607
30608	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
30609	Arn *string `locationName:"arn" type:"string"`
30610
30611	// The timestamp when the key pair was created (e.g., 1479816991.349).
30612	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30613
30614	// The RSA fingerprint of the key pair.
30615	Fingerprint *string `locationName:"fingerprint" type:"string"`
30616
30617	// The region name and Availability Zone where the key pair was created.
30618	Location *ResourceLocation `locationName:"location" type:"structure"`
30619
30620	// The friendly name of the SSH key pair.
30621	Name *string `locationName:"name" type:"string"`
30622
30623	// The resource type (usually KeyPair).
30624	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30625
30626	// The support code. Include this code in your email to support when you have
30627	// questions about an instance or another resource in Lightsail. This code enables
30628	// our support team to look up your Lightsail information more easily.
30629	SupportCode *string `locationName:"supportCode" type:"string"`
30630
30631	// The tag keys and optional values for the resource. For more information about
30632	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30633	Tags []*Tag `locationName:"tags" type:"list"`
30634}
30635
30636// String returns the string representation
30637func (s KeyPair) String() string {
30638	return awsutil.Prettify(s)
30639}
30640
30641// GoString returns the string representation
30642func (s KeyPair) GoString() string {
30643	return s.String()
30644}
30645
30646// SetArn sets the Arn field's value.
30647func (s *KeyPair) SetArn(v string) *KeyPair {
30648	s.Arn = &v
30649	return s
30650}
30651
30652// SetCreatedAt sets the CreatedAt field's value.
30653func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
30654	s.CreatedAt = &v
30655	return s
30656}
30657
30658// SetFingerprint sets the Fingerprint field's value.
30659func (s *KeyPair) SetFingerprint(v string) *KeyPair {
30660	s.Fingerprint = &v
30661	return s
30662}
30663
30664// SetLocation sets the Location field's value.
30665func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
30666	s.Location = v
30667	return s
30668}
30669
30670// SetName sets the Name field's value.
30671func (s *KeyPair) SetName(v string) *KeyPair {
30672	s.Name = &v
30673	return s
30674}
30675
30676// SetResourceType sets the ResourceType field's value.
30677func (s *KeyPair) SetResourceType(v string) *KeyPair {
30678	s.ResourceType = &v
30679	return s
30680}
30681
30682// SetSupportCode sets the SupportCode field's value.
30683func (s *KeyPair) SetSupportCode(v string) *KeyPair {
30684	s.SupportCode = &v
30685	return s
30686}
30687
30688// SetTags sets the Tags field's value.
30689func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
30690	s.Tags = v
30691	return s
30692}
30693
30694// Describes an Amazon Lightsail content delivery network (CDN) distribution.
30695type LightsailDistribution struct {
30696	_ struct{} `type:"structure"`
30697
30698	// Indicates whether the bundle that is currently applied to your distribution,
30699	// specified using the distributionName parameter, can be changed to another
30700	// bundle.
30701	//
30702	// Use the UpdateDistributionBundle action to change your distribution's bundle.
30703	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
30704
30705	// The alternate domain names of the distribution.
30706	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
30707
30708	// The Amazon Resource Name (ARN) of the distribution.
30709	Arn *string `locationName:"arn" type:"string"`
30710
30711	// The ID of the bundle currently applied to the distribution.
30712	BundleId *string `locationName:"bundleId" type:"string"`
30713
30714	// An object that describes the cache behavior settings of the distribution.
30715	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
30716
30717	// An array of objects that describe the per-path cache behavior of the distribution.
30718	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
30719
30720	// The name of the SSL/TLS certificate attached to the distribution, if any.
30721	CertificateName *string `locationName:"certificateName" type:"string"`
30722
30723	// The timestamp when the distribution was created.
30724	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30725
30726	// An object that describes the default cache behavior of the distribution.
30727	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
30728
30729	// The domain name of the distribution.
30730	DomainName *string `locationName:"domainName" type:"string"`
30731
30732	// The IP address type of the distribution.
30733	//
30734	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
30735	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
30736
30737	// Indicates whether the distribution is enabled.
30738	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
30739
30740	// An object that describes the location of the distribution, such as the AWS
30741	// Region and Availability Zone.
30742	//
30743	// Lightsail distributions are global resources that can reference an origin
30744	// in any AWS Region, and distribute its content globally. However, all distributions
30745	// are located in the us-east-1 Region.
30746	Location *ResourceLocation `locationName:"location" type:"structure"`
30747
30748	// The name of the distribution.
30749	Name *string `locationName:"name" type:"string"`
30750
30751	// An object that describes the origin resource of the distribution, such as
30752	// a Lightsail instance or load balancer.
30753	//
30754	// The distribution pulls, caches, and serves content from the origin.
30755	Origin *Origin `locationName:"origin" type:"structure"`
30756
30757	// The public DNS of the origin.
30758	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
30759
30760	// The Lightsail resource type (e.g., Distribution).
30761	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30762
30763	// The status of the distribution.
30764	Status *string `locationName:"status" type:"string"`
30765
30766	// The support code. Include this code in your email to support when you have
30767	// questions about your Lightsail distribution. This code enables our support
30768	// team to look up your Lightsail information more easily.
30769	SupportCode *string `locationName:"supportCode" type:"string"`
30770
30771	// The tag keys and optional values for the resource. For more information about
30772	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30773	Tags []*Tag `locationName:"tags" type:"list"`
30774}
30775
30776// String returns the string representation
30777func (s LightsailDistribution) String() string {
30778	return awsutil.Prettify(s)
30779}
30780
30781// GoString returns the string representation
30782func (s LightsailDistribution) GoString() string {
30783	return s.String()
30784}
30785
30786// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
30787func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
30788	s.AbleToUpdateBundle = &v
30789	return s
30790}
30791
30792// SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
30793func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
30794	s.AlternativeDomainNames = v
30795	return s
30796}
30797
30798// SetArn sets the Arn field's value.
30799func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
30800	s.Arn = &v
30801	return s
30802}
30803
30804// SetBundleId sets the BundleId field's value.
30805func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
30806	s.BundleId = &v
30807	return s
30808}
30809
30810// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
30811func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
30812	s.CacheBehaviorSettings = v
30813	return s
30814}
30815
30816// SetCacheBehaviors sets the CacheBehaviors field's value.
30817func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
30818	s.CacheBehaviors = v
30819	return s
30820}
30821
30822// SetCertificateName sets the CertificateName field's value.
30823func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
30824	s.CertificateName = &v
30825	return s
30826}
30827
30828// SetCreatedAt sets the CreatedAt field's value.
30829func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
30830	s.CreatedAt = &v
30831	return s
30832}
30833
30834// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
30835func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
30836	s.DefaultCacheBehavior = v
30837	return s
30838}
30839
30840// SetDomainName sets the DomainName field's value.
30841func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
30842	s.DomainName = &v
30843	return s
30844}
30845
30846// SetIpAddressType sets the IpAddressType field's value.
30847func (s *LightsailDistribution) SetIpAddressType(v string) *LightsailDistribution {
30848	s.IpAddressType = &v
30849	return s
30850}
30851
30852// SetIsEnabled sets the IsEnabled field's value.
30853func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
30854	s.IsEnabled = &v
30855	return s
30856}
30857
30858// SetLocation sets the Location field's value.
30859func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
30860	s.Location = v
30861	return s
30862}
30863
30864// SetName sets the Name field's value.
30865func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
30866	s.Name = &v
30867	return s
30868}
30869
30870// SetOrigin sets the Origin field's value.
30871func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
30872	s.Origin = v
30873	return s
30874}
30875
30876// SetOriginPublicDNS sets the OriginPublicDNS field's value.
30877func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
30878	s.OriginPublicDNS = &v
30879	return s
30880}
30881
30882// SetResourceType sets the ResourceType field's value.
30883func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
30884	s.ResourceType = &v
30885	return s
30886}
30887
30888// SetStatus sets the Status field's value.
30889func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
30890	s.Status = &v
30891	return s
30892}
30893
30894// SetSupportCode sets the SupportCode field's value.
30895func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
30896	s.SupportCode = &v
30897	return s
30898}
30899
30900// SetTags sets the Tags field's value.
30901func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
30902	s.Tags = v
30903	return s
30904}
30905
30906// Describes the Lightsail load balancer.
30907type LoadBalancer struct {
30908	_ struct{} `type:"structure"`
30909
30910	// The Amazon Resource Name (ARN) of the load balancer.
30911	Arn *string `locationName:"arn" type:"string"`
30912
30913	// A string to string map of the configuration options for your load balancer.
30914	// Valid values are listed below.
30915	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
30916
30917	// The date when your load balancer was created.
30918	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30919
30920	// The DNS name of your Lightsail load balancer.
30921	DnsName *string `locationName:"dnsName" type:"string"`
30922
30923	// The path you specified to perform your health checks. If no path is specified,
30924	// the load balancer tries to make a request to the default (root) page.
30925	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
30926
30927	// An array of InstanceHealthSummary objects describing the health of the load
30928	// balancer.
30929	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
30930
30931	// The port where the load balancer will direct traffic to your Lightsail instances.
30932	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
30933	InstancePort *int64 `locationName:"instancePort" type:"integer"`
30934
30935	// The IP address type of the load balancer.
30936	//
30937	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
30938	IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"`
30939
30940	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
30941	// automatically creates your load balancer across Availability Zones.
30942	Location *ResourceLocation `locationName:"location" type:"structure"`
30943
30944	// The name of the load balancer (e.g., my-load-balancer).
30945	Name *string `locationName:"name" type:"string"`
30946
30947	// The protocol you have enabled for your load balancer. Valid values are below.
30948	//
30949	// You can't just have HTTP_HTTPS, but you can have just HTTP.
30950	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
30951
30952	// An array of public port settings for your load balancer. For HTTP, use port
30953	// 80. For HTTPS, use port 443.
30954	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
30955
30956	// The resource type (e.g., LoadBalancer.
30957	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30958
30959	// The status of your load balancer. Valid values are below.
30960	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
30961
30962	// The support code. Include this code in your email to support when you have
30963	// questions about your Lightsail load balancer. This code enables our support
30964	// team to look up your Lightsail information more easily.
30965	SupportCode *string `locationName:"supportCode" type:"string"`
30966
30967	// The tag keys and optional values for the resource. For more information about
30968	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30969	Tags []*Tag `locationName:"tags" type:"list"`
30970
30971	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
30972	// information about the SSL/TLS certificates. For example, if true, the certificate
30973	// is attached to the load balancer.
30974	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
30975}
30976
30977// String returns the string representation
30978func (s LoadBalancer) String() string {
30979	return awsutil.Prettify(s)
30980}
30981
30982// GoString returns the string representation
30983func (s LoadBalancer) GoString() string {
30984	return s.String()
30985}
30986
30987// SetArn sets the Arn field's value.
30988func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
30989	s.Arn = &v
30990	return s
30991}
30992
30993// SetConfigurationOptions sets the ConfigurationOptions field's value.
30994func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
30995	s.ConfigurationOptions = v
30996	return s
30997}
30998
30999// SetCreatedAt sets the CreatedAt field's value.
31000func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
31001	s.CreatedAt = &v
31002	return s
31003}
31004
31005// SetDnsName sets the DnsName field's value.
31006func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
31007	s.DnsName = &v
31008	return s
31009}
31010
31011// SetHealthCheckPath sets the HealthCheckPath field's value.
31012func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
31013	s.HealthCheckPath = &v
31014	return s
31015}
31016
31017// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
31018func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
31019	s.InstanceHealthSummary = v
31020	return s
31021}
31022
31023// SetInstancePort sets the InstancePort field's value.
31024func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
31025	s.InstancePort = &v
31026	return s
31027}
31028
31029// SetIpAddressType sets the IpAddressType field's value.
31030func (s *LoadBalancer) SetIpAddressType(v string) *LoadBalancer {
31031	s.IpAddressType = &v
31032	return s
31033}
31034
31035// SetLocation sets the Location field's value.
31036func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
31037	s.Location = v
31038	return s
31039}
31040
31041// SetName sets the Name field's value.
31042func (s *LoadBalancer) SetName(v string) *LoadBalancer {
31043	s.Name = &v
31044	return s
31045}
31046
31047// SetProtocol sets the Protocol field's value.
31048func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
31049	s.Protocol = &v
31050	return s
31051}
31052
31053// SetPublicPorts sets the PublicPorts field's value.
31054func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
31055	s.PublicPorts = v
31056	return s
31057}
31058
31059// SetResourceType sets the ResourceType field's value.
31060func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
31061	s.ResourceType = &v
31062	return s
31063}
31064
31065// SetState sets the State field's value.
31066func (s *LoadBalancer) SetState(v string) *LoadBalancer {
31067	s.State = &v
31068	return s
31069}
31070
31071// SetSupportCode sets the SupportCode field's value.
31072func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
31073	s.SupportCode = &v
31074	return s
31075}
31076
31077// SetTags sets the Tags field's value.
31078func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
31079	s.Tags = v
31080	return s
31081}
31082
31083// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
31084func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
31085	s.TlsCertificateSummaries = v
31086	return s
31087}
31088
31089// Describes a load balancer SSL/TLS certificate.
31090//
31091// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
31092type LoadBalancerTlsCertificate struct {
31093	_ struct{} `type:"structure"`
31094
31095	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
31096	Arn *string `locationName:"arn" type:"string"`
31097
31098	// The time when you created your SSL/TLS certificate.
31099	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31100
31101	// The domain name for your SSL/TLS certificate.
31102	DomainName *string `locationName:"domainName" type:"string"`
31103
31104	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
31105	// the records.
31106	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
31107
31108	// The validation failure reason, if any, of the certificate.
31109	//
31110	// The following failure reasons are possible:
31111	//
31112	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
31113	//    is not available for Lightsail certificates.
31114	//
31115	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
31116	//    to process this certificate request. This can happen as a fraud-protection
31117	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
31118	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
31119	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
31120	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
31121	//    elasticbeanstalk.com.
31122	//
31123	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
31124	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
31125	//    To correct the problem, search for your domain name on the VirusTotal
31126	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
31127	//    as suspicious, see Google Help for Hacked Websites (https://developers.google.com/web/fundamentals/security/hacked)
31128	//    to learn what you can do. If you believe that the result is a false positive,
31129	//    notify the organization that is reporting the domain. VirusTotal is an
31130	//    aggregate of several antivirus and URL scanners and cannot remove your
31131	//    domain from a block list itself. After you correct the problem and the
31132	//    VirusTotal registry has been updated, request a new certificate. If you
31133	//    see this error and your domain is not included in the VirusTotal list,
31134	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
31135	//    and create a case.
31136	//
31137	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
31138	//    request is not valid. Typically, this is because a domain name in the
31139	//    request is not a valid top-level domain. Try to request a certificate
31140	//    again, correcting any spelling errors or typos that were in the failed
31141	//    request, and ensure that all domain names in the request are for valid
31142	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
31143	//    because invalidpublicdomain is not a valid top-level domain.
31144	//
31145	//    * OTHER - Typically, this failure occurs when there is a typographical
31146	//    error in one or more of the domain names in the certificate request. Try
31147	//    to request a certificate again, correcting any spelling errors or typos
31148	//    that were in the failed request.
31149	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
31150
31151	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
31152	IsAttached *bool `locationName:"isAttached" type:"boolean"`
31153
31154	// The time when the SSL/TLS certificate was issued.
31155	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
31156
31157	// The issuer of the certificate.
31158	Issuer *string `locationName:"issuer" type:"string"`
31159
31160	// The algorithm used to generate the key pair (the public and private key).
31161	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
31162
31163	// The load balancer name where your SSL/TLS certificate is attached.
31164	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
31165
31166	// The AWS Region and Availability Zone where you created your certificate.
31167	Location *ResourceLocation `locationName:"location" type:"structure"`
31168
31169	// The name of the SSL/TLS certificate (e.g., my-certificate).
31170	Name *string `locationName:"name" type:"string"`
31171
31172	// The timestamp when the SSL/TLS certificate expires.
31173	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
31174
31175	// The timestamp when the SSL/TLS certificate is first valid.
31176	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
31177
31178	// An object that describes the status of the certificate renewal managed by
31179	// Lightsail.
31180	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
31181
31182	// The resource type (e.g., LoadBalancerTlsCertificate).
31183	//
31184	//    * Instance - A Lightsail instance (a virtual private server)
31185	//
31186	//    * StaticIp - A static IP address
31187	//
31188	//    * KeyPair - The key pair used to connect to a Lightsail instance
31189	//
31190	//    * InstanceSnapshot - A Lightsail instance snapshot
31191	//
31192	//    * Domain - A DNS zone
31193	//
31194	//    * PeeredVpc - A peered VPC
31195	//
31196	//    * LoadBalancer - A Lightsail load balancer
31197	//
31198	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
31199	//    a Lightsail load balancer
31200	//
31201	//    * Disk - A Lightsail block storage disk
31202	//
31203	//    * DiskSnapshot - A block storage disk snapshot
31204	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31205
31206	// The reason the certificate was revoked. This value is present only when the
31207	// certificate status is REVOKED.
31208	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
31209
31210	// The timestamp when the certificate was revoked. This value is present only
31211	// when the certificate status is REVOKED.
31212	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
31213
31214	// The serial number of the certificate.
31215	Serial *string `locationName:"serial" type:"string"`
31216
31217	// The algorithm that was used to sign the certificate.
31218	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
31219
31220	// The validation status of the SSL/TLS certificate. Valid values are below.
31221	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
31222
31223	// The name of the entity that is associated with the public key contained in
31224	// the certificate.
31225	Subject *string `locationName:"subject" type:"string"`
31226
31227	// An array of strings that specify the alternate domains (e.g., example2.com)
31228	// and subdomains (e.g., blog.example.com) for the certificate.
31229	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
31230
31231	// The support code. Include this code in your email to support when you have
31232	// questions about your Lightsail load balancer or SSL/TLS certificate. This
31233	// code enables our support team to look up your Lightsail information more
31234	// easily.
31235	SupportCode *string `locationName:"supportCode" type:"string"`
31236
31237	// The tag keys and optional values for the resource. For more information about
31238	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
31239	Tags []*Tag `locationName:"tags" type:"list"`
31240}
31241
31242// String returns the string representation
31243func (s LoadBalancerTlsCertificate) String() string {
31244	return awsutil.Prettify(s)
31245}
31246
31247// GoString returns the string representation
31248func (s LoadBalancerTlsCertificate) GoString() string {
31249	return s.String()
31250}
31251
31252// SetArn sets the Arn field's value.
31253func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
31254	s.Arn = &v
31255	return s
31256}
31257
31258// SetCreatedAt sets the CreatedAt field's value.
31259func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
31260	s.CreatedAt = &v
31261	return s
31262}
31263
31264// SetDomainName sets the DomainName field's value.
31265func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
31266	s.DomainName = &v
31267	return s
31268}
31269
31270// SetDomainValidationRecords sets the DomainValidationRecords field's value.
31271func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
31272	s.DomainValidationRecords = v
31273	return s
31274}
31275
31276// SetFailureReason sets the FailureReason field's value.
31277func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
31278	s.FailureReason = &v
31279	return s
31280}
31281
31282// SetIsAttached sets the IsAttached field's value.
31283func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
31284	s.IsAttached = &v
31285	return s
31286}
31287
31288// SetIssuedAt sets the IssuedAt field's value.
31289func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
31290	s.IssuedAt = &v
31291	return s
31292}
31293
31294// SetIssuer sets the Issuer field's value.
31295func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
31296	s.Issuer = &v
31297	return s
31298}
31299
31300// SetKeyAlgorithm sets the KeyAlgorithm field's value.
31301func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
31302	s.KeyAlgorithm = &v
31303	return s
31304}
31305
31306// SetLoadBalancerName sets the LoadBalancerName field's value.
31307func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
31308	s.LoadBalancerName = &v
31309	return s
31310}
31311
31312// SetLocation sets the Location field's value.
31313func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
31314	s.Location = v
31315	return s
31316}
31317
31318// SetName sets the Name field's value.
31319func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
31320	s.Name = &v
31321	return s
31322}
31323
31324// SetNotAfter sets the NotAfter field's value.
31325func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
31326	s.NotAfter = &v
31327	return s
31328}
31329
31330// SetNotBefore sets the NotBefore field's value.
31331func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
31332	s.NotBefore = &v
31333	return s
31334}
31335
31336// SetRenewalSummary sets the RenewalSummary field's value.
31337func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
31338	s.RenewalSummary = v
31339	return s
31340}
31341
31342// SetResourceType sets the ResourceType field's value.
31343func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
31344	s.ResourceType = &v
31345	return s
31346}
31347
31348// SetRevocationReason sets the RevocationReason field's value.
31349func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
31350	s.RevocationReason = &v
31351	return s
31352}
31353
31354// SetRevokedAt sets the RevokedAt field's value.
31355func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
31356	s.RevokedAt = &v
31357	return s
31358}
31359
31360// SetSerial sets the Serial field's value.
31361func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
31362	s.Serial = &v
31363	return s
31364}
31365
31366// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
31367func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
31368	s.SignatureAlgorithm = &v
31369	return s
31370}
31371
31372// SetStatus sets the Status field's value.
31373func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
31374	s.Status = &v
31375	return s
31376}
31377
31378// SetSubject sets the Subject field's value.
31379func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
31380	s.Subject = &v
31381	return s
31382}
31383
31384// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
31385func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
31386	s.SubjectAlternativeNames = v
31387	return s
31388}
31389
31390// SetSupportCode sets the SupportCode field's value.
31391func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
31392	s.SupportCode = &v
31393	return s
31394}
31395
31396// SetTags sets the Tags field's value.
31397func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
31398	s.Tags = v
31399	return s
31400}
31401
31402// Contains information about the domain names on an SSL/TLS certificate that
31403// you will use to validate domain ownership.
31404type LoadBalancerTlsCertificateDomainValidationOption struct {
31405	_ struct{} `type:"structure"`
31406
31407	// The fully qualified domain name in the certificate request.
31408	DomainName *string `locationName:"domainName" type:"string"`
31409
31410	// The status of the domain validation. Valid values are listed below.
31411	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
31412}
31413
31414// String returns the string representation
31415func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
31416	return awsutil.Prettify(s)
31417}
31418
31419// GoString returns the string representation
31420func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
31421	return s.String()
31422}
31423
31424// SetDomainName sets the DomainName field's value.
31425func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
31426	s.DomainName = &v
31427	return s
31428}
31429
31430// SetValidationStatus sets the ValidationStatus field's value.
31431func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
31432	s.ValidationStatus = &v
31433	return s
31434}
31435
31436// Describes the validation record of each domain name in the SSL/TLS certificate.
31437type LoadBalancerTlsCertificateDomainValidationRecord struct {
31438	_ struct{} `type:"structure"`
31439
31440	// The domain name against which your SSL/TLS certificate was validated.
31441	DomainName *string `locationName:"domainName" type:"string"`
31442
31443	// A fully qualified domain name in the certificate. For example, example.com.
31444	Name *string `locationName:"name" type:"string"`
31445
31446	// The type of validation record. For example, CNAME for domain validation.
31447	Type *string `locationName:"type" type:"string"`
31448
31449	// The validation status. Valid values are listed below.
31450	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
31451
31452	// The value for that type.
31453	Value *string `locationName:"value" type:"string"`
31454}
31455
31456// String returns the string representation
31457func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
31458	return awsutil.Prettify(s)
31459}
31460
31461// GoString returns the string representation
31462func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
31463	return s.String()
31464}
31465
31466// SetDomainName sets the DomainName field's value.
31467func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31468	s.DomainName = &v
31469	return s
31470}
31471
31472// SetName sets the Name field's value.
31473func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31474	s.Name = &v
31475	return s
31476}
31477
31478// SetType sets the Type field's value.
31479func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31480	s.Type = &v
31481	return s
31482}
31483
31484// SetValidationStatus sets the ValidationStatus field's value.
31485func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31486	s.ValidationStatus = &v
31487	return s
31488}
31489
31490// SetValue sets the Value field's value.
31491func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
31492	s.Value = &v
31493	return s
31494}
31495
31496// Contains information about the status of Lightsail's managed renewal for
31497// the certificate.
31498//
31499// The renewal status of the certificate.
31500//
31501// The following renewal status are possible:
31502//
31503//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
31504//    the domain names in the certificate. No further action is required.
31505//
31506//    * PendingValidation - Lightsail couldn't automatically validate one or
31507//    more domain names in the certificate. You must take action to validate
31508//    these domain names or the certificate won't be renewed. If you used DNS
31509//    validation, check to make sure your certificate's domain validation records
31510//    exist in your domain's DNS, and that your certificate remains in use.
31511//
31512//    * Success - All domain names in the certificate are validated, and Lightsail
31513//    renewed the certificate. No further action is required.
31514//
31515//    * Failed - One or more domain names were not validated before the certificate
31516//    expired, and Lightsail did not renew the certificate. You can request
31517//    a new certificate using the CreateCertificate action.
31518type LoadBalancerTlsCertificateRenewalSummary struct {
31519	_ struct{} `type:"structure"`
31520
31521	// Contains information about the validation of each domain name in the certificate,
31522	// as it pertains to Lightsail's managed renewal. This is different from the
31523	// initial validation that occurs as a result of the RequestCertificate request.
31524	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
31525
31526	// The renewal status of the certificate.
31527	//
31528	// The following renewal status are possible:
31529	//
31530	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
31531	//    the domain names of the certificate. No further action is required.
31532	//
31533	//    * PendingValidation - Lightsail couldn't automatically validate one or
31534	//    more domain names of the certificate. You must take action to validate
31535	//    these domain names or the certificate won't be renewed. Check to make
31536	//    sure your certificate's domain validation records exist in your domain's
31537	//    DNS, and that your certificate remains in use.
31538	//
31539	//    * Success - All domain names in the certificate are validated, and Lightsail
31540	//    renewed the certificate. No further action is required.
31541	//
31542	//    * Failed - One or more domain names were not validated before the certificate
31543	//    expired, and Lightsail did not renew the certificate. You can request
31544	//    a new certificate using the CreateCertificate action.
31545	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
31546}
31547
31548// String returns the string representation
31549func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
31550	return awsutil.Prettify(s)
31551}
31552
31553// GoString returns the string representation
31554func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
31555	return s.String()
31556}
31557
31558// SetDomainValidationOptions sets the DomainValidationOptions field's value.
31559func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
31560	s.DomainValidationOptions = v
31561	return s
31562}
31563
31564// SetRenewalStatus sets the RenewalStatus field's value.
31565func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
31566	s.RenewalStatus = &v
31567	return s
31568}
31569
31570// Provides a summary of SSL/TLS certificate metadata.
31571type LoadBalancerTlsCertificateSummary struct {
31572	_ struct{} `type:"structure"`
31573
31574	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
31575	IsAttached *bool `locationName:"isAttached" type:"boolean"`
31576
31577	// The name of the SSL/TLS certificate.
31578	Name *string `locationName:"name" type:"string"`
31579}
31580
31581// String returns the string representation
31582func (s LoadBalancerTlsCertificateSummary) String() string {
31583	return awsutil.Prettify(s)
31584}
31585
31586// GoString returns the string representation
31587func (s LoadBalancerTlsCertificateSummary) GoString() string {
31588	return s.String()
31589}
31590
31591// SetIsAttached sets the IsAttached field's value.
31592func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
31593	s.IsAttached = &v
31594	return s
31595}
31596
31597// SetName sets the Name field's value.
31598func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
31599	s.Name = &v
31600	return s
31601}
31602
31603// Describes a database log event.
31604type LogEvent struct {
31605	_ struct{} `type:"structure"`
31606
31607	// The timestamp when the database log event was created.
31608	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31609
31610	// The message of the database log event.
31611	Message *string `locationName:"message" type:"string"`
31612}
31613
31614// String returns the string representation
31615func (s LogEvent) String() string {
31616	return awsutil.Prettify(s)
31617}
31618
31619// GoString returns the string representation
31620func (s LogEvent) GoString() string {
31621	return s.String()
31622}
31623
31624// SetCreatedAt sets the CreatedAt field's value.
31625func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
31626	s.CreatedAt = &v
31627	return s
31628}
31629
31630// SetMessage sets the Message field's value.
31631func (s *LogEvent) SetMessage(v string) *LogEvent {
31632	s.Message = &v
31633	return s
31634}
31635
31636// Describes the metric data point.
31637type MetricDatapoint struct {
31638	_ struct{} `type:"structure"`
31639
31640	// The average.
31641	Average *float64 `locationName:"average" type:"double"`
31642
31643	// The maximum.
31644	Maximum *float64 `locationName:"maximum" type:"double"`
31645
31646	// The minimum.
31647	Minimum *float64 `locationName:"minimum" type:"double"`
31648
31649	// The sample count.
31650	SampleCount *float64 `locationName:"sampleCount" type:"double"`
31651
31652	// The sum.
31653	Sum *float64 `locationName:"sum" type:"double"`
31654
31655	// The timestamp (e.g., 1479816991.349).
31656	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
31657
31658	// The unit.
31659	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
31660}
31661
31662// String returns the string representation
31663func (s MetricDatapoint) String() string {
31664	return awsutil.Prettify(s)
31665}
31666
31667// GoString returns the string representation
31668func (s MetricDatapoint) GoString() string {
31669	return s.String()
31670}
31671
31672// SetAverage sets the Average field's value.
31673func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
31674	s.Average = &v
31675	return s
31676}
31677
31678// SetMaximum sets the Maximum field's value.
31679func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
31680	s.Maximum = &v
31681	return s
31682}
31683
31684// SetMinimum sets the Minimum field's value.
31685func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
31686	s.Minimum = &v
31687	return s
31688}
31689
31690// SetSampleCount sets the SampleCount field's value.
31691func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
31692	s.SampleCount = &v
31693	return s
31694}
31695
31696// SetSum sets the Sum field's value.
31697func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
31698	s.Sum = &v
31699	return s
31700}
31701
31702// SetTimestamp sets the Timestamp field's value.
31703func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
31704	s.Timestamp = &v
31705	return s
31706}
31707
31708// SetUnit sets the Unit field's value.
31709func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
31710	s.Unit = &v
31711	return s
31712}
31713
31714// Describes resource being monitored by an alarm.
31715//
31716// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
31717// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
31718type MonitoredResourceInfo struct {
31719	_ struct{} `type:"structure"`
31720
31721	// The Amazon Resource Name (ARN) of the resource being monitored.
31722	Arn *string `locationName:"arn" type:"string"`
31723
31724	// The name of the Lightsail resource being monitored.
31725	Name *string `locationName:"name" type:"string"`
31726
31727	// The Lightsail resource type of the resource being monitored.
31728	//
31729	// Instances, load balancers, and relational databases are the only Lightsail
31730	// resources that can currently be monitored by alarms.
31731	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31732}
31733
31734// String returns the string representation
31735func (s MonitoredResourceInfo) String() string {
31736	return awsutil.Prettify(s)
31737}
31738
31739// GoString returns the string representation
31740func (s MonitoredResourceInfo) GoString() string {
31741	return s.String()
31742}
31743
31744// SetArn sets the Arn field's value.
31745func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
31746	s.Arn = &v
31747	return s
31748}
31749
31750// SetName sets the Name field's value.
31751func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
31752	s.Name = &v
31753	return s
31754}
31755
31756// SetResourceType sets the ResourceType field's value.
31757func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
31758	s.ResourceType = &v
31759	return s
31760}
31761
31762// Describes the monthly data transfer in and out of your virtual private server
31763// (or instance).
31764type MonthlyTransfer struct {
31765	_ struct{} `type:"structure"`
31766
31767	// The amount allocated per month (in GB).
31768	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
31769}
31770
31771// String returns the string representation
31772func (s MonthlyTransfer) String() string {
31773	return awsutil.Prettify(s)
31774}
31775
31776// GoString returns the string representation
31777func (s MonthlyTransfer) GoString() string {
31778	return s.String()
31779}
31780
31781// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
31782func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
31783	s.GbPerMonthAllocated = &v
31784	return s
31785}
31786
31787// Lightsail throws this exception when it cannot find a resource.
31788type NotFoundException struct {
31789	_            struct{}                  `type:"structure"`
31790	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31791
31792	Code_ *string `locationName:"code" type:"string"`
31793
31794	Docs *string `locationName:"docs" type:"string"`
31795
31796	Message_ *string `locationName:"message" type:"string"`
31797
31798	Tip *string `locationName:"tip" type:"string"`
31799}
31800
31801// String returns the string representation
31802func (s NotFoundException) String() string {
31803	return awsutil.Prettify(s)
31804}
31805
31806// GoString returns the string representation
31807func (s NotFoundException) GoString() string {
31808	return s.String()
31809}
31810
31811func newErrorNotFoundException(v protocol.ResponseMetadata) error {
31812	return &NotFoundException{
31813		RespMetadata: v,
31814	}
31815}
31816
31817// Code returns the exception type name.
31818func (s *NotFoundException) Code() string {
31819	return "NotFoundException"
31820}
31821
31822// Message returns the exception's message.
31823func (s *NotFoundException) Message() string {
31824	if s.Message_ != nil {
31825		return *s.Message_
31826	}
31827	return ""
31828}
31829
31830// OrigErr always returns nil, satisfies awserr.Error interface.
31831func (s *NotFoundException) OrigErr() error {
31832	return nil
31833}
31834
31835func (s *NotFoundException) Error() string {
31836	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31837}
31838
31839// Status code returns the HTTP status code for the request's response error.
31840func (s *NotFoundException) StatusCode() int {
31841	return s.RespMetadata.StatusCode
31842}
31843
31844// RequestID returns the service's response RequestID for request.
31845func (s *NotFoundException) RequestID() string {
31846	return s.RespMetadata.RequestID
31847}
31848
31849type OpenInstancePublicPortsInput struct {
31850	_ struct{} `type:"structure"`
31851
31852	// The name of the instance for which to open ports.
31853	//
31854	// InstanceName is a required field
31855	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
31856
31857	// An object to describe the ports to open for the specified instance.
31858	//
31859	// PortInfo is a required field
31860	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
31861}
31862
31863// String returns the string representation
31864func (s OpenInstancePublicPortsInput) String() string {
31865	return awsutil.Prettify(s)
31866}
31867
31868// GoString returns the string representation
31869func (s OpenInstancePublicPortsInput) GoString() string {
31870	return s.String()
31871}
31872
31873// Validate inspects the fields of the type to determine if they are valid.
31874func (s *OpenInstancePublicPortsInput) Validate() error {
31875	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
31876	if s.InstanceName == nil {
31877		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
31878	}
31879	if s.PortInfo == nil {
31880		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
31881	}
31882	if s.PortInfo != nil {
31883		if err := s.PortInfo.Validate(); err != nil {
31884			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
31885		}
31886	}
31887
31888	if invalidParams.Len() > 0 {
31889		return invalidParams
31890	}
31891	return nil
31892}
31893
31894// SetInstanceName sets the InstanceName field's value.
31895func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
31896	s.InstanceName = &v
31897	return s
31898}
31899
31900// SetPortInfo sets the PortInfo field's value.
31901func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
31902	s.PortInfo = v
31903	return s
31904}
31905
31906type OpenInstancePublicPortsOutput struct {
31907	_ struct{} `type:"structure"`
31908
31909	// An array of objects that describe the result of the action, such as the status
31910	// of the request, the timestamp of the request, and the resources affected
31911	// by the request.
31912	Operation *Operation `locationName:"operation" type:"structure"`
31913}
31914
31915// String returns the string representation
31916func (s OpenInstancePublicPortsOutput) String() string {
31917	return awsutil.Prettify(s)
31918}
31919
31920// GoString returns the string representation
31921func (s OpenInstancePublicPortsOutput) GoString() string {
31922	return s.String()
31923}
31924
31925// SetOperation sets the Operation field's value.
31926func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
31927	s.Operation = v
31928	return s
31929}
31930
31931// Describes the API operation.
31932type Operation struct {
31933	_ struct{} `type:"structure"`
31934
31935	// The timestamp when the operation was initialized (e.g., 1479816991.349).
31936	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
31937
31938	// The error code.
31939	ErrorCode *string `locationName:"errorCode" type:"string"`
31940
31941	// The error details.
31942	ErrorDetails *string `locationName:"errorDetails" type:"string"`
31943
31944	// The ID of the operation.
31945	Id *string `locationName:"id" type:"string"`
31946
31947	// A Boolean value indicating whether the operation is terminal.
31948	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
31949
31950	// The AWS Region and Availability Zone.
31951	Location *ResourceLocation `locationName:"location" type:"structure"`
31952
31953	// Details about the operation (e.g., Debian-1GB-Ohio-1).
31954	OperationDetails *string `locationName:"operationDetails" type:"string"`
31955
31956	// The type of operation.
31957	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
31958
31959	// The resource name.
31960	ResourceName *string `locationName:"resourceName" type:"string"`
31961
31962	// The resource type.
31963	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
31964
31965	// The status of the operation.
31966	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
31967
31968	// The timestamp when the status was changed (e.g., 1479816991.349).
31969	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
31970}
31971
31972// String returns the string representation
31973func (s Operation) String() string {
31974	return awsutil.Prettify(s)
31975}
31976
31977// GoString returns the string representation
31978func (s Operation) GoString() string {
31979	return s.String()
31980}
31981
31982// SetCreatedAt sets the CreatedAt field's value.
31983func (s *Operation) SetCreatedAt(v time.Time) *Operation {
31984	s.CreatedAt = &v
31985	return s
31986}
31987
31988// SetErrorCode sets the ErrorCode field's value.
31989func (s *Operation) SetErrorCode(v string) *Operation {
31990	s.ErrorCode = &v
31991	return s
31992}
31993
31994// SetErrorDetails sets the ErrorDetails field's value.
31995func (s *Operation) SetErrorDetails(v string) *Operation {
31996	s.ErrorDetails = &v
31997	return s
31998}
31999
32000// SetId sets the Id field's value.
32001func (s *Operation) SetId(v string) *Operation {
32002	s.Id = &v
32003	return s
32004}
32005
32006// SetIsTerminal sets the IsTerminal field's value.
32007func (s *Operation) SetIsTerminal(v bool) *Operation {
32008	s.IsTerminal = &v
32009	return s
32010}
32011
32012// SetLocation sets the Location field's value.
32013func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
32014	s.Location = v
32015	return s
32016}
32017
32018// SetOperationDetails sets the OperationDetails field's value.
32019func (s *Operation) SetOperationDetails(v string) *Operation {
32020	s.OperationDetails = &v
32021	return s
32022}
32023
32024// SetOperationType sets the OperationType field's value.
32025func (s *Operation) SetOperationType(v string) *Operation {
32026	s.OperationType = &v
32027	return s
32028}
32029
32030// SetResourceName sets the ResourceName field's value.
32031func (s *Operation) SetResourceName(v string) *Operation {
32032	s.ResourceName = &v
32033	return s
32034}
32035
32036// SetResourceType sets the ResourceType field's value.
32037func (s *Operation) SetResourceType(v string) *Operation {
32038	s.ResourceType = &v
32039	return s
32040}
32041
32042// SetStatus sets the Status field's value.
32043func (s *Operation) SetStatus(v string) *Operation {
32044	s.Status = &v
32045	return s
32046}
32047
32048// SetStatusChangedAt sets the StatusChangedAt field's value.
32049func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
32050	s.StatusChangedAt = &v
32051	return s
32052}
32053
32054// Lightsail throws this exception when an operation fails to execute.
32055type OperationFailureException struct {
32056	_            struct{}                  `type:"structure"`
32057	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
32058
32059	Code_ *string `locationName:"code" type:"string"`
32060
32061	Docs *string `locationName:"docs" type:"string"`
32062
32063	Message_ *string `locationName:"message" type:"string"`
32064
32065	Tip *string `locationName:"tip" type:"string"`
32066}
32067
32068// String returns the string representation
32069func (s OperationFailureException) String() string {
32070	return awsutil.Prettify(s)
32071}
32072
32073// GoString returns the string representation
32074func (s OperationFailureException) GoString() string {
32075	return s.String()
32076}
32077
32078func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
32079	return &OperationFailureException{
32080		RespMetadata: v,
32081	}
32082}
32083
32084// Code returns the exception type name.
32085func (s *OperationFailureException) Code() string {
32086	return "OperationFailureException"
32087}
32088
32089// Message returns the exception's message.
32090func (s *OperationFailureException) Message() string {
32091	if s.Message_ != nil {
32092		return *s.Message_
32093	}
32094	return ""
32095}
32096
32097// OrigErr always returns nil, satisfies awserr.Error interface.
32098func (s *OperationFailureException) OrigErr() error {
32099	return nil
32100}
32101
32102func (s *OperationFailureException) Error() string {
32103	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
32104}
32105
32106// Status code returns the HTTP status code for the request's response error.
32107func (s *OperationFailureException) StatusCode() int {
32108	return s.RespMetadata.StatusCode
32109}
32110
32111// RequestID returns the service's response RequestID for request.
32112func (s *OperationFailureException) RequestID() string {
32113	return s.RespMetadata.RequestID
32114}
32115
32116// Describes the origin resource of an Amazon Lightsail content delivery network
32117// (CDN) distribution.
32118//
32119// An origin can be a Lightsail instance or load balancer. A distribution pulls
32120// content from an origin, caches it, and serves it to viewers via a worldwide
32121// network of edge servers.
32122type Origin struct {
32123	_ struct{} `type:"structure"`
32124
32125	// The name of the origin resource.
32126	Name *string `locationName:"name" type:"string"`
32127
32128	// The protocol that your Amazon Lightsail distribution uses when establishing
32129	// a connection with your origin to pull content.
32130	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
32131
32132	// The AWS Region name of the origin resource.
32133	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
32134
32135	// The resource type of the origin resource (e.g., Instance).
32136	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
32137}
32138
32139// String returns the string representation
32140func (s Origin) String() string {
32141	return awsutil.Prettify(s)
32142}
32143
32144// GoString returns the string representation
32145func (s Origin) GoString() string {
32146	return s.String()
32147}
32148
32149// SetName sets the Name field's value.
32150func (s *Origin) SetName(v string) *Origin {
32151	s.Name = &v
32152	return s
32153}
32154
32155// SetProtocolPolicy sets the ProtocolPolicy field's value.
32156func (s *Origin) SetProtocolPolicy(v string) *Origin {
32157	s.ProtocolPolicy = &v
32158	return s
32159}
32160
32161// SetRegionName sets the RegionName field's value.
32162func (s *Origin) SetRegionName(v string) *Origin {
32163	s.RegionName = &v
32164	return s
32165}
32166
32167// SetResourceType sets the ResourceType field's value.
32168func (s *Origin) SetResourceType(v string) *Origin {
32169	s.ResourceType = &v
32170	return s
32171}
32172
32173// The password data for the Windows Server-based instance, including the ciphertext
32174// and the key pair name.
32175type PasswordData struct {
32176	_ struct{} `type:"structure"`
32177
32178	// The encrypted password. Ciphertext will be an empty string if access to your
32179	// new instance is not ready yet. When you create an instance, it can take up
32180	// to 15 minutes for the instance to be ready.
32181	//
32182	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
32183	// password will be available in the password field.
32184	//
32185	// If you are using a custom key pair, you need to use your own means of decryption.
32186	//
32187	// If you change the Administrator password on the instance, Lightsail will
32188	// continue to return the original ciphertext value. When accessing the instance
32189	// using RDP, you need to manually enter the Administrator password after changing
32190	// it from the default.
32191	Ciphertext *string `locationName:"ciphertext" type:"string"`
32192
32193	// The name of the key pair that you used when creating your instance. If no
32194	// key pair name was specified when creating the instance, Lightsail uses the
32195	// default key pair (LightsailDefaultKeyPair).
32196	//
32197	// If you are using a custom key pair, you need to use your own means of decrypting
32198	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
32199	// your password with the public key part of this key pair.
32200	KeyPairName *string `locationName:"keyPairName" type:"string"`
32201}
32202
32203// String returns the string representation
32204func (s PasswordData) String() string {
32205	return awsutil.Prettify(s)
32206}
32207
32208// GoString returns the string representation
32209func (s PasswordData) GoString() string {
32210	return s.String()
32211}
32212
32213// SetCiphertext sets the Ciphertext field's value.
32214func (s *PasswordData) SetCiphertext(v string) *PasswordData {
32215	s.Ciphertext = &v
32216	return s
32217}
32218
32219// SetKeyPairName sets the KeyPairName field's value.
32220func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
32221	s.KeyPairName = &v
32222	return s
32223}
32224
32225type PeerVpcInput struct {
32226	_ struct{} `type:"structure"`
32227}
32228
32229// String returns the string representation
32230func (s PeerVpcInput) String() string {
32231	return awsutil.Prettify(s)
32232}
32233
32234// GoString returns the string representation
32235func (s PeerVpcInput) GoString() string {
32236	return s.String()
32237}
32238
32239type PeerVpcOutput struct {
32240	_ struct{} `type:"structure"`
32241
32242	// An array of objects that describe the result of the action, such as the status
32243	// of the request, the timestamp of the request, and the resources affected
32244	// by the request.
32245	Operation *Operation `locationName:"operation" type:"structure"`
32246}
32247
32248// String returns the string representation
32249func (s PeerVpcOutput) String() string {
32250	return awsutil.Prettify(s)
32251}
32252
32253// GoString returns the string representation
32254func (s PeerVpcOutput) GoString() string {
32255	return s.String()
32256}
32257
32258// SetOperation sets the Operation field's value.
32259func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
32260	s.Operation = v
32261	return s
32262}
32263
32264// Describes a pending database maintenance action.
32265type PendingMaintenanceAction struct {
32266	_ struct{} `type:"structure"`
32267
32268	// The type of pending database maintenance action.
32269	Action *string `locationName:"action" type:"string"`
32270
32271	// The effective date of the pending database maintenance action.
32272	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
32273
32274	// Additional detail about the pending database maintenance action.
32275	Description *string `locationName:"description" type:"string"`
32276}
32277
32278// String returns the string representation
32279func (s PendingMaintenanceAction) String() string {
32280	return awsutil.Prettify(s)
32281}
32282
32283// GoString returns the string representation
32284func (s PendingMaintenanceAction) GoString() string {
32285	return s.String()
32286}
32287
32288// SetAction sets the Action field's value.
32289func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
32290	s.Action = &v
32291	return s
32292}
32293
32294// SetCurrentApplyDate sets the CurrentApplyDate field's value.
32295func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
32296	s.CurrentApplyDate = &v
32297	return s
32298}
32299
32300// SetDescription sets the Description field's value.
32301func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
32302	s.Description = &v
32303	return s
32304}
32305
32306// Describes a pending database value modification.
32307type PendingModifiedRelationalDatabaseValues struct {
32308	_ struct{} `type:"structure"`
32309
32310	// A Boolean value indicating whether automated backup retention is enabled.
32311	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
32312
32313	// The database engine version.
32314	EngineVersion *string `locationName:"engineVersion" type:"string"`
32315
32316	// The password for the master user of the database.
32317	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
32318}
32319
32320// String returns the string representation
32321func (s PendingModifiedRelationalDatabaseValues) String() string {
32322	return awsutil.Prettify(s)
32323}
32324
32325// GoString returns the string representation
32326func (s PendingModifiedRelationalDatabaseValues) GoString() string {
32327	return s.String()
32328}
32329
32330// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
32331func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
32332	s.BackupRetentionEnabled = &v
32333	return s
32334}
32335
32336// SetEngineVersion sets the EngineVersion field's value.
32337func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
32338	s.EngineVersion = &v
32339	return s
32340}
32341
32342// SetMasterUserPassword sets the MasterUserPassword field's value.
32343func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
32344	s.MasterUserPassword = &v
32345	return s
32346}
32347
32348// Describes ports to open on an instance, the IP addresses allowed to connect
32349// to the instance through the ports, and the protocol.
32350type PortInfo struct {
32351	_ struct{} `type:"structure"`
32352
32353	// An alias that defines access for a preconfigured range of IP addresses.
32354	//
32355	// The only alias currently supported is lightsail-connect, which allows IP
32356	// addresses of the browser-based RDP/SSH client in the Lightsail console to
32357	// connect to your instance.
32358	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
32359
32360	// The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are
32361	// allowed to connect to an instance through the ports, and the protocol.
32362	//
32363	// The ipv6Cidrs parameter lists the IPv6 addresses that are allowed to connect
32364	// to an instance.
32365	//
32366	// Examples:
32367	//
32368	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
32369	//
32370	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
32371	//
32372	// For more information about CIDR block notation, see Classless Inter-Domain
32373	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32374	// on Wikipedia.
32375	Cidrs []*string `locationName:"cidrs" type:"list"`
32376
32377	// The first port in a range of open ports on an instance.
32378	//
32379	// Allowed ports:
32380	//
32381	//    * TCP and UDP - 0 to 65535
32382	//
32383	//    * ICMP - The ICMP type for IPv4 addresses. For example, specify 8 as the
32384	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32385	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32386	//    on Wikipedia.
32387	//
32388	//    * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
32389	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32390	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32391	FromPort *int64 `locationName:"fromPort" type:"integer"`
32392
32393	// The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are
32394	// allowed to connect to an instance through the ports, and the protocol. Only
32395	// devices with an IPv6 address can connect to an instance through IPv6; otherwise,
32396	// IPv4 should be used.
32397	//
32398	// The cidrs parameter lists the IPv4 addresses that are allowed to connect
32399	// to an instance.
32400	//
32401	// For more information about CIDR block notation, see Classless Inter-Domain
32402	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
32403	// on Wikipedia.
32404	Ipv6Cidrs []*string `locationName:"ipv6Cidrs" type:"list"`
32405
32406	// The IP protocol name.
32407	//
32408	// The name can be one of the following:
32409	//
32410	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
32411	//    and error-checked delivery of streamed data between applications running
32412	//    on hosts communicating by an IP network. If you have an application that
32413	//    doesn't require reliable data stream service, use UDP instead.
32414	//
32415	//    * all - All transport layer protocol types. For more general information,
32416	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
32417	//    Wikipedia.
32418	//
32419	//    * udp - With User Datagram Protocol (UDP), computer applications can send
32420	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
32421	//    Prior communications are not required to set up transmission channels
32422	//    or data paths. Applications that don't require reliable data stream service
32423	//    can use UDP, which provides a connectionless datagram service that emphasizes
32424	//    reduced latency over reliability. If you do require reliable data stream
32425	//    service, use TCP instead.
32426	//
32427	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
32428	//    messages and operational information indicating success or failure when
32429	//    communicating with an instance. For example, an error is indicated when
32430	//    an instance could not be reached. When you specify icmp as the protocol,
32431	//    you must specify the ICMP type using the fromPort parameter, and ICMP
32432	//    code using the toPort parameter.
32433	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
32434
32435	// The last port in a range of open ports on an instance.
32436	//
32437	// Allowed ports:
32438	//
32439	//    * TCP and UDP - 0 to 65535
32440	//
32441	//    * ICMP - The ICMP code for IPv4 addresses. For example, specify 8 as the
32442	//    fromPort (ICMP type), and -1 as the toPort (ICMP code), to enable ICMP
32443	//    Ping. For more information, see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
32444	//    on Wikipedia.
32445	//
32446	//    * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
32447	//    as the fromPort (ICMPv6 type), and 0 as toPort (ICMPv6 code). For more
32448	//    information, see Internet Control Message Protocol for IPv6 (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6).
32449	ToPort *int64 `locationName:"toPort" type:"integer"`
32450}
32451
32452// String returns the string representation
32453func (s PortInfo) String() string {
32454	return awsutil.Prettify(s)
32455}
32456
32457// GoString returns the string representation
32458func (s PortInfo) GoString() string {
32459	return s.String()
32460}
32461
32462// Validate inspects the fields of the type to determine if they are valid.
32463func (s *PortInfo) Validate() error {
32464	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
32465	if s.FromPort != nil && *s.FromPort < -1 {
32466		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
32467	}
32468	if s.ToPort != nil && *s.ToPort < -1 {
32469		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
32470	}
32471
32472	if invalidParams.Len() > 0 {
32473		return invalidParams
32474	}
32475	return nil
32476}
32477
32478// SetCidrListAliases sets the CidrListAliases field's value.
32479func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
32480	s.CidrListAliases = v
32481	return s
32482}
32483
32484// SetCidrs sets the Cidrs field's value.
32485func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
32486	s.Cidrs = v
32487	return s
32488}
32489
32490// SetFromPort sets the FromPort field's value.
32491func (s *PortInfo) SetFromPort(v int64) *PortInfo {
32492	s.FromPort = &v
32493	return s
32494}
32495
32496// SetIpv6Cidrs sets the Ipv6Cidrs field's value.
32497func (s *PortInfo) SetIpv6Cidrs(v []*string) *PortInfo {
32498	s.Ipv6Cidrs = v
32499	return s
32500}
32501
32502// SetProtocol sets the Protocol field's value.
32503func (s *PortInfo) SetProtocol(v string) *PortInfo {
32504	s.Protocol = &v
32505	return s
32506}
32507
32508// SetToPort sets the ToPort field's value.
32509func (s *PortInfo) SetToPort(v int64) *PortInfo {
32510	s.ToPort = &v
32511	return s
32512}
32513
32514type PutAlarmInput struct {
32515	_ struct{} `type:"structure"`
32516
32517	// The name for the alarm. Specify the name of an existing alarm to update,
32518	// and overwrite the previous configuration of the alarm.
32519	//
32520	// AlarmName is a required field
32521	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
32522
32523	// The arithmetic operation to use when comparing the specified statistic to
32524	// the threshold. The specified statistic value is used as the first operand.
32525	//
32526	// ComparisonOperator is a required field
32527	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
32528
32529	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
32530	// or both.
32531	//
32532	// A notification is sent via the specified contact protocol if notifications
32533	// are enabled for the alarm, and when the alarm is triggered.
32534	//
32535	// A notification is not sent if a contact protocol is not specified, if the
32536	// specified contact protocol is not configured in the AWS Region, or if notifications
32537	// are not enabled for the alarm using the notificationEnabled paramater.
32538	//
32539	// Use the CreateContactMethod action to configure a contact protocol in an
32540	// AWS Region.
32541	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
32542
32543	// The number of data points that must be not within the specified threshold
32544	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
32545	// (datapointsToAlarm) is the M.
32546	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
32547
32548	// The number of most recent periods over which data is compared to the specified
32549	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
32550	// is the N.
32551	//
32552	// If you are setting an alarm that requires that a number of consecutive data
32553	// points be breaching to trigger the alarm, this value specifies the rolling
32554	// period of time in which data points are evaluated.
32555	//
32556	// Each evaluation period is five minutes long. For example, specify an evaluation
32557	// period of 24 to evaluate a metric over a rolling period of two hours.
32558	//
32559	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
32560	// evaluation period of 288 (24 hours).
32561	//
32562	// EvaluationPeriods is a required field
32563	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
32564
32565	// The name of the metric to associate with the alarm.
32566	//
32567	// You can configure up to two alarms per metric.
32568	//
32569	// The following metrics are available for each resource type:
32570	//
32571	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
32572	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
32573	//    and StatusCheckFailed_System.
32574	//
32575	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
32576	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
32577	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
32578	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
32579	//
32580	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
32581	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
32582	//
32583	// For more information about these metrics, see Metrics available in Lightsail
32584	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
32585	//
32586	// MetricName is a required field
32587	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
32588
32589	// The name of the Lightsail resource that will be monitored.
32590	//
32591	// Instances, load balancers, and relational databases are the only Lightsail
32592	// resources that can currently be monitored by alarms.
32593	//
32594	// MonitoredResourceName is a required field
32595	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
32596
32597	// Indicates whether the alarm is enabled.
32598	//
32599	// Notifications are enabled by default if you don't specify this parameter.
32600	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
32601
32602	// The alarm states that trigger a notification.
32603	//
32604	// An alarm has the following possible states:
32605	//
32606	//    * ALARM - The metric is outside of the defined threshold.
32607	//
32608	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
32609	//    or not enough data is available for the metric to determine the alarm
32610	//    state.
32611	//
32612	//    * OK - The metric is within the defined threshold.
32613	//
32614	// When you specify a notification trigger, the ALARM state must be specified.
32615	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
32616	// state.
32617	//
32618	//    * If you specify OK as an alarm trigger, a notification is sent when the
32619	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
32620	//    state. This can be thought of as an all clear alarm notification.
32621	//
32622	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
32623	//    is sent when the alarm switches from an OK or ALARM alarm state to an
32624	//    INSUFFICIENT_DATA state.
32625	//
32626	// The notification trigger defaults to ALARM if you don't specify this parameter.
32627	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
32628
32629	// The value against which the specified statistic is compared.
32630	//
32631	// Threshold is a required field
32632	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
32633
32634	// Sets how this alarm will handle missing data points.
32635	//
32636	// An alarm can treat missing data in the following ways:
32637	//
32638	//    * breaching - Assume the missing data is not within the threshold. Missing
32639	//    data counts towards the number of times the metric is not within the threshold.
32640	//
32641	//    * notBreaching - Assume the missing data is within the threshold. Missing
32642	//    data does not count towards the number of times the metric is not within
32643	//    the threshold.
32644	//
32645	//    * ignore - Ignore the missing data. Maintains the current alarm state.
32646	//
32647	//    * missing - Missing data is treated as missing.
32648	//
32649	// If treatMissingData is not specified, the default behavior of missing is
32650	// used.
32651	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
32652}
32653
32654// String returns the string representation
32655func (s PutAlarmInput) String() string {
32656	return awsutil.Prettify(s)
32657}
32658
32659// GoString returns the string representation
32660func (s PutAlarmInput) GoString() string {
32661	return s.String()
32662}
32663
32664// Validate inspects the fields of the type to determine if they are valid.
32665func (s *PutAlarmInput) Validate() error {
32666	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
32667	if s.AlarmName == nil {
32668		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
32669	}
32670	if s.ComparisonOperator == nil {
32671		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
32672	}
32673	if s.EvaluationPeriods == nil {
32674		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
32675	}
32676	if s.MetricName == nil {
32677		invalidParams.Add(request.NewErrParamRequired("MetricName"))
32678	}
32679	if s.MonitoredResourceName == nil {
32680		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
32681	}
32682	if s.Threshold == nil {
32683		invalidParams.Add(request.NewErrParamRequired("Threshold"))
32684	}
32685
32686	if invalidParams.Len() > 0 {
32687		return invalidParams
32688	}
32689	return nil
32690}
32691
32692// SetAlarmName sets the AlarmName field's value.
32693func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
32694	s.AlarmName = &v
32695	return s
32696}
32697
32698// SetComparisonOperator sets the ComparisonOperator field's value.
32699func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
32700	s.ComparisonOperator = &v
32701	return s
32702}
32703
32704// SetContactProtocols sets the ContactProtocols field's value.
32705func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
32706	s.ContactProtocols = v
32707	return s
32708}
32709
32710// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
32711func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
32712	s.DatapointsToAlarm = &v
32713	return s
32714}
32715
32716// SetEvaluationPeriods sets the EvaluationPeriods field's value.
32717func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
32718	s.EvaluationPeriods = &v
32719	return s
32720}
32721
32722// SetMetricName sets the MetricName field's value.
32723func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
32724	s.MetricName = &v
32725	return s
32726}
32727
32728// SetMonitoredResourceName sets the MonitoredResourceName field's value.
32729func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
32730	s.MonitoredResourceName = &v
32731	return s
32732}
32733
32734// SetNotificationEnabled sets the NotificationEnabled field's value.
32735func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
32736	s.NotificationEnabled = &v
32737	return s
32738}
32739
32740// SetNotificationTriggers sets the NotificationTriggers field's value.
32741func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
32742	s.NotificationTriggers = v
32743	return s
32744}
32745
32746// SetThreshold sets the Threshold field's value.
32747func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
32748	s.Threshold = &v
32749	return s
32750}
32751
32752// SetTreatMissingData sets the TreatMissingData field's value.
32753func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
32754	s.TreatMissingData = &v
32755	return s
32756}
32757
32758type PutAlarmOutput struct {
32759	_ struct{} `type:"structure"`
32760
32761	// An array of objects that describe the result of the action, such as the status
32762	// of the request, the timestamp of the request, and the resources affected
32763	// by the request.
32764	Operations []*Operation `locationName:"operations" type:"list"`
32765}
32766
32767// String returns the string representation
32768func (s PutAlarmOutput) String() string {
32769	return awsutil.Prettify(s)
32770}
32771
32772// GoString returns the string representation
32773func (s PutAlarmOutput) GoString() string {
32774	return s.String()
32775}
32776
32777// SetOperations sets the Operations field's value.
32778func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
32779	s.Operations = v
32780	return s
32781}
32782
32783type PutInstancePublicPortsInput struct {
32784	_ struct{} `type:"structure"`
32785
32786	// The name of the instance for which to open ports.
32787	//
32788	// InstanceName is a required field
32789	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
32790
32791	// An array of objects to describe the ports to open for the specified instance.
32792	//
32793	// PortInfos is a required field
32794	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
32795}
32796
32797// String returns the string representation
32798func (s PutInstancePublicPortsInput) String() string {
32799	return awsutil.Prettify(s)
32800}
32801
32802// GoString returns the string representation
32803func (s PutInstancePublicPortsInput) GoString() string {
32804	return s.String()
32805}
32806
32807// Validate inspects the fields of the type to determine if they are valid.
32808func (s *PutInstancePublicPortsInput) Validate() error {
32809	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
32810	if s.InstanceName == nil {
32811		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
32812	}
32813	if s.PortInfos == nil {
32814		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
32815	}
32816	if s.PortInfos != nil {
32817		for i, v := range s.PortInfos {
32818			if v == nil {
32819				continue
32820			}
32821			if err := v.Validate(); err != nil {
32822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
32823			}
32824		}
32825	}
32826
32827	if invalidParams.Len() > 0 {
32828		return invalidParams
32829	}
32830	return nil
32831}
32832
32833// SetInstanceName sets the InstanceName field's value.
32834func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
32835	s.InstanceName = &v
32836	return s
32837}
32838
32839// SetPortInfos sets the PortInfos field's value.
32840func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
32841	s.PortInfos = v
32842	return s
32843}
32844
32845type PutInstancePublicPortsOutput struct {
32846	_ struct{} `type:"structure"`
32847
32848	// An array of objects that describe the result of the action, such as the status
32849	// of the request, the timestamp of the request, and the resources affected
32850	// by the request.
32851	Operation *Operation `locationName:"operation" type:"structure"`
32852}
32853
32854// String returns the string representation
32855func (s PutInstancePublicPortsOutput) String() string {
32856	return awsutil.Prettify(s)
32857}
32858
32859// GoString returns the string representation
32860func (s PutInstancePublicPortsOutput) GoString() string {
32861	return s.String()
32862}
32863
32864// SetOperation sets the Operation field's value.
32865func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
32866	s.Operation = v
32867	return s
32868}
32869
32870// Describes the query string parameters that an Amazon Lightsail content delivery
32871// network (CDN) distribution to bases caching on.
32872//
32873// For the query strings that you specify, your distribution caches separate
32874// versions of the specified content based on the query string values in viewer
32875// requests.
32876type QueryStringObject struct {
32877	_ struct{} `type:"structure"`
32878
32879	// Indicates whether the distribution forwards and caches based on query strings.
32880	Option *bool `locationName:"option" type:"boolean"`
32881
32882	// The specific query strings that the distribution forwards to the origin.
32883	//
32884	// Your distribution will cache content based on the specified query strings.
32885	//
32886	// If the option parameter is true, then your distribution forwards all query
32887	// strings, regardless of what you specify using the queryStringsAllowList parameter.
32888	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
32889}
32890
32891// String returns the string representation
32892func (s QueryStringObject) String() string {
32893	return awsutil.Prettify(s)
32894}
32895
32896// GoString returns the string representation
32897func (s QueryStringObject) GoString() string {
32898	return s.String()
32899}
32900
32901// SetOption sets the Option field's value.
32902func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
32903	s.Option = &v
32904	return s
32905}
32906
32907// SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
32908func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
32909	s.QueryStringsAllowList = v
32910	return s
32911}
32912
32913type RebootInstanceInput struct {
32914	_ struct{} `type:"structure"`
32915
32916	// The name of the instance to reboot.
32917	//
32918	// InstanceName is a required field
32919	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
32920}
32921
32922// String returns the string representation
32923func (s RebootInstanceInput) String() string {
32924	return awsutil.Prettify(s)
32925}
32926
32927// GoString returns the string representation
32928func (s RebootInstanceInput) GoString() string {
32929	return s.String()
32930}
32931
32932// Validate inspects the fields of the type to determine if they are valid.
32933func (s *RebootInstanceInput) Validate() error {
32934	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
32935	if s.InstanceName == nil {
32936		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
32937	}
32938
32939	if invalidParams.Len() > 0 {
32940		return invalidParams
32941	}
32942	return nil
32943}
32944
32945// SetInstanceName sets the InstanceName field's value.
32946func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
32947	s.InstanceName = &v
32948	return s
32949}
32950
32951type RebootInstanceOutput struct {
32952	_ struct{} `type:"structure"`
32953
32954	// An array of objects that describe the result of the action, such as the status
32955	// of the request, the timestamp of the request, and the resources affected
32956	// by the request.
32957	Operations []*Operation `locationName:"operations" type:"list"`
32958}
32959
32960// String returns the string representation
32961func (s RebootInstanceOutput) String() string {
32962	return awsutil.Prettify(s)
32963}
32964
32965// GoString returns the string representation
32966func (s RebootInstanceOutput) GoString() string {
32967	return s.String()
32968}
32969
32970// SetOperations sets the Operations field's value.
32971func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
32972	s.Operations = v
32973	return s
32974}
32975
32976type RebootRelationalDatabaseInput struct {
32977	_ struct{} `type:"structure"`
32978
32979	// The name of your database to reboot.
32980	//
32981	// RelationalDatabaseName is a required field
32982	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
32983}
32984
32985// String returns the string representation
32986func (s RebootRelationalDatabaseInput) String() string {
32987	return awsutil.Prettify(s)
32988}
32989
32990// GoString returns the string representation
32991func (s RebootRelationalDatabaseInput) GoString() string {
32992	return s.String()
32993}
32994
32995// Validate inspects the fields of the type to determine if they are valid.
32996func (s *RebootRelationalDatabaseInput) Validate() error {
32997	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
32998	if s.RelationalDatabaseName == nil {
32999		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
33000	}
33001
33002	if invalidParams.Len() > 0 {
33003		return invalidParams
33004	}
33005	return nil
33006}
33007
33008// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
33009func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
33010	s.RelationalDatabaseName = &v
33011	return s
33012}
33013
33014type RebootRelationalDatabaseOutput struct {
33015	_ struct{} `type:"structure"`
33016
33017	// An array of objects that describe the result of the action, such as the status
33018	// of the request, the timestamp of the request, and the resources affected
33019	// by the request.
33020	Operations []*Operation `locationName:"operations" type:"list"`
33021}
33022
33023// String returns the string representation
33024func (s RebootRelationalDatabaseOutput) String() string {
33025	return awsutil.Prettify(s)
33026}
33027
33028// GoString returns the string representation
33029func (s RebootRelationalDatabaseOutput) GoString() string {
33030	return s.String()
33031}
33032
33033// SetOperations sets the Operations field's value.
33034func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
33035	s.Operations = v
33036	return s
33037}
33038
33039// Describes the AWS Region.
33040type Region struct {
33041	_ struct{} `type:"structure"`
33042
33043	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
33044	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
33045
33046	// The continent code (e.g., NA, meaning North America).
33047	ContinentCode *string `locationName:"continentCode" type:"string"`
33048
33049	// The description of the AWS Region (e.g., This region is recommended to serve
33050	// users in the eastern United States and eastern Canada).
33051	Description *string `locationName:"description" type:"string"`
33052
33053	// The display name (e.g., Ohio).
33054	DisplayName *string `locationName:"displayName" type:"string"`
33055
33056	// The region name (e.g., us-east-2).
33057	Name *string `locationName:"name" type:"string" enum:"RegionName"`
33058
33059	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
33060	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
33061}
33062
33063// String returns the string representation
33064func (s Region) String() string {
33065	return awsutil.Prettify(s)
33066}
33067
33068// GoString returns the string representation
33069func (s Region) GoString() string {
33070	return s.String()
33071}
33072
33073// SetAvailabilityZones sets the AvailabilityZones field's value.
33074func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
33075	s.AvailabilityZones = v
33076	return s
33077}
33078
33079// SetContinentCode sets the ContinentCode field's value.
33080func (s *Region) SetContinentCode(v string) *Region {
33081	s.ContinentCode = &v
33082	return s
33083}
33084
33085// SetDescription sets the Description field's value.
33086func (s *Region) SetDescription(v string) *Region {
33087	s.Description = &v
33088	return s
33089}
33090
33091// SetDisplayName sets the DisplayName field's value.
33092func (s *Region) SetDisplayName(v string) *Region {
33093	s.DisplayName = &v
33094	return s
33095}
33096
33097// SetName sets the Name field's value.
33098func (s *Region) SetName(v string) *Region {
33099	s.Name = &v
33100	return s
33101}
33102
33103// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
33104func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
33105	s.RelationalDatabaseAvailabilityZones = v
33106	return s
33107}
33108
33109type RegisterContainerImageInput struct {
33110	_ struct{} `type:"structure"`
33111
33112	// The digest of the container image to be registered.
33113	//
33114	// Digest is a required field
33115	Digest *string `locationName:"digest" type:"string" required:"true"`
33116
33117	// The label for the container image when it's registered to the container service.
33118	//
33119	// Use a descriptive label that you can use to track the different versions
33120	// of your registered container images.
33121	//
33122	// Use the GetContainerImages action to return the container images registered
33123	// to a Lightsail container service. The label is the <imagelabel> portion of
33124	// the following image name example:
33125	//
33126	//    * :container-service-1.<imagelabel>.1
33127	//
33128	// If the name of your container service is mycontainerservice, and the label
33129	// that you specify is mystaticwebsite, then the name of the registered container
33130	// image will be :mycontainerservice.mystaticwebsite.1.
33131	//
33132	// The number at the end of these image name examples represents the version
33133	// of the registered container image. If you push and register another container
33134	// image to the same Lightsail container service, with the same label, then
33135	// the version number for the new registered container image will be 2. If you
33136	// push and register another container image, the version number will be 3,
33137	// and so on.
33138	//
33139	// Label is a required field
33140	Label *string `locationName:"label" min:"1" type:"string" required:"true"`
33141
33142	// The name of the container service for which to register a container image.
33143	//
33144	// ServiceName is a required field
33145	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
33146}
33147
33148// String returns the string representation
33149func (s RegisterContainerImageInput) String() string {
33150	return awsutil.Prettify(s)
33151}
33152
33153// GoString returns the string representation
33154func (s RegisterContainerImageInput) GoString() string {
33155	return s.String()
33156}
33157
33158// Validate inspects the fields of the type to determine if they are valid.
33159func (s *RegisterContainerImageInput) Validate() error {
33160	invalidParams := request.ErrInvalidParams{Context: "RegisterContainerImageInput"}
33161	if s.Digest == nil {
33162		invalidParams.Add(request.NewErrParamRequired("Digest"))
33163	}
33164	if s.Label == nil {
33165		invalidParams.Add(request.NewErrParamRequired("Label"))
33166	}
33167	if s.Label != nil && len(*s.Label) < 1 {
33168		invalidParams.Add(request.NewErrParamMinLen("Label", 1))
33169	}
33170	if s.ServiceName == nil {
33171		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
33172	}
33173	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
33174		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
33175	}
33176
33177	if invalidParams.Len() > 0 {
33178		return invalidParams
33179	}
33180	return nil
33181}
33182
33183// SetDigest sets the Digest field's value.
33184func (s *RegisterContainerImageInput) SetDigest(v string) *RegisterContainerImageInput {
33185	s.Digest = &v
33186	return s
33187}
33188
33189// SetLabel sets the Label field's value.
33190func (s *RegisterContainerImageInput) SetLabel(v string) *RegisterContainerImageInput {
33191	s.Label = &v
33192	return s
33193}
33194
33195// SetServiceName sets the ServiceName field's value.
33196func (s *RegisterContainerImageInput) SetServiceName(v string) *RegisterContainerImageInput {
33197	s.ServiceName = &v
33198	return s
33199}
33200
33201type RegisterContainerImageOutput struct {
33202	_ struct{} `type:"structure"`
33203
33204	// Describes a container image that is registered to an Amazon Lightsail container
33205	// service.
33206	ContainerImage *ContainerImage `locationName:"containerImage" type:"structure"`
33207}
33208
33209// String returns the string representation
33210func (s RegisterContainerImageOutput) String() string {
33211	return awsutil.Prettify(s)
33212}
33213
33214// GoString returns the string representation
33215func (s RegisterContainerImageOutput) GoString() string {
33216	return s.String()
33217}
33218
33219// SetContainerImage sets the ContainerImage field's value.
33220func (s *RegisterContainerImageOutput) SetContainerImage(v *ContainerImage) *RegisterContainerImageOutput {
33221	s.ContainerImage = v
33222	return s
33223}
33224
33225// Describes a database.
33226type RelationalDatabase struct {
33227	_ struct{} `type:"structure"`
33228
33229	// The Amazon Resource Name (ARN) of the database.
33230	Arn *string `locationName:"arn" type:"string"`
33231
33232	// A Boolean value indicating whether automated backup retention is enabled
33233	// for the database.
33234	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
33235
33236	// The certificate associated with the database.
33237	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
33238
33239	// The timestamp when the database was created. Formatted in Unix time.
33240	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33241
33242	// The database software (for example, MySQL).
33243	Engine *string `locationName:"engine" type:"string"`
33244
33245	// The database engine version (for example, 5.7.23).
33246	EngineVersion *string `locationName:"engineVersion" type:"string"`
33247
33248	// Describes the hardware of the database.
33249	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
33250
33251	// The latest point in time to which the database can be restored. Formatted
33252	// in Unix time.
33253	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
33254
33255	// The Region name and Availability Zone where the database is located.
33256	Location *ResourceLocation `locationName:"location" type:"structure"`
33257
33258	// The name of the master database created when the Lightsail database resource
33259	// is created.
33260	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
33261
33262	// The master endpoint for the database.
33263	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
33264
33265	// The master user name of the database.
33266	MasterUsername *string `locationName:"masterUsername" type:"string"`
33267
33268	// The unique name of the database resource in Lightsail.
33269	Name *string `locationName:"name" type:"string"`
33270
33271	// The status of parameter updates for the database.
33272	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
33273
33274	// Describes the pending maintenance actions for the database.
33275	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
33276
33277	// Describes pending database value modifications.
33278	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
33279
33280	// The daily time range during which automated backups are created for the database
33281	// (for example, 16:00-16:30).
33282	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
33283
33284	// The weekly time range during which system maintenance can occur on the database.
33285	//
33286	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
33287	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
33288
33289	// A Boolean value indicating whether the database is publicly accessible.
33290	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
33291
33292	// The blueprint ID for the database. A blueprint describes the major engine
33293	// version of a database.
33294	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
33295
33296	// The bundle ID for the database. A bundle describes the performance specifications
33297	// for your database.
33298	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
33299
33300	// The Lightsail resource type for the database (for example, RelationalDatabase).
33301	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33302
33303	// Describes the secondary Availability Zone of a high availability database.
33304	//
33305	// The secondary database is used for failover support of a high availability
33306	// database.
33307	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
33308
33309	// Describes the current state of the database.
33310	State *string `locationName:"state" type:"string"`
33311
33312	// The support code for the database. Include this code in your email to support
33313	// when you have questions about a database in Lightsail. This code enables
33314	// our support team to look up your Lightsail information more easily.
33315	SupportCode *string `locationName:"supportCode" type:"string"`
33316
33317	// The tag keys and optional values for the resource. For more information about
33318	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
33319	Tags []*Tag `locationName:"tags" type:"list"`
33320}
33321
33322// String returns the string representation
33323func (s RelationalDatabase) String() string {
33324	return awsutil.Prettify(s)
33325}
33326
33327// GoString returns the string representation
33328func (s RelationalDatabase) GoString() string {
33329	return s.String()
33330}
33331
33332// SetArn sets the Arn field's value.
33333func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
33334	s.Arn = &v
33335	return s
33336}
33337
33338// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
33339func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
33340	s.BackupRetentionEnabled = &v
33341	return s
33342}
33343
33344// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
33345func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
33346	s.CaCertificateIdentifier = &v
33347	return s
33348}
33349
33350// SetCreatedAt sets the CreatedAt field's value.
33351func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
33352	s.CreatedAt = &v
33353	return s
33354}
33355
33356// SetEngine sets the Engine field's value.
33357func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
33358	s.Engine = &v
33359	return s
33360}
33361
33362// SetEngineVersion sets the EngineVersion field's value.
33363func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
33364	s.EngineVersion = &v
33365	return s
33366}
33367
33368// SetHardware sets the Hardware field's value.
33369func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
33370	s.Hardware = v
33371	return s
33372}
33373
33374// SetLatestRestorableTime sets the LatestRestorableTime field's value.
33375func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
33376	s.LatestRestorableTime = &v
33377	return s
33378}
33379
33380// SetLocation sets the Location field's value.
33381func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
33382	s.Location = v
33383	return s
33384}
33385
33386// SetMasterDatabaseName sets the MasterDatabaseName field's value.
33387func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
33388	s.MasterDatabaseName = &v
33389	return s
33390}
33391
33392// SetMasterEndpoint sets the MasterEndpoint field's value.
33393func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
33394	s.MasterEndpoint = v
33395	return s
33396}
33397
33398// SetMasterUsername sets the MasterUsername field's value.
33399func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
33400	s.MasterUsername = &v
33401	return s
33402}
33403
33404// SetName sets the Name field's value.
33405func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
33406	s.Name = &v
33407	return s
33408}
33409
33410// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
33411func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
33412	s.ParameterApplyStatus = &v
33413	return s
33414}
33415
33416// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
33417func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
33418	s.PendingMaintenanceActions = v
33419	return s
33420}
33421
33422// SetPendingModifiedValues sets the PendingModifiedValues field's value.
33423func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
33424	s.PendingModifiedValues = v
33425	return s
33426}
33427
33428// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
33429func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
33430	s.PreferredBackupWindow = &v
33431	return s
33432}
33433
33434// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
33435func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
33436	s.PreferredMaintenanceWindow = &v
33437	return s
33438}
33439
33440// SetPubliclyAccessible sets the PubliclyAccessible field's value.
33441func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
33442	s.PubliclyAccessible = &v
33443	return s
33444}
33445
33446// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
33447func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
33448	s.RelationalDatabaseBlueprintId = &v
33449	return s
33450}
33451
33452// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
33453func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
33454	s.RelationalDatabaseBundleId = &v
33455	return s
33456}
33457
33458// SetResourceType sets the ResourceType field's value.
33459func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
33460	s.ResourceType = &v
33461	return s
33462}
33463
33464// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
33465func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
33466	s.SecondaryAvailabilityZone = &v
33467	return s
33468}
33469
33470// SetState sets the State field's value.
33471func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
33472	s.State = &v
33473	return s
33474}
33475
33476// SetSupportCode sets the SupportCode field's value.
33477func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
33478	s.SupportCode = &v
33479	return s
33480}
33481
33482// SetTags sets the Tags field's value.
33483func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
33484	s.Tags = v
33485	return s
33486}
33487
33488// Describes a database image, or blueprint. A blueprint describes the major
33489// engine version of a database.
33490type RelationalDatabaseBlueprint struct {
33491	_ struct{} `type:"structure"`
33492
33493	// The ID for the database blueprint.
33494	BlueprintId *string `locationName:"blueprintId" type:"string"`
33495
33496	// The database software of the database blueprint (for example, MySQL).
33497	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
33498
33499	// The description of the database engine for the database blueprint.
33500	EngineDescription *string `locationName:"engineDescription" type:"string"`
33501
33502	// The database engine version for the database blueprint (for example, 5.7.23).
33503	EngineVersion *string `locationName:"engineVersion" type:"string"`
33504
33505	// The description of the database engine version for the database blueprint.
33506	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
33507
33508	// A Boolean value indicating whether the engine version is the default for
33509	// the database blueprint.
33510	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
33511}
33512
33513// String returns the string representation
33514func (s RelationalDatabaseBlueprint) String() string {
33515	return awsutil.Prettify(s)
33516}
33517
33518// GoString returns the string representation
33519func (s RelationalDatabaseBlueprint) GoString() string {
33520	return s.String()
33521}
33522
33523// SetBlueprintId sets the BlueprintId field's value.
33524func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
33525	s.BlueprintId = &v
33526	return s
33527}
33528
33529// SetEngine sets the Engine field's value.
33530func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
33531	s.Engine = &v
33532	return s
33533}
33534
33535// SetEngineDescription sets the EngineDescription field's value.
33536func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
33537	s.EngineDescription = &v
33538	return s
33539}
33540
33541// SetEngineVersion sets the EngineVersion field's value.
33542func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
33543	s.EngineVersion = &v
33544	return s
33545}
33546
33547// SetEngineVersionDescription sets the EngineVersionDescription field's value.
33548func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
33549	s.EngineVersionDescription = &v
33550	return s
33551}
33552
33553// SetIsEngineDefault sets the IsEngineDefault field's value.
33554func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
33555	s.IsEngineDefault = &v
33556	return s
33557}
33558
33559// Describes a database bundle. A bundle describes the performance specifications
33560// of the database.
33561type RelationalDatabaseBundle struct {
33562	_ struct{} `type:"structure"`
33563
33564	// The ID for the database bundle.
33565	BundleId *string `locationName:"bundleId" type:"string"`
33566
33567	// The number of virtual CPUs (vCPUs) for the database bundle.
33568	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
33569
33570	// The size of the disk for the database bundle.
33571	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
33572
33573	// A Boolean value indicating whether the database bundle is active.
33574	IsActive *bool `locationName:"isActive" type:"boolean"`
33575
33576	// A Boolean value indicating whether the database bundle is encrypted.
33577	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
33578
33579	// The name for the database bundle.
33580	Name *string `locationName:"name" type:"string"`
33581
33582	// The cost of the database bundle in US currency.
33583	Price *float64 `locationName:"price" type:"float"`
33584
33585	// The amount of RAM in GB (for example, 2.0) for the database bundle.
33586	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
33587
33588	// The data transfer rate per month in GB for the database bundle.
33589	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
33590}
33591
33592// String returns the string representation
33593func (s RelationalDatabaseBundle) String() string {
33594	return awsutil.Prettify(s)
33595}
33596
33597// GoString returns the string representation
33598func (s RelationalDatabaseBundle) GoString() string {
33599	return s.String()
33600}
33601
33602// SetBundleId sets the BundleId field's value.
33603func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
33604	s.BundleId = &v
33605	return s
33606}
33607
33608// SetCpuCount sets the CpuCount field's value.
33609func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
33610	s.CpuCount = &v
33611	return s
33612}
33613
33614// SetDiskSizeInGb sets the DiskSizeInGb field's value.
33615func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
33616	s.DiskSizeInGb = &v
33617	return s
33618}
33619
33620// SetIsActive sets the IsActive field's value.
33621func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
33622	s.IsActive = &v
33623	return s
33624}
33625
33626// SetIsEncrypted sets the IsEncrypted field's value.
33627func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
33628	s.IsEncrypted = &v
33629	return s
33630}
33631
33632// SetName sets the Name field's value.
33633func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
33634	s.Name = &v
33635	return s
33636}
33637
33638// SetPrice sets the Price field's value.
33639func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
33640	s.Price = &v
33641	return s
33642}
33643
33644// SetRamSizeInGb sets the RamSizeInGb field's value.
33645func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
33646	s.RamSizeInGb = &v
33647	return s
33648}
33649
33650// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
33651func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
33652	s.TransferPerMonthInGb = &v
33653	return s
33654}
33655
33656// Describes an endpoint for a database.
33657type RelationalDatabaseEndpoint struct {
33658	_ struct{} `type:"structure"`
33659
33660	// Specifies the DNS address of the database.
33661	Address *string `locationName:"address" type:"string"`
33662
33663	// Specifies the port that the database is listening on.
33664	Port *int64 `locationName:"port" type:"integer"`
33665}
33666
33667// String returns the string representation
33668func (s RelationalDatabaseEndpoint) String() string {
33669	return awsutil.Prettify(s)
33670}
33671
33672// GoString returns the string representation
33673func (s RelationalDatabaseEndpoint) GoString() string {
33674	return s.String()
33675}
33676
33677// SetAddress sets the Address field's value.
33678func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
33679	s.Address = &v
33680	return s
33681}
33682
33683// SetPort sets the Port field's value.
33684func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
33685	s.Port = &v
33686	return s
33687}
33688
33689// Describes an event for a database.
33690type RelationalDatabaseEvent struct {
33691	_ struct{} `type:"structure"`
33692
33693	// The timestamp when the database event was created.
33694	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33695
33696	// The category that the database event belongs to.
33697	EventCategories []*string `locationName:"eventCategories" type:"list"`
33698
33699	// The message of the database event.
33700	Message *string `locationName:"message" type:"string"`
33701
33702	// The database that the database event relates to.
33703	Resource *string `locationName:"resource" type:"string"`
33704}
33705
33706// String returns the string representation
33707func (s RelationalDatabaseEvent) String() string {
33708	return awsutil.Prettify(s)
33709}
33710
33711// GoString returns the string representation
33712func (s RelationalDatabaseEvent) GoString() string {
33713	return s.String()
33714}
33715
33716// SetCreatedAt sets the CreatedAt field's value.
33717func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
33718	s.CreatedAt = &v
33719	return s
33720}
33721
33722// SetEventCategories sets the EventCategories field's value.
33723func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
33724	s.EventCategories = v
33725	return s
33726}
33727
33728// SetMessage sets the Message field's value.
33729func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
33730	s.Message = &v
33731	return s
33732}
33733
33734// SetResource sets the Resource field's value.
33735func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
33736	s.Resource = &v
33737	return s
33738}
33739
33740// Describes the hardware of a database.
33741type RelationalDatabaseHardware struct {
33742	_ struct{} `type:"structure"`
33743
33744	// The number of vCPUs for the database.
33745	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
33746
33747	// The size of the disk for the database.
33748	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
33749
33750	// The amount of RAM in GB for the database.
33751	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
33752}
33753
33754// String returns the string representation
33755func (s RelationalDatabaseHardware) String() string {
33756	return awsutil.Prettify(s)
33757}
33758
33759// GoString returns the string representation
33760func (s RelationalDatabaseHardware) GoString() string {
33761	return s.String()
33762}
33763
33764// SetCpuCount sets the CpuCount field's value.
33765func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
33766	s.CpuCount = &v
33767	return s
33768}
33769
33770// SetDiskSizeInGb sets the DiskSizeInGb field's value.
33771func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
33772	s.DiskSizeInGb = &v
33773	return s
33774}
33775
33776// SetRamSizeInGb sets the RamSizeInGb field's value.
33777func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
33778	s.RamSizeInGb = &v
33779	return s
33780}
33781
33782// Describes the parameters of a database.
33783type RelationalDatabaseParameter struct {
33784	_ struct{} `type:"structure"`
33785
33786	// Specifies the valid range of values for the parameter.
33787	AllowedValues *string `locationName:"allowedValues" type:"string"`
33788
33789	// Indicates when parameter updates are applied.
33790	//
33791	// Can be immediate or pending-reboot.
33792	ApplyMethod *string `locationName:"applyMethod" type:"string"`
33793
33794	// Specifies the engine-specific parameter type.
33795	ApplyType *string `locationName:"applyType" type:"string"`
33796
33797	// Specifies the valid data type for the parameter.
33798	DataType *string `locationName:"dataType" type:"string"`
33799
33800	// Provides a description of the parameter.
33801	Description *string `locationName:"description" type:"string"`
33802
33803	// A Boolean value indicating whether the parameter can be modified.
33804	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
33805
33806	// Specifies the name of the parameter.
33807	ParameterName *string `locationName:"parameterName" type:"string"`
33808
33809	// Specifies the value of the parameter.
33810	ParameterValue *string `locationName:"parameterValue" type:"string"`
33811}
33812
33813// String returns the string representation
33814func (s RelationalDatabaseParameter) String() string {
33815	return awsutil.Prettify(s)
33816}
33817
33818// GoString returns the string representation
33819func (s RelationalDatabaseParameter) GoString() string {
33820	return s.String()
33821}
33822
33823// SetAllowedValues sets the AllowedValues field's value.
33824func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
33825	s.AllowedValues = &v
33826	return s
33827}
33828
33829// SetApplyMethod sets the ApplyMethod field's value.
33830func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
33831	s.ApplyMethod = &v
33832	return s
33833}
33834
33835// SetApplyType sets the ApplyType field's value.
33836func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
33837	s.ApplyType = &v
33838	return s
33839}
33840
33841// SetDataType sets the DataType field's value.
33842func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
33843	s.DataType = &v
33844	return s
33845}
33846
33847// SetDescription sets the Description field's value.
33848func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
33849	s.Description = &v
33850	return s
33851}
33852
33853// SetIsModifiable sets the IsModifiable field's value.
33854func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
33855	s.IsModifiable = &v
33856	return s
33857}
33858
33859// SetParameterName sets the ParameterName field's value.
33860func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
33861	s.ParameterName = &v
33862	return s
33863}
33864
33865// SetParameterValue sets the ParameterValue field's value.
33866func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
33867	s.ParameterValue = &v
33868	return s
33869}
33870
33871// Describes a database snapshot.
33872type RelationalDatabaseSnapshot struct {
33873	_ struct{} `type:"structure"`
33874
33875	// The Amazon Resource Name (ARN) of the database snapshot.
33876	Arn *string `locationName:"arn" type:"string"`
33877
33878	// The timestamp when the database snapshot was created.
33879	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
33880
33881	// The software of the database snapshot (for example, MySQL)
33882	Engine *string `locationName:"engine" type:"string"`
33883
33884	// The database engine version for the database snapshot (for example, 5.7.23).
33885	EngineVersion *string `locationName:"engineVersion" type:"string"`
33886
33887	// The Amazon Resource Name (ARN) of the database from which the database snapshot
33888	// was created.
33889	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
33890
33891	// The blueprint ID of the database from which the database snapshot was created.
33892	// A blueprint describes the major engine version of a database.
33893	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
33894
33895	// The bundle ID of the database from which the database snapshot was created.
33896	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
33897
33898	// The name of the source database from which the database snapshot was created.
33899	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
33900
33901	// The Region name and Availability Zone where the database snapshot is located.
33902	Location *ResourceLocation `locationName:"location" type:"structure"`
33903
33904	// The name of the database snapshot.
33905	Name *string `locationName:"name" type:"string"`
33906
33907	// The Lightsail resource type.
33908	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
33909
33910	// The size of the disk in GB (for example, 32) for the database snapshot.
33911	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
33912
33913	// The state of the database snapshot.
33914	State *string `locationName:"state" type:"string"`
33915
33916	// The support code for the database snapshot. Include this code in your email
33917	// to support when you have questions about a database snapshot in Lightsail.
33918	// This code enables our support team to look up your Lightsail information
33919	// more easily.
33920	SupportCode *string `locationName:"supportCode" type:"string"`
33921
33922	// The tag keys and optional values for the resource. For more information about
33923	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
33924	Tags []*Tag `locationName:"tags" type:"list"`
33925}
33926
33927// String returns the string representation
33928func (s RelationalDatabaseSnapshot) String() string {
33929	return awsutil.Prettify(s)
33930}
33931
33932// GoString returns the string representation
33933func (s RelationalDatabaseSnapshot) GoString() string {
33934	return s.String()
33935}
33936
33937// SetArn sets the Arn field's value.
33938func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
33939	s.Arn = &v
33940	return s
33941}
33942
33943// SetCreatedAt sets the CreatedAt field's value.
33944func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
33945	s.CreatedAt = &v
33946	return s
33947}
33948
33949// SetEngine sets the Engine field's value.
33950func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
33951	s.Engine = &v
33952	return s
33953}
33954
33955// SetEngineVersion sets the EngineVersion field's value.
33956func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
33957	s.EngineVersion = &v
33958	return s
33959}
33960
33961// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
33962func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
33963	s.FromRelationalDatabaseArn = &v
33964	return s
33965}
33966
33967// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
33968func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
33969	s.FromRelationalDatabaseBlueprintId = &v
33970	return s
33971}
33972
33973// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
33974func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
33975	s.FromRelationalDatabaseBundleId = &v
33976	return s
33977}
33978
33979// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
33980func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
33981	s.FromRelationalDatabaseName = &v
33982	return s
33983}
33984
33985// SetLocation sets the Location field's value.
33986func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
33987	s.Location = v
33988	return s
33989}
33990
33991// SetName sets the Name field's value.
33992func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
33993	s.Name = &v
33994	return s
33995}
33996
33997// SetResourceType sets the ResourceType field's value.
33998func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
33999	s.ResourceType = &v
34000	return s
34001}
34002
34003// SetSizeInGb sets the SizeInGb field's value.
34004func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
34005	s.SizeInGb = &v
34006	return s
34007}
34008
34009// SetState sets the State field's value.
34010func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
34011	s.State = &v
34012	return s
34013}
34014
34015// SetSupportCode sets the SupportCode field's value.
34016func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
34017	s.SupportCode = &v
34018	return s
34019}
34020
34021// SetTags sets the Tags field's value.
34022func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
34023	s.Tags = v
34024	return s
34025}
34026
34027type ReleaseStaticIpInput struct {
34028	_ struct{} `type:"structure"`
34029
34030	// The name of the static IP to delete.
34031	//
34032	// StaticIpName is a required field
34033	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
34034}
34035
34036// String returns the string representation
34037func (s ReleaseStaticIpInput) String() string {
34038	return awsutil.Prettify(s)
34039}
34040
34041// GoString returns the string representation
34042func (s ReleaseStaticIpInput) GoString() string {
34043	return s.String()
34044}
34045
34046// Validate inspects the fields of the type to determine if they are valid.
34047func (s *ReleaseStaticIpInput) Validate() error {
34048	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
34049	if s.StaticIpName == nil {
34050		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
34051	}
34052
34053	if invalidParams.Len() > 0 {
34054		return invalidParams
34055	}
34056	return nil
34057}
34058
34059// SetStaticIpName sets the StaticIpName field's value.
34060func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
34061	s.StaticIpName = &v
34062	return s
34063}
34064
34065type ReleaseStaticIpOutput struct {
34066	_ struct{} `type:"structure"`
34067
34068	// An array of objects that describe the result of the action, such as the status
34069	// of the request, the timestamp of the request, and the resources affected
34070	// by the request.
34071	Operations []*Operation `locationName:"operations" type:"list"`
34072}
34073
34074// String returns the string representation
34075func (s ReleaseStaticIpOutput) String() string {
34076	return awsutil.Prettify(s)
34077}
34078
34079// GoString returns the string representation
34080func (s ReleaseStaticIpOutput) GoString() string {
34081	return s.String()
34082}
34083
34084// SetOperations sets the Operations field's value.
34085func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
34086	s.Operations = v
34087	return s
34088}
34089
34090// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
34091type RenewalSummary struct {
34092	_ struct{} `type:"structure"`
34093
34094	// An array of objects that describe the domain validation records of the certificate.
34095	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
34096
34097	// The renewal status of the certificate.
34098	//
34099	// The following renewal status are possible:
34100	//
34101	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
34102	//    the domain names of the certificate. No further action is required.
34103	//
34104	//    * PendingValidation - Lightsail couldn't automatically validate one or
34105	//    more domain names of the certificate. You must take action to validate
34106	//    these domain names or the certificate won't be renewed. Check to make
34107	//    sure your certificate's domain validation records exist in your domain's
34108	//    DNS, and that your certificate remains in use.
34109	//
34110	//    * Success - All domain names in the certificate are validated, and Lightsail
34111	//    renewed the certificate. No further action is required.
34112	//
34113	//    * Failed - One or more domain names were not validated before the certificate
34114	//    expired, and Lightsail did not renew the certificate. You can request
34115	//    a new certificate using the CreateCertificate action.
34116	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
34117
34118	// The reason for the renewal status of the certificate.
34119	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
34120
34121	// The timestamp when the certificate was last updated.
34122	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
34123}
34124
34125// String returns the string representation
34126func (s RenewalSummary) String() string {
34127	return awsutil.Prettify(s)
34128}
34129
34130// GoString returns the string representation
34131func (s RenewalSummary) GoString() string {
34132	return s.String()
34133}
34134
34135// SetDomainValidationRecords sets the DomainValidationRecords field's value.
34136func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
34137	s.DomainValidationRecords = v
34138	return s
34139}
34140
34141// SetRenewalStatus sets the RenewalStatus field's value.
34142func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
34143	s.RenewalStatus = &v
34144	return s
34145}
34146
34147// SetRenewalStatusReason sets the RenewalStatusReason field's value.
34148func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
34149	s.RenewalStatusReason = &v
34150	return s
34151}
34152
34153// SetUpdatedAt sets the UpdatedAt field's value.
34154func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
34155	s.UpdatedAt = &v
34156	return s
34157}
34158
34159type ResetDistributionCacheInput struct {
34160	_ struct{} `type:"structure"`
34161
34162	// The name of the distribution for which to reset cache.
34163	//
34164	// Use the GetDistributions action to get a list of distribution names that
34165	// you can specify.
34166	DistributionName *string `locationName:"distributionName" type:"string"`
34167}
34168
34169// String returns the string representation
34170func (s ResetDistributionCacheInput) String() string {
34171	return awsutil.Prettify(s)
34172}
34173
34174// GoString returns the string representation
34175func (s ResetDistributionCacheInput) GoString() string {
34176	return s.String()
34177}
34178
34179// SetDistributionName sets the DistributionName field's value.
34180func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
34181	s.DistributionName = &v
34182	return s
34183}
34184
34185type ResetDistributionCacheOutput struct {
34186	_ struct{} `type:"structure"`
34187
34188	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
34189	// format.
34190	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
34191
34192	// An array of objects that describe the result of the action, such as the status
34193	// of the request, the timestamp of the request, and the resources affected
34194	// by the request.
34195	Operation *Operation `locationName:"operation" type:"structure"`
34196
34197	// The status of the reset cache request.
34198	Status *string `locationName:"status" type:"string"`
34199}
34200
34201// String returns the string representation
34202func (s ResetDistributionCacheOutput) String() string {
34203	return awsutil.Prettify(s)
34204}
34205
34206// GoString returns the string representation
34207func (s ResetDistributionCacheOutput) GoString() string {
34208	return s.String()
34209}
34210
34211// SetCreateTime sets the CreateTime field's value.
34212func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
34213	s.CreateTime = &v
34214	return s
34215}
34216
34217// SetOperation sets the Operation field's value.
34218func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
34219	s.Operation = v
34220	return s
34221}
34222
34223// SetStatus sets the Status field's value.
34224func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
34225	s.Status = &v
34226	return s
34227}
34228
34229// Describes the resource location.
34230type ResourceLocation struct {
34231	_ struct{} `type:"structure"`
34232
34233	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
34234	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
34235
34236	// The AWS Region name.
34237	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
34238}
34239
34240// String returns the string representation
34241func (s ResourceLocation) String() string {
34242	return awsutil.Prettify(s)
34243}
34244
34245// GoString returns the string representation
34246func (s ResourceLocation) GoString() string {
34247	return s.String()
34248}
34249
34250// SetAvailabilityZone sets the AvailabilityZone field's value.
34251func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
34252	s.AvailabilityZone = &v
34253	return s
34254}
34255
34256// SetRegionName sets the RegionName field's value.
34257func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
34258	s.RegionName = &v
34259	return s
34260}
34261
34262// Describes the domain name system (DNS) records to add to your domain's DNS
34263// to validate it for an Amazon Lightsail certificate.
34264type ResourceRecord struct {
34265	_ struct{} `type:"structure"`
34266
34267	// The name of the record.
34268	Name *string `locationName:"name" type:"string"`
34269
34270	// The DNS record type.
34271	Type *string `locationName:"type" type:"string"`
34272
34273	// The value for the DNS record.
34274	Value *string `locationName:"value" type:"string"`
34275}
34276
34277// String returns the string representation
34278func (s ResourceRecord) String() string {
34279	return awsutil.Prettify(s)
34280}
34281
34282// GoString returns the string representation
34283func (s ResourceRecord) GoString() string {
34284	return s.String()
34285}
34286
34287// SetName sets the Name field's value.
34288func (s *ResourceRecord) SetName(v string) *ResourceRecord {
34289	s.Name = &v
34290	return s
34291}
34292
34293// SetType sets the Type field's value.
34294func (s *ResourceRecord) SetType(v string) *ResourceRecord {
34295	s.Type = &v
34296	return s
34297}
34298
34299// SetValue sets the Value field's value.
34300func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
34301	s.Value = &v
34302	return s
34303}
34304
34305type SendContactMethodVerificationInput struct {
34306	_ struct{} `type:"structure"`
34307
34308	// The protocol to verify, such as Email or SMS (text messaging).
34309	//
34310	// Protocol is a required field
34311	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
34312}
34313
34314// String returns the string representation
34315func (s SendContactMethodVerificationInput) String() string {
34316	return awsutil.Prettify(s)
34317}
34318
34319// GoString returns the string representation
34320func (s SendContactMethodVerificationInput) GoString() string {
34321	return s.String()
34322}
34323
34324// Validate inspects the fields of the type to determine if they are valid.
34325func (s *SendContactMethodVerificationInput) Validate() error {
34326	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
34327	if s.Protocol == nil {
34328		invalidParams.Add(request.NewErrParamRequired("Protocol"))
34329	}
34330
34331	if invalidParams.Len() > 0 {
34332		return invalidParams
34333	}
34334	return nil
34335}
34336
34337// SetProtocol sets the Protocol field's value.
34338func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
34339	s.Protocol = &v
34340	return s
34341}
34342
34343type SendContactMethodVerificationOutput struct {
34344	_ struct{} `type:"structure"`
34345
34346	// An array of objects that describe the result of the action, such as the status
34347	// of the request, the timestamp of the request, and the resources affected
34348	// by the request.
34349	Operations []*Operation `locationName:"operations" type:"list"`
34350}
34351
34352// String returns the string representation
34353func (s SendContactMethodVerificationOutput) String() string {
34354	return awsutil.Prettify(s)
34355}
34356
34357// GoString returns the string representation
34358func (s SendContactMethodVerificationOutput) GoString() string {
34359	return s.String()
34360}
34361
34362// SetOperations sets the Operations field's value.
34363func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
34364	s.Operations = v
34365	return s
34366}
34367
34368// A general service exception.
34369type ServiceException struct {
34370	_            struct{}                  `type:"structure"`
34371	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34372
34373	Code_ *string `locationName:"code" type:"string"`
34374
34375	Docs *string `locationName:"docs" type:"string"`
34376
34377	Message_ *string `locationName:"message" type:"string"`
34378
34379	Tip *string `locationName:"tip" type:"string"`
34380}
34381
34382// String returns the string representation
34383func (s ServiceException) String() string {
34384	return awsutil.Prettify(s)
34385}
34386
34387// GoString returns the string representation
34388func (s ServiceException) GoString() string {
34389	return s.String()
34390}
34391
34392func newErrorServiceException(v protocol.ResponseMetadata) error {
34393	return &ServiceException{
34394		RespMetadata: v,
34395	}
34396}
34397
34398// Code returns the exception type name.
34399func (s *ServiceException) Code() string {
34400	return "ServiceException"
34401}
34402
34403// Message returns the exception's message.
34404func (s *ServiceException) Message() string {
34405	if s.Message_ != nil {
34406		return *s.Message_
34407	}
34408	return ""
34409}
34410
34411// OrigErr always returns nil, satisfies awserr.Error interface.
34412func (s *ServiceException) OrigErr() error {
34413	return nil
34414}
34415
34416func (s *ServiceException) Error() string {
34417	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34418}
34419
34420// Status code returns the HTTP status code for the request's response error.
34421func (s *ServiceException) StatusCode() int {
34422	return s.RespMetadata.StatusCode
34423}
34424
34425// RequestID returns the service's response RequestID for request.
34426func (s *ServiceException) RequestID() string {
34427	return s.RespMetadata.RequestID
34428}
34429
34430type SetIpAddressTypeInput struct {
34431	_ struct{} `type:"structure"`
34432
34433	// The IP address type to set for the specified resource.
34434	//
34435	// The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.
34436	//
34437	// IpAddressType is a required field
34438	IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"`
34439
34440	// The name of the resource for which to set the IP address type.
34441	//
34442	// ResourceName is a required field
34443	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
34444
34445	// The resource type.
34446	//
34447	// The possible values are Distribution, Instance, and LoadBalancer.
34448	//
34449	// Distribution-related APIs are available only in the N. Virginia (us-east-1)
34450	// AWS Region. Set your AWS Region configuration to us-east-1 to create, view,
34451	// or edit distributions.
34452	//
34453	// ResourceType is a required field
34454	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
34455}
34456
34457// String returns the string representation
34458func (s SetIpAddressTypeInput) String() string {
34459	return awsutil.Prettify(s)
34460}
34461
34462// GoString returns the string representation
34463func (s SetIpAddressTypeInput) GoString() string {
34464	return s.String()
34465}
34466
34467// Validate inspects the fields of the type to determine if they are valid.
34468func (s *SetIpAddressTypeInput) Validate() error {
34469	invalidParams := request.ErrInvalidParams{Context: "SetIpAddressTypeInput"}
34470	if s.IpAddressType == nil {
34471		invalidParams.Add(request.NewErrParamRequired("IpAddressType"))
34472	}
34473	if s.ResourceName == nil {
34474		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
34475	}
34476	if s.ResourceType == nil {
34477		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
34478	}
34479
34480	if invalidParams.Len() > 0 {
34481		return invalidParams
34482	}
34483	return nil
34484}
34485
34486// SetIpAddressType sets the IpAddressType field's value.
34487func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput {
34488	s.IpAddressType = &v
34489	return s
34490}
34491
34492// SetResourceName sets the ResourceName field's value.
34493func (s *SetIpAddressTypeInput) SetResourceName(v string) *SetIpAddressTypeInput {
34494	s.ResourceName = &v
34495	return s
34496}
34497
34498// SetResourceType sets the ResourceType field's value.
34499func (s *SetIpAddressTypeInput) SetResourceType(v string) *SetIpAddressTypeInput {
34500	s.ResourceType = &v
34501	return s
34502}
34503
34504type SetIpAddressTypeOutput struct {
34505	_ struct{} `type:"structure"`
34506
34507	// An array of objects that describe the result of the action, such as the status
34508	// of the request, the timestamp of the request, and the resources affected
34509	// by the request.
34510	Operations []*Operation `locationName:"operations" type:"list"`
34511}
34512
34513// String returns the string representation
34514func (s SetIpAddressTypeOutput) String() string {
34515	return awsutil.Prettify(s)
34516}
34517
34518// GoString returns the string representation
34519func (s SetIpAddressTypeOutput) GoString() string {
34520	return s.String()
34521}
34522
34523// SetOperations sets the Operations field's value.
34524func (s *SetIpAddressTypeOutput) SetOperations(v []*Operation) *SetIpAddressTypeOutput {
34525	s.Operations = v
34526	return s
34527}
34528
34529type StartInstanceInput struct {
34530	_ struct{} `type:"structure"`
34531
34532	// The name of the instance (a virtual private server) to start.
34533	//
34534	// InstanceName is a required field
34535	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
34536}
34537
34538// String returns the string representation
34539func (s StartInstanceInput) String() string {
34540	return awsutil.Prettify(s)
34541}
34542
34543// GoString returns the string representation
34544func (s StartInstanceInput) GoString() string {
34545	return s.String()
34546}
34547
34548// Validate inspects the fields of the type to determine if they are valid.
34549func (s *StartInstanceInput) Validate() error {
34550	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
34551	if s.InstanceName == nil {
34552		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
34553	}
34554
34555	if invalidParams.Len() > 0 {
34556		return invalidParams
34557	}
34558	return nil
34559}
34560
34561// SetInstanceName sets the InstanceName field's value.
34562func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
34563	s.InstanceName = &v
34564	return s
34565}
34566
34567type StartInstanceOutput struct {
34568	_ struct{} `type:"structure"`
34569
34570	// An array of objects that describe the result of the action, such as the status
34571	// of the request, the timestamp of the request, and the resources affected
34572	// by the request.
34573	Operations []*Operation `locationName:"operations" type:"list"`
34574}
34575
34576// String returns the string representation
34577func (s StartInstanceOutput) String() string {
34578	return awsutil.Prettify(s)
34579}
34580
34581// GoString returns the string representation
34582func (s StartInstanceOutput) GoString() string {
34583	return s.String()
34584}
34585
34586// SetOperations sets the Operations field's value.
34587func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
34588	s.Operations = v
34589	return s
34590}
34591
34592type StartRelationalDatabaseInput struct {
34593	_ struct{} `type:"structure"`
34594
34595	// The name of your database to start.
34596	//
34597	// RelationalDatabaseName is a required field
34598	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
34599}
34600
34601// String returns the string representation
34602func (s StartRelationalDatabaseInput) String() string {
34603	return awsutil.Prettify(s)
34604}
34605
34606// GoString returns the string representation
34607func (s StartRelationalDatabaseInput) GoString() string {
34608	return s.String()
34609}
34610
34611// Validate inspects the fields of the type to determine if they are valid.
34612func (s *StartRelationalDatabaseInput) Validate() error {
34613	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
34614	if s.RelationalDatabaseName == nil {
34615		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
34616	}
34617
34618	if invalidParams.Len() > 0 {
34619		return invalidParams
34620	}
34621	return nil
34622}
34623
34624// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
34625func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
34626	s.RelationalDatabaseName = &v
34627	return s
34628}
34629
34630type StartRelationalDatabaseOutput struct {
34631	_ struct{} `type:"structure"`
34632
34633	// An array of objects that describe the result of the action, such as the status
34634	// of the request, the timestamp of the request, and the resources affected
34635	// by the request.
34636	Operations []*Operation `locationName:"operations" type:"list"`
34637}
34638
34639// String returns the string representation
34640func (s StartRelationalDatabaseOutput) String() string {
34641	return awsutil.Prettify(s)
34642}
34643
34644// GoString returns the string representation
34645func (s StartRelationalDatabaseOutput) GoString() string {
34646	return s.String()
34647}
34648
34649// SetOperations sets the Operations field's value.
34650func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
34651	s.Operations = v
34652	return s
34653}
34654
34655// Describes the static IP.
34656type StaticIp struct {
34657	_ struct{} `type:"structure"`
34658
34659	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
34660	Arn *string `locationName:"arn" type:"string"`
34661
34662	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
34663	AttachedTo *string `locationName:"attachedTo" type:"string"`
34664
34665	// The timestamp when the static IP was created (e.g., 1479735304.222).
34666	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
34667
34668	// The static IP address.
34669	IpAddress *string `locationName:"ipAddress" type:"string"`
34670
34671	// A Boolean value indicating whether the static IP is attached.
34672	IsAttached *bool `locationName:"isAttached" type:"boolean"`
34673
34674	// The region and Availability Zone where the static IP was created.
34675	Location *ResourceLocation `locationName:"location" type:"structure"`
34676
34677	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
34678	Name *string `locationName:"name" type:"string"`
34679
34680	// The resource type (usually StaticIp).
34681	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
34682
34683	// The support code. Include this code in your email to support when you have
34684	// questions about an instance or another resource in Lightsail. This code enables
34685	// our support team to look up your Lightsail information more easily.
34686	SupportCode *string `locationName:"supportCode" type:"string"`
34687}
34688
34689// String returns the string representation
34690func (s StaticIp) String() string {
34691	return awsutil.Prettify(s)
34692}
34693
34694// GoString returns the string representation
34695func (s StaticIp) GoString() string {
34696	return s.String()
34697}
34698
34699// SetArn sets the Arn field's value.
34700func (s *StaticIp) SetArn(v string) *StaticIp {
34701	s.Arn = &v
34702	return s
34703}
34704
34705// SetAttachedTo sets the AttachedTo field's value.
34706func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
34707	s.AttachedTo = &v
34708	return s
34709}
34710
34711// SetCreatedAt sets the CreatedAt field's value.
34712func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
34713	s.CreatedAt = &v
34714	return s
34715}
34716
34717// SetIpAddress sets the IpAddress field's value.
34718func (s *StaticIp) SetIpAddress(v string) *StaticIp {
34719	s.IpAddress = &v
34720	return s
34721}
34722
34723// SetIsAttached sets the IsAttached field's value.
34724func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
34725	s.IsAttached = &v
34726	return s
34727}
34728
34729// SetLocation sets the Location field's value.
34730func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
34731	s.Location = v
34732	return s
34733}
34734
34735// SetName sets the Name field's value.
34736func (s *StaticIp) SetName(v string) *StaticIp {
34737	s.Name = &v
34738	return s
34739}
34740
34741// SetResourceType sets the ResourceType field's value.
34742func (s *StaticIp) SetResourceType(v string) *StaticIp {
34743	s.ResourceType = &v
34744	return s
34745}
34746
34747// SetSupportCode sets the SupportCode field's value.
34748func (s *StaticIp) SetSupportCode(v string) *StaticIp {
34749	s.SupportCode = &v
34750	return s
34751}
34752
34753type StopInstanceInput struct {
34754	_ struct{} `type:"structure"`
34755
34756	// When set to True, forces a Lightsail instance that is stuck in a stopping
34757	// state to stop.
34758	//
34759	// Only use the force parameter if your instance is stuck in the stopping state.
34760	// In any other state, your instance should stop normally without adding this
34761	// parameter to your API request.
34762	Force *bool `locationName:"force" type:"boolean"`
34763
34764	// The name of the instance (a virtual private server) to stop.
34765	//
34766	// InstanceName is a required field
34767	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
34768}
34769
34770// String returns the string representation
34771func (s StopInstanceInput) String() string {
34772	return awsutil.Prettify(s)
34773}
34774
34775// GoString returns the string representation
34776func (s StopInstanceInput) GoString() string {
34777	return s.String()
34778}
34779
34780// Validate inspects the fields of the type to determine if they are valid.
34781func (s *StopInstanceInput) Validate() error {
34782	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
34783	if s.InstanceName == nil {
34784		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
34785	}
34786
34787	if invalidParams.Len() > 0 {
34788		return invalidParams
34789	}
34790	return nil
34791}
34792
34793// SetForce sets the Force field's value.
34794func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
34795	s.Force = &v
34796	return s
34797}
34798
34799// SetInstanceName sets the InstanceName field's value.
34800func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
34801	s.InstanceName = &v
34802	return s
34803}
34804
34805type StopInstanceOutput struct {
34806	_ struct{} `type:"structure"`
34807
34808	// An array of objects that describe the result of the action, such as the status
34809	// of the request, the timestamp of the request, and the resources affected
34810	// by the request.
34811	Operations []*Operation `locationName:"operations" type:"list"`
34812}
34813
34814// String returns the string representation
34815func (s StopInstanceOutput) String() string {
34816	return awsutil.Prettify(s)
34817}
34818
34819// GoString returns the string representation
34820func (s StopInstanceOutput) GoString() string {
34821	return s.String()
34822}
34823
34824// SetOperations sets the Operations field's value.
34825func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
34826	s.Operations = v
34827	return s
34828}
34829
34830type StopRelationalDatabaseInput struct {
34831	_ struct{} `type:"structure"`
34832
34833	// The name of your database to stop.
34834	//
34835	// RelationalDatabaseName is a required field
34836	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
34837
34838	// The name of your new database snapshot to be created before stopping your
34839	// database.
34840	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
34841}
34842
34843// String returns the string representation
34844func (s StopRelationalDatabaseInput) String() string {
34845	return awsutil.Prettify(s)
34846}
34847
34848// GoString returns the string representation
34849func (s StopRelationalDatabaseInput) GoString() string {
34850	return s.String()
34851}
34852
34853// Validate inspects the fields of the type to determine if they are valid.
34854func (s *StopRelationalDatabaseInput) Validate() error {
34855	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
34856	if s.RelationalDatabaseName == nil {
34857		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
34858	}
34859
34860	if invalidParams.Len() > 0 {
34861		return invalidParams
34862	}
34863	return nil
34864}
34865
34866// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
34867func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
34868	s.RelationalDatabaseName = &v
34869	return s
34870}
34871
34872// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
34873func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
34874	s.RelationalDatabaseSnapshotName = &v
34875	return s
34876}
34877
34878type StopRelationalDatabaseOutput struct {
34879	_ struct{} `type:"structure"`
34880
34881	// An array of objects that describe the result of the action, such as the status
34882	// of the request, the timestamp of the request, and the resources affected
34883	// by the request.
34884	Operations []*Operation `locationName:"operations" type:"list"`
34885}
34886
34887// String returns the string representation
34888func (s StopRelationalDatabaseOutput) String() string {
34889	return awsutil.Prettify(s)
34890}
34891
34892// GoString returns the string representation
34893func (s StopRelationalDatabaseOutput) GoString() string {
34894	return s.String()
34895}
34896
34897// SetOperations sets the Operations field's value.
34898func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
34899	s.Operations = v
34900	return s
34901}
34902
34903// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
34904//
34905// For more information about tags in Lightsail, see the Lightsail Dev Guide
34906// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
34907type Tag struct {
34908	_ struct{} `type:"structure"`
34909
34910	// The key of the tag.
34911	//
34912	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
34913	// UTF-8, or the following characters: + - = . _ : / @
34914	Key *string `locationName:"key" type:"string"`
34915
34916	// The value of the tag.
34917	//
34918	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
34919	// in UTF-8, or the following characters: + - = . _ : / @
34920	Value *string `locationName:"value" type:"string"`
34921}
34922
34923// String returns the string representation
34924func (s Tag) String() string {
34925	return awsutil.Prettify(s)
34926}
34927
34928// GoString returns the string representation
34929func (s Tag) GoString() string {
34930	return s.String()
34931}
34932
34933// SetKey sets the Key field's value.
34934func (s *Tag) SetKey(v string) *Tag {
34935	s.Key = &v
34936	return s
34937}
34938
34939// SetValue sets the Value field's value.
34940func (s *Tag) SetValue(v string) *Tag {
34941	s.Value = &v
34942	return s
34943}
34944
34945type TagResourceInput struct {
34946	_ struct{} `type:"structure"`
34947
34948	// The Amazon Resource Name (ARN) of the resource to which you want to add a
34949	// tag.
34950	ResourceArn *string `locationName:"resourceArn" type:"string"`
34951
34952	// The name of the resource to which you are adding tags.
34953	//
34954	// ResourceName is a required field
34955	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
34956
34957	// The tag key and optional value.
34958	//
34959	// Tags is a required field
34960	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
34961}
34962
34963// String returns the string representation
34964func (s TagResourceInput) String() string {
34965	return awsutil.Prettify(s)
34966}
34967
34968// GoString returns the string representation
34969func (s TagResourceInput) GoString() string {
34970	return s.String()
34971}
34972
34973// Validate inspects the fields of the type to determine if they are valid.
34974func (s *TagResourceInput) Validate() error {
34975	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
34976	if s.ResourceName == nil {
34977		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
34978	}
34979	if s.Tags == nil {
34980		invalidParams.Add(request.NewErrParamRequired("Tags"))
34981	}
34982
34983	if invalidParams.Len() > 0 {
34984		return invalidParams
34985	}
34986	return nil
34987}
34988
34989// SetResourceArn sets the ResourceArn field's value.
34990func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
34991	s.ResourceArn = &v
34992	return s
34993}
34994
34995// SetResourceName sets the ResourceName field's value.
34996func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
34997	s.ResourceName = &v
34998	return s
34999}
35000
35001// SetTags sets the Tags field's value.
35002func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
35003	s.Tags = v
35004	return s
35005}
35006
35007type TagResourceOutput struct {
35008	_ struct{} `type:"structure"`
35009
35010	// An array of objects that describe the result of the action, such as the status
35011	// of the request, the timestamp of the request, and the resources affected
35012	// by the request.
35013	Operations []*Operation `locationName:"operations" type:"list"`
35014}
35015
35016// String returns the string representation
35017func (s TagResourceOutput) String() string {
35018	return awsutil.Prettify(s)
35019}
35020
35021// GoString returns the string representation
35022func (s TagResourceOutput) GoString() string {
35023	return s.String()
35024}
35025
35026// SetOperations sets the Operations field's value.
35027func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
35028	s.Operations = v
35029	return s
35030}
35031
35032type TestAlarmInput struct {
35033	_ struct{} `type:"structure"`
35034
35035	// The name of the alarm to test.
35036	//
35037	// AlarmName is a required field
35038	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
35039
35040	// The alarm state to test.
35041	//
35042	// An alarm has the following possible states that can be tested:
35043	//
35044	//    * ALARM - The metric is outside of the defined threshold.
35045	//
35046	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
35047	//    or not enough data is available for the metric to determine the alarm
35048	//    state.
35049	//
35050	//    * OK - The metric is within the defined threshold.
35051	//
35052	// State is a required field
35053	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
35054}
35055
35056// String returns the string representation
35057func (s TestAlarmInput) String() string {
35058	return awsutil.Prettify(s)
35059}
35060
35061// GoString returns the string representation
35062func (s TestAlarmInput) GoString() string {
35063	return s.String()
35064}
35065
35066// Validate inspects the fields of the type to determine if they are valid.
35067func (s *TestAlarmInput) Validate() error {
35068	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
35069	if s.AlarmName == nil {
35070		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
35071	}
35072	if s.State == nil {
35073		invalidParams.Add(request.NewErrParamRequired("State"))
35074	}
35075
35076	if invalidParams.Len() > 0 {
35077		return invalidParams
35078	}
35079	return nil
35080}
35081
35082// SetAlarmName sets the AlarmName field's value.
35083func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
35084	s.AlarmName = &v
35085	return s
35086}
35087
35088// SetState sets the State field's value.
35089func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
35090	s.State = &v
35091	return s
35092}
35093
35094type TestAlarmOutput struct {
35095	_ struct{} `type:"structure"`
35096
35097	// An array of objects that describe the result of the action, such as the status
35098	// of the request, the timestamp of the request, and the resources affected
35099	// by the request.
35100	Operations []*Operation `locationName:"operations" type:"list"`
35101}
35102
35103// String returns the string representation
35104func (s TestAlarmOutput) String() string {
35105	return awsutil.Prettify(s)
35106}
35107
35108// GoString returns the string representation
35109func (s TestAlarmOutput) GoString() string {
35110	return s.String()
35111}
35112
35113// SetOperations sets the Operations field's value.
35114func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
35115	s.Operations = v
35116	return s
35117}
35118
35119// Lightsail throws this exception when the user has not been authenticated.
35120type UnauthenticatedException struct {
35121	_            struct{}                  `type:"structure"`
35122	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35123
35124	Code_ *string `locationName:"code" type:"string"`
35125
35126	Docs *string `locationName:"docs" type:"string"`
35127
35128	Message_ *string `locationName:"message" type:"string"`
35129
35130	Tip *string `locationName:"tip" type:"string"`
35131}
35132
35133// String returns the string representation
35134func (s UnauthenticatedException) String() string {
35135	return awsutil.Prettify(s)
35136}
35137
35138// GoString returns the string representation
35139func (s UnauthenticatedException) GoString() string {
35140	return s.String()
35141}
35142
35143func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
35144	return &UnauthenticatedException{
35145		RespMetadata: v,
35146	}
35147}
35148
35149// Code returns the exception type name.
35150func (s *UnauthenticatedException) Code() string {
35151	return "UnauthenticatedException"
35152}
35153
35154// Message returns the exception's message.
35155func (s *UnauthenticatedException) Message() string {
35156	if s.Message_ != nil {
35157		return *s.Message_
35158	}
35159	return ""
35160}
35161
35162// OrigErr always returns nil, satisfies awserr.Error interface.
35163func (s *UnauthenticatedException) OrigErr() error {
35164	return nil
35165}
35166
35167func (s *UnauthenticatedException) Error() string {
35168	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
35169}
35170
35171// Status code returns the HTTP status code for the request's response error.
35172func (s *UnauthenticatedException) StatusCode() int {
35173	return s.RespMetadata.StatusCode
35174}
35175
35176// RequestID returns the service's response RequestID for request.
35177func (s *UnauthenticatedException) RequestID() string {
35178	return s.RespMetadata.RequestID
35179}
35180
35181type UnpeerVpcInput struct {
35182	_ struct{} `type:"structure"`
35183}
35184
35185// String returns the string representation
35186func (s UnpeerVpcInput) String() string {
35187	return awsutil.Prettify(s)
35188}
35189
35190// GoString returns the string representation
35191func (s UnpeerVpcInput) GoString() string {
35192	return s.String()
35193}
35194
35195type UnpeerVpcOutput struct {
35196	_ struct{} `type:"structure"`
35197
35198	// An array of objects that describe the result of the action, such as the status
35199	// of the request, the timestamp of the request, and the resources affected
35200	// by the request.
35201	Operation *Operation `locationName:"operation" type:"structure"`
35202}
35203
35204// String returns the string representation
35205func (s UnpeerVpcOutput) String() string {
35206	return awsutil.Prettify(s)
35207}
35208
35209// GoString returns the string representation
35210func (s UnpeerVpcOutput) GoString() string {
35211	return s.String()
35212}
35213
35214// SetOperation sets the Operation field's value.
35215func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
35216	s.Operation = v
35217	return s
35218}
35219
35220type UntagResourceInput struct {
35221	_ struct{} `type:"structure"`
35222
35223	// The Amazon Resource Name (ARN) of the resource from which you want to remove
35224	// a tag.
35225	ResourceArn *string `locationName:"resourceArn" type:"string"`
35226
35227	// The name of the resource from which you are removing a tag.
35228	//
35229	// ResourceName is a required field
35230	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
35231
35232	// The tag keys to delete from the specified resource.
35233	//
35234	// TagKeys is a required field
35235	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
35236}
35237
35238// String returns the string representation
35239func (s UntagResourceInput) String() string {
35240	return awsutil.Prettify(s)
35241}
35242
35243// GoString returns the string representation
35244func (s UntagResourceInput) GoString() string {
35245	return s.String()
35246}
35247
35248// Validate inspects the fields of the type to determine if they are valid.
35249func (s *UntagResourceInput) Validate() error {
35250	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
35251	if s.ResourceName == nil {
35252		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
35253	}
35254	if s.TagKeys == nil {
35255		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
35256	}
35257
35258	if invalidParams.Len() > 0 {
35259		return invalidParams
35260	}
35261	return nil
35262}
35263
35264// SetResourceArn sets the ResourceArn field's value.
35265func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
35266	s.ResourceArn = &v
35267	return s
35268}
35269
35270// SetResourceName sets the ResourceName field's value.
35271func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
35272	s.ResourceName = &v
35273	return s
35274}
35275
35276// SetTagKeys sets the TagKeys field's value.
35277func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
35278	s.TagKeys = v
35279	return s
35280}
35281
35282type UntagResourceOutput struct {
35283	_ struct{} `type:"structure"`
35284
35285	// An array of objects that describe the result of the action, such as the status
35286	// of the request, the timestamp of the request, and the resources affected
35287	// by the request.
35288	Operations []*Operation `locationName:"operations" type:"list"`
35289}
35290
35291// String returns the string representation
35292func (s UntagResourceOutput) String() string {
35293	return awsutil.Prettify(s)
35294}
35295
35296// GoString returns the string representation
35297func (s UntagResourceOutput) GoString() string {
35298	return s.String()
35299}
35300
35301// SetOperations sets the Operations field's value.
35302func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
35303	s.Operations = v
35304	return s
35305}
35306
35307type UpdateContainerServiceInput struct {
35308	_ struct{} `type:"structure"`
35309
35310	// A Boolean value to indicate whether the container service is disabled.
35311	IsDisabled *bool `locationName:"isDisabled" type:"boolean"`
35312
35313	// The power for the container service.
35314	//
35315	// The power specifies the amount of memory, vCPUs, and base monthly cost of
35316	// each node of the container service. The power and scale of a container service
35317	// makes up its configured capacity. To determine the monthly price of your
35318	// container service, multiply the base price of the power with the scale (the
35319	// number of nodes) of the service.
35320	//
35321	// Use the GetContainerServicePowers action to view the specifications of each
35322	// power option.
35323	Power *string `locationName:"power" type:"string" enum:"ContainerServicePowerName"`
35324
35325	// The public domain names to use with the container service, such as example.com
35326	// and www.example.com.
35327	//
35328	// You can specify up to four public domain names for a container service. The
35329	// domain names that you specify are used when you create a deployment with
35330	// a container configured as the public endpoint of your container service.
35331	//
35332	// If you don't specify public domain names, then you can use the default domain
35333	// of the container service.
35334	//
35335	// You must create and validate an SSL/TLS certificate before you can use public
35336	// domain names with your container service. Use the CreateCertificate action
35337	// to create a certificate for the public domain names you want to use with
35338	// your container service.
35339	//
35340	// You can specify public domain names using a string to array map as shown
35341	// in the example later on this page.
35342	PublicDomainNames map[string][]*string `locationName:"publicDomainNames" type:"map"`
35343
35344	// The scale for the container service.
35345	//
35346	// The scale specifies the allocated compute nodes of the container service.
35347	// The power and scale of a container service makes up its configured capacity.
35348	// To determine the monthly price of your container service, multiply the base
35349	// price of the power with the scale (the number of nodes) of the service.
35350	Scale *int64 `locationName:"scale" min:"1" type:"integer"`
35351
35352	// The name of the container service to update.
35353	//
35354	// ServiceName is a required field
35355	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
35356}
35357
35358// String returns the string representation
35359func (s UpdateContainerServiceInput) String() string {
35360	return awsutil.Prettify(s)
35361}
35362
35363// GoString returns the string representation
35364func (s UpdateContainerServiceInput) GoString() string {
35365	return s.String()
35366}
35367
35368// Validate inspects the fields of the type to determine if they are valid.
35369func (s *UpdateContainerServiceInput) Validate() error {
35370	invalidParams := request.ErrInvalidParams{Context: "UpdateContainerServiceInput"}
35371	if s.Scale != nil && *s.Scale < 1 {
35372		invalidParams.Add(request.NewErrParamMinValue("Scale", 1))
35373	}
35374	if s.ServiceName == nil {
35375		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
35376	}
35377	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
35378		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
35379	}
35380
35381	if invalidParams.Len() > 0 {
35382		return invalidParams
35383	}
35384	return nil
35385}
35386
35387// SetIsDisabled sets the IsDisabled field's value.
35388func (s *UpdateContainerServiceInput) SetIsDisabled(v bool) *UpdateContainerServiceInput {
35389	s.IsDisabled = &v
35390	return s
35391}
35392
35393// SetPower sets the Power field's value.
35394func (s *UpdateContainerServiceInput) SetPower(v string) *UpdateContainerServiceInput {
35395	s.Power = &v
35396	return s
35397}
35398
35399// SetPublicDomainNames sets the PublicDomainNames field's value.
35400func (s *UpdateContainerServiceInput) SetPublicDomainNames(v map[string][]*string) *UpdateContainerServiceInput {
35401	s.PublicDomainNames = v
35402	return s
35403}
35404
35405// SetScale sets the Scale field's value.
35406func (s *UpdateContainerServiceInput) SetScale(v int64) *UpdateContainerServiceInput {
35407	s.Scale = &v
35408	return s
35409}
35410
35411// SetServiceName sets the ServiceName field's value.
35412func (s *UpdateContainerServiceInput) SetServiceName(v string) *UpdateContainerServiceInput {
35413	s.ServiceName = &v
35414	return s
35415}
35416
35417type UpdateContainerServiceOutput struct {
35418	_ struct{} `type:"structure"`
35419
35420	// An object that describes a container service.
35421	ContainerService *ContainerService `locationName:"containerService" type:"structure"`
35422}
35423
35424// String returns the string representation
35425func (s UpdateContainerServiceOutput) String() string {
35426	return awsutil.Prettify(s)
35427}
35428
35429// GoString returns the string representation
35430func (s UpdateContainerServiceOutput) GoString() string {
35431	return s.String()
35432}
35433
35434// SetContainerService sets the ContainerService field's value.
35435func (s *UpdateContainerServiceOutput) SetContainerService(v *ContainerService) *UpdateContainerServiceOutput {
35436	s.ContainerService = v
35437	return s
35438}
35439
35440type UpdateDistributionBundleInput struct {
35441	_ struct{} `type:"structure"`
35442
35443	// The bundle ID of the new bundle to apply to your distribution.
35444	//
35445	// Use the GetDistributionBundles action to get a list of distribution bundle
35446	// IDs that you can specify.
35447	BundleId *string `locationName:"bundleId" type:"string"`
35448
35449	// The name of the distribution for which to update the bundle.
35450	//
35451	// Use the GetDistributions action to get a list of distribution names that
35452	// you can specify.
35453	DistributionName *string `locationName:"distributionName" type:"string"`
35454}
35455
35456// String returns the string representation
35457func (s UpdateDistributionBundleInput) String() string {
35458	return awsutil.Prettify(s)
35459}
35460
35461// GoString returns the string representation
35462func (s UpdateDistributionBundleInput) GoString() string {
35463	return s.String()
35464}
35465
35466// SetBundleId sets the BundleId field's value.
35467func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
35468	s.BundleId = &v
35469	return s
35470}
35471
35472// SetDistributionName sets the DistributionName field's value.
35473func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
35474	s.DistributionName = &v
35475	return s
35476}
35477
35478type UpdateDistributionBundleOutput struct {
35479	_ struct{} `type:"structure"`
35480
35481	// Describes the API operation.
35482	Operation *Operation `locationName:"operation" type:"structure"`
35483}
35484
35485// String returns the string representation
35486func (s UpdateDistributionBundleOutput) String() string {
35487	return awsutil.Prettify(s)
35488}
35489
35490// GoString returns the string representation
35491func (s UpdateDistributionBundleOutput) GoString() string {
35492	return s.String()
35493}
35494
35495// SetOperation sets the Operation field's value.
35496func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
35497	s.Operation = v
35498	return s
35499}
35500
35501type UpdateDistributionInput struct {
35502	_ struct{} `type:"structure"`
35503
35504	// An object that describes the cache behavior settings for the distribution.
35505	//
35506	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
35507	// replace your distribution's existing settings.
35508	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
35509
35510	// An array of objects that describe the per-path cache behavior for the distribution.
35511	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
35512
35513	// An object that describes the default cache behavior for the distribution.
35514	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
35515
35516	// The name of the distribution to update.
35517	//
35518	// Use the GetDistributions action to get a list of distribution names that
35519	// you can specify.
35520	//
35521	// DistributionName is a required field
35522	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
35523
35524	// Indicates whether to enable the distribution.
35525	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
35526
35527	// An object that describes the origin resource for the distribution, such as
35528	// a Lightsail instance or load balancer.
35529	//
35530	// The distribution pulls, caches, and serves content from the origin.
35531	Origin *InputOrigin `locationName:"origin" type:"structure"`
35532}
35533
35534// String returns the string representation
35535func (s UpdateDistributionInput) String() string {
35536	return awsutil.Prettify(s)
35537}
35538
35539// GoString returns the string representation
35540func (s UpdateDistributionInput) GoString() string {
35541	return s.String()
35542}
35543
35544// Validate inspects the fields of the type to determine if they are valid.
35545func (s *UpdateDistributionInput) Validate() error {
35546	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
35547	if s.DistributionName == nil {
35548		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
35549	}
35550
35551	if invalidParams.Len() > 0 {
35552		return invalidParams
35553	}
35554	return nil
35555}
35556
35557// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
35558func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
35559	s.CacheBehaviorSettings = v
35560	return s
35561}
35562
35563// SetCacheBehaviors sets the CacheBehaviors field's value.
35564func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
35565	s.CacheBehaviors = v
35566	return s
35567}
35568
35569// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
35570func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
35571	s.DefaultCacheBehavior = v
35572	return s
35573}
35574
35575// SetDistributionName sets the DistributionName field's value.
35576func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
35577	s.DistributionName = &v
35578	return s
35579}
35580
35581// SetIsEnabled sets the IsEnabled field's value.
35582func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
35583	s.IsEnabled = &v
35584	return s
35585}
35586
35587// SetOrigin sets the Origin field's value.
35588func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
35589	s.Origin = v
35590	return s
35591}
35592
35593type UpdateDistributionOutput struct {
35594	_ struct{} `type:"structure"`
35595
35596	// An array of objects that describe the result of the action, such as the status
35597	// of the request, the timestamp of the request, and the resources affected
35598	// by the request.
35599	Operation *Operation `locationName:"operation" type:"structure"`
35600}
35601
35602// String returns the string representation
35603func (s UpdateDistributionOutput) String() string {
35604	return awsutil.Prettify(s)
35605}
35606
35607// GoString returns the string representation
35608func (s UpdateDistributionOutput) GoString() string {
35609	return s.String()
35610}
35611
35612// SetOperation sets the Operation field's value.
35613func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
35614	s.Operation = v
35615	return s
35616}
35617
35618type UpdateDomainEntryInput struct {
35619	_ struct{} `type:"structure"`
35620
35621	// An array of key-value pairs containing information about the domain entry.
35622	//
35623	// DomainEntry is a required field
35624	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
35625
35626	// The name of the domain recordset to update.
35627	//
35628	// DomainName is a required field
35629	DomainName *string `locationName:"domainName" type:"string" required:"true"`
35630}
35631
35632// String returns the string representation
35633func (s UpdateDomainEntryInput) String() string {
35634	return awsutil.Prettify(s)
35635}
35636
35637// GoString returns the string representation
35638func (s UpdateDomainEntryInput) GoString() string {
35639	return s.String()
35640}
35641
35642// Validate inspects the fields of the type to determine if they are valid.
35643func (s *UpdateDomainEntryInput) Validate() error {
35644	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
35645	if s.DomainEntry == nil {
35646		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
35647	}
35648	if s.DomainName == nil {
35649		invalidParams.Add(request.NewErrParamRequired("DomainName"))
35650	}
35651
35652	if invalidParams.Len() > 0 {
35653		return invalidParams
35654	}
35655	return nil
35656}
35657
35658// SetDomainEntry sets the DomainEntry field's value.
35659func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
35660	s.DomainEntry = v
35661	return s
35662}
35663
35664// SetDomainName sets the DomainName field's value.
35665func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
35666	s.DomainName = &v
35667	return s
35668}
35669
35670type UpdateDomainEntryOutput struct {
35671	_ struct{} `type:"structure"`
35672
35673	// An array of objects that describe the result of the action, such as the status
35674	// of the request, the timestamp of the request, and the resources affected
35675	// by the request.
35676	Operations []*Operation `locationName:"operations" type:"list"`
35677}
35678
35679// String returns the string representation
35680func (s UpdateDomainEntryOutput) String() string {
35681	return awsutil.Prettify(s)
35682}
35683
35684// GoString returns the string representation
35685func (s UpdateDomainEntryOutput) GoString() string {
35686	return s.String()
35687}
35688
35689// SetOperations sets the Operations field's value.
35690func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
35691	s.Operations = v
35692	return s
35693}
35694
35695type UpdateLoadBalancerAttributeInput struct {
35696	_ struct{} `type:"structure"`
35697
35698	// The name of the attribute you want to update. Valid values are below.
35699	//
35700	// AttributeName is a required field
35701	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
35702
35703	// The value that you want to specify for the attribute name.
35704	//
35705	// AttributeValue is a required field
35706	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
35707
35708	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
35709	//
35710	// LoadBalancerName is a required field
35711	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
35712}
35713
35714// String returns the string representation
35715func (s UpdateLoadBalancerAttributeInput) String() string {
35716	return awsutil.Prettify(s)
35717}
35718
35719// GoString returns the string representation
35720func (s UpdateLoadBalancerAttributeInput) GoString() string {
35721	return s.String()
35722}
35723
35724// Validate inspects the fields of the type to determine if they are valid.
35725func (s *UpdateLoadBalancerAttributeInput) Validate() error {
35726	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
35727	if s.AttributeName == nil {
35728		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
35729	}
35730	if s.AttributeValue == nil {
35731		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
35732	}
35733	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
35734		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
35735	}
35736	if s.LoadBalancerName == nil {
35737		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
35738	}
35739
35740	if invalidParams.Len() > 0 {
35741		return invalidParams
35742	}
35743	return nil
35744}
35745
35746// SetAttributeName sets the AttributeName field's value.
35747func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
35748	s.AttributeName = &v
35749	return s
35750}
35751
35752// SetAttributeValue sets the AttributeValue field's value.
35753func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
35754	s.AttributeValue = &v
35755	return s
35756}
35757
35758// SetLoadBalancerName sets the LoadBalancerName field's value.
35759func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
35760	s.LoadBalancerName = &v
35761	return s
35762}
35763
35764type UpdateLoadBalancerAttributeOutput struct {
35765	_ struct{} `type:"structure"`
35766
35767	// An array of objects that describe the result of the action, such as the status
35768	// of the request, the timestamp of the request, and the resources affected
35769	// by the request.
35770	Operations []*Operation `locationName:"operations" type:"list"`
35771}
35772
35773// String returns the string representation
35774func (s UpdateLoadBalancerAttributeOutput) String() string {
35775	return awsutil.Prettify(s)
35776}
35777
35778// GoString returns the string representation
35779func (s UpdateLoadBalancerAttributeOutput) GoString() string {
35780	return s.String()
35781}
35782
35783// SetOperations sets the Operations field's value.
35784func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
35785	s.Operations = v
35786	return s
35787}
35788
35789type UpdateRelationalDatabaseInput struct {
35790	_ struct{} `type:"structure"`
35791
35792	// When true, applies changes immediately. When false, applies changes during
35793	// the preferred maintenance window. Some changes may cause an outage.
35794	//
35795	// Default: false
35796	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
35797
35798	// Indicates the certificate that needs to be associated with the database.
35799	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
35800
35801	// When true, disables automated backup retention for your database.
35802	//
35803	// Disabling backup retention deletes all automated database backups. Before
35804	// disabling this, you may want to create a snapshot of your database using
35805	// the create relational database snapshot operation.
35806	//
35807	// Updates are applied during the next maintenance window because this can result
35808	// in an outage.
35809	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
35810
35811	// When true, enables automated backup retention for your database.
35812	//
35813	// Updates are applied during the next maintenance window because this can result
35814	// in an outage.
35815	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
35816
35817	// The password for the master user. The password can include any printable
35818	// ASCII character except "/", """, or "@".
35819	//
35820	// MySQL
35821	//
35822	// Constraints: Must contain from 8 to 41 characters.
35823	//
35824	// PostgreSQL
35825	//
35826	// Constraints: Must contain from 8 to 128 characters.
35827	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
35828
35829	// The daily time range during which automated backups are created for your
35830	// database if automated backups are enabled.
35831	//
35832	// Constraints:
35833	//
35834	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
35835	//
35836	//    * Specified in Coordinated Universal Time (UTC).
35837	//
35838	//    * Must not conflict with the preferred maintenance window.
35839	//
35840	//    * Must be at least 30 minutes.
35841	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
35842
35843	// The weekly time range during which system maintenance can occur on your database.
35844	//
35845	// The default is a 30-minute window selected at random from an 8-hour block
35846	// of time for each AWS Region, occurring on a random day of the week.
35847	//
35848	// Constraints:
35849	//
35850	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
35851	//
35852	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
35853	//
35854	//    * Must be at least 30 minutes.
35855	//
35856	//    * Specified in Coordinated Universal Time (UTC).
35857	//
35858	//    * Example: Tue:17:00-Tue:17:30
35859	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
35860
35861	// Specifies the accessibility options for your database. A value of true specifies
35862	// a database that is available to resources outside of your Lightsail account.
35863	// A value of false specifies a database that is available only to your Lightsail
35864	// resources in the same region as your database.
35865	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
35866
35867	// The name of your Lightsail database resource to update.
35868	//
35869	// RelationalDatabaseName is a required field
35870	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
35871
35872	// When true, the master user password is changed to a new strong password generated
35873	// by Lightsail.
35874	//
35875	// Use the get relational database master user password operation to get the
35876	// new password.
35877	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
35878}
35879
35880// String returns the string representation
35881func (s UpdateRelationalDatabaseInput) String() string {
35882	return awsutil.Prettify(s)
35883}
35884
35885// GoString returns the string representation
35886func (s UpdateRelationalDatabaseInput) GoString() string {
35887	return s.String()
35888}
35889
35890// Validate inspects the fields of the type to determine if they are valid.
35891func (s *UpdateRelationalDatabaseInput) Validate() error {
35892	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
35893	if s.RelationalDatabaseName == nil {
35894		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
35895	}
35896
35897	if invalidParams.Len() > 0 {
35898		return invalidParams
35899	}
35900	return nil
35901}
35902
35903// SetApplyImmediately sets the ApplyImmediately field's value.
35904func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
35905	s.ApplyImmediately = &v
35906	return s
35907}
35908
35909// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
35910func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
35911	s.CaCertificateIdentifier = &v
35912	return s
35913}
35914
35915// SetDisableBackupRetention sets the DisableBackupRetention field's value.
35916func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
35917	s.DisableBackupRetention = &v
35918	return s
35919}
35920
35921// SetEnableBackupRetention sets the EnableBackupRetention field's value.
35922func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
35923	s.EnableBackupRetention = &v
35924	return s
35925}
35926
35927// SetMasterUserPassword sets the MasterUserPassword field's value.
35928func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
35929	s.MasterUserPassword = &v
35930	return s
35931}
35932
35933// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
35934func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
35935	s.PreferredBackupWindow = &v
35936	return s
35937}
35938
35939// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
35940func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
35941	s.PreferredMaintenanceWindow = &v
35942	return s
35943}
35944
35945// SetPubliclyAccessible sets the PubliclyAccessible field's value.
35946func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
35947	s.PubliclyAccessible = &v
35948	return s
35949}
35950
35951// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
35952func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
35953	s.RelationalDatabaseName = &v
35954	return s
35955}
35956
35957// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
35958func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
35959	s.RotateMasterUserPassword = &v
35960	return s
35961}
35962
35963type UpdateRelationalDatabaseOutput struct {
35964	_ struct{} `type:"structure"`
35965
35966	// An array of objects that describe the result of the action, such as the status
35967	// of the request, the timestamp of the request, and the resources affected
35968	// by the request.
35969	Operations []*Operation `locationName:"operations" type:"list"`
35970}
35971
35972// String returns the string representation
35973func (s UpdateRelationalDatabaseOutput) String() string {
35974	return awsutil.Prettify(s)
35975}
35976
35977// GoString returns the string representation
35978func (s UpdateRelationalDatabaseOutput) GoString() string {
35979	return s.String()
35980}
35981
35982// SetOperations sets the Operations field's value.
35983func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
35984	s.Operations = v
35985	return s
35986}
35987
35988type UpdateRelationalDatabaseParametersInput struct {
35989	_ struct{} `type:"structure"`
35990
35991	// The database parameters to update.
35992	//
35993	// Parameters is a required field
35994	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
35995
35996	// The name of your database for which to update parameters.
35997	//
35998	// RelationalDatabaseName is a required field
35999	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
36000}
36001
36002// String returns the string representation
36003func (s UpdateRelationalDatabaseParametersInput) String() string {
36004	return awsutil.Prettify(s)
36005}
36006
36007// GoString returns the string representation
36008func (s UpdateRelationalDatabaseParametersInput) GoString() string {
36009	return s.String()
36010}
36011
36012// Validate inspects the fields of the type to determine if they are valid.
36013func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
36014	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
36015	if s.Parameters == nil {
36016		invalidParams.Add(request.NewErrParamRequired("Parameters"))
36017	}
36018	if s.RelationalDatabaseName == nil {
36019		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
36020	}
36021
36022	if invalidParams.Len() > 0 {
36023		return invalidParams
36024	}
36025	return nil
36026}
36027
36028// SetParameters sets the Parameters field's value.
36029func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
36030	s.Parameters = v
36031	return s
36032}
36033
36034// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
36035func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
36036	s.RelationalDatabaseName = &v
36037	return s
36038}
36039
36040type UpdateRelationalDatabaseParametersOutput struct {
36041	_ struct{} `type:"structure"`
36042
36043	// An array of objects that describe the result of the action, such as the status
36044	// of the request, the timestamp of the request, and the resources affected
36045	// by the request.
36046	Operations []*Operation `locationName:"operations" type:"list"`
36047}
36048
36049// String returns the string representation
36050func (s UpdateRelationalDatabaseParametersOutput) String() string {
36051	return awsutil.Prettify(s)
36052}
36053
36054// GoString returns the string representation
36055func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
36056	return s.String()
36057}
36058
36059// SetOperations sets the Operations field's value.
36060func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
36061	s.Operations = v
36062	return s
36063}
36064
36065const (
36066	// AccessDirectionInbound is a AccessDirection enum value
36067	AccessDirectionInbound = "inbound"
36068
36069	// AccessDirectionOutbound is a AccessDirection enum value
36070	AccessDirectionOutbound = "outbound"
36071)
36072
36073// AccessDirection_Values returns all elements of the AccessDirection enum
36074func AccessDirection_Values() []string {
36075	return []string{
36076		AccessDirectionInbound,
36077		AccessDirectionOutbound,
36078	}
36079}
36080
36081const (
36082	// AddOnTypeAutoSnapshot is a AddOnType enum value
36083	AddOnTypeAutoSnapshot = "AutoSnapshot"
36084)
36085
36086// AddOnType_Values returns all elements of the AddOnType enum
36087func AddOnType_Values() []string {
36088	return []string{
36089		AddOnTypeAutoSnapshot,
36090	}
36091}
36092
36093const (
36094	// AlarmStateOk is a AlarmState enum value
36095	AlarmStateOk = "OK"
36096
36097	// AlarmStateAlarm is a AlarmState enum value
36098	AlarmStateAlarm = "ALARM"
36099
36100	// AlarmStateInsufficientData is a AlarmState enum value
36101	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
36102)
36103
36104// AlarmState_Values returns all elements of the AlarmState enum
36105func AlarmState_Values() []string {
36106	return []string{
36107		AlarmStateOk,
36108		AlarmStateAlarm,
36109		AlarmStateInsufficientData,
36110	}
36111}
36112
36113const (
36114	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
36115	AutoSnapshotStatusSuccess = "Success"
36116
36117	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
36118	AutoSnapshotStatusFailed = "Failed"
36119
36120	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
36121	AutoSnapshotStatusInProgress = "InProgress"
36122
36123	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
36124	AutoSnapshotStatusNotFound = "NotFound"
36125)
36126
36127// AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
36128func AutoSnapshotStatus_Values() []string {
36129	return []string{
36130		AutoSnapshotStatusSuccess,
36131		AutoSnapshotStatusFailed,
36132		AutoSnapshotStatusInProgress,
36133		AutoSnapshotStatusNotFound,
36134	}
36135}
36136
36137const (
36138	// BehaviorEnumDontCache is a BehaviorEnum enum value
36139	BehaviorEnumDontCache = "dont-cache"
36140
36141	// BehaviorEnumCache is a BehaviorEnum enum value
36142	BehaviorEnumCache = "cache"
36143)
36144
36145// BehaviorEnum_Values returns all elements of the BehaviorEnum enum
36146func BehaviorEnum_Values() []string {
36147	return []string{
36148		BehaviorEnumDontCache,
36149		BehaviorEnumCache,
36150	}
36151}
36152
36153const (
36154	// BlueprintTypeOs is a BlueprintType enum value
36155	BlueprintTypeOs = "os"
36156
36157	// BlueprintTypeApp is a BlueprintType enum value
36158	BlueprintTypeApp = "app"
36159)
36160
36161// BlueprintType_Values returns all elements of the BlueprintType enum
36162func BlueprintType_Values() []string {
36163	return []string{
36164		BlueprintTypeOs,
36165		BlueprintTypeApp,
36166	}
36167}
36168
36169const (
36170	// CertificateStatusPendingValidation is a CertificateStatus enum value
36171	CertificateStatusPendingValidation = "PENDING_VALIDATION"
36172
36173	// CertificateStatusIssued is a CertificateStatus enum value
36174	CertificateStatusIssued = "ISSUED"
36175
36176	// CertificateStatusInactive is a CertificateStatus enum value
36177	CertificateStatusInactive = "INACTIVE"
36178
36179	// CertificateStatusExpired is a CertificateStatus enum value
36180	CertificateStatusExpired = "EXPIRED"
36181
36182	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
36183	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
36184
36185	// CertificateStatusRevoked is a CertificateStatus enum value
36186	CertificateStatusRevoked = "REVOKED"
36187
36188	// CertificateStatusFailed is a CertificateStatus enum value
36189	CertificateStatusFailed = "FAILED"
36190)
36191
36192// CertificateStatus_Values returns all elements of the CertificateStatus enum
36193func CertificateStatus_Values() []string {
36194	return []string{
36195		CertificateStatusPendingValidation,
36196		CertificateStatusIssued,
36197		CertificateStatusInactive,
36198		CertificateStatusExpired,
36199		CertificateStatusValidationTimedOut,
36200		CertificateStatusRevoked,
36201		CertificateStatusFailed,
36202	}
36203}
36204
36205const (
36206	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
36207	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
36208)
36209
36210// CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
36211func CloudFormationStackRecordSourceType_Values() []string {
36212	return []string{
36213		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
36214	}
36215}
36216
36217const (
36218	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
36219	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
36220
36221	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
36222	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
36223
36224	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
36225	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
36226
36227	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
36228	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
36229)
36230
36231// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
36232func ComparisonOperator_Values() []string {
36233	return []string{
36234		ComparisonOperatorGreaterThanOrEqualToThreshold,
36235		ComparisonOperatorGreaterThanThreshold,
36236		ComparisonOperatorLessThanThreshold,
36237		ComparisonOperatorLessThanOrEqualToThreshold,
36238	}
36239}
36240
36241const (
36242	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
36243	ContactMethodStatusPendingVerification = "PendingVerification"
36244
36245	// ContactMethodStatusValid is a ContactMethodStatus enum value
36246	ContactMethodStatusValid = "Valid"
36247
36248	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
36249	ContactMethodStatusInvalid = "Invalid"
36250)
36251
36252// ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
36253func ContactMethodStatus_Values() []string {
36254	return []string{
36255		ContactMethodStatusPendingVerification,
36256		ContactMethodStatusValid,
36257		ContactMethodStatusInvalid,
36258	}
36259}
36260
36261const (
36262	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
36263	ContactMethodVerificationProtocolEmail = "Email"
36264)
36265
36266// ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
36267func ContactMethodVerificationProtocol_Values() []string {
36268	return []string{
36269		ContactMethodVerificationProtocolEmail,
36270	}
36271}
36272
36273const (
36274	// ContactProtocolEmail is a ContactProtocol enum value
36275	ContactProtocolEmail = "Email"
36276
36277	// ContactProtocolSms is a ContactProtocol enum value
36278	ContactProtocolSms = "SMS"
36279)
36280
36281// ContactProtocol_Values returns all elements of the ContactProtocol enum
36282func ContactProtocol_Values() []string {
36283	return []string{
36284		ContactProtocolEmail,
36285		ContactProtocolSms,
36286	}
36287}
36288
36289const (
36290	// ContainerServiceDeploymentStateActivating is a ContainerServiceDeploymentState enum value
36291	ContainerServiceDeploymentStateActivating = "ACTIVATING"
36292
36293	// ContainerServiceDeploymentStateActive is a ContainerServiceDeploymentState enum value
36294	ContainerServiceDeploymentStateActive = "ACTIVE"
36295
36296	// ContainerServiceDeploymentStateInactive is a ContainerServiceDeploymentState enum value
36297	ContainerServiceDeploymentStateInactive = "INACTIVE"
36298
36299	// ContainerServiceDeploymentStateFailed is a ContainerServiceDeploymentState enum value
36300	ContainerServiceDeploymentStateFailed = "FAILED"
36301)
36302
36303// ContainerServiceDeploymentState_Values returns all elements of the ContainerServiceDeploymentState enum
36304func ContainerServiceDeploymentState_Values() []string {
36305	return []string{
36306		ContainerServiceDeploymentStateActivating,
36307		ContainerServiceDeploymentStateActive,
36308		ContainerServiceDeploymentStateInactive,
36309		ContainerServiceDeploymentStateFailed,
36310	}
36311}
36312
36313const (
36314	// ContainerServiceMetricNameCpuutilization is a ContainerServiceMetricName enum value
36315	ContainerServiceMetricNameCpuutilization = "CPUUtilization"
36316
36317	// ContainerServiceMetricNameMemoryUtilization is a ContainerServiceMetricName enum value
36318	ContainerServiceMetricNameMemoryUtilization = "MemoryUtilization"
36319)
36320
36321// ContainerServiceMetricName_Values returns all elements of the ContainerServiceMetricName enum
36322func ContainerServiceMetricName_Values() []string {
36323	return []string{
36324		ContainerServiceMetricNameCpuutilization,
36325		ContainerServiceMetricNameMemoryUtilization,
36326	}
36327}
36328
36329const (
36330	// ContainerServicePowerNameNano is a ContainerServicePowerName enum value
36331	ContainerServicePowerNameNano = "nano"
36332
36333	// ContainerServicePowerNameMicro is a ContainerServicePowerName enum value
36334	ContainerServicePowerNameMicro = "micro"
36335
36336	// ContainerServicePowerNameSmall is a ContainerServicePowerName enum value
36337	ContainerServicePowerNameSmall = "small"
36338
36339	// ContainerServicePowerNameMedium is a ContainerServicePowerName enum value
36340	ContainerServicePowerNameMedium = "medium"
36341
36342	// ContainerServicePowerNameLarge is a ContainerServicePowerName enum value
36343	ContainerServicePowerNameLarge = "large"
36344
36345	// ContainerServicePowerNameXlarge is a ContainerServicePowerName enum value
36346	ContainerServicePowerNameXlarge = "xlarge"
36347)
36348
36349// ContainerServicePowerName_Values returns all elements of the ContainerServicePowerName enum
36350func ContainerServicePowerName_Values() []string {
36351	return []string{
36352		ContainerServicePowerNameNano,
36353		ContainerServicePowerNameMicro,
36354		ContainerServicePowerNameSmall,
36355		ContainerServicePowerNameMedium,
36356		ContainerServicePowerNameLarge,
36357		ContainerServicePowerNameXlarge,
36358	}
36359}
36360
36361const (
36362	// ContainerServiceProtocolHttp is a ContainerServiceProtocol enum value
36363	ContainerServiceProtocolHttp = "HTTP"
36364
36365	// ContainerServiceProtocolHttps is a ContainerServiceProtocol enum value
36366	ContainerServiceProtocolHttps = "HTTPS"
36367
36368	// ContainerServiceProtocolTcp is a ContainerServiceProtocol enum value
36369	ContainerServiceProtocolTcp = "TCP"
36370
36371	// ContainerServiceProtocolUdp is a ContainerServiceProtocol enum value
36372	ContainerServiceProtocolUdp = "UDP"
36373)
36374
36375// ContainerServiceProtocol_Values returns all elements of the ContainerServiceProtocol enum
36376func ContainerServiceProtocol_Values() []string {
36377	return []string{
36378		ContainerServiceProtocolHttp,
36379		ContainerServiceProtocolHttps,
36380		ContainerServiceProtocolTcp,
36381		ContainerServiceProtocolUdp,
36382	}
36383}
36384
36385const (
36386	// ContainerServiceStatePending is a ContainerServiceState enum value
36387	ContainerServiceStatePending = "PENDING"
36388
36389	// ContainerServiceStateReady is a ContainerServiceState enum value
36390	ContainerServiceStateReady = "READY"
36391
36392	// ContainerServiceStateRunning is a ContainerServiceState enum value
36393	ContainerServiceStateRunning = "RUNNING"
36394
36395	// ContainerServiceStateUpdating is a ContainerServiceState enum value
36396	ContainerServiceStateUpdating = "UPDATING"
36397
36398	// ContainerServiceStateDeleting is a ContainerServiceState enum value
36399	ContainerServiceStateDeleting = "DELETING"
36400
36401	// ContainerServiceStateDisabled is a ContainerServiceState enum value
36402	ContainerServiceStateDisabled = "DISABLED"
36403
36404	// ContainerServiceStateDeploying is a ContainerServiceState enum value
36405	ContainerServiceStateDeploying = "DEPLOYING"
36406)
36407
36408// ContainerServiceState_Values returns all elements of the ContainerServiceState enum
36409func ContainerServiceState_Values() []string {
36410	return []string{
36411		ContainerServiceStatePending,
36412		ContainerServiceStateReady,
36413		ContainerServiceStateRunning,
36414		ContainerServiceStateUpdating,
36415		ContainerServiceStateDeleting,
36416		ContainerServiceStateDisabled,
36417		ContainerServiceStateDeploying,
36418	}
36419}
36420
36421const (
36422	// ContainerServiceStateDetailCodeCreatingSystemResources is a ContainerServiceStateDetailCode enum value
36423	ContainerServiceStateDetailCodeCreatingSystemResources = "CREATING_SYSTEM_RESOURCES"
36424
36425	// ContainerServiceStateDetailCodeCreatingNetworkInfrastructure is a ContainerServiceStateDetailCode enum value
36426	ContainerServiceStateDetailCodeCreatingNetworkInfrastructure = "CREATING_NETWORK_INFRASTRUCTURE"
36427
36428	// ContainerServiceStateDetailCodeProvisioningCertificate is a ContainerServiceStateDetailCode enum value
36429	ContainerServiceStateDetailCodeProvisioningCertificate = "PROVISIONING_CERTIFICATE"
36430
36431	// ContainerServiceStateDetailCodeProvisioningService is a ContainerServiceStateDetailCode enum value
36432	ContainerServiceStateDetailCodeProvisioningService = "PROVISIONING_SERVICE"
36433
36434	// ContainerServiceStateDetailCodeCreatingDeployment is a ContainerServiceStateDetailCode enum value
36435	ContainerServiceStateDetailCodeCreatingDeployment = "CREATING_DEPLOYMENT"
36436
36437	// ContainerServiceStateDetailCodeEvaluatingHealthCheck is a ContainerServiceStateDetailCode enum value
36438	ContainerServiceStateDetailCodeEvaluatingHealthCheck = "EVALUATING_HEALTH_CHECK"
36439
36440	// ContainerServiceStateDetailCodeActivatingDeployment is a ContainerServiceStateDetailCode enum value
36441	ContainerServiceStateDetailCodeActivatingDeployment = "ACTIVATING_DEPLOYMENT"
36442
36443	// ContainerServiceStateDetailCodeCertificateLimitExceeded is a ContainerServiceStateDetailCode enum value
36444	ContainerServiceStateDetailCodeCertificateLimitExceeded = "CERTIFICATE_LIMIT_EXCEEDED"
36445
36446	// ContainerServiceStateDetailCodeUnknownError is a ContainerServiceStateDetailCode enum value
36447	ContainerServiceStateDetailCodeUnknownError = "UNKNOWN_ERROR"
36448)
36449
36450// ContainerServiceStateDetailCode_Values returns all elements of the ContainerServiceStateDetailCode enum
36451func ContainerServiceStateDetailCode_Values() []string {
36452	return []string{
36453		ContainerServiceStateDetailCodeCreatingSystemResources,
36454		ContainerServiceStateDetailCodeCreatingNetworkInfrastructure,
36455		ContainerServiceStateDetailCodeProvisioningCertificate,
36456		ContainerServiceStateDetailCodeProvisioningService,
36457		ContainerServiceStateDetailCodeCreatingDeployment,
36458		ContainerServiceStateDetailCodeEvaluatingHealthCheck,
36459		ContainerServiceStateDetailCodeActivatingDeployment,
36460		ContainerServiceStateDetailCodeCertificateLimitExceeded,
36461		ContainerServiceStateDetailCodeUnknownError,
36462	}
36463}
36464
36465const (
36466	// DiskSnapshotStatePending is a DiskSnapshotState enum value
36467	DiskSnapshotStatePending = "pending"
36468
36469	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
36470	DiskSnapshotStateCompleted = "completed"
36471
36472	// DiskSnapshotStateError is a DiskSnapshotState enum value
36473	DiskSnapshotStateError = "error"
36474
36475	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
36476	DiskSnapshotStateUnknown = "unknown"
36477)
36478
36479// DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
36480func DiskSnapshotState_Values() []string {
36481	return []string{
36482		DiskSnapshotStatePending,
36483		DiskSnapshotStateCompleted,
36484		DiskSnapshotStateError,
36485		DiskSnapshotStateUnknown,
36486	}
36487}
36488
36489const (
36490	// DiskStatePending is a DiskState enum value
36491	DiskStatePending = "pending"
36492
36493	// DiskStateError is a DiskState enum value
36494	DiskStateError = "error"
36495
36496	// DiskStateAvailable is a DiskState enum value
36497	DiskStateAvailable = "available"
36498
36499	// DiskStateInUse is a DiskState enum value
36500	DiskStateInUse = "in-use"
36501
36502	// DiskStateUnknown is a DiskState enum value
36503	DiskStateUnknown = "unknown"
36504)
36505
36506// DiskState_Values returns all elements of the DiskState enum
36507func DiskState_Values() []string {
36508	return []string{
36509		DiskStatePending,
36510		DiskStateError,
36511		DiskStateAvailable,
36512		DiskStateInUse,
36513		DiskStateUnknown,
36514	}
36515}
36516
36517const (
36518	// DistributionMetricNameRequests is a DistributionMetricName enum value
36519	DistributionMetricNameRequests = "Requests"
36520
36521	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
36522	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
36523
36524	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
36525	DistributionMetricNameBytesUploaded = "BytesUploaded"
36526
36527	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
36528	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
36529
36530	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
36531	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
36532
36533	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
36534	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
36535)
36536
36537// DistributionMetricName_Values returns all elements of the DistributionMetricName enum
36538func DistributionMetricName_Values() []string {
36539	return []string{
36540		DistributionMetricNameRequests,
36541		DistributionMetricNameBytesDownloaded,
36542		DistributionMetricNameBytesUploaded,
36543		DistributionMetricNameTotalErrorRate,
36544		DistributionMetricNameHttp4xxErrorRate,
36545		DistributionMetricNameHttp5xxErrorRate,
36546	}
36547}
36548
36549const (
36550	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
36551	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
36552
36553	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
36554	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
36555)
36556
36557// ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
36558func ExportSnapshotRecordSourceType_Values() []string {
36559	return []string{
36560		ExportSnapshotRecordSourceTypeInstanceSnapshot,
36561		ExportSnapshotRecordSourceTypeDiskSnapshot,
36562	}
36563}
36564
36565const (
36566	// ForwardValuesNone is a ForwardValues enum value
36567	ForwardValuesNone = "none"
36568
36569	// ForwardValuesAllowList is a ForwardValues enum value
36570	ForwardValuesAllowList = "allow-list"
36571
36572	// ForwardValuesAll is a ForwardValues enum value
36573	ForwardValuesAll = "all"
36574)
36575
36576// ForwardValues_Values returns all elements of the ForwardValues enum
36577func ForwardValues_Values() []string {
36578	return []string{
36579		ForwardValuesNone,
36580		ForwardValuesAllowList,
36581		ForwardValuesAll,
36582	}
36583}
36584
36585const (
36586	// HeaderEnumAccept is a HeaderEnum enum value
36587	HeaderEnumAccept = "Accept"
36588
36589	// HeaderEnumAcceptCharset is a HeaderEnum enum value
36590	HeaderEnumAcceptCharset = "Accept-Charset"
36591
36592	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
36593	HeaderEnumAcceptDatetime = "Accept-Datetime"
36594
36595	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
36596	HeaderEnumAcceptEncoding = "Accept-Encoding"
36597
36598	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
36599	HeaderEnumAcceptLanguage = "Accept-Language"
36600
36601	// HeaderEnumAuthorization is a HeaderEnum enum value
36602	HeaderEnumAuthorization = "Authorization"
36603
36604	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
36605	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
36606
36607	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
36608	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
36609
36610	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
36611	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
36612
36613	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
36614	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
36615
36616	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
36617	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
36618
36619	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
36620	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
36621
36622	// HeaderEnumHost is a HeaderEnum enum value
36623	HeaderEnumHost = "Host"
36624
36625	// HeaderEnumOrigin is a HeaderEnum enum value
36626	HeaderEnumOrigin = "Origin"
36627
36628	// HeaderEnumReferer is a HeaderEnum enum value
36629	HeaderEnumReferer = "Referer"
36630)
36631
36632// HeaderEnum_Values returns all elements of the HeaderEnum enum
36633func HeaderEnum_Values() []string {
36634	return []string{
36635		HeaderEnumAccept,
36636		HeaderEnumAcceptCharset,
36637		HeaderEnumAcceptDatetime,
36638		HeaderEnumAcceptEncoding,
36639		HeaderEnumAcceptLanguage,
36640		HeaderEnumAuthorization,
36641		HeaderEnumCloudFrontForwardedProto,
36642		HeaderEnumCloudFrontIsDesktopViewer,
36643		HeaderEnumCloudFrontIsMobileViewer,
36644		HeaderEnumCloudFrontIsSmartTvViewer,
36645		HeaderEnumCloudFrontIsTabletViewer,
36646		HeaderEnumCloudFrontViewerCountry,
36647		HeaderEnumHost,
36648		HeaderEnumOrigin,
36649		HeaderEnumReferer,
36650	}
36651}
36652
36653const (
36654	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
36655	InstanceAccessProtocolSsh = "ssh"
36656
36657	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
36658	InstanceAccessProtocolRdp = "rdp"
36659)
36660
36661// InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
36662func InstanceAccessProtocol_Values() []string {
36663	return []string{
36664		InstanceAccessProtocolSsh,
36665		InstanceAccessProtocolRdp,
36666	}
36667}
36668
36669const (
36670	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
36671	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
36672
36673	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
36674	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
36675
36676	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
36677	InstanceHealthReasonLbInternalError = "Lb.InternalError"
36678
36679	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
36680	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
36681
36682	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
36683	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
36684
36685	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
36686	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
36687
36688	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
36689	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
36690
36691	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
36692	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
36693
36694	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
36695	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
36696
36697	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
36698	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
36699
36700	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
36701	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
36702)
36703
36704// InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
36705func InstanceHealthReason_Values() []string {
36706	return []string{
36707		InstanceHealthReasonLbRegistrationInProgress,
36708		InstanceHealthReasonLbInitialHealthChecking,
36709		InstanceHealthReasonLbInternalError,
36710		InstanceHealthReasonInstanceResponseCodeMismatch,
36711		InstanceHealthReasonInstanceTimeout,
36712		InstanceHealthReasonInstanceFailedHealthChecks,
36713		InstanceHealthReasonInstanceNotRegistered,
36714		InstanceHealthReasonInstanceNotInUse,
36715		InstanceHealthReasonInstanceDeregistrationInProgress,
36716		InstanceHealthReasonInstanceInvalidState,
36717		InstanceHealthReasonInstanceIpUnusable,
36718	}
36719}
36720
36721const (
36722	// InstanceHealthStateInitial is a InstanceHealthState enum value
36723	InstanceHealthStateInitial = "initial"
36724
36725	// InstanceHealthStateHealthy is a InstanceHealthState enum value
36726	InstanceHealthStateHealthy = "healthy"
36727
36728	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
36729	InstanceHealthStateUnhealthy = "unhealthy"
36730
36731	// InstanceHealthStateUnused is a InstanceHealthState enum value
36732	InstanceHealthStateUnused = "unused"
36733
36734	// InstanceHealthStateDraining is a InstanceHealthState enum value
36735	InstanceHealthStateDraining = "draining"
36736
36737	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
36738	InstanceHealthStateUnavailable = "unavailable"
36739)
36740
36741// InstanceHealthState_Values returns all elements of the InstanceHealthState enum
36742func InstanceHealthState_Values() []string {
36743	return []string{
36744		InstanceHealthStateInitial,
36745		InstanceHealthStateHealthy,
36746		InstanceHealthStateUnhealthy,
36747		InstanceHealthStateUnused,
36748		InstanceHealthStateDraining,
36749		InstanceHealthStateUnavailable,
36750	}
36751}
36752
36753const (
36754	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
36755	InstanceMetricNameCpuutilization = "CPUUtilization"
36756
36757	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
36758	InstanceMetricNameNetworkIn = "NetworkIn"
36759
36760	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
36761	InstanceMetricNameNetworkOut = "NetworkOut"
36762
36763	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
36764	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
36765
36766	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
36767	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
36768
36769	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
36770	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
36771
36772	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
36773	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
36774
36775	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
36776	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
36777)
36778
36779// InstanceMetricName_Values returns all elements of the InstanceMetricName enum
36780func InstanceMetricName_Values() []string {
36781	return []string{
36782		InstanceMetricNameCpuutilization,
36783		InstanceMetricNameNetworkIn,
36784		InstanceMetricNameNetworkOut,
36785		InstanceMetricNameStatusCheckFailed,
36786		InstanceMetricNameStatusCheckFailedInstance,
36787		InstanceMetricNameStatusCheckFailedSystem,
36788		InstanceMetricNameBurstCapacityTime,
36789		InstanceMetricNameBurstCapacityPercentage,
36790	}
36791}
36792
36793const (
36794	// InstancePlatformLinuxUnix is a InstancePlatform enum value
36795	InstancePlatformLinuxUnix = "LINUX_UNIX"
36796
36797	// InstancePlatformWindows is a InstancePlatform enum value
36798	InstancePlatformWindows = "WINDOWS"
36799)
36800
36801// InstancePlatform_Values returns all elements of the InstancePlatform enum
36802func InstancePlatform_Values() []string {
36803	return []string{
36804		InstancePlatformLinuxUnix,
36805		InstancePlatformWindows,
36806	}
36807}
36808
36809const (
36810	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
36811	InstanceSnapshotStatePending = "pending"
36812
36813	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
36814	InstanceSnapshotStateError = "error"
36815
36816	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
36817	InstanceSnapshotStateAvailable = "available"
36818)
36819
36820// InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
36821func InstanceSnapshotState_Values() []string {
36822	return []string{
36823		InstanceSnapshotStatePending,
36824		InstanceSnapshotStateError,
36825		InstanceSnapshotStateAvailable,
36826	}
36827}
36828
36829const (
36830	// IpAddressTypeDualstack is a IpAddressType enum value
36831	IpAddressTypeDualstack = "dualstack"
36832
36833	// IpAddressTypeIpv4 is a IpAddressType enum value
36834	IpAddressTypeIpv4 = "ipv4"
36835)
36836
36837// IpAddressType_Values returns all elements of the IpAddressType enum
36838func IpAddressType_Values() []string {
36839	return []string{
36840		IpAddressTypeDualstack,
36841		IpAddressTypeIpv4,
36842	}
36843}
36844
36845const (
36846	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
36847	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
36848
36849	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
36850	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
36851
36852	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
36853	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
36854)
36855
36856// LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
36857func LoadBalancerAttributeName_Values() []string {
36858	return []string{
36859		LoadBalancerAttributeNameHealthCheckPath,
36860		LoadBalancerAttributeNameSessionStickinessEnabled,
36861		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
36862	}
36863}
36864
36865const (
36866	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
36867	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
36868
36869	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
36870	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
36871
36872	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
36873	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
36874
36875	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
36876	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
36877
36878	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
36879	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
36880
36881	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
36882	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
36883
36884	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
36885	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
36886
36887	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
36888	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
36889
36890	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
36891	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
36892
36893	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
36894	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
36895
36896	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
36897	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
36898
36899	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
36900	LoadBalancerMetricNameRequestCount = "RequestCount"
36901)
36902
36903// LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
36904func LoadBalancerMetricName_Values() []string {
36905	return []string{
36906		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
36907		LoadBalancerMetricNameHealthyHostCount,
36908		LoadBalancerMetricNameUnhealthyHostCount,
36909		LoadBalancerMetricNameHttpcodeLb4xxCount,
36910		LoadBalancerMetricNameHttpcodeLb5xxCount,
36911		LoadBalancerMetricNameHttpcodeInstance2xxCount,
36912		LoadBalancerMetricNameHttpcodeInstance3xxCount,
36913		LoadBalancerMetricNameHttpcodeInstance4xxCount,
36914		LoadBalancerMetricNameHttpcodeInstance5xxCount,
36915		LoadBalancerMetricNameInstanceResponseTime,
36916		LoadBalancerMetricNameRejectedConnectionCount,
36917		LoadBalancerMetricNameRequestCount,
36918	}
36919}
36920
36921const (
36922	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
36923	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
36924
36925	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
36926	LoadBalancerProtocolHttp = "HTTP"
36927)
36928
36929// LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
36930func LoadBalancerProtocol_Values() []string {
36931	return []string{
36932		LoadBalancerProtocolHttpHttps,
36933		LoadBalancerProtocolHttp,
36934	}
36935}
36936
36937const (
36938	// LoadBalancerStateActive is a LoadBalancerState enum value
36939	LoadBalancerStateActive = "active"
36940
36941	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
36942	LoadBalancerStateProvisioning = "provisioning"
36943
36944	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
36945	LoadBalancerStateActiveImpaired = "active_impaired"
36946
36947	// LoadBalancerStateFailed is a LoadBalancerState enum value
36948	LoadBalancerStateFailed = "failed"
36949
36950	// LoadBalancerStateUnknown is a LoadBalancerState enum value
36951	LoadBalancerStateUnknown = "unknown"
36952)
36953
36954// LoadBalancerState_Values returns all elements of the LoadBalancerState enum
36955func LoadBalancerState_Values() []string {
36956	return []string{
36957		LoadBalancerStateActive,
36958		LoadBalancerStateProvisioning,
36959		LoadBalancerStateActiveImpaired,
36960		LoadBalancerStateFailed,
36961		LoadBalancerStateUnknown,
36962	}
36963}
36964
36965const (
36966	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
36967	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
36968
36969	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
36970	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
36971
36972	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
36973	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
36974)
36975
36976// LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
36977func LoadBalancerTlsCertificateDomainStatus_Values() []string {
36978	return []string{
36979		LoadBalancerTlsCertificateDomainStatusPendingValidation,
36980		LoadBalancerTlsCertificateDomainStatusFailed,
36981		LoadBalancerTlsCertificateDomainStatusSuccess,
36982	}
36983}
36984
36985const (
36986	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
36987	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
36988
36989	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
36990	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
36991
36992	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
36993	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
36994
36995	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
36996	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
36997
36998	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
36999	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
37000)
37001
37002// LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
37003func LoadBalancerTlsCertificateFailureReason_Values() []string {
37004	return []string{
37005		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
37006		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
37007		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
37008		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
37009		LoadBalancerTlsCertificateFailureReasonOther,
37010	}
37011}
37012
37013const (
37014	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
37015	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
37016
37017	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
37018	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
37019
37020	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
37021	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
37022
37023	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
37024	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
37025)
37026
37027// LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
37028func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
37029	return []string{
37030		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
37031		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
37032		LoadBalancerTlsCertificateRenewalStatusSuccess,
37033		LoadBalancerTlsCertificateRenewalStatusFailed,
37034	}
37035}
37036
37037const (
37038	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
37039	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
37040
37041	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
37042	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
37043
37044	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
37045	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
37046
37047	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
37048	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
37049
37050	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
37051	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
37052
37053	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
37054	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
37055
37056	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
37057	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
37058
37059	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
37060	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
37061
37062	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
37063	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
37064
37065	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
37066	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
37067)
37068
37069// LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
37070func LoadBalancerTlsCertificateRevocationReason_Values() []string {
37071	return []string{
37072		LoadBalancerTlsCertificateRevocationReasonUnspecified,
37073		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
37074		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
37075		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
37076		LoadBalancerTlsCertificateRevocationReasonSuperceded,
37077		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
37078		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
37079		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
37080		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
37081		LoadBalancerTlsCertificateRevocationReasonAACompromise,
37082	}
37083}
37084
37085const (
37086	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
37087	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
37088
37089	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
37090	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
37091
37092	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
37093	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
37094
37095	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
37096	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
37097
37098	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
37099	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
37100
37101	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
37102	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
37103
37104	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
37105	LoadBalancerTlsCertificateStatusFailed = "FAILED"
37106
37107	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
37108	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
37109)
37110
37111// LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
37112func LoadBalancerTlsCertificateStatus_Values() []string {
37113	return []string{
37114		LoadBalancerTlsCertificateStatusPendingValidation,
37115		LoadBalancerTlsCertificateStatusIssued,
37116		LoadBalancerTlsCertificateStatusInactive,
37117		LoadBalancerTlsCertificateStatusExpired,
37118		LoadBalancerTlsCertificateStatusValidationTimedOut,
37119		LoadBalancerTlsCertificateStatusRevoked,
37120		LoadBalancerTlsCertificateStatusFailed,
37121		LoadBalancerTlsCertificateStatusUnknown,
37122	}
37123}
37124
37125const (
37126	// MetricNameCpuutilization is a MetricName enum value
37127	MetricNameCpuutilization = "CPUUtilization"
37128
37129	// MetricNameNetworkIn is a MetricName enum value
37130	MetricNameNetworkIn = "NetworkIn"
37131
37132	// MetricNameNetworkOut is a MetricName enum value
37133	MetricNameNetworkOut = "NetworkOut"
37134
37135	// MetricNameStatusCheckFailed is a MetricName enum value
37136	MetricNameStatusCheckFailed = "StatusCheckFailed"
37137
37138	// MetricNameStatusCheckFailedInstance is a MetricName enum value
37139	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
37140
37141	// MetricNameStatusCheckFailedSystem is a MetricName enum value
37142	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
37143
37144	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
37145	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
37146
37147	// MetricNameHealthyHostCount is a MetricName enum value
37148	MetricNameHealthyHostCount = "HealthyHostCount"
37149
37150	// MetricNameUnhealthyHostCount is a MetricName enum value
37151	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
37152
37153	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
37154	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
37155
37156	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
37157	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
37158
37159	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
37160	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
37161
37162	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
37163	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
37164
37165	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
37166	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
37167
37168	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
37169	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
37170
37171	// MetricNameInstanceResponseTime is a MetricName enum value
37172	MetricNameInstanceResponseTime = "InstanceResponseTime"
37173
37174	// MetricNameRejectedConnectionCount is a MetricName enum value
37175	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
37176
37177	// MetricNameRequestCount is a MetricName enum value
37178	MetricNameRequestCount = "RequestCount"
37179
37180	// MetricNameDatabaseConnections is a MetricName enum value
37181	MetricNameDatabaseConnections = "DatabaseConnections"
37182
37183	// MetricNameDiskQueueDepth is a MetricName enum value
37184	MetricNameDiskQueueDepth = "DiskQueueDepth"
37185
37186	// MetricNameFreeStorageSpace is a MetricName enum value
37187	MetricNameFreeStorageSpace = "FreeStorageSpace"
37188
37189	// MetricNameNetworkReceiveThroughput is a MetricName enum value
37190	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
37191
37192	// MetricNameNetworkTransmitThroughput is a MetricName enum value
37193	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
37194
37195	// MetricNameBurstCapacityTime is a MetricName enum value
37196	MetricNameBurstCapacityTime = "BurstCapacityTime"
37197
37198	// MetricNameBurstCapacityPercentage is a MetricName enum value
37199	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
37200)
37201
37202// MetricName_Values returns all elements of the MetricName enum
37203func MetricName_Values() []string {
37204	return []string{
37205		MetricNameCpuutilization,
37206		MetricNameNetworkIn,
37207		MetricNameNetworkOut,
37208		MetricNameStatusCheckFailed,
37209		MetricNameStatusCheckFailedInstance,
37210		MetricNameStatusCheckFailedSystem,
37211		MetricNameClientTlsnegotiationErrorCount,
37212		MetricNameHealthyHostCount,
37213		MetricNameUnhealthyHostCount,
37214		MetricNameHttpcodeLb4xxCount,
37215		MetricNameHttpcodeLb5xxCount,
37216		MetricNameHttpcodeInstance2xxCount,
37217		MetricNameHttpcodeInstance3xxCount,
37218		MetricNameHttpcodeInstance4xxCount,
37219		MetricNameHttpcodeInstance5xxCount,
37220		MetricNameInstanceResponseTime,
37221		MetricNameRejectedConnectionCount,
37222		MetricNameRequestCount,
37223		MetricNameDatabaseConnections,
37224		MetricNameDiskQueueDepth,
37225		MetricNameFreeStorageSpace,
37226		MetricNameNetworkReceiveThroughput,
37227		MetricNameNetworkTransmitThroughput,
37228		MetricNameBurstCapacityTime,
37229		MetricNameBurstCapacityPercentage,
37230	}
37231}
37232
37233const (
37234	// MetricStatisticMinimum is a MetricStatistic enum value
37235	MetricStatisticMinimum = "Minimum"
37236
37237	// MetricStatisticMaximum is a MetricStatistic enum value
37238	MetricStatisticMaximum = "Maximum"
37239
37240	// MetricStatisticSum is a MetricStatistic enum value
37241	MetricStatisticSum = "Sum"
37242
37243	// MetricStatisticAverage is a MetricStatistic enum value
37244	MetricStatisticAverage = "Average"
37245
37246	// MetricStatisticSampleCount is a MetricStatistic enum value
37247	MetricStatisticSampleCount = "SampleCount"
37248)
37249
37250// MetricStatistic_Values returns all elements of the MetricStatistic enum
37251func MetricStatistic_Values() []string {
37252	return []string{
37253		MetricStatisticMinimum,
37254		MetricStatisticMaximum,
37255		MetricStatisticSum,
37256		MetricStatisticAverage,
37257		MetricStatisticSampleCount,
37258	}
37259}
37260
37261const (
37262	// MetricUnitSeconds is a MetricUnit enum value
37263	MetricUnitSeconds = "Seconds"
37264
37265	// MetricUnitMicroseconds is a MetricUnit enum value
37266	MetricUnitMicroseconds = "Microseconds"
37267
37268	// MetricUnitMilliseconds is a MetricUnit enum value
37269	MetricUnitMilliseconds = "Milliseconds"
37270
37271	// MetricUnitBytes is a MetricUnit enum value
37272	MetricUnitBytes = "Bytes"
37273
37274	// MetricUnitKilobytes is a MetricUnit enum value
37275	MetricUnitKilobytes = "Kilobytes"
37276
37277	// MetricUnitMegabytes is a MetricUnit enum value
37278	MetricUnitMegabytes = "Megabytes"
37279
37280	// MetricUnitGigabytes is a MetricUnit enum value
37281	MetricUnitGigabytes = "Gigabytes"
37282
37283	// MetricUnitTerabytes is a MetricUnit enum value
37284	MetricUnitTerabytes = "Terabytes"
37285
37286	// MetricUnitBits is a MetricUnit enum value
37287	MetricUnitBits = "Bits"
37288
37289	// MetricUnitKilobits is a MetricUnit enum value
37290	MetricUnitKilobits = "Kilobits"
37291
37292	// MetricUnitMegabits is a MetricUnit enum value
37293	MetricUnitMegabits = "Megabits"
37294
37295	// MetricUnitGigabits is a MetricUnit enum value
37296	MetricUnitGigabits = "Gigabits"
37297
37298	// MetricUnitTerabits is a MetricUnit enum value
37299	MetricUnitTerabits = "Terabits"
37300
37301	// MetricUnitPercent is a MetricUnit enum value
37302	MetricUnitPercent = "Percent"
37303
37304	// MetricUnitCount is a MetricUnit enum value
37305	MetricUnitCount = "Count"
37306
37307	// MetricUnitBytesSecond is a MetricUnit enum value
37308	MetricUnitBytesSecond = "Bytes/Second"
37309
37310	// MetricUnitKilobytesSecond is a MetricUnit enum value
37311	MetricUnitKilobytesSecond = "Kilobytes/Second"
37312
37313	// MetricUnitMegabytesSecond is a MetricUnit enum value
37314	MetricUnitMegabytesSecond = "Megabytes/Second"
37315
37316	// MetricUnitGigabytesSecond is a MetricUnit enum value
37317	MetricUnitGigabytesSecond = "Gigabytes/Second"
37318
37319	// MetricUnitTerabytesSecond is a MetricUnit enum value
37320	MetricUnitTerabytesSecond = "Terabytes/Second"
37321
37322	// MetricUnitBitsSecond is a MetricUnit enum value
37323	MetricUnitBitsSecond = "Bits/Second"
37324
37325	// MetricUnitKilobitsSecond is a MetricUnit enum value
37326	MetricUnitKilobitsSecond = "Kilobits/Second"
37327
37328	// MetricUnitMegabitsSecond is a MetricUnit enum value
37329	MetricUnitMegabitsSecond = "Megabits/Second"
37330
37331	// MetricUnitGigabitsSecond is a MetricUnit enum value
37332	MetricUnitGigabitsSecond = "Gigabits/Second"
37333
37334	// MetricUnitTerabitsSecond is a MetricUnit enum value
37335	MetricUnitTerabitsSecond = "Terabits/Second"
37336
37337	// MetricUnitCountSecond is a MetricUnit enum value
37338	MetricUnitCountSecond = "Count/Second"
37339
37340	// MetricUnitNone is a MetricUnit enum value
37341	MetricUnitNone = "None"
37342)
37343
37344// MetricUnit_Values returns all elements of the MetricUnit enum
37345func MetricUnit_Values() []string {
37346	return []string{
37347		MetricUnitSeconds,
37348		MetricUnitMicroseconds,
37349		MetricUnitMilliseconds,
37350		MetricUnitBytes,
37351		MetricUnitKilobytes,
37352		MetricUnitMegabytes,
37353		MetricUnitGigabytes,
37354		MetricUnitTerabytes,
37355		MetricUnitBits,
37356		MetricUnitKilobits,
37357		MetricUnitMegabits,
37358		MetricUnitGigabits,
37359		MetricUnitTerabits,
37360		MetricUnitPercent,
37361		MetricUnitCount,
37362		MetricUnitBytesSecond,
37363		MetricUnitKilobytesSecond,
37364		MetricUnitMegabytesSecond,
37365		MetricUnitGigabytesSecond,
37366		MetricUnitTerabytesSecond,
37367		MetricUnitBitsSecond,
37368		MetricUnitKilobitsSecond,
37369		MetricUnitMegabitsSecond,
37370		MetricUnitGigabitsSecond,
37371		MetricUnitTerabitsSecond,
37372		MetricUnitCountSecond,
37373		MetricUnitNone,
37374	}
37375}
37376
37377const (
37378	// NetworkProtocolTcp is a NetworkProtocol enum value
37379	NetworkProtocolTcp = "tcp"
37380
37381	// NetworkProtocolAll is a NetworkProtocol enum value
37382	NetworkProtocolAll = "all"
37383
37384	// NetworkProtocolUdp is a NetworkProtocol enum value
37385	NetworkProtocolUdp = "udp"
37386
37387	// NetworkProtocolIcmp is a NetworkProtocol enum value
37388	NetworkProtocolIcmp = "icmp"
37389)
37390
37391// NetworkProtocol_Values returns all elements of the NetworkProtocol enum
37392func NetworkProtocol_Values() []string {
37393	return []string{
37394		NetworkProtocolTcp,
37395		NetworkProtocolAll,
37396		NetworkProtocolUdp,
37397		NetworkProtocolIcmp,
37398	}
37399}
37400
37401const (
37402	// OperationStatusNotStarted is a OperationStatus enum value
37403	OperationStatusNotStarted = "NotStarted"
37404
37405	// OperationStatusStarted is a OperationStatus enum value
37406	OperationStatusStarted = "Started"
37407
37408	// OperationStatusFailed is a OperationStatus enum value
37409	OperationStatusFailed = "Failed"
37410
37411	// OperationStatusCompleted is a OperationStatus enum value
37412	OperationStatusCompleted = "Completed"
37413
37414	// OperationStatusSucceeded is a OperationStatus enum value
37415	OperationStatusSucceeded = "Succeeded"
37416)
37417
37418// OperationStatus_Values returns all elements of the OperationStatus enum
37419func OperationStatus_Values() []string {
37420	return []string{
37421		OperationStatusNotStarted,
37422		OperationStatusStarted,
37423		OperationStatusFailed,
37424		OperationStatusCompleted,
37425		OperationStatusSucceeded,
37426	}
37427}
37428
37429const (
37430	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
37431	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
37432
37433	// OperationTypeDeleteInstance is a OperationType enum value
37434	OperationTypeDeleteInstance = "DeleteInstance"
37435
37436	// OperationTypeCreateInstance is a OperationType enum value
37437	OperationTypeCreateInstance = "CreateInstance"
37438
37439	// OperationTypeStopInstance is a OperationType enum value
37440	OperationTypeStopInstance = "StopInstance"
37441
37442	// OperationTypeStartInstance is a OperationType enum value
37443	OperationTypeStartInstance = "StartInstance"
37444
37445	// OperationTypeRebootInstance is a OperationType enum value
37446	OperationTypeRebootInstance = "RebootInstance"
37447
37448	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
37449	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
37450
37451	// OperationTypePutInstancePublicPorts is a OperationType enum value
37452	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
37453
37454	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
37455	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
37456
37457	// OperationTypeAllocateStaticIp is a OperationType enum value
37458	OperationTypeAllocateStaticIp = "AllocateStaticIp"
37459
37460	// OperationTypeReleaseStaticIp is a OperationType enum value
37461	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
37462
37463	// OperationTypeAttachStaticIp is a OperationType enum value
37464	OperationTypeAttachStaticIp = "AttachStaticIp"
37465
37466	// OperationTypeDetachStaticIp is a OperationType enum value
37467	OperationTypeDetachStaticIp = "DetachStaticIp"
37468
37469	// OperationTypeUpdateDomainEntry is a OperationType enum value
37470	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
37471
37472	// OperationTypeDeleteDomainEntry is a OperationType enum value
37473	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
37474
37475	// OperationTypeCreateDomain is a OperationType enum value
37476	OperationTypeCreateDomain = "CreateDomain"
37477
37478	// OperationTypeDeleteDomain is a OperationType enum value
37479	OperationTypeDeleteDomain = "DeleteDomain"
37480
37481	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
37482	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
37483
37484	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
37485	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
37486
37487	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
37488	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
37489
37490	// OperationTypeCreateLoadBalancer is a OperationType enum value
37491	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
37492
37493	// OperationTypeDeleteLoadBalancer is a OperationType enum value
37494	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
37495
37496	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
37497	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
37498
37499	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
37500	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
37501
37502	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
37503	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
37504
37505	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
37506	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
37507
37508	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
37509	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
37510
37511	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
37512	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
37513
37514	// OperationTypeCreateDisk is a OperationType enum value
37515	OperationTypeCreateDisk = "CreateDisk"
37516
37517	// OperationTypeDeleteDisk is a OperationType enum value
37518	OperationTypeDeleteDisk = "DeleteDisk"
37519
37520	// OperationTypeAttachDisk is a OperationType enum value
37521	OperationTypeAttachDisk = "AttachDisk"
37522
37523	// OperationTypeDetachDisk is a OperationType enum value
37524	OperationTypeDetachDisk = "DetachDisk"
37525
37526	// OperationTypeCreateDiskSnapshot is a OperationType enum value
37527	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
37528
37529	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
37530	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
37531
37532	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
37533	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
37534
37535	// OperationTypeCreateRelationalDatabase is a OperationType enum value
37536	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
37537
37538	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
37539	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
37540
37541	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
37542	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
37543
37544	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
37545	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
37546
37547	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
37548	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
37549
37550	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
37551	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
37552
37553	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
37554	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
37555
37556	// OperationTypeStartRelationalDatabase is a OperationType enum value
37557	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
37558
37559	// OperationTypeRebootRelationalDatabase is a OperationType enum value
37560	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
37561
37562	// OperationTypeStopRelationalDatabase is a OperationType enum value
37563	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
37564
37565	// OperationTypeEnableAddOn is a OperationType enum value
37566	OperationTypeEnableAddOn = "EnableAddOn"
37567
37568	// OperationTypeDisableAddOn is a OperationType enum value
37569	OperationTypeDisableAddOn = "DisableAddOn"
37570
37571	// OperationTypePutAlarm is a OperationType enum value
37572	OperationTypePutAlarm = "PutAlarm"
37573
37574	// OperationTypeGetAlarms is a OperationType enum value
37575	OperationTypeGetAlarms = "GetAlarms"
37576
37577	// OperationTypeDeleteAlarm is a OperationType enum value
37578	OperationTypeDeleteAlarm = "DeleteAlarm"
37579
37580	// OperationTypeTestAlarm is a OperationType enum value
37581	OperationTypeTestAlarm = "TestAlarm"
37582
37583	// OperationTypeCreateContactMethod is a OperationType enum value
37584	OperationTypeCreateContactMethod = "CreateContactMethod"
37585
37586	// OperationTypeGetContactMethods is a OperationType enum value
37587	OperationTypeGetContactMethods = "GetContactMethods"
37588
37589	// OperationTypeSendContactMethodVerification is a OperationType enum value
37590	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
37591
37592	// OperationTypeDeleteContactMethod is a OperationType enum value
37593	OperationTypeDeleteContactMethod = "DeleteContactMethod"
37594
37595	// OperationTypeCreateDistribution is a OperationType enum value
37596	OperationTypeCreateDistribution = "CreateDistribution"
37597
37598	// OperationTypeUpdateDistribution is a OperationType enum value
37599	OperationTypeUpdateDistribution = "UpdateDistribution"
37600
37601	// OperationTypeDeleteDistribution is a OperationType enum value
37602	OperationTypeDeleteDistribution = "DeleteDistribution"
37603
37604	// OperationTypeResetDistributionCache is a OperationType enum value
37605	OperationTypeResetDistributionCache = "ResetDistributionCache"
37606
37607	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
37608	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
37609
37610	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
37611	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
37612
37613	// OperationTypeUpdateDistributionBundle is a OperationType enum value
37614	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
37615
37616	// OperationTypeSetIpAddressType is a OperationType enum value
37617	OperationTypeSetIpAddressType = "SetIpAddressType"
37618
37619	// OperationTypeCreateCertificate is a OperationType enum value
37620	OperationTypeCreateCertificate = "CreateCertificate"
37621
37622	// OperationTypeDeleteCertificate is a OperationType enum value
37623	OperationTypeDeleteCertificate = "DeleteCertificate"
37624
37625	// OperationTypeCreateContainerService is a OperationType enum value
37626	OperationTypeCreateContainerService = "CreateContainerService"
37627
37628	// OperationTypeUpdateContainerService is a OperationType enum value
37629	OperationTypeUpdateContainerService = "UpdateContainerService"
37630
37631	// OperationTypeDeleteContainerService is a OperationType enum value
37632	OperationTypeDeleteContainerService = "DeleteContainerService"
37633
37634	// OperationTypeCreateContainerServiceDeployment is a OperationType enum value
37635	OperationTypeCreateContainerServiceDeployment = "CreateContainerServiceDeployment"
37636
37637	// OperationTypeCreateContainerServiceRegistryLogin is a OperationType enum value
37638	OperationTypeCreateContainerServiceRegistryLogin = "CreateContainerServiceRegistryLogin"
37639
37640	// OperationTypeRegisterContainerImage is a OperationType enum value
37641	OperationTypeRegisterContainerImage = "RegisterContainerImage"
37642
37643	// OperationTypeDeleteContainerImage is a OperationType enum value
37644	OperationTypeDeleteContainerImage = "DeleteContainerImage"
37645)
37646
37647// OperationType_Values returns all elements of the OperationType enum
37648func OperationType_Values() []string {
37649	return []string{
37650		OperationTypeDeleteKnownHostKeys,
37651		OperationTypeDeleteInstance,
37652		OperationTypeCreateInstance,
37653		OperationTypeStopInstance,
37654		OperationTypeStartInstance,
37655		OperationTypeRebootInstance,
37656		OperationTypeOpenInstancePublicPorts,
37657		OperationTypePutInstancePublicPorts,
37658		OperationTypeCloseInstancePublicPorts,
37659		OperationTypeAllocateStaticIp,
37660		OperationTypeReleaseStaticIp,
37661		OperationTypeAttachStaticIp,
37662		OperationTypeDetachStaticIp,
37663		OperationTypeUpdateDomainEntry,
37664		OperationTypeDeleteDomainEntry,
37665		OperationTypeCreateDomain,
37666		OperationTypeDeleteDomain,
37667		OperationTypeCreateInstanceSnapshot,
37668		OperationTypeDeleteInstanceSnapshot,
37669		OperationTypeCreateInstancesFromSnapshot,
37670		OperationTypeCreateLoadBalancer,
37671		OperationTypeDeleteLoadBalancer,
37672		OperationTypeAttachInstancesToLoadBalancer,
37673		OperationTypeDetachInstancesFromLoadBalancer,
37674		OperationTypeUpdateLoadBalancerAttribute,
37675		OperationTypeCreateLoadBalancerTlsCertificate,
37676		OperationTypeDeleteLoadBalancerTlsCertificate,
37677		OperationTypeAttachLoadBalancerTlsCertificate,
37678		OperationTypeCreateDisk,
37679		OperationTypeDeleteDisk,
37680		OperationTypeAttachDisk,
37681		OperationTypeDetachDisk,
37682		OperationTypeCreateDiskSnapshot,
37683		OperationTypeDeleteDiskSnapshot,
37684		OperationTypeCreateDiskFromSnapshot,
37685		OperationTypeCreateRelationalDatabase,
37686		OperationTypeUpdateRelationalDatabase,
37687		OperationTypeDeleteRelationalDatabase,
37688		OperationTypeCreateRelationalDatabaseFromSnapshot,
37689		OperationTypeCreateRelationalDatabaseSnapshot,
37690		OperationTypeDeleteRelationalDatabaseSnapshot,
37691		OperationTypeUpdateRelationalDatabaseParameters,
37692		OperationTypeStartRelationalDatabase,
37693		OperationTypeRebootRelationalDatabase,
37694		OperationTypeStopRelationalDatabase,
37695		OperationTypeEnableAddOn,
37696		OperationTypeDisableAddOn,
37697		OperationTypePutAlarm,
37698		OperationTypeGetAlarms,
37699		OperationTypeDeleteAlarm,
37700		OperationTypeTestAlarm,
37701		OperationTypeCreateContactMethod,
37702		OperationTypeGetContactMethods,
37703		OperationTypeSendContactMethodVerification,
37704		OperationTypeDeleteContactMethod,
37705		OperationTypeCreateDistribution,
37706		OperationTypeUpdateDistribution,
37707		OperationTypeDeleteDistribution,
37708		OperationTypeResetDistributionCache,
37709		OperationTypeAttachCertificateToDistribution,
37710		OperationTypeDetachCertificateFromDistribution,
37711		OperationTypeUpdateDistributionBundle,
37712		OperationTypeSetIpAddressType,
37713		OperationTypeCreateCertificate,
37714		OperationTypeDeleteCertificate,
37715		OperationTypeCreateContainerService,
37716		OperationTypeUpdateContainerService,
37717		OperationTypeDeleteContainerService,
37718		OperationTypeCreateContainerServiceDeployment,
37719		OperationTypeCreateContainerServiceRegistryLogin,
37720		OperationTypeRegisterContainerImage,
37721		OperationTypeDeleteContainerImage,
37722	}
37723}
37724
37725const (
37726	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
37727	OriginProtocolPolicyEnumHttpOnly = "http-only"
37728
37729	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
37730	OriginProtocolPolicyEnumHttpsOnly = "https-only"
37731)
37732
37733// OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
37734func OriginProtocolPolicyEnum_Values() []string {
37735	return []string{
37736		OriginProtocolPolicyEnumHttpOnly,
37737		OriginProtocolPolicyEnumHttpsOnly,
37738	}
37739}
37740
37741const (
37742	// PortAccessTypePublic is a PortAccessType enum value
37743	PortAccessTypePublic = "Public"
37744
37745	// PortAccessTypePrivate is a PortAccessType enum value
37746	PortAccessTypePrivate = "Private"
37747)
37748
37749// PortAccessType_Values returns all elements of the PortAccessType enum
37750func PortAccessType_Values() []string {
37751	return []string{
37752		PortAccessTypePublic,
37753		PortAccessTypePrivate,
37754	}
37755}
37756
37757const (
37758	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
37759	PortInfoSourceTypeDefault = "DEFAULT"
37760
37761	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
37762	PortInfoSourceTypeInstance = "INSTANCE"
37763
37764	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
37765	PortInfoSourceTypeNone = "NONE"
37766
37767	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
37768	PortInfoSourceTypeClosed = "CLOSED"
37769)
37770
37771// PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
37772func PortInfoSourceType_Values() []string {
37773	return []string{
37774		PortInfoSourceTypeDefault,
37775		PortInfoSourceTypeInstance,
37776		PortInfoSourceTypeNone,
37777		PortInfoSourceTypeClosed,
37778	}
37779}
37780
37781const (
37782	// PortStateOpen is a PortState enum value
37783	PortStateOpen = "open"
37784
37785	// PortStateClosed is a PortState enum value
37786	PortStateClosed = "closed"
37787)
37788
37789// PortState_Values returns all elements of the PortState enum
37790func PortState_Values() []string {
37791	return []string{
37792		PortStateOpen,
37793		PortStateClosed,
37794	}
37795}
37796
37797const (
37798	// RecordStateStarted is a RecordState enum value
37799	RecordStateStarted = "Started"
37800
37801	// RecordStateSucceeded is a RecordState enum value
37802	RecordStateSucceeded = "Succeeded"
37803
37804	// RecordStateFailed is a RecordState enum value
37805	RecordStateFailed = "Failed"
37806)
37807
37808// RecordState_Values returns all elements of the RecordState enum
37809func RecordState_Values() []string {
37810	return []string{
37811		RecordStateStarted,
37812		RecordStateSucceeded,
37813		RecordStateFailed,
37814	}
37815}
37816
37817const (
37818	// RegionNameUsEast1 is a RegionName enum value
37819	RegionNameUsEast1 = "us-east-1"
37820
37821	// RegionNameUsEast2 is a RegionName enum value
37822	RegionNameUsEast2 = "us-east-2"
37823
37824	// RegionNameUsWest1 is a RegionName enum value
37825	RegionNameUsWest1 = "us-west-1"
37826
37827	// RegionNameUsWest2 is a RegionName enum value
37828	RegionNameUsWest2 = "us-west-2"
37829
37830	// RegionNameEuWest1 is a RegionName enum value
37831	RegionNameEuWest1 = "eu-west-1"
37832
37833	// RegionNameEuWest2 is a RegionName enum value
37834	RegionNameEuWest2 = "eu-west-2"
37835
37836	// RegionNameEuWest3 is a RegionName enum value
37837	RegionNameEuWest3 = "eu-west-3"
37838
37839	// RegionNameEuCentral1 is a RegionName enum value
37840	RegionNameEuCentral1 = "eu-central-1"
37841
37842	// RegionNameCaCentral1 is a RegionName enum value
37843	RegionNameCaCentral1 = "ca-central-1"
37844
37845	// RegionNameApSouth1 is a RegionName enum value
37846	RegionNameApSouth1 = "ap-south-1"
37847
37848	// RegionNameApSoutheast1 is a RegionName enum value
37849	RegionNameApSoutheast1 = "ap-southeast-1"
37850
37851	// RegionNameApSoutheast2 is a RegionName enum value
37852	RegionNameApSoutheast2 = "ap-southeast-2"
37853
37854	// RegionNameApNortheast1 is a RegionName enum value
37855	RegionNameApNortheast1 = "ap-northeast-1"
37856
37857	// RegionNameApNortheast2 is a RegionName enum value
37858	RegionNameApNortheast2 = "ap-northeast-2"
37859)
37860
37861// RegionName_Values returns all elements of the RegionName enum
37862func RegionName_Values() []string {
37863	return []string{
37864		RegionNameUsEast1,
37865		RegionNameUsEast2,
37866		RegionNameUsWest1,
37867		RegionNameUsWest2,
37868		RegionNameEuWest1,
37869		RegionNameEuWest2,
37870		RegionNameEuWest3,
37871		RegionNameEuCentral1,
37872		RegionNameCaCentral1,
37873		RegionNameApSouth1,
37874		RegionNameApSoutheast1,
37875		RegionNameApSoutheast2,
37876		RegionNameApNortheast1,
37877		RegionNameApNortheast2,
37878	}
37879}
37880
37881const (
37882	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
37883	RelationalDatabaseEngineMysql = "mysql"
37884)
37885
37886// RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
37887func RelationalDatabaseEngine_Values() []string {
37888	return []string{
37889		RelationalDatabaseEngineMysql,
37890	}
37891}
37892
37893const (
37894	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
37895	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
37896
37897	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
37898	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
37899
37900	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
37901	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
37902
37903	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
37904	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
37905
37906	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
37907	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
37908
37909	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
37910	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
37911)
37912
37913// RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
37914func RelationalDatabaseMetricName_Values() []string {
37915	return []string{
37916		RelationalDatabaseMetricNameCpuutilization,
37917		RelationalDatabaseMetricNameDatabaseConnections,
37918		RelationalDatabaseMetricNameDiskQueueDepth,
37919		RelationalDatabaseMetricNameFreeStorageSpace,
37920		RelationalDatabaseMetricNameNetworkReceiveThroughput,
37921		RelationalDatabaseMetricNameNetworkTransmitThroughput,
37922	}
37923}
37924
37925const (
37926	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
37927	RelationalDatabasePasswordVersionCurrent = "CURRENT"
37928
37929	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
37930	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
37931
37932	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
37933	RelationalDatabasePasswordVersionPending = "PENDING"
37934)
37935
37936// RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
37937func RelationalDatabasePasswordVersion_Values() []string {
37938	return []string{
37939		RelationalDatabasePasswordVersionCurrent,
37940		RelationalDatabasePasswordVersionPrevious,
37941		RelationalDatabasePasswordVersionPending,
37942	}
37943}
37944
37945const (
37946	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
37947	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
37948
37949	// RenewalStatusPendingValidation is a RenewalStatus enum value
37950	RenewalStatusPendingValidation = "PendingValidation"
37951
37952	// RenewalStatusSuccess is a RenewalStatus enum value
37953	RenewalStatusSuccess = "Success"
37954
37955	// RenewalStatusFailed is a RenewalStatus enum value
37956	RenewalStatusFailed = "Failed"
37957)
37958
37959// RenewalStatus_Values returns all elements of the RenewalStatus enum
37960func RenewalStatus_Values() []string {
37961	return []string{
37962		RenewalStatusPendingAutoRenewal,
37963		RenewalStatusPendingValidation,
37964		RenewalStatusSuccess,
37965		RenewalStatusFailed,
37966	}
37967}
37968
37969const (
37970	// ResourceTypeContainerService is a ResourceType enum value
37971	ResourceTypeContainerService = "ContainerService"
37972
37973	// ResourceTypeInstance is a ResourceType enum value
37974	ResourceTypeInstance = "Instance"
37975
37976	// ResourceTypeStaticIp is a ResourceType enum value
37977	ResourceTypeStaticIp = "StaticIp"
37978
37979	// ResourceTypeKeyPair is a ResourceType enum value
37980	ResourceTypeKeyPair = "KeyPair"
37981
37982	// ResourceTypeInstanceSnapshot is a ResourceType enum value
37983	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
37984
37985	// ResourceTypeDomain is a ResourceType enum value
37986	ResourceTypeDomain = "Domain"
37987
37988	// ResourceTypePeeredVpc is a ResourceType enum value
37989	ResourceTypePeeredVpc = "PeeredVpc"
37990
37991	// ResourceTypeLoadBalancer is a ResourceType enum value
37992	ResourceTypeLoadBalancer = "LoadBalancer"
37993
37994	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
37995	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
37996
37997	// ResourceTypeDisk is a ResourceType enum value
37998	ResourceTypeDisk = "Disk"
37999
38000	// ResourceTypeDiskSnapshot is a ResourceType enum value
38001	ResourceTypeDiskSnapshot = "DiskSnapshot"
38002
38003	// ResourceTypeRelationalDatabase is a ResourceType enum value
38004	ResourceTypeRelationalDatabase = "RelationalDatabase"
38005
38006	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
38007	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
38008
38009	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
38010	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
38011
38012	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
38013	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
38014
38015	// ResourceTypeAlarm is a ResourceType enum value
38016	ResourceTypeAlarm = "Alarm"
38017
38018	// ResourceTypeContactMethod is a ResourceType enum value
38019	ResourceTypeContactMethod = "ContactMethod"
38020
38021	// ResourceTypeDistribution is a ResourceType enum value
38022	ResourceTypeDistribution = "Distribution"
38023
38024	// ResourceTypeCertificate is a ResourceType enum value
38025	ResourceTypeCertificate = "Certificate"
38026)
38027
38028// ResourceType_Values returns all elements of the ResourceType enum
38029func ResourceType_Values() []string {
38030	return []string{
38031		ResourceTypeContainerService,
38032		ResourceTypeInstance,
38033		ResourceTypeStaticIp,
38034		ResourceTypeKeyPair,
38035		ResourceTypeInstanceSnapshot,
38036		ResourceTypeDomain,
38037		ResourceTypePeeredVpc,
38038		ResourceTypeLoadBalancer,
38039		ResourceTypeLoadBalancerTlsCertificate,
38040		ResourceTypeDisk,
38041		ResourceTypeDiskSnapshot,
38042		ResourceTypeRelationalDatabase,
38043		ResourceTypeRelationalDatabaseSnapshot,
38044		ResourceTypeExportSnapshotRecord,
38045		ResourceTypeCloudFormationStackRecord,
38046		ResourceTypeAlarm,
38047		ResourceTypeContactMethod,
38048		ResourceTypeDistribution,
38049		ResourceTypeCertificate,
38050	}
38051}
38052
38053const (
38054	// TreatMissingDataBreaching is a TreatMissingData enum value
38055	TreatMissingDataBreaching = "breaching"
38056
38057	// TreatMissingDataNotBreaching is a TreatMissingData enum value
38058	TreatMissingDataNotBreaching = "notBreaching"
38059
38060	// TreatMissingDataIgnore is a TreatMissingData enum value
38061	TreatMissingDataIgnore = "ignore"
38062
38063	// TreatMissingDataMissing is a TreatMissingData enum value
38064	TreatMissingDataMissing = "missing"
38065)
38066
38067// TreatMissingData_Values returns all elements of the TreatMissingData enum
38068func TreatMissingData_Values() []string {
38069	return []string{
38070		TreatMissingDataBreaching,
38071		TreatMissingDataNotBreaching,
38072		TreatMissingDataIgnore,
38073		TreatMissingDataMissing,
38074	}
38075}
38076