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)
14
15const opAllocateStaticIp = "AllocateStaticIp"
16
17// AllocateStaticIpRequest generates a "aws/request.Request" representing the
18// client's request for the AllocateStaticIp operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AllocateStaticIp for more information on using the AllocateStaticIp
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AllocateStaticIpRequest method.
33//    req, resp := client.AllocateStaticIpRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
41func (c *Lightsail) AllocateStaticIpRequest(input *AllocateStaticIpInput) (req *request.Request, output *AllocateStaticIpOutput) {
42	op := &request.Operation{
43		Name:       opAllocateStaticIp,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &AllocateStaticIpInput{}
50	}
51
52	output = &AllocateStaticIpOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AllocateStaticIp API operation for Amazon Lightsail.
58//
59// Allocates a static IP address.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for Amazon Lightsail's
66// API operation AllocateStaticIp for usage and error information.
67//
68// Returned Error Types:
69//   * ServiceException
70//   A general service exception.
71//
72//   * InvalidInputException
73//   Lightsail throws this exception when user input does not conform to the validation
74//   rules of an input field.
75//
76//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
77//   Please set your AWS Region configuration to us-east-1 to create, view, or
78//   edit these resources.
79//
80//   * NotFoundException
81//   Lightsail throws this exception when it cannot find a resource.
82//
83//   * OperationFailureException
84//   Lightsail throws this exception when an operation fails to execute.
85//
86//   * AccessDeniedException
87//   Lightsail throws this exception when the user cannot be authenticated or
88//   uses invalid credentials to access a resource.
89//
90//   * AccountSetupInProgressException
91//   Lightsail throws this exception when an account is still in the setup in
92//   progress state.
93//
94//   * UnauthenticatedException
95//   Lightsail throws this exception when the user has not been authenticated.
96//
97// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
98func (c *Lightsail) AllocateStaticIp(input *AllocateStaticIpInput) (*AllocateStaticIpOutput, error) {
99	req, out := c.AllocateStaticIpRequest(input)
100	return out, req.Send()
101}
102
103// AllocateStaticIpWithContext is the same as AllocateStaticIp with the addition of
104// the ability to pass a context and additional request options.
105//
106// See AllocateStaticIp for details on how to use this API operation.
107//
108// The context must be non-nil and will be used for request cancellation. If
109// the context is nil a panic will occur. In the future the SDK may create
110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
111// for more information on using Contexts.
112func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *AllocateStaticIpInput, opts ...request.Option) (*AllocateStaticIpOutput, error) {
113	req, out := c.AllocateStaticIpRequest(input)
114	req.SetContext(ctx)
115	req.ApplyOptions(opts...)
116	return out, req.Send()
117}
118
119const opAttachCertificateToDistribution = "AttachCertificateToDistribution"
120
121// AttachCertificateToDistributionRequest generates a "aws/request.Request" representing the
122// client's request for the AttachCertificateToDistribution operation. The "output" return
123// value will be populated with the request's response once the request completes
124// successfully.
125//
126// Use "Send" method on the returned Request to send the API call to the service.
127// the "output" return value is not valid until after Send returns without error.
128//
129// See AttachCertificateToDistribution for more information on using the AttachCertificateToDistribution
130// API call, and error handling.
131//
132// This method is useful when you want to inject custom logic or configuration
133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
134//
135//
136//    // Example sending a request using the AttachCertificateToDistributionRequest method.
137//    req, resp := client.AttachCertificateToDistributionRequest(params)
138//
139//    err := req.Send()
140//    if err == nil { // resp is now filled
141//        fmt.Println(resp)
142//    }
143//
144// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
145func (c *Lightsail) AttachCertificateToDistributionRequest(input *AttachCertificateToDistributionInput) (req *request.Request, output *AttachCertificateToDistributionOutput) {
146	op := &request.Operation{
147		Name:       opAttachCertificateToDistribution,
148		HTTPMethod: "POST",
149		HTTPPath:   "/",
150	}
151
152	if input == nil {
153		input = &AttachCertificateToDistributionInput{}
154	}
155
156	output = &AttachCertificateToDistributionOutput{}
157	req = c.newRequest(op, input, output)
158	return
159}
160
161// AttachCertificateToDistribution API operation for Amazon Lightsail.
162//
163// Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery
164// network (CDN) distribution.
165//
166// After the certificate is attached, your distribution accepts HTTPS traffic
167// for all of the domains that are associated with the certificate.
168//
169// Use the CreateCertificate action to create a certificate that you can attach
170// to your distribution.
171//
172// Only certificates created in the us-east-1 AWS Region can be attached to
173// Lightsail distributions. Lightsail distributions are global resources that
174// can reference an origin in any AWS Region, and distribute its content globally.
175// However, all distributions are located in the us-east-1 Region.
176//
177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
178// with awserr.Error's Code and Message methods to get detailed information about
179// the error.
180//
181// See the AWS API reference guide for Amazon Lightsail's
182// API operation AttachCertificateToDistribution for usage and error information.
183//
184// Returned Error Types:
185//   * ServiceException
186//   A general service exception.
187//
188//   * InvalidInputException
189//   Lightsail throws this exception when user input does not conform to the validation
190//   rules of an input field.
191//
192//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
193//   Please set your AWS Region configuration to us-east-1 to create, view, or
194//   edit these resources.
195//
196//   * NotFoundException
197//   Lightsail throws this exception when it cannot find a resource.
198//
199//   * OperationFailureException
200//   Lightsail throws this exception when an operation fails to execute.
201//
202//   * AccessDeniedException
203//   Lightsail throws this exception when the user cannot be authenticated or
204//   uses invalid credentials to access a resource.
205//
206//   * UnauthenticatedException
207//   Lightsail throws this exception when the user has not been authenticated.
208//
209// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution
210func (c *Lightsail) AttachCertificateToDistribution(input *AttachCertificateToDistributionInput) (*AttachCertificateToDistributionOutput, error) {
211	req, out := c.AttachCertificateToDistributionRequest(input)
212	return out, req.Send()
213}
214
215// AttachCertificateToDistributionWithContext is the same as AttachCertificateToDistribution with the addition of
216// the ability to pass a context and additional request options.
217//
218// See AttachCertificateToDistribution for details on how to use this API operation.
219//
220// The context must be non-nil and will be used for request cancellation. If
221// the context is nil a panic will occur. In the future the SDK may create
222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
223// for more information on using Contexts.
224func (c *Lightsail) AttachCertificateToDistributionWithContext(ctx aws.Context, input *AttachCertificateToDistributionInput, opts ...request.Option) (*AttachCertificateToDistributionOutput, error) {
225	req, out := c.AttachCertificateToDistributionRequest(input)
226	req.SetContext(ctx)
227	req.ApplyOptions(opts...)
228	return out, req.Send()
229}
230
231const opAttachDisk = "AttachDisk"
232
233// AttachDiskRequest generates a "aws/request.Request" representing the
234// client's request for the AttachDisk operation. The "output" return
235// value will be populated with the request's response once the request completes
236// successfully.
237//
238// Use "Send" method on the returned Request to send the API call to the service.
239// the "output" return value is not valid until after Send returns without error.
240//
241// See AttachDisk for more information on using the AttachDisk
242// API call, and error handling.
243//
244// This method is useful when you want to inject custom logic or configuration
245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
246//
247//
248//    // Example sending a request using the AttachDiskRequest method.
249//    req, resp := client.AttachDiskRequest(params)
250//
251//    err := req.Send()
252//    if err == nil { // resp is now filled
253//        fmt.Println(resp)
254//    }
255//
256// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
257func (c *Lightsail) AttachDiskRequest(input *AttachDiskInput) (req *request.Request, output *AttachDiskOutput) {
258	op := &request.Operation{
259		Name:       opAttachDisk,
260		HTTPMethod: "POST",
261		HTTPPath:   "/",
262	}
263
264	if input == nil {
265		input = &AttachDiskInput{}
266	}
267
268	output = &AttachDiskOutput{}
269	req = c.newRequest(op, input, output)
270	return
271}
272
273// AttachDisk API operation for Amazon Lightsail.
274//
275// Attaches a block storage disk to a running or stopped Lightsail instance
276// and exposes it to the instance with the specified disk name.
277//
278// The attach disk operation supports tag-based access control via resource
279// tags applied to the resource identified by disk name. For more information,
280// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
281//
282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
283// with awserr.Error's Code and Message methods to get detailed information about
284// the error.
285//
286// See the AWS API reference guide for Amazon Lightsail's
287// API operation AttachDisk for usage and error information.
288//
289// Returned Error Types:
290//   * ServiceException
291//   A general service exception.
292//
293//   * InvalidInputException
294//   Lightsail throws this exception when user input does not conform to the validation
295//   rules of an input field.
296//
297//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
298//   Please set your AWS Region configuration to us-east-1 to create, view, or
299//   edit these resources.
300//
301//   * NotFoundException
302//   Lightsail throws this exception when it cannot find a resource.
303//
304//   * OperationFailureException
305//   Lightsail throws this exception when an operation fails to execute.
306//
307//   * AccessDeniedException
308//   Lightsail throws this exception when the user cannot be authenticated or
309//   uses invalid credentials to access a resource.
310//
311//   * AccountSetupInProgressException
312//   Lightsail throws this exception when an account is still in the setup in
313//   progress state.
314//
315//   * UnauthenticatedException
316//   Lightsail throws this exception when the user has not been authenticated.
317//
318// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
319func (c *Lightsail) AttachDisk(input *AttachDiskInput) (*AttachDiskOutput, error) {
320	req, out := c.AttachDiskRequest(input)
321	return out, req.Send()
322}
323
324// AttachDiskWithContext is the same as AttachDisk with the addition of
325// the ability to pass a context and additional request options.
326//
327// See AttachDisk for details on how to use this API operation.
328//
329// The context must be non-nil and will be used for request cancellation. If
330// the context is nil a panic will occur. In the future the SDK may create
331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
332// for more information on using Contexts.
333func (c *Lightsail) AttachDiskWithContext(ctx aws.Context, input *AttachDiskInput, opts ...request.Option) (*AttachDiskOutput, error) {
334	req, out := c.AttachDiskRequest(input)
335	req.SetContext(ctx)
336	req.ApplyOptions(opts...)
337	return out, req.Send()
338}
339
340const opAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
341
342// AttachInstancesToLoadBalancerRequest generates a "aws/request.Request" representing the
343// client's request for the AttachInstancesToLoadBalancer operation. The "output" return
344// value will be populated with the request's response once the request completes
345// successfully.
346//
347// Use "Send" method on the returned Request to send the API call to the service.
348// the "output" return value is not valid until after Send returns without error.
349//
350// See AttachInstancesToLoadBalancer for more information on using the AttachInstancesToLoadBalancer
351// API call, and error handling.
352//
353// This method is useful when you want to inject custom logic or configuration
354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
355//
356//
357//    // Example sending a request using the AttachInstancesToLoadBalancerRequest method.
358//    req, resp := client.AttachInstancesToLoadBalancerRequest(params)
359//
360//    err := req.Send()
361//    if err == nil { // resp is now filled
362//        fmt.Println(resp)
363//    }
364//
365// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
366func (c *Lightsail) AttachInstancesToLoadBalancerRequest(input *AttachInstancesToLoadBalancerInput) (req *request.Request, output *AttachInstancesToLoadBalancerOutput) {
367	op := &request.Operation{
368		Name:       opAttachInstancesToLoadBalancer,
369		HTTPMethod: "POST",
370		HTTPPath:   "/",
371	}
372
373	if input == nil {
374		input = &AttachInstancesToLoadBalancerInput{}
375	}
376
377	output = &AttachInstancesToLoadBalancerOutput{}
378	req = c.newRequest(op, input, output)
379	return
380}
381
382// AttachInstancesToLoadBalancer API operation for Amazon Lightsail.
383//
384// Attaches one or more Lightsail instances to a load balancer.
385//
386// After some time, the instances are attached to the load balancer and the
387// health check status is available.
388//
389// The attach instances to load balancer operation supports tag-based access
390// control via resource tags applied to the resource identified by load balancer
391// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
392//
393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
394// with awserr.Error's Code and Message methods to get detailed information about
395// the error.
396//
397// See the AWS API reference guide for Amazon Lightsail's
398// API operation AttachInstancesToLoadBalancer for usage and error information.
399//
400// Returned Error Types:
401//   * ServiceException
402//   A general service exception.
403//
404//   * InvalidInputException
405//   Lightsail throws this exception when user input does not conform to the validation
406//   rules of an input field.
407//
408//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
409//   Please set your AWS Region configuration to us-east-1 to create, view, or
410//   edit these resources.
411//
412//   * NotFoundException
413//   Lightsail throws this exception when it cannot find a resource.
414//
415//   * OperationFailureException
416//   Lightsail throws this exception when an operation fails to execute.
417//
418//   * AccessDeniedException
419//   Lightsail throws this exception when the user cannot be authenticated or
420//   uses invalid credentials to access a resource.
421//
422//   * AccountSetupInProgressException
423//   Lightsail throws this exception when an account is still in the setup in
424//   progress state.
425//
426//   * UnauthenticatedException
427//   Lightsail throws this exception when the user has not been authenticated.
428//
429// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
430func (c *Lightsail) AttachInstancesToLoadBalancer(input *AttachInstancesToLoadBalancerInput) (*AttachInstancesToLoadBalancerOutput, error) {
431	req, out := c.AttachInstancesToLoadBalancerRequest(input)
432	return out, req.Send()
433}
434
435// AttachInstancesToLoadBalancerWithContext is the same as AttachInstancesToLoadBalancer with the addition of
436// the ability to pass a context and additional request options.
437//
438// See AttachInstancesToLoadBalancer for details on how to use this API operation.
439//
440// The context must be non-nil and will be used for request cancellation. If
441// the context is nil a panic will occur. In the future the SDK may create
442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
443// for more information on using Contexts.
444func (c *Lightsail) AttachInstancesToLoadBalancerWithContext(ctx aws.Context, input *AttachInstancesToLoadBalancerInput, opts ...request.Option) (*AttachInstancesToLoadBalancerOutput, error) {
445	req, out := c.AttachInstancesToLoadBalancerRequest(input)
446	req.SetContext(ctx)
447	req.ApplyOptions(opts...)
448	return out, req.Send()
449}
450
451const opAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
452
453// AttachLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
454// client's request for the AttachLoadBalancerTlsCertificate operation. The "output" return
455// value will be populated with the request's response once the request completes
456// successfully.
457//
458// Use "Send" method on the returned Request to send the API call to the service.
459// the "output" return value is not valid until after Send returns without error.
460//
461// See AttachLoadBalancerTlsCertificate for more information on using the AttachLoadBalancerTlsCertificate
462// API call, and error handling.
463//
464// This method is useful when you want to inject custom logic or configuration
465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
466//
467//
468//    // Example sending a request using the AttachLoadBalancerTlsCertificateRequest method.
469//    req, resp := client.AttachLoadBalancerTlsCertificateRequest(params)
470//
471//    err := req.Send()
472//    if err == nil { // resp is now filled
473//        fmt.Println(resp)
474//    }
475//
476// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
477func (c *Lightsail) AttachLoadBalancerTlsCertificateRequest(input *AttachLoadBalancerTlsCertificateInput) (req *request.Request, output *AttachLoadBalancerTlsCertificateOutput) {
478	op := &request.Operation{
479		Name:       opAttachLoadBalancerTlsCertificate,
480		HTTPMethod: "POST",
481		HTTPPath:   "/",
482	}
483
484	if input == nil {
485		input = &AttachLoadBalancerTlsCertificateInput{}
486	}
487
488	output = &AttachLoadBalancerTlsCertificateOutput{}
489	req = c.newRequest(op, input, output)
490	return
491}
492
493// AttachLoadBalancerTlsCertificate API operation for Amazon Lightsail.
494//
495// Attaches a Transport Layer Security (TLS) certificate to your load balancer.
496// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
497//
498// Once you create and validate your certificate, you can attach it to your
499// load balancer. You can also use this API to rotate the certificates on your
500// account. Use the AttachLoadBalancerTlsCertificate action with the non-attached
501// certificate, and it will replace the existing one and become the attached
502// certificate.
503//
504// The AttachLoadBalancerTlsCertificate operation supports tag-based access
505// control via resource tags applied to the resource identified by load balancer
506// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
507//
508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
509// with awserr.Error's Code and Message methods to get detailed information about
510// the error.
511//
512// See the AWS API reference guide for Amazon Lightsail's
513// API operation AttachLoadBalancerTlsCertificate for usage and error information.
514//
515// Returned Error Types:
516//   * ServiceException
517//   A general service exception.
518//
519//   * InvalidInputException
520//   Lightsail throws this exception when user input does not conform to the validation
521//   rules of an input field.
522//
523//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
524//   Please set your AWS Region configuration to us-east-1 to create, view, or
525//   edit these resources.
526//
527//   * NotFoundException
528//   Lightsail throws this exception when it cannot find a resource.
529//
530//   * OperationFailureException
531//   Lightsail throws this exception when an operation fails to execute.
532//
533//   * AccessDeniedException
534//   Lightsail throws this exception when the user cannot be authenticated or
535//   uses invalid credentials to access a resource.
536//
537//   * AccountSetupInProgressException
538//   Lightsail throws this exception when an account is still in the setup in
539//   progress state.
540//
541//   * UnauthenticatedException
542//   Lightsail throws this exception when the user has not been authenticated.
543//
544// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
545func (c *Lightsail) AttachLoadBalancerTlsCertificate(input *AttachLoadBalancerTlsCertificateInput) (*AttachLoadBalancerTlsCertificateOutput, error) {
546	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
547	return out, req.Send()
548}
549
550// AttachLoadBalancerTlsCertificateWithContext is the same as AttachLoadBalancerTlsCertificate with the addition of
551// the ability to pass a context and additional request options.
552//
553// See AttachLoadBalancerTlsCertificate for details on how to use this API operation.
554//
555// The context must be non-nil and will be used for request cancellation. If
556// the context is nil a panic will occur. In the future the SDK may create
557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
558// for more information on using Contexts.
559func (c *Lightsail) AttachLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *AttachLoadBalancerTlsCertificateInput, opts ...request.Option) (*AttachLoadBalancerTlsCertificateOutput, error) {
560	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
561	req.SetContext(ctx)
562	req.ApplyOptions(opts...)
563	return out, req.Send()
564}
565
566const opAttachStaticIp = "AttachStaticIp"
567
568// AttachStaticIpRequest generates a "aws/request.Request" representing the
569// client's request for the AttachStaticIp operation. The "output" return
570// value will be populated with the request's response once the request completes
571// successfully.
572//
573// Use "Send" method on the returned Request to send the API call to the service.
574// the "output" return value is not valid until after Send returns without error.
575//
576// See AttachStaticIp for more information on using the AttachStaticIp
577// API call, and error handling.
578//
579// This method is useful when you want to inject custom logic or configuration
580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
581//
582//
583//    // Example sending a request using the AttachStaticIpRequest method.
584//    req, resp := client.AttachStaticIpRequest(params)
585//
586//    err := req.Send()
587//    if err == nil { // resp is now filled
588//        fmt.Println(resp)
589//    }
590//
591// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
592func (c *Lightsail) AttachStaticIpRequest(input *AttachStaticIpInput) (req *request.Request, output *AttachStaticIpOutput) {
593	op := &request.Operation{
594		Name:       opAttachStaticIp,
595		HTTPMethod: "POST",
596		HTTPPath:   "/",
597	}
598
599	if input == nil {
600		input = &AttachStaticIpInput{}
601	}
602
603	output = &AttachStaticIpOutput{}
604	req = c.newRequest(op, input, output)
605	return
606}
607
608// AttachStaticIp API operation for Amazon Lightsail.
609//
610// Attaches a static IP address to a specific Amazon Lightsail instance.
611//
612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
613// with awserr.Error's Code and Message methods to get detailed information about
614// the error.
615//
616// See the AWS API reference guide for Amazon Lightsail's
617// API operation AttachStaticIp for usage and error information.
618//
619// Returned Error Types:
620//   * ServiceException
621//   A general service exception.
622//
623//   * InvalidInputException
624//   Lightsail throws this exception when user input does not conform to the validation
625//   rules of an input field.
626//
627//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
628//   Please set your AWS Region configuration to us-east-1 to create, view, or
629//   edit these resources.
630//
631//   * NotFoundException
632//   Lightsail throws this exception when it cannot find a resource.
633//
634//   * OperationFailureException
635//   Lightsail throws this exception when an operation fails to execute.
636//
637//   * AccessDeniedException
638//   Lightsail throws this exception when the user cannot be authenticated or
639//   uses invalid credentials to access a resource.
640//
641//   * AccountSetupInProgressException
642//   Lightsail throws this exception when an account is still in the setup in
643//   progress state.
644//
645//   * UnauthenticatedException
646//   Lightsail throws this exception when the user has not been authenticated.
647//
648// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
649func (c *Lightsail) AttachStaticIp(input *AttachStaticIpInput) (*AttachStaticIpOutput, error) {
650	req, out := c.AttachStaticIpRequest(input)
651	return out, req.Send()
652}
653
654// AttachStaticIpWithContext is the same as AttachStaticIp with the addition of
655// the ability to pass a context and additional request options.
656//
657// See AttachStaticIp for details on how to use this API operation.
658//
659// The context must be non-nil and will be used for request cancellation. If
660// the context is nil a panic will occur. In the future the SDK may create
661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
662// for more information on using Contexts.
663func (c *Lightsail) AttachStaticIpWithContext(ctx aws.Context, input *AttachStaticIpInput, opts ...request.Option) (*AttachStaticIpOutput, error) {
664	req, out := c.AttachStaticIpRequest(input)
665	req.SetContext(ctx)
666	req.ApplyOptions(opts...)
667	return out, req.Send()
668}
669
670const opCloseInstancePublicPorts = "CloseInstancePublicPorts"
671
672// CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the
673// client's request for the CloseInstancePublicPorts operation. The "output" return
674// value will be populated with the request's response once the request completes
675// successfully.
676//
677// Use "Send" method on the returned Request to send the API call to the service.
678// the "output" return value is not valid until after Send returns without error.
679//
680// See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts
681// API call, and error handling.
682//
683// This method is useful when you want to inject custom logic or configuration
684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
685//
686//
687//    // Example sending a request using the CloseInstancePublicPortsRequest method.
688//    req, resp := client.CloseInstancePublicPortsRequest(params)
689//
690//    err := req.Send()
691//    if err == nil { // resp is now filled
692//        fmt.Println(resp)
693//    }
694//
695// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
696func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPortsInput) (req *request.Request, output *CloseInstancePublicPortsOutput) {
697	op := &request.Operation{
698		Name:       opCloseInstancePublicPorts,
699		HTTPMethod: "POST",
700		HTTPPath:   "/",
701	}
702
703	if input == nil {
704		input = &CloseInstancePublicPortsInput{}
705	}
706
707	output = &CloseInstancePublicPortsOutput{}
708	req = c.newRequest(op, input, output)
709	return
710}
711
712// CloseInstancePublicPorts API operation for Amazon Lightsail.
713//
714// Closes ports for a specific Amazon Lightsail instance.
715//
716// The CloseInstancePublicPorts action supports tag-based access control via
717// resource tags applied to the resource identified by instanceName. For more
718// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
719//
720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
721// with awserr.Error's Code and Message methods to get detailed information about
722// the error.
723//
724// See the AWS API reference guide for Amazon Lightsail's
725// API operation CloseInstancePublicPorts for usage and error information.
726//
727// Returned Error Types:
728//   * ServiceException
729//   A general service exception.
730//
731//   * InvalidInputException
732//   Lightsail throws this exception when user input does not conform to the validation
733//   rules of an input field.
734//
735//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
736//   Please set your AWS Region configuration to us-east-1 to create, view, or
737//   edit these resources.
738//
739//   * NotFoundException
740//   Lightsail throws this exception when it cannot find a resource.
741//
742//   * OperationFailureException
743//   Lightsail throws this exception when an operation fails to execute.
744//
745//   * AccessDeniedException
746//   Lightsail throws this exception when the user cannot be authenticated or
747//   uses invalid credentials to access a resource.
748//
749//   * AccountSetupInProgressException
750//   Lightsail throws this exception when an account is still in the setup in
751//   progress state.
752//
753//   * UnauthenticatedException
754//   Lightsail throws this exception when the user has not been authenticated.
755//
756// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
757func (c *Lightsail) CloseInstancePublicPorts(input *CloseInstancePublicPortsInput) (*CloseInstancePublicPortsOutput, error) {
758	req, out := c.CloseInstancePublicPortsRequest(input)
759	return out, req.Send()
760}
761
762// CloseInstancePublicPortsWithContext is the same as CloseInstancePublicPorts with the addition of
763// the ability to pass a context and additional request options.
764//
765// See CloseInstancePublicPorts for details on how to use this API operation.
766//
767// The context must be non-nil and will be used for request cancellation. If
768// the context is nil a panic will occur. In the future the SDK may create
769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
770// for more information on using Contexts.
771func (c *Lightsail) CloseInstancePublicPortsWithContext(ctx aws.Context, input *CloseInstancePublicPortsInput, opts ...request.Option) (*CloseInstancePublicPortsOutput, error) {
772	req, out := c.CloseInstancePublicPortsRequest(input)
773	req.SetContext(ctx)
774	req.ApplyOptions(opts...)
775	return out, req.Send()
776}
777
778const opCopySnapshot = "CopySnapshot"
779
780// CopySnapshotRequest generates a "aws/request.Request" representing the
781// client's request for the CopySnapshot operation. The "output" return
782// value will be populated with the request's response once the request completes
783// successfully.
784//
785// Use "Send" method on the returned Request to send the API call to the service.
786// the "output" return value is not valid until after Send returns without error.
787//
788// See CopySnapshot for more information on using the CopySnapshot
789// API call, and error handling.
790//
791// This method is useful when you want to inject custom logic or configuration
792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
793//
794//
795//    // Example sending a request using the CopySnapshotRequest method.
796//    req, resp := client.CopySnapshotRequest(params)
797//
798//    err := req.Send()
799//    if err == nil { // resp is now filled
800//        fmt.Println(resp)
801//    }
802//
803// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
804func (c *Lightsail) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
805	op := &request.Operation{
806		Name:       opCopySnapshot,
807		HTTPMethod: "POST",
808		HTTPPath:   "/",
809	}
810
811	if input == nil {
812		input = &CopySnapshotInput{}
813	}
814
815	output = &CopySnapshotOutput{}
816	req = c.newRequest(op, input, output)
817	return
818}
819
820// CopySnapshot API operation for Amazon Lightsail.
821//
822// Copies a manual snapshot of an instance or disk as another manual snapshot,
823// or copies an automatic snapshot of an instance or disk as a manual snapshot.
824// This operation can also be used to copy a manual or automatic snapshot of
825// an instance or a disk from one AWS Region to another in Amazon Lightsail.
826//
827// When copying a manual snapshot, be sure to define the source region, source
828// snapshot name, and target snapshot name parameters.
829//
830// When copying an automatic snapshot, be sure to define the source region,
831// source resource name, target snapshot name, and either the restore date or
832// the use latest restorable auto snapshot parameters.
833//
834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
835// with awserr.Error's Code and Message methods to get detailed information about
836// the error.
837//
838// See the AWS API reference guide for Amazon Lightsail's
839// API operation CopySnapshot for usage and error information.
840//
841// Returned Error Types:
842//   * ServiceException
843//   A general service exception.
844//
845//   * InvalidInputException
846//   Lightsail throws this exception when user input does not conform to the validation
847//   rules of an input field.
848//
849//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
850//   Please set your AWS Region configuration to us-east-1 to create, view, or
851//   edit these resources.
852//
853//   * NotFoundException
854//   Lightsail throws this exception when it cannot find a resource.
855//
856//   * OperationFailureException
857//   Lightsail throws this exception when an operation fails to execute.
858//
859//   * AccessDeniedException
860//   Lightsail throws this exception when the user cannot be authenticated or
861//   uses invalid credentials to access a resource.
862//
863//   * AccountSetupInProgressException
864//   Lightsail throws this exception when an account is still in the setup in
865//   progress state.
866//
867//   * UnauthenticatedException
868//   Lightsail throws this exception when the user has not been authenticated.
869//
870// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
871func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
872	req, out := c.CopySnapshotRequest(input)
873	return out, req.Send()
874}
875
876// CopySnapshotWithContext is the same as CopySnapshot with the addition of
877// the ability to pass a context and additional request options.
878//
879// See CopySnapshot for details on how to use this API operation.
880//
881// The context must be non-nil and will be used for request cancellation. If
882// the context is nil a panic will occur. In the future the SDK may create
883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
884// for more information on using Contexts.
885func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
886	req, out := c.CopySnapshotRequest(input)
887	req.SetContext(ctx)
888	req.ApplyOptions(opts...)
889	return out, req.Send()
890}
891
892const opCreateCertificate = "CreateCertificate"
893
894// CreateCertificateRequest generates a "aws/request.Request" representing the
895// client's request for the CreateCertificate operation. The "output" return
896// value will be populated with the request's response once the request completes
897// successfully.
898//
899// Use "Send" method on the returned Request to send the API call to the service.
900// the "output" return value is not valid until after Send returns without error.
901//
902// See CreateCertificate for more information on using the CreateCertificate
903// API call, and error handling.
904//
905// This method is useful when you want to inject custom logic or configuration
906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
907//
908//
909//    // Example sending a request using the CreateCertificateRequest method.
910//    req, resp := client.CreateCertificateRequest(params)
911//
912//    err := req.Send()
913//    if err == nil { // resp is now filled
914//        fmt.Println(resp)
915//    }
916//
917// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
918func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) {
919	op := &request.Operation{
920		Name:       opCreateCertificate,
921		HTTPMethod: "POST",
922		HTTPPath:   "/",
923	}
924
925	if input == nil {
926		input = &CreateCertificateInput{}
927	}
928
929	output = &CreateCertificateOutput{}
930	req = c.newRequest(op, input, output)
931	return
932}
933
934// CreateCertificate API operation for Amazon Lightsail.
935//
936// Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network
937// (CDN) distribution.
938//
939// After the certificate is created, use the AttachCertificateToDistribution
940// action to attach the certificate to your distribution.
941//
942// Only certificates created in the us-east-1 AWS Region can be attached to
943// Lightsail distributions. Lightsail distributions are global resources that
944// can reference an origin in any AWS Region, and distribute its content globally.
945// However, all distributions are located in the us-east-1 Region.
946//
947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
948// with awserr.Error's Code and Message methods to get detailed information about
949// the error.
950//
951// See the AWS API reference guide for Amazon Lightsail's
952// API operation CreateCertificate for usage and error information.
953//
954// Returned Error Types:
955//   * ServiceException
956//   A general service exception.
957//
958//   * InvalidInputException
959//   Lightsail throws this exception when user input does not conform to the validation
960//   rules of an input field.
961//
962//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
963//   Please set your AWS Region configuration to us-east-1 to create, view, or
964//   edit these resources.
965//
966//   * NotFoundException
967//   Lightsail throws this exception when it cannot find a resource.
968//
969//   * AccessDeniedException
970//   Lightsail throws this exception when the user cannot be authenticated or
971//   uses invalid credentials to access a resource.
972//
973//   * UnauthenticatedException
974//   Lightsail throws this exception when the user has not been authenticated.
975//
976// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate
977func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) {
978	req, out := c.CreateCertificateRequest(input)
979	return out, req.Send()
980}
981
982// CreateCertificateWithContext is the same as CreateCertificate with the addition of
983// the ability to pass a context and additional request options.
984//
985// See CreateCertificate for details on how to use this API operation.
986//
987// The context must be non-nil and will be used for request cancellation. If
988// the context is nil a panic will occur. In the future the SDK may create
989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
990// for more information on using Contexts.
991func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) {
992	req, out := c.CreateCertificateRequest(input)
993	req.SetContext(ctx)
994	req.ApplyOptions(opts...)
995	return out, req.Send()
996}
997
998const opCreateCloudFormationStack = "CreateCloudFormationStack"
999
1000// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
1001// client's request for the CreateCloudFormationStack operation. The "output" return
1002// value will be populated with the request's response once the request completes
1003// successfully.
1004//
1005// Use "Send" method on the returned Request to send the API call to the service.
1006// the "output" return value is not valid until after Send returns without error.
1007//
1008// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
1009// API call, and error handling.
1010//
1011// This method is useful when you want to inject custom logic or configuration
1012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1013//
1014//
1015//    // Example sending a request using the CreateCloudFormationStackRequest method.
1016//    req, resp := client.CreateCloudFormationStackRequest(params)
1017//
1018//    err := req.Send()
1019//    if err == nil { // resp is now filled
1020//        fmt.Println(resp)
1021//    }
1022//
1023// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1024func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
1025	op := &request.Operation{
1026		Name:       opCreateCloudFormationStack,
1027		HTTPMethod: "POST",
1028		HTTPPath:   "/",
1029	}
1030
1031	if input == nil {
1032		input = &CreateCloudFormationStackInput{}
1033	}
1034
1035	output = &CreateCloudFormationStackOutput{}
1036	req = c.newRequest(op, input, output)
1037	return
1038}
1039
1040// CreateCloudFormationStack API operation for Amazon Lightsail.
1041//
1042// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
1043// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
1044// stack record that can be used to track the AWS CloudFormation stack created.
1045// Use the get cloud formation stack records operation to get a list of the
1046// CloudFormation stacks created.
1047//
1048// Wait until after your new Amazon EC2 instance is created before running the
1049// create cloud formation stack operation again with the same export snapshot
1050// record.
1051//
1052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1053// with awserr.Error's Code and Message methods to get detailed information about
1054// the error.
1055//
1056// See the AWS API reference guide for Amazon Lightsail's
1057// API operation CreateCloudFormationStack for usage and error information.
1058//
1059// Returned Error Types:
1060//   * ServiceException
1061//   A general service exception.
1062//
1063//   * InvalidInputException
1064//   Lightsail throws this exception when user input does not conform to the validation
1065//   rules of an input field.
1066//
1067//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1068//   Please set your AWS Region configuration to us-east-1 to create, view, or
1069//   edit these resources.
1070//
1071//   * NotFoundException
1072//   Lightsail throws this exception when it cannot find a resource.
1073//
1074//   * OperationFailureException
1075//   Lightsail throws this exception when an operation fails to execute.
1076//
1077//   * AccessDeniedException
1078//   Lightsail throws this exception when the user cannot be authenticated or
1079//   uses invalid credentials to access a resource.
1080//
1081//   * AccountSetupInProgressException
1082//   Lightsail throws this exception when an account is still in the setup in
1083//   progress state.
1084//
1085//   * UnauthenticatedException
1086//   Lightsail throws this exception when the user has not been authenticated.
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
1089func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
1090	req, out := c.CreateCloudFormationStackRequest(input)
1091	return out, req.Send()
1092}
1093
1094// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
1095// the ability to pass a context and additional request options.
1096//
1097// See CreateCloudFormationStack for details on how to use this API operation.
1098//
1099// The context must be non-nil and will be used for request cancellation. If
1100// the context is nil a panic will occur. In the future the SDK may create
1101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1102// for more information on using Contexts.
1103func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
1104	req, out := c.CreateCloudFormationStackRequest(input)
1105	req.SetContext(ctx)
1106	req.ApplyOptions(opts...)
1107	return out, req.Send()
1108}
1109
1110const opCreateContactMethod = "CreateContactMethod"
1111
1112// CreateContactMethodRequest generates a "aws/request.Request" representing the
1113// client's request for the CreateContactMethod operation. The "output" return
1114// value will be populated with the request's response once the request completes
1115// successfully.
1116//
1117// Use "Send" method on the returned Request to send the API call to the service.
1118// the "output" return value is not valid until after Send returns without error.
1119//
1120// See CreateContactMethod for more information on using the CreateContactMethod
1121// API call, and error handling.
1122//
1123// This method is useful when you want to inject custom logic or configuration
1124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1125//
1126//
1127//    // Example sending a request using the CreateContactMethodRequest method.
1128//    req, resp := client.CreateContactMethodRequest(params)
1129//
1130//    err := req.Send()
1131//    if err == nil { // resp is now filled
1132//        fmt.Println(resp)
1133//    }
1134//
1135// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1136func (c *Lightsail) CreateContactMethodRequest(input *CreateContactMethodInput) (req *request.Request, output *CreateContactMethodOutput) {
1137	op := &request.Operation{
1138		Name:       opCreateContactMethod,
1139		HTTPMethod: "POST",
1140		HTTPPath:   "/",
1141	}
1142
1143	if input == nil {
1144		input = &CreateContactMethodInput{}
1145	}
1146
1147	output = &CreateContactMethodOutput{}
1148	req = c.newRequest(op, input, output)
1149	return
1150}
1151
1152// CreateContactMethod API operation for Amazon Lightsail.
1153//
1154// Creates an email or SMS text message contact method.
1155//
1156// A contact method is used to send you notifications about your Amazon Lightsail
1157// resources. You can add one email address and one mobile phone number contact
1158// method in each AWS Region. However, SMS text messaging is not supported in
1159// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
1160// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
1161//
1162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1163// with awserr.Error's Code and Message methods to get detailed information about
1164// the error.
1165//
1166// See the AWS API reference guide for Amazon Lightsail's
1167// API operation CreateContactMethod for usage and error information.
1168//
1169// Returned Error Types:
1170//   * ServiceException
1171//   A general service exception.
1172//
1173//   * InvalidInputException
1174//   Lightsail throws this exception when user input does not conform to the validation
1175//   rules of an input field.
1176//
1177//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1178//   Please set your AWS Region configuration to us-east-1 to create, view, or
1179//   edit these resources.
1180//
1181//   * NotFoundException
1182//   Lightsail throws this exception when it cannot find a resource.
1183//
1184//   * OperationFailureException
1185//   Lightsail throws this exception when an operation fails to execute.
1186//
1187//   * AccessDeniedException
1188//   Lightsail throws this exception when the user cannot be authenticated or
1189//   uses invalid credentials to access a resource.
1190//
1191//   * UnauthenticatedException
1192//   Lightsail throws this exception when the user has not been authenticated.
1193//
1194// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateContactMethod
1195func (c *Lightsail) CreateContactMethod(input *CreateContactMethodInput) (*CreateContactMethodOutput, error) {
1196	req, out := c.CreateContactMethodRequest(input)
1197	return out, req.Send()
1198}
1199
1200// CreateContactMethodWithContext is the same as CreateContactMethod with the addition of
1201// the ability to pass a context and additional request options.
1202//
1203// See CreateContactMethod for details on how to use this API operation.
1204//
1205// The context must be non-nil and will be used for request cancellation. If
1206// the context is nil a panic will occur. In the future the SDK may create
1207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1208// for more information on using Contexts.
1209func (c *Lightsail) CreateContactMethodWithContext(ctx aws.Context, input *CreateContactMethodInput, opts ...request.Option) (*CreateContactMethodOutput, error) {
1210	req, out := c.CreateContactMethodRequest(input)
1211	req.SetContext(ctx)
1212	req.ApplyOptions(opts...)
1213	return out, req.Send()
1214}
1215
1216const opCreateDisk = "CreateDisk"
1217
1218// CreateDiskRequest generates a "aws/request.Request" representing the
1219// client's request for the CreateDisk operation. The "output" return
1220// value will be populated with the request's response once the request completes
1221// successfully.
1222//
1223// Use "Send" method on the returned Request to send the API call to the service.
1224// the "output" return value is not valid until after Send returns without error.
1225//
1226// See CreateDisk for more information on using the CreateDisk
1227// API call, and error handling.
1228//
1229// This method is useful when you want to inject custom logic or configuration
1230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1231//
1232//
1233//    // Example sending a request using the CreateDiskRequest method.
1234//    req, resp := client.CreateDiskRequest(params)
1235//
1236//    err := req.Send()
1237//    if err == nil { // resp is now filled
1238//        fmt.Println(resp)
1239//    }
1240//
1241// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1242func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
1243	op := &request.Operation{
1244		Name:       opCreateDisk,
1245		HTTPMethod: "POST",
1246		HTTPPath:   "/",
1247	}
1248
1249	if input == nil {
1250		input = &CreateDiskInput{}
1251	}
1252
1253	output = &CreateDiskOutput{}
1254	req = c.newRequest(op, input, output)
1255	return
1256}
1257
1258// CreateDisk API operation for Amazon Lightsail.
1259//
1260// Creates a block storage disk that can be attached to an Amazon Lightsail
1261// instance in the same Availability Zone (e.g., us-east-2a).
1262//
1263// The create disk operation supports tag-based access control via request tags.
1264// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1265//
1266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1267// with awserr.Error's Code and Message methods to get detailed information about
1268// the error.
1269//
1270// See the AWS API reference guide for Amazon Lightsail's
1271// API operation CreateDisk for usage and error information.
1272//
1273// Returned Error Types:
1274//   * ServiceException
1275//   A general service exception.
1276//
1277//   * InvalidInputException
1278//   Lightsail throws this exception when user input does not conform to the validation
1279//   rules of an input field.
1280//
1281//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1282//   Please set your AWS Region configuration to us-east-1 to create, view, or
1283//   edit these resources.
1284//
1285//   * NotFoundException
1286//   Lightsail throws this exception when it cannot find a resource.
1287//
1288//   * OperationFailureException
1289//   Lightsail throws this exception when an operation fails to execute.
1290//
1291//   * AccessDeniedException
1292//   Lightsail throws this exception when the user cannot be authenticated or
1293//   uses invalid credentials to access a resource.
1294//
1295//   * AccountSetupInProgressException
1296//   Lightsail throws this exception when an account is still in the setup in
1297//   progress state.
1298//
1299//   * UnauthenticatedException
1300//   Lightsail throws this exception when the user has not been authenticated.
1301//
1302// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
1303func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
1304	req, out := c.CreateDiskRequest(input)
1305	return out, req.Send()
1306}
1307
1308// CreateDiskWithContext is the same as CreateDisk with the addition of
1309// the ability to pass a context and additional request options.
1310//
1311// See CreateDisk for details on how to use this API operation.
1312//
1313// The context must be non-nil and will be used for request cancellation. If
1314// the context is nil a panic will occur. In the future the SDK may create
1315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1316// for more information on using Contexts.
1317func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
1318	req, out := c.CreateDiskRequest(input)
1319	req.SetContext(ctx)
1320	req.ApplyOptions(opts...)
1321	return out, req.Send()
1322}
1323
1324const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
1325
1326// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
1327// client's request for the CreateDiskFromSnapshot operation. The "output" return
1328// value will be populated with the request's response once the request completes
1329// successfully.
1330//
1331// Use "Send" method on the returned Request to send the API call to the service.
1332// the "output" return value is not valid until after Send returns without error.
1333//
1334// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1335// API call, and error handling.
1336//
1337// This method is useful when you want to inject custom logic or configuration
1338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1339//
1340//
1341//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1342//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1343//
1344//    err := req.Send()
1345//    if err == nil { // resp is now filled
1346//        fmt.Println(resp)
1347//    }
1348//
1349// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1350func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1351	op := &request.Operation{
1352		Name:       opCreateDiskFromSnapshot,
1353		HTTPMethod: "POST",
1354		HTTPPath:   "/",
1355	}
1356
1357	if input == nil {
1358		input = &CreateDiskFromSnapshotInput{}
1359	}
1360
1361	output = &CreateDiskFromSnapshotOutput{}
1362	req = c.newRequest(op, input, output)
1363	return
1364}
1365
1366// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1367//
1368// Creates a block storage disk from a manual or automatic snapshot of a disk.
1369// The resulting disk can be attached to an Amazon Lightsail instance in the
1370// same Availability Zone (e.g., us-east-2a).
1371//
1372// The create disk from snapshot operation supports tag-based access control
1373// via request tags and resource tags applied to the resource identified by
1374// 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).
1375//
1376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1377// with awserr.Error's Code and Message methods to get detailed information about
1378// the error.
1379//
1380// See the AWS API reference guide for Amazon Lightsail's
1381// API operation CreateDiskFromSnapshot for usage and error information.
1382//
1383// Returned Error Types:
1384//   * ServiceException
1385//   A general service exception.
1386//
1387//   * InvalidInputException
1388//   Lightsail throws this exception when user input does not conform to the validation
1389//   rules of an input field.
1390//
1391//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1392//   Please set your AWS Region configuration to us-east-1 to create, view, or
1393//   edit these resources.
1394//
1395//   * NotFoundException
1396//   Lightsail throws this exception when it cannot find a resource.
1397//
1398//   * OperationFailureException
1399//   Lightsail throws this exception when an operation fails to execute.
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//   * AccountSetupInProgressException
1406//   Lightsail throws this exception when an account is still in the setup in
1407//   progress state.
1408//
1409//   * UnauthenticatedException
1410//   Lightsail throws this exception when the user has not been authenticated.
1411//
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1413func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1414	req, out := c.CreateDiskFromSnapshotRequest(input)
1415	return out, req.Send()
1416}
1417
1418// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See CreateDiskFromSnapshot for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1428	req, out := c.CreateDiskFromSnapshotRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opCreateDiskSnapshot = "CreateDiskSnapshot"
1435
1436// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1437// client's request for the CreateDiskSnapshot operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfully.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the CreateDiskSnapshotRequest method.
1452//    req, resp := client.CreateDiskSnapshotRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1460func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
1461	op := &request.Operation{
1462		Name:       opCreateDiskSnapshot,
1463		HTTPMethod: "POST",
1464		HTTPPath:   "/",
1465	}
1466
1467	if input == nil {
1468		input = &CreateDiskSnapshotInput{}
1469	}
1470
1471	output = &CreateDiskSnapshotOutput{}
1472	req = c.newRequest(op, input, output)
1473	return
1474}
1475
1476// CreateDiskSnapshot API operation for Amazon Lightsail.
1477//
1478// Creates a snapshot of a block storage disk. You can use snapshots for backups,
1479// to make copies of disks, and to save data before shutting down a Lightsail
1480// instance.
1481//
1482// You can take a snapshot of an attached disk that is in use; however, snapshots
1483// only capture data that has been written to your disk at the time the snapshot
1484// command is issued. This may exclude any data that has been cached by any
1485// applications or the operating system. If you can pause any file systems on
1486// the disk long enough to take a snapshot, your snapshot should be complete.
1487// Nevertheless, if you cannot pause all file writes to the disk, you should
1488// unmount the disk from within the Lightsail instance, issue the create disk
1489// snapshot command, and then remount the disk to ensure a consistent and complete
1490// snapshot. You may remount and use your disk while the snapshot status is
1491// pending.
1492//
1493// You can also use this operation to create a snapshot of an instance's system
1494// volume. You might want to do this, for example, to recover data from the
1495// system volume of a botched instance or to create a backup of the system volume
1496// like you would for a block storage disk. To create a snapshot of a system
1497// volume, just define the instance name parameter when issuing the snapshot
1498// command, and a snapshot of the defined instance's system volume will be created.
1499// After the snapshot is available, you can create a block storage disk from
1500// the snapshot and attach it to a running instance to access the data on the
1501// disk.
1502//
1503// The create disk snapshot operation supports tag-based access control via
1504// 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).
1505//
1506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1507// with awserr.Error's Code and Message methods to get detailed information about
1508// the error.
1509//
1510// See the AWS API reference guide for Amazon Lightsail's
1511// API operation CreateDiskSnapshot for usage and error information.
1512//
1513// Returned Error Types:
1514//   * ServiceException
1515//   A general service exception.
1516//
1517//   * InvalidInputException
1518//   Lightsail throws this exception when user input does not conform to the validation
1519//   rules of an input field.
1520//
1521//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1522//   Please set your AWS Region configuration to us-east-1 to create, view, or
1523//   edit these resources.
1524//
1525//   * NotFoundException
1526//   Lightsail throws this exception when it cannot find a resource.
1527//
1528//   * OperationFailureException
1529//   Lightsail throws this exception when an operation fails to execute.
1530//
1531//   * AccessDeniedException
1532//   Lightsail throws this exception when the user cannot be authenticated or
1533//   uses invalid credentials to access a resource.
1534//
1535//   * AccountSetupInProgressException
1536//   Lightsail throws this exception when an account is still in the setup in
1537//   progress state.
1538//
1539//   * UnauthenticatedException
1540//   Lightsail throws this exception when the user has not been authenticated.
1541//
1542// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1543func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
1544	req, out := c.CreateDiskSnapshotRequest(input)
1545	return out, req.Send()
1546}
1547
1548// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
1549// the ability to pass a context and additional request options.
1550//
1551// See CreateDiskSnapshot for details on how to use this API operation.
1552//
1553// The context must be non-nil and will be used for request cancellation. If
1554// the context is nil a panic will occur. In the future the SDK may create
1555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1556// for more information on using Contexts.
1557func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
1558	req, out := c.CreateDiskSnapshotRequest(input)
1559	req.SetContext(ctx)
1560	req.ApplyOptions(opts...)
1561	return out, req.Send()
1562}
1563
1564const opCreateDistribution = "CreateDistribution"
1565
1566// CreateDistributionRequest generates a "aws/request.Request" representing the
1567// client's request for the CreateDistribution operation. The "output" return
1568// value will be populated with the request's response once the request completes
1569// successfully.
1570//
1571// Use "Send" method on the returned Request to send the API call to the service.
1572// the "output" return value is not valid until after Send returns without error.
1573//
1574// See CreateDistribution for more information on using the CreateDistribution
1575// API call, and error handling.
1576//
1577// This method is useful when you want to inject custom logic or configuration
1578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1579//
1580//
1581//    // Example sending a request using the CreateDistributionRequest method.
1582//    req, resp := client.CreateDistributionRequest(params)
1583//
1584//    err := req.Send()
1585//    if err == nil { // resp is now filled
1586//        fmt.Println(resp)
1587//    }
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
1590func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) {
1591	op := &request.Operation{
1592		Name:       opCreateDistribution,
1593		HTTPMethod: "POST",
1594		HTTPPath:   "/",
1595	}
1596
1597	if input == nil {
1598		input = &CreateDistributionInput{}
1599	}
1600
1601	output = &CreateDistributionOutput{}
1602	req = c.newRequest(op, input, output)
1603	return
1604}
1605
1606// CreateDistribution API operation for Amazon Lightsail.
1607//
1608// Creates an Amazon Lightsail content delivery network (CDN) distribution.
1609//
1610// A distribution is a globally distributed network of caching servers that
1611// improve the performance of your website or web application hosted on a Lightsail
1612// instance. For more information, see Content delivery networks in Amazon Lightsail
1613// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-networks).
1614//
1615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1616// with awserr.Error's Code and Message methods to get detailed information about
1617// the error.
1618//
1619// See the AWS API reference guide for Amazon Lightsail's
1620// API operation CreateDistribution for usage and error information.
1621//
1622// Returned Error Types:
1623//   * ServiceException
1624//   A general service exception.
1625//
1626//   * InvalidInputException
1627//   Lightsail throws this exception when user input does not conform to the validation
1628//   rules of an input field.
1629//
1630//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1631//   Please set your AWS Region configuration to us-east-1 to create, view, or
1632//   edit these resources.
1633//
1634//   * NotFoundException
1635//   Lightsail throws this exception when it cannot find a resource.
1636//
1637//   * OperationFailureException
1638//   Lightsail throws this exception when an operation fails to execute.
1639//
1640//   * AccessDeniedException
1641//   Lightsail throws this exception when the user cannot be authenticated or
1642//   uses invalid credentials to access a resource.
1643//
1644//   * UnauthenticatedException
1645//   Lightsail throws this exception when the user has not been authenticated.
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution
1648func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) {
1649	req, out := c.CreateDistributionRequest(input)
1650	return out, req.Send()
1651}
1652
1653// CreateDistributionWithContext is the same as CreateDistribution with the addition of
1654// the ability to pass a context and additional request options.
1655//
1656// See CreateDistribution for details on how to use this API operation.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) {
1663	req, out := c.CreateDistributionRequest(input)
1664	req.SetContext(ctx)
1665	req.ApplyOptions(opts...)
1666	return out, req.Send()
1667}
1668
1669const opCreateDomain = "CreateDomain"
1670
1671// CreateDomainRequest generates a "aws/request.Request" representing the
1672// client's request for the CreateDomain operation. The "output" return
1673// value will be populated with the request's response once the request completes
1674// successfully.
1675//
1676// Use "Send" method on the returned Request to send the API call to the service.
1677// the "output" return value is not valid until after Send returns without error.
1678//
1679// See CreateDomain for more information on using the CreateDomain
1680// API call, and error handling.
1681//
1682// This method is useful when you want to inject custom logic or configuration
1683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1684//
1685//
1686//    // Example sending a request using the CreateDomainRequest method.
1687//    req, resp := client.CreateDomainRequest(params)
1688//
1689//    err := req.Send()
1690//    if err == nil { // resp is now filled
1691//        fmt.Println(resp)
1692//    }
1693//
1694// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1695func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
1696	op := &request.Operation{
1697		Name:       opCreateDomain,
1698		HTTPMethod: "POST",
1699		HTTPPath:   "/",
1700	}
1701
1702	if input == nil {
1703		input = &CreateDomainInput{}
1704	}
1705
1706	output = &CreateDomainOutput{}
1707	req = c.newRequest(op, input, output)
1708	return
1709}
1710
1711// CreateDomain API operation for Amazon Lightsail.
1712//
1713// Creates a domain resource for the specified domain (e.g., example.com).
1714//
1715// The create domain operation supports tag-based access control via request
1716// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1717//
1718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1719// with awserr.Error's Code and Message methods to get detailed information about
1720// the error.
1721//
1722// See the AWS API reference guide for Amazon Lightsail's
1723// API operation CreateDomain for usage and error information.
1724//
1725// Returned Error Types:
1726//   * ServiceException
1727//   A general service exception.
1728//
1729//   * InvalidInputException
1730//   Lightsail throws this exception when user input does not conform to the validation
1731//   rules of an input field.
1732//
1733//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1734//   Please set your AWS Region configuration to us-east-1 to create, view, or
1735//   edit these resources.
1736//
1737//   * NotFoundException
1738//   Lightsail throws this exception when it cannot find a resource.
1739//
1740//   * OperationFailureException
1741//   Lightsail throws this exception when an operation fails to execute.
1742//
1743//   * AccessDeniedException
1744//   Lightsail throws this exception when the user cannot be authenticated or
1745//   uses invalid credentials to access a resource.
1746//
1747//   * AccountSetupInProgressException
1748//   Lightsail throws this exception when an account is still in the setup in
1749//   progress state.
1750//
1751//   * UnauthenticatedException
1752//   Lightsail throws this exception when the user has not been authenticated.
1753//
1754// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1755func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
1756	req, out := c.CreateDomainRequest(input)
1757	return out, req.Send()
1758}
1759
1760// CreateDomainWithContext is the same as CreateDomain with the addition of
1761// the ability to pass a context and additional request options.
1762//
1763// See CreateDomain for details on how to use this API operation.
1764//
1765// The context must be non-nil and will be used for request cancellation. If
1766// the context is nil a panic will occur. In the future the SDK may create
1767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1768// for more information on using Contexts.
1769func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
1770	req, out := c.CreateDomainRequest(input)
1771	req.SetContext(ctx)
1772	req.ApplyOptions(opts...)
1773	return out, req.Send()
1774}
1775
1776const opCreateDomainEntry = "CreateDomainEntry"
1777
1778// CreateDomainEntryRequest generates a "aws/request.Request" representing the
1779// client's request for the CreateDomainEntry operation. The "output" return
1780// value will be populated with the request's response once the request completes
1781// successfully.
1782//
1783// Use "Send" method on the returned Request to send the API call to the service.
1784// the "output" return value is not valid until after Send returns without error.
1785//
1786// See CreateDomainEntry for more information on using the CreateDomainEntry
1787// API call, and error handling.
1788//
1789// This method is useful when you want to inject custom logic or configuration
1790// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1791//
1792//
1793//    // Example sending a request using the CreateDomainEntryRequest method.
1794//    req, resp := client.CreateDomainEntryRequest(params)
1795//
1796//    err := req.Send()
1797//    if err == nil { // resp is now filled
1798//        fmt.Println(resp)
1799//    }
1800//
1801// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1802func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
1803	op := &request.Operation{
1804		Name:       opCreateDomainEntry,
1805		HTTPMethod: "POST",
1806		HTTPPath:   "/",
1807	}
1808
1809	if input == nil {
1810		input = &CreateDomainEntryInput{}
1811	}
1812
1813	output = &CreateDomainEntryOutput{}
1814	req = c.newRequest(op, input, output)
1815	return
1816}
1817
1818// CreateDomainEntry API operation for Amazon Lightsail.
1819//
1820// Creates one of the following entry records associated with the domain: Address
1821// (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start
1822// of authority (SOA), service locator (SRV), or text (TXT).
1823//
1824// The create domain entry operation supports tag-based access control via resource
1825// tags applied to the resource identified by domain name. For more information,
1826// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1827//
1828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1829// with awserr.Error's Code and Message methods to get detailed information about
1830// the error.
1831//
1832// See the AWS API reference guide for Amazon Lightsail's
1833// API operation CreateDomainEntry for usage and error information.
1834//
1835// Returned Error Types:
1836//   * ServiceException
1837//   A general service exception.
1838//
1839//   * InvalidInputException
1840//   Lightsail throws this exception when user input does not conform to the validation
1841//   rules of an input field.
1842//
1843//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1844//   Please set your AWS Region configuration to us-east-1 to create, view, or
1845//   edit these resources.
1846//
1847//   * NotFoundException
1848//   Lightsail throws this exception when it cannot find a resource.
1849//
1850//   * OperationFailureException
1851//   Lightsail throws this exception when an operation fails to execute.
1852//
1853//   * AccessDeniedException
1854//   Lightsail throws this exception when the user cannot be authenticated or
1855//   uses invalid credentials to access a resource.
1856//
1857//   * AccountSetupInProgressException
1858//   Lightsail throws this exception when an account is still in the setup in
1859//   progress state.
1860//
1861//   * UnauthenticatedException
1862//   Lightsail throws this exception when the user has not been authenticated.
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1865func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
1866	req, out := c.CreateDomainEntryRequest(input)
1867	return out, req.Send()
1868}
1869
1870// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
1871// the ability to pass a context and additional request options.
1872//
1873// See CreateDomainEntry for details on how to use this API operation.
1874//
1875// The context must be non-nil and will be used for request cancellation. If
1876// the context is nil a panic will occur. In the future the SDK may create
1877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1878// for more information on using Contexts.
1879func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
1880	req, out := c.CreateDomainEntryRequest(input)
1881	req.SetContext(ctx)
1882	req.ApplyOptions(opts...)
1883	return out, req.Send()
1884}
1885
1886const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
1887
1888// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
1889// client's request for the CreateInstanceSnapshot operation. The "output" return
1890// value will be populated with the request's response once the request completes
1891// successfully.
1892//
1893// Use "Send" method on the returned Request to send the API call to the service.
1894// the "output" return value is not valid until after Send returns without error.
1895//
1896// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
1897// API call, and error handling.
1898//
1899// This method is useful when you want to inject custom logic or configuration
1900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1901//
1902//
1903//    // Example sending a request using the CreateInstanceSnapshotRequest method.
1904//    req, resp := client.CreateInstanceSnapshotRequest(params)
1905//
1906//    err := req.Send()
1907//    if err == nil { // resp is now filled
1908//        fmt.Println(resp)
1909//    }
1910//
1911// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1912func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
1913	op := &request.Operation{
1914		Name:       opCreateInstanceSnapshot,
1915		HTTPMethod: "POST",
1916		HTTPPath:   "/",
1917	}
1918
1919	if input == nil {
1920		input = &CreateInstanceSnapshotInput{}
1921	}
1922
1923	output = &CreateInstanceSnapshotOutput{}
1924	req = c.newRequest(op, input, output)
1925	return
1926}
1927
1928// CreateInstanceSnapshot API operation for Amazon Lightsail.
1929//
1930// Creates a snapshot of a specific virtual private server, or instance. You
1931// can use a snapshot to create a new instance that is based on that snapshot.
1932//
1933// The create instance snapshot operation supports tag-based access control
1934// 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).
1935//
1936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1937// with awserr.Error's Code and Message methods to get detailed information about
1938// the error.
1939//
1940// See the AWS API reference guide for Amazon Lightsail's
1941// API operation CreateInstanceSnapshot for usage and error information.
1942//
1943// Returned Error Types:
1944//   * ServiceException
1945//   A general service exception.
1946//
1947//   * InvalidInputException
1948//   Lightsail throws this exception when user input does not conform to the validation
1949//   rules of an input field.
1950//
1951//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1952//   Please set your AWS Region configuration to us-east-1 to create, view, or
1953//   edit these resources.
1954//
1955//   * NotFoundException
1956//   Lightsail throws this exception when it cannot find a resource.
1957//
1958//   * OperationFailureException
1959//   Lightsail throws this exception when an operation fails to execute.
1960//
1961//   * AccessDeniedException
1962//   Lightsail throws this exception when the user cannot be authenticated or
1963//   uses invalid credentials to access a resource.
1964//
1965//   * AccountSetupInProgressException
1966//   Lightsail throws this exception when an account is still in the setup in
1967//   progress state.
1968//
1969//   * UnauthenticatedException
1970//   Lightsail throws this exception when the user has not been authenticated.
1971//
1972// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1973func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
1974	req, out := c.CreateInstanceSnapshotRequest(input)
1975	return out, req.Send()
1976}
1977
1978// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
1979// the ability to pass a context and additional request options.
1980//
1981// See CreateInstanceSnapshot for details on how to use this API operation.
1982//
1983// The context must be non-nil and will be used for request cancellation. If
1984// the context is nil a panic will occur. In the future the SDK may create
1985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1986// for more information on using Contexts.
1987func (c *Lightsail) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
1988	req, out := c.CreateInstanceSnapshotRequest(input)
1989	req.SetContext(ctx)
1990	req.ApplyOptions(opts...)
1991	return out, req.Send()
1992}
1993
1994const opCreateInstances = "CreateInstances"
1995
1996// CreateInstancesRequest generates a "aws/request.Request" representing the
1997// client's request for the CreateInstances operation. The "output" return
1998// value will be populated with the request's response once the request completes
1999// successfully.
2000//
2001// Use "Send" method on the returned Request to send the API call to the service.
2002// the "output" return value is not valid until after Send returns without error.
2003//
2004// See CreateInstances for more information on using the CreateInstances
2005// API call, and error handling.
2006//
2007// This method is useful when you want to inject custom logic or configuration
2008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2009//
2010//
2011//    // Example sending a request using the CreateInstancesRequest method.
2012//    req, resp := client.CreateInstancesRequest(params)
2013//
2014//    err := req.Send()
2015//    if err == nil { // resp is now filled
2016//        fmt.Println(resp)
2017//    }
2018//
2019// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2020func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
2021	op := &request.Operation{
2022		Name:       opCreateInstances,
2023		HTTPMethod: "POST",
2024		HTTPPath:   "/",
2025	}
2026
2027	if input == nil {
2028		input = &CreateInstancesInput{}
2029	}
2030
2031	output = &CreateInstancesOutput{}
2032	req = c.newRequest(op, input, output)
2033	return
2034}
2035
2036// CreateInstances API operation for Amazon Lightsail.
2037//
2038// Creates one or more Amazon Lightsail instances.
2039//
2040// The create instances operation supports tag-based access control via request
2041// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2042//
2043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2044// with awserr.Error's Code and Message methods to get detailed information about
2045// the error.
2046//
2047// See the AWS API reference guide for Amazon Lightsail's
2048// API operation CreateInstances for usage and error information.
2049//
2050// Returned Error Types:
2051//   * ServiceException
2052//   A general service exception.
2053//
2054//   * InvalidInputException
2055//   Lightsail throws this exception when user input does not conform to the validation
2056//   rules of an input field.
2057//
2058//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2059//   Please set your AWS Region configuration to us-east-1 to create, view, or
2060//   edit these resources.
2061//
2062//   * NotFoundException
2063//   Lightsail throws this exception when it cannot find a resource.
2064//
2065//   * OperationFailureException
2066//   Lightsail throws this exception when an operation fails to execute.
2067//
2068//   * AccessDeniedException
2069//   Lightsail throws this exception when the user cannot be authenticated or
2070//   uses invalid credentials to access a resource.
2071//
2072//   * AccountSetupInProgressException
2073//   Lightsail throws this exception when an account is still in the setup in
2074//   progress state.
2075//
2076//   * UnauthenticatedException
2077//   Lightsail throws this exception when the user has not been authenticated.
2078//
2079// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
2080func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
2081	req, out := c.CreateInstancesRequest(input)
2082	return out, req.Send()
2083}
2084
2085// CreateInstancesWithContext is the same as CreateInstances with the addition of
2086// the ability to pass a context and additional request options.
2087//
2088// See CreateInstances for details on how to use this API operation.
2089//
2090// The context must be non-nil and will be used for request cancellation. If
2091// the context is nil a panic will occur. In the future the SDK may create
2092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2093// for more information on using Contexts.
2094func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
2095	req, out := c.CreateInstancesRequest(input)
2096	req.SetContext(ctx)
2097	req.ApplyOptions(opts...)
2098	return out, req.Send()
2099}
2100
2101const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
2102
2103// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
2104// client's request for the CreateInstancesFromSnapshot operation. The "output" return
2105// value will be populated with the request's response once the request completes
2106// successfully.
2107//
2108// Use "Send" method on the returned Request to send the API call to the service.
2109// the "output" return value is not valid until after Send returns without error.
2110//
2111// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
2112// API call, and error handling.
2113//
2114// This method is useful when you want to inject custom logic or configuration
2115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2116//
2117//
2118//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
2119//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
2120//
2121//    err := req.Send()
2122//    if err == nil { // resp is now filled
2123//        fmt.Println(resp)
2124//    }
2125//
2126// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2127func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
2128	op := &request.Operation{
2129		Name:       opCreateInstancesFromSnapshot,
2130		HTTPMethod: "POST",
2131		HTTPPath:   "/",
2132	}
2133
2134	if input == nil {
2135		input = &CreateInstancesFromSnapshotInput{}
2136	}
2137
2138	output = &CreateInstancesFromSnapshotOutput{}
2139	req = c.newRequest(op, input, output)
2140	return
2141}
2142
2143// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
2144//
2145// Creates one or more new instances from a manual or automatic snapshot of
2146// an instance.
2147//
2148// The create instances from snapshot operation supports tag-based access control
2149// via request tags and resource tags applied to the resource identified by
2150// instance snapshot name. For more information, see the Lightsail Dev Guide
2151// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2152//
2153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2154// with awserr.Error's Code and Message methods to get detailed information about
2155// the error.
2156//
2157// See the AWS API reference guide for Amazon Lightsail's
2158// API operation CreateInstancesFromSnapshot for usage and error information.
2159//
2160// Returned Error Types:
2161//   * ServiceException
2162//   A general service exception.
2163//
2164//   * InvalidInputException
2165//   Lightsail throws this exception when user input does not conform to the validation
2166//   rules of an input field.
2167//
2168//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2169//   Please set your AWS Region configuration to us-east-1 to create, view, or
2170//   edit these resources.
2171//
2172//   * NotFoundException
2173//   Lightsail throws this exception when it cannot find a resource.
2174//
2175//   * OperationFailureException
2176//   Lightsail throws this exception when an operation fails to execute.
2177//
2178//   * AccessDeniedException
2179//   Lightsail throws this exception when the user cannot be authenticated or
2180//   uses invalid credentials to access a resource.
2181//
2182//   * AccountSetupInProgressException
2183//   Lightsail throws this exception when an account is still in the setup in
2184//   progress state.
2185//
2186//   * UnauthenticatedException
2187//   Lightsail throws this exception when the user has not been authenticated.
2188//
2189// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
2190func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
2191	req, out := c.CreateInstancesFromSnapshotRequest(input)
2192	return out, req.Send()
2193}
2194
2195// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
2196// the ability to pass a context and additional request options.
2197//
2198// See CreateInstancesFromSnapshot for details on how to use this API operation.
2199//
2200// The context must be non-nil and will be used for request cancellation. If
2201// the context is nil a panic will occur. In the future the SDK may create
2202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2203// for more information on using Contexts.
2204func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
2205	req, out := c.CreateInstancesFromSnapshotRequest(input)
2206	req.SetContext(ctx)
2207	req.ApplyOptions(opts...)
2208	return out, req.Send()
2209}
2210
2211const opCreateKeyPair = "CreateKeyPair"
2212
2213// CreateKeyPairRequest generates a "aws/request.Request" representing the
2214// client's request for the CreateKeyPair operation. The "output" return
2215// value will be populated with the request's response once the request completes
2216// successfully.
2217//
2218// Use "Send" method on the returned Request to send the API call to the service.
2219// the "output" return value is not valid until after Send returns without error.
2220//
2221// See CreateKeyPair for more information on using the CreateKeyPair
2222// API call, and error handling.
2223//
2224// This method is useful when you want to inject custom logic or configuration
2225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2226//
2227//
2228//    // Example sending a request using the CreateKeyPairRequest method.
2229//    req, resp := client.CreateKeyPairRequest(params)
2230//
2231//    err := req.Send()
2232//    if err == nil { // resp is now filled
2233//        fmt.Println(resp)
2234//    }
2235//
2236// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2237func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
2238	op := &request.Operation{
2239		Name:       opCreateKeyPair,
2240		HTTPMethod: "POST",
2241		HTTPPath:   "/",
2242	}
2243
2244	if input == nil {
2245		input = &CreateKeyPairInput{}
2246	}
2247
2248	output = &CreateKeyPairOutput{}
2249	req = c.newRequest(op, input, output)
2250	return
2251}
2252
2253// CreateKeyPair API operation for Amazon Lightsail.
2254//
2255// Creates an SSH key pair.
2256//
2257// The create key pair operation supports tag-based access control via request
2258// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2259//
2260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2261// with awserr.Error's Code and Message methods to get detailed information about
2262// the error.
2263//
2264// See the AWS API reference guide for Amazon Lightsail's
2265// API operation CreateKeyPair for usage and error information.
2266//
2267// Returned Error Types:
2268//   * ServiceException
2269//   A general service exception.
2270//
2271//   * InvalidInputException
2272//   Lightsail throws this exception when user input does not conform to the validation
2273//   rules of an input field.
2274//
2275//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2276//   Please set your AWS Region configuration to us-east-1 to create, view, or
2277//   edit these resources.
2278//
2279//   * NotFoundException
2280//   Lightsail throws this exception when it cannot find a resource.
2281//
2282//   * OperationFailureException
2283//   Lightsail throws this exception when an operation fails to execute.
2284//
2285//   * AccessDeniedException
2286//   Lightsail throws this exception when the user cannot be authenticated or
2287//   uses invalid credentials to access a resource.
2288//
2289//   * AccountSetupInProgressException
2290//   Lightsail throws this exception when an account is still in the setup in
2291//   progress state.
2292//
2293//   * UnauthenticatedException
2294//   Lightsail throws this exception when the user has not been authenticated.
2295//
2296// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
2297func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
2298	req, out := c.CreateKeyPairRequest(input)
2299	return out, req.Send()
2300}
2301
2302// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
2303// the ability to pass a context and additional request options.
2304//
2305// See CreateKeyPair for details on how to use this API operation.
2306//
2307// The context must be non-nil and will be used for request cancellation. If
2308// the context is nil a panic will occur. In the future the SDK may create
2309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2310// for more information on using Contexts.
2311func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
2312	req, out := c.CreateKeyPairRequest(input)
2313	req.SetContext(ctx)
2314	req.ApplyOptions(opts...)
2315	return out, req.Send()
2316}
2317
2318const opCreateLoadBalancer = "CreateLoadBalancer"
2319
2320// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
2321// client's request for the CreateLoadBalancer operation. The "output" return
2322// value will be populated with the request's response once the request completes
2323// successfully.
2324//
2325// Use "Send" method on the returned Request to send the API call to the service.
2326// the "output" return value is not valid until after Send returns without error.
2327//
2328// See CreateLoadBalancer for more information on using the CreateLoadBalancer
2329// API call, and error handling.
2330//
2331// This method is useful when you want to inject custom logic or configuration
2332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2333//
2334//
2335//    // Example sending a request using the CreateLoadBalancerRequest method.
2336//    req, resp := client.CreateLoadBalancerRequest(params)
2337//
2338//    err := req.Send()
2339//    if err == nil { // resp is now filled
2340//        fmt.Println(resp)
2341//    }
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
2344func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
2345	op := &request.Operation{
2346		Name:       opCreateLoadBalancer,
2347		HTTPMethod: "POST",
2348		HTTPPath:   "/",
2349	}
2350
2351	if input == nil {
2352		input = &CreateLoadBalancerInput{}
2353	}
2354
2355	output = &CreateLoadBalancerOutput{}
2356	req = c.newRequest(op, input, output)
2357	return
2358}
2359
2360// CreateLoadBalancer API operation for Amazon Lightsail.
2361//
2362// Creates a Lightsail load balancer. To learn more about deciding whether to
2363// load balance your application, see Configure your Lightsail instances for
2364// load balancing (https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing).
2365// You can create up to 5 load balancers per AWS Region in your account.
2366//
2367// When you create a load balancer, you can specify a unique name and port settings.
2368// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
2369// operation.
2370//
2371// The create load balancer operation supports tag-based access control via
2372// 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).
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 CreateLoadBalancer 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-related APIs are only available in the N. Virginia (us-east-1) Region.
2390//   Please set your AWS Region configuration to us-east-1 to create, view, or
2391//   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/CreateLoadBalancer
2411func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
2412	req, out := c.CreateLoadBalancerRequest(input)
2413	return out, req.Send()
2414}
2415
2416// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
2417// the ability to pass a context and additional request options.
2418//
2419// See CreateLoadBalancer 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) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
2426	req, out := c.CreateLoadBalancerRequest(input)
2427	req.SetContext(ctx)
2428	req.ApplyOptions(opts...)
2429	return out, req.Send()
2430}
2431
2432const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2433
2434// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2435// client's request for the CreateLoadBalancerTlsCertificate 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 CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
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 CreateLoadBalancerTlsCertificateRequest method.
2450//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(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/CreateLoadBalancerTlsCertificate
2458func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
2459	op := &request.Operation{
2460		Name:       opCreateLoadBalancerTlsCertificate,
2461		HTTPMethod: "POST",
2462		HTTPPath:   "/",
2463	}
2464
2465	if input == nil {
2466		input = &CreateLoadBalancerTlsCertificateInput{}
2467	}
2468
2469	output = &CreateLoadBalancerTlsCertificateOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
2475//
2476// Creates a Lightsail load balancer TLS certificate.
2477//
2478// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
2479//
2480// The CreateLoadBalancerTlsCertificate operation supports tag-based access
2481// control via resource tags applied to the resource identified by load balancer
2482// name. For more information, see the Lightsail Dev Guide (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 CreateLoadBalancerTlsCertificate 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-related APIs are only available in the N. Virginia (us-east-1) Region.
2500//   Please set your AWS Region configuration to us-east-1 to create, view, or
2501//   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/CreateLoadBalancerTlsCertificate
2521func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
2522	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2523	return out, req.Send()
2524}
2525
2526// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
2527// the ability to pass a context and additional request options.
2528//
2529// See CreateLoadBalancerTlsCertificate 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) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
2536	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2537	req.SetContext(ctx)
2538	req.ApplyOptions(opts...)
2539	return out, req.Send()
2540}
2541
2542const opCreateRelationalDatabase = "CreateRelationalDatabase"
2543
2544// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
2545// client's request for the CreateRelationalDatabase 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 CreateRelationalDatabase for more information on using the CreateRelationalDatabase
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 CreateRelationalDatabaseRequest method.
2560//    req, resp := client.CreateRelationalDatabaseRequest(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/CreateRelationalDatabase
2568func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
2569	op := &request.Operation{
2570		Name:       opCreateRelationalDatabase,
2571		HTTPMethod: "POST",
2572		HTTPPath:   "/",
2573	}
2574
2575	if input == nil {
2576		input = &CreateRelationalDatabaseInput{}
2577	}
2578
2579	output = &CreateRelationalDatabaseOutput{}
2580	req = c.newRequest(op, input, output)
2581	return
2582}
2583
2584// CreateRelationalDatabase API operation for Amazon Lightsail.
2585//
2586// Creates a new database in Amazon Lightsail.
2587//
2588// The create relational database operation supports tag-based access control
2589// 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).
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 CreateRelationalDatabase 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-related APIs are only available in the N. Virginia (us-east-1) Region.
2607//   Please set your AWS Region configuration to us-east-1 to create, view, or
2608//   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/CreateRelationalDatabase
2628func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
2629	req, out := c.CreateRelationalDatabaseRequest(input)
2630	return out, req.Send()
2631}
2632
2633// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
2634// the ability to pass a context and additional request options.
2635//
2636// See CreateRelationalDatabase 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) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
2643	req, out := c.CreateRelationalDatabaseRequest(input)
2644	req.SetContext(ctx)
2645	req.ApplyOptions(opts...)
2646	return out, req.Send()
2647}
2648
2649const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
2650
2651// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
2652// client's request for the CreateRelationalDatabaseFromSnapshot 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 CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
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 CreateRelationalDatabaseFromSnapshotRequest method.
2667//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(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/CreateRelationalDatabaseFromSnapshot
2675func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
2676	op := &request.Operation{
2677		Name:       opCreateRelationalDatabaseFromSnapshot,
2678		HTTPMethod: "POST",
2679		HTTPPath:   "/",
2680	}
2681
2682	if input == nil {
2683		input = &CreateRelationalDatabaseFromSnapshotInput{}
2684	}
2685
2686	output = &CreateRelationalDatabaseFromSnapshotOutput{}
2687	req = c.newRequest(op, input, output)
2688	return
2689}
2690
2691// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
2692//
2693// Creates a new database from an existing database snapshot in Amazon Lightsail.
2694//
2695// You can create a new database from a snapshot in if something goes wrong
2696// with your original database, or to change it to a different plan, such as
2697// a high availability or standard plan.
2698//
2699// The create relational database from snapshot operation supports tag-based
2700// access control via request tags and resource tags applied to the resource
2701// identified by relationalDatabaseSnapshotName. For more information, see the
2702// Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2703//
2704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2705// with awserr.Error's Code and Message methods to get detailed information about
2706// the error.
2707//
2708// See the AWS API reference guide for Amazon Lightsail's
2709// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
2710//
2711// Returned Error Types:
2712//   * ServiceException
2713//   A general service exception.
2714//
2715//   * InvalidInputException
2716//   Lightsail throws this exception when user input does not conform to the validation
2717//   rules of an input field.
2718//
2719//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2720//   Please set your AWS Region configuration to us-east-1 to create, view, or
2721//   edit these resources.
2722//
2723//   * NotFoundException
2724//   Lightsail throws this exception when it cannot find a resource.
2725//
2726//   * OperationFailureException
2727//   Lightsail throws this exception when an operation fails to execute.
2728//
2729//   * AccessDeniedException
2730//   Lightsail throws this exception when the user cannot be authenticated or
2731//   uses invalid credentials to access a resource.
2732//
2733//   * AccountSetupInProgressException
2734//   Lightsail throws this exception when an account is still in the setup in
2735//   progress state.
2736//
2737//   * UnauthenticatedException
2738//   Lightsail throws this exception when the user has not been authenticated.
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2741func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2742	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2743	return out, req.Send()
2744}
2745
2746// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
2747// the ability to pass a context and additional request options.
2748//
2749// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
2750//
2751// The context must be non-nil and will be used for request cancellation. If
2752// the context is nil a panic will occur. In the future the SDK may create
2753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2754// for more information on using Contexts.
2755func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2756	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2757	req.SetContext(ctx)
2758	req.ApplyOptions(opts...)
2759	return out, req.Send()
2760}
2761
2762const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
2763
2764// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
2765// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
2766// value will be populated with the request's response once the request completes
2767// successfully.
2768//
2769// Use "Send" method on the returned Request to send the API call to the service.
2770// the "output" return value is not valid until after Send returns without error.
2771//
2772// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
2773// API call, and error handling.
2774//
2775// This method is useful when you want to inject custom logic or configuration
2776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2777//
2778//
2779//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
2780//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
2781//
2782//    err := req.Send()
2783//    if err == nil { // resp is now filled
2784//        fmt.Println(resp)
2785//    }
2786//
2787// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2788func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
2789	op := &request.Operation{
2790		Name:       opCreateRelationalDatabaseSnapshot,
2791		HTTPMethod: "POST",
2792		HTTPPath:   "/",
2793	}
2794
2795	if input == nil {
2796		input = &CreateRelationalDatabaseSnapshotInput{}
2797	}
2798
2799	output = &CreateRelationalDatabaseSnapshotOutput{}
2800	req = c.newRequest(op, input, output)
2801	return
2802}
2803
2804// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
2805//
2806// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
2807// for backups, to make copies of a database, and to save data before deleting
2808// a database.
2809//
2810// The create relational database snapshot operation supports tag-based access
2811// control via request tags. For more information, see the Lightsail Dev Guide
2812// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2813//
2814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2815// with awserr.Error's Code and Message methods to get detailed information about
2816// the error.
2817//
2818// See the AWS API reference guide for Amazon Lightsail's
2819// API operation CreateRelationalDatabaseSnapshot for usage and error information.
2820//
2821// Returned Error Types:
2822//   * ServiceException
2823//   A general service exception.
2824//
2825//   * InvalidInputException
2826//   Lightsail throws this exception when user input does not conform to the validation
2827//   rules of an input field.
2828//
2829//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2830//   Please set your AWS Region configuration to us-east-1 to create, view, or
2831//   edit these resources.
2832//
2833//   * NotFoundException
2834//   Lightsail throws this exception when it cannot find a resource.
2835//
2836//   * OperationFailureException
2837//   Lightsail throws this exception when an operation fails to execute.
2838//
2839//   * AccessDeniedException
2840//   Lightsail throws this exception when the user cannot be authenticated or
2841//   uses invalid credentials to access a resource.
2842//
2843//   * AccountSetupInProgressException
2844//   Lightsail throws this exception when an account is still in the setup in
2845//   progress state.
2846//
2847//   * UnauthenticatedException
2848//   Lightsail throws this exception when the user has not been authenticated.
2849//
2850// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2851func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
2852	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2853	return out, req.Send()
2854}
2855
2856// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
2857// the ability to pass a context and additional request options.
2858//
2859// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
2860//
2861// The context must be non-nil and will be used for request cancellation. If
2862// the context is nil a panic will occur. In the future the SDK may create
2863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2864// for more information on using Contexts.
2865func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
2866	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2867	req.SetContext(ctx)
2868	req.ApplyOptions(opts...)
2869	return out, req.Send()
2870}
2871
2872const opDeleteAlarm = "DeleteAlarm"
2873
2874// DeleteAlarmRequest generates a "aws/request.Request" representing the
2875// client's request for the DeleteAlarm operation. The "output" return
2876// value will be populated with the request's response once the request completes
2877// successfully.
2878//
2879// Use "Send" method on the returned Request to send the API call to the service.
2880// the "output" return value is not valid until after Send returns without error.
2881//
2882// See DeleteAlarm for more information on using the DeleteAlarm
2883// API call, and error handling.
2884//
2885// This method is useful when you want to inject custom logic or configuration
2886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2887//
2888//
2889//    // Example sending a request using the DeleteAlarmRequest method.
2890//    req, resp := client.DeleteAlarmRequest(params)
2891//
2892//    err := req.Send()
2893//    if err == nil { // resp is now filled
2894//        fmt.Println(resp)
2895//    }
2896//
2897// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
2898func (c *Lightsail) DeleteAlarmRequest(input *DeleteAlarmInput) (req *request.Request, output *DeleteAlarmOutput) {
2899	op := &request.Operation{
2900		Name:       opDeleteAlarm,
2901		HTTPMethod: "POST",
2902		HTTPPath:   "/",
2903	}
2904
2905	if input == nil {
2906		input = &DeleteAlarmInput{}
2907	}
2908
2909	output = &DeleteAlarmOutput{}
2910	req = c.newRequest(op, input, output)
2911	return
2912}
2913
2914// DeleteAlarm API operation for Amazon Lightsail.
2915//
2916// Deletes an alarm.
2917//
2918// An alarm is used to monitor a single metric for one of your resources. When
2919// a metric condition is met, the alarm can notify you by email, SMS text message,
2920// and a banner displayed on the Amazon Lightsail console. For more information,
2921// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
2922//
2923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2924// with awserr.Error's Code and Message methods to get detailed information about
2925// the error.
2926//
2927// See the AWS API reference guide for Amazon Lightsail's
2928// API operation DeleteAlarm for usage and error information.
2929//
2930// Returned Error Types:
2931//   * ServiceException
2932//   A general service exception.
2933//
2934//   * InvalidInputException
2935//   Lightsail throws this exception when user input does not conform to the validation
2936//   rules of an input field.
2937//
2938//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2939//   Please set your AWS Region configuration to us-east-1 to create, view, or
2940//   edit these resources.
2941//
2942//   * OperationFailureException
2943//   Lightsail throws this exception when an operation fails to execute.
2944//
2945//   * UnauthenticatedException
2946//   Lightsail throws this exception when the user has not been authenticated.
2947//
2948//   * AccessDeniedException
2949//   Lightsail throws this exception when the user cannot be authenticated or
2950//   uses invalid credentials to access a resource.
2951//
2952//   * NotFoundException
2953//   Lightsail throws this exception when it cannot find a resource.
2954//
2955// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAlarm
2956func (c *Lightsail) DeleteAlarm(input *DeleteAlarmInput) (*DeleteAlarmOutput, error) {
2957	req, out := c.DeleteAlarmRequest(input)
2958	return out, req.Send()
2959}
2960
2961// DeleteAlarmWithContext is the same as DeleteAlarm with the addition of
2962// the ability to pass a context and additional request options.
2963//
2964// See DeleteAlarm for details on how to use this API operation.
2965//
2966// The context must be non-nil and will be used for request cancellation. If
2967// the context is nil a panic will occur. In the future the SDK may create
2968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2969// for more information on using Contexts.
2970func (c *Lightsail) DeleteAlarmWithContext(ctx aws.Context, input *DeleteAlarmInput, opts ...request.Option) (*DeleteAlarmOutput, error) {
2971	req, out := c.DeleteAlarmRequest(input)
2972	req.SetContext(ctx)
2973	req.ApplyOptions(opts...)
2974	return out, req.Send()
2975}
2976
2977const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
2978
2979// DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
2980// client's request for the DeleteAutoSnapshot operation. The "output" return
2981// value will be populated with the request's response once the request completes
2982// successfully.
2983//
2984// Use "Send" method on the returned Request to send the API call to the service.
2985// the "output" return value is not valid until after Send returns without error.
2986//
2987// See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
2988// API call, and error handling.
2989//
2990// This method is useful when you want to inject custom logic or configuration
2991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2992//
2993//
2994//    // Example sending a request using the DeleteAutoSnapshotRequest method.
2995//    req, resp := client.DeleteAutoSnapshotRequest(params)
2996//
2997//    err := req.Send()
2998//    if err == nil { // resp is now filled
2999//        fmt.Println(resp)
3000//    }
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3003func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
3004	op := &request.Operation{
3005		Name:       opDeleteAutoSnapshot,
3006		HTTPMethod: "POST",
3007		HTTPPath:   "/",
3008	}
3009
3010	if input == nil {
3011		input = &DeleteAutoSnapshotInput{}
3012	}
3013
3014	output = &DeleteAutoSnapshotOutput{}
3015	req = c.newRequest(op, input, output)
3016	return
3017}
3018
3019// DeleteAutoSnapshot API operation for Amazon Lightsail.
3020//
3021// Deletes an automatic snapshot of an instance or disk. For more information,
3022// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
3023//
3024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3025// with awserr.Error's Code and Message methods to get detailed information about
3026// the error.
3027//
3028// See the AWS API reference guide for Amazon Lightsail's
3029// API operation DeleteAutoSnapshot for usage and error information.
3030//
3031// Returned Error Types:
3032//   * ServiceException
3033//   A general service exception.
3034//
3035//   * InvalidInputException
3036//   Lightsail throws this exception when user input does not conform to the validation
3037//   rules of an input field.
3038//
3039//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3040//   Please set your AWS Region configuration to us-east-1 to create, view, or
3041//   edit these resources.
3042//
3043//   * NotFoundException
3044//   Lightsail throws this exception when it cannot find a resource.
3045//
3046//   * OperationFailureException
3047//   Lightsail throws this exception when an operation fails to execute.
3048//
3049//   * AccessDeniedException
3050//   Lightsail throws this exception when the user cannot be authenticated or
3051//   uses invalid credentials to access a resource.
3052//
3053//   * UnauthenticatedException
3054//   Lightsail throws this exception when the user has not been authenticated.
3055//
3056// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
3057func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
3058	req, out := c.DeleteAutoSnapshotRequest(input)
3059	return out, req.Send()
3060}
3061
3062// DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
3063// the ability to pass a context and additional request options.
3064//
3065// See DeleteAutoSnapshot for details on how to use this API operation.
3066//
3067// The context must be non-nil and will be used for request cancellation. If
3068// the context is nil a panic will occur. In the future the SDK may create
3069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3070// for more information on using Contexts.
3071func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
3072	req, out := c.DeleteAutoSnapshotRequest(input)
3073	req.SetContext(ctx)
3074	req.ApplyOptions(opts...)
3075	return out, req.Send()
3076}
3077
3078const opDeleteCertificate = "DeleteCertificate"
3079
3080// DeleteCertificateRequest generates a "aws/request.Request" representing the
3081// client's request for the DeleteCertificate operation. The "output" return
3082// value will be populated with the request's response once the request completes
3083// successfully.
3084//
3085// Use "Send" method on the returned Request to send the API call to the service.
3086// the "output" return value is not valid until after Send returns without error.
3087//
3088// See DeleteCertificate for more information on using the DeleteCertificate
3089// API call, and error handling.
3090//
3091// This method is useful when you want to inject custom logic or configuration
3092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3093//
3094//
3095//    // Example sending a request using the DeleteCertificateRequest method.
3096//    req, resp := client.DeleteCertificateRequest(params)
3097//
3098//    err := req.Send()
3099//    if err == nil { // resp is now filled
3100//        fmt.Println(resp)
3101//    }
3102//
3103// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3104func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) {
3105	op := &request.Operation{
3106		Name:       opDeleteCertificate,
3107		HTTPMethod: "POST",
3108		HTTPPath:   "/",
3109	}
3110
3111	if input == nil {
3112		input = &DeleteCertificateInput{}
3113	}
3114
3115	output = &DeleteCertificateOutput{}
3116	req = c.newRequest(op, input, output)
3117	return
3118}
3119
3120// DeleteCertificate API operation for Amazon Lightsail.
3121//
3122// Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery
3123// network (CDN) distribution.
3124//
3125// Certificates that are currently attached to a distribution cannot be deleted.
3126// Use the DetachCertificateFromDistribution action to detach a certificate
3127// from a distribution.
3128//
3129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3130// with awserr.Error's Code and Message methods to get detailed information about
3131// the error.
3132//
3133// See the AWS API reference guide for Amazon Lightsail's
3134// API operation DeleteCertificate for usage and error information.
3135//
3136// Returned Error Types:
3137//   * ServiceException
3138//   A general service exception.
3139//
3140//   * InvalidInputException
3141//   Lightsail throws this exception when user input does not conform to the validation
3142//   rules of an input field.
3143//
3144//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3145//   Please set your AWS Region configuration to us-east-1 to create, view, or
3146//   edit these resources.
3147//
3148//   * AccessDeniedException
3149//   Lightsail throws this exception when the user cannot be authenticated or
3150//   uses invalid credentials to access a resource.
3151//
3152//   * NotFoundException
3153//   Lightsail throws this exception when it cannot find a resource.
3154//
3155//   * UnauthenticatedException
3156//   Lightsail throws this exception when the user has not been authenticated.
3157//
3158// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate
3159func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) {
3160	req, out := c.DeleteCertificateRequest(input)
3161	return out, req.Send()
3162}
3163
3164// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of
3165// the ability to pass a context and additional request options.
3166//
3167// See DeleteCertificate for details on how to use this API operation.
3168//
3169// The context must be non-nil and will be used for request cancellation. If
3170// the context is nil a panic will occur. In the future the SDK may create
3171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3172// for more information on using Contexts.
3173func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) {
3174	req, out := c.DeleteCertificateRequest(input)
3175	req.SetContext(ctx)
3176	req.ApplyOptions(opts...)
3177	return out, req.Send()
3178}
3179
3180const opDeleteContactMethod = "DeleteContactMethod"
3181
3182// DeleteContactMethodRequest generates a "aws/request.Request" representing the
3183// client's request for the DeleteContactMethod operation. The "output" return
3184// value will be populated with the request's response once the request completes
3185// successfully.
3186//
3187// Use "Send" method on the returned Request to send the API call to the service.
3188// the "output" return value is not valid until after Send returns without error.
3189//
3190// See DeleteContactMethod for more information on using the DeleteContactMethod
3191// API call, and error handling.
3192//
3193// This method is useful when you want to inject custom logic or configuration
3194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3195//
3196//
3197//    // Example sending a request using the DeleteContactMethodRequest method.
3198//    req, resp := client.DeleteContactMethodRequest(params)
3199//
3200//    err := req.Send()
3201//    if err == nil { // resp is now filled
3202//        fmt.Println(resp)
3203//    }
3204//
3205// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
3206func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) {
3207	op := &request.Operation{
3208		Name:       opDeleteContactMethod,
3209		HTTPMethod: "POST",
3210		HTTPPath:   "/",
3211	}
3212
3213	if input == nil {
3214		input = &DeleteContactMethodInput{}
3215	}
3216
3217	output = &DeleteContactMethodOutput{}
3218	req = c.newRequest(op, input, output)
3219	return
3220}
3221
3222// DeleteContactMethod API operation for Amazon Lightsail.
3223//
3224// Deletes a contact method.
3225//
3226// A contact method is used to send you notifications about your Amazon Lightsail
3227// resources. You can add one email address and one mobile phone number contact
3228// method in each AWS Region. However, SMS text messaging is not supported in
3229// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
3230// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
3231//
3232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3233// with awserr.Error's Code and Message methods to get detailed information about
3234// the error.
3235//
3236// See the AWS API reference guide for Amazon Lightsail's
3237// API operation DeleteContactMethod for usage and error information.
3238//
3239// Returned Error Types:
3240//   * ServiceException
3241//   A general service exception.
3242//
3243//   * InvalidInputException
3244//   Lightsail throws this exception when user input does not conform to the validation
3245//   rules of an input field.
3246//
3247//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3248//   Please set your AWS Region configuration to us-east-1 to create, view, or
3249//   edit these resources.
3250//
3251//   * OperationFailureException
3252//   Lightsail throws this exception when an operation fails to execute.
3253//
3254//   * UnauthenticatedException
3255//   Lightsail throws this exception when the user has not been authenticated.
3256//
3257//   * AccessDeniedException
3258//   Lightsail throws this exception when the user cannot be authenticated or
3259//   uses invalid credentials to access a resource.
3260//
3261//   * NotFoundException
3262//   Lightsail throws this exception when it cannot find a resource.
3263//
3264// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod
3265func (c *Lightsail) DeleteContactMethod(input *DeleteContactMethodInput) (*DeleteContactMethodOutput, error) {
3266	req, out := c.DeleteContactMethodRequest(input)
3267	return out, req.Send()
3268}
3269
3270// DeleteContactMethodWithContext is the same as DeleteContactMethod with the addition of
3271// the ability to pass a context and additional request options.
3272//
3273// See DeleteContactMethod for details on how to use this API operation.
3274//
3275// The context must be non-nil and will be used for request cancellation. If
3276// the context is nil a panic will occur. In the future the SDK may create
3277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3278// for more information on using Contexts.
3279func (c *Lightsail) DeleteContactMethodWithContext(ctx aws.Context, input *DeleteContactMethodInput, opts ...request.Option) (*DeleteContactMethodOutput, error) {
3280	req, out := c.DeleteContactMethodRequest(input)
3281	req.SetContext(ctx)
3282	req.ApplyOptions(opts...)
3283	return out, req.Send()
3284}
3285
3286const opDeleteDisk = "DeleteDisk"
3287
3288// DeleteDiskRequest generates a "aws/request.Request" representing the
3289// client's request for the DeleteDisk operation. The "output" return
3290// value will be populated with the request's response once the request completes
3291// successfully.
3292//
3293// Use "Send" method on the returned Request to send the API call to the service.
3294// the "output" return value is not valid until after Send returns without error.
3295//
3296// See DeleteDisk for more information on using the DeleteDisk
3297// API call, and error handling.
3298//
3299// This method is useful when you want to inject custom logic or configuration
3300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3301//
3302//
3303//    // Example sending a request using the DeleteDiskRequest method.
3304//    req, resp := client.DeleteDiskRequest(params)
3305//
3306//    err := req.Send()
3307//    if err == nil { // resp is now filled
3308//        fmt.Println(resp)
3309//    }
3310//
3311// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
3312func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
3313	op := &request.Operation{
3314		Name:       opDeleteDisk,
3315		HTTPMethod: "POST",
3316		HTTPPath:   "/",
3317	}
3318
3319	if input == nil {
3320		input = &DeleteDiskInput{}
3321	}
3322
3323	output = &DeleteDiskOutput{}
3324	req = c.newRequest(op, input, output)
3325	return
3326}
3327
3328// DeleteDisk API operation for Amazon Lightsail.
3329//
3330// Deletes the specified block storage disk. The disk must be in the available
3331// state (not attached to a Lightsail instance).
3332//
3333// The disk may remain in the deleting state for several minutes.
3334//
3335// The delete disk operation supports tag-based access control via resource
3336// tags applied to the resource identified by disk name. For more information,
3337// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3338//
3339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3340// with awserr.Error's Code and Message methods to get detailed information about
3341// the error.
3342//
3343// See the AWS API reference guide for Amazon Lightsail's
3344// API operation DeleteDisk for usage and error information.
3345//
3346// Returned Error Types:
3347//   * ServiceException
3348//   A general service exception.
3349//
3350//   * InvalidInputException
3351//   Lightsail throws this exception when user input does not conform to the validation
3352//   rules of an input field.
3353//
3354//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3355//   Please set your AWS Region configuration to us-east-1 to create, view, or
3356//   edit these resources.
3357//
3358//   * NotFoundException
3359//   Lightsail throws this exception when it cannot find a resource.
3360//
3361//   * OperationFailureException
3362//   Lightsail throws this exception when an operation fails to execute.
3363//
3364//   * AccessDeniedException
3365//   Lightsail throws this exception when the user cannot be authenticated or
3366//   uses invalid credentials to access a resource.
3367//
3368//   * AccountSetupInProgressException
3369//   Lightsail throws this exception when an account is still in the setup in
3370//   progress state.
3371//
3372//   * UnauthenticatedException
3373//   Lightsail throws this exception when the user has not been authenticated.
3374//
3375// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
3376func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
3377	req, out := c.DeleteDiskRequest(input)
3378	return out, req.Send()
3379}
3380
3381// DeleteDiskWithContext is the same as DeleteDisk with the addition of
3382// the ability to pass a context and additional request options.
3383//
3384// See DeleteDisk for details on how to use this API operation.
3385//
3386// The context must be non-nil and will be used for request cancellation. If
3387// the context is nil a panic will occur. In the future the SDK may create
3388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3389// for more information on using Contexts.
3390func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
3391	req, out := c.DeleteDiskRequest(input)
3392	req.SetContext(ctx)
3393	req.ApplyOptions(opts...)
3394	return out, req.Send()
3395}
3396
3397const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
3398
3399// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
3400// client's request for the DeleteDiskSnapshot operation. The "output" return
3401// value will be populated with the request's response once the request completes
3402// successfully.
3403//
3404// Use "Send" method on the returned Request to send the API call to the service.
3405// the "output" return value is not valid until after Send returns without error.
3406//
3407// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
3408// API call, and error handling.
3409//
3410// This method is useful when you want to inject custom logic or configuration
3411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3412//
3413//
3414//    // Example sending a request using the DeleteDiskSnapshotRequest method.
3415//    req, resp := client.DeleteDiskSnapshotRequest(params)
3416//
3417//    err := req.Send()
3418//    if err == nil { // resp is now filled
3419//        fmt.Println(resp)
3420//    }
3421//
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
3423func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
3424	op := &request.Operation{
3425		Name:       opDeleteDiskSnapshot,
3426		HTTPMethod: "POST",
3427		HTTPPath:   "/",
3428	}
3429
3430	if input == nil {
3431		input = &DeleteDiskSnapshotInput{}
3432	}
3433
3434	output = &DeleteDiskSnapshotOutput{}
3435	req = c.newRequest(op, input, output)
3436	return
3437}
3438
3439// DeleteDiskSnapshot API operation for Amazon Lightsail.
3440//
3441// Deletes the specified disk snapshot.
3442//
3443// When you make periodic snapshots of a disk, the snapshots are incremental,
3444// and only the blocks on the device that have changed since your last snapshot
3445// are saved in the new snapshot. When you delete a snapshot, only the data
3446// not needed for any other snapshot is removed. So regardless of which prior
3447// snapshots have been deleted, all active snapshots will have access to all
3448// the information needed to restore the disk.
3449//
3450// The delete disk snapshot operation supports tag-based access control via
3451// resource tags applied to the resource identified by disk snapshot name. For
3452// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3453//
3454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3455// with awserr.Error's Code and Message methods to get detailed information about
3456// the error.
3457//
3458// See the AWS API reference guide for Amazon Lightsail's
3459// API operation DeleteDiskSnapshot for usage and error information.
3460//
3461// Returned Error Types:
3462//   * ServiceException
3463//   A general service exception.
3464//
3465//   * InvalidInputException
3466//   Lightsail throws this exception when user input does not conform to the validation
3467//   rules of an input field.
3468//
3469//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3470//   Please set your AWS Region configuration to us-east-1 to create, view, or
3471//   edit these resources.
3472//
3473//   * NotFoundException
3474//   Lightsail throws this exception when it cannot find a resource.
3475//
3476//   * OperationFailureException
3477//   Lightsail throws this exception when an operation fails to execute.
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//   * AccountSetupInProgressException
3484//   Lightsail throws this exception when an account is still in the setup in
3485//   progress state.
3486//
3487//   * UnauthenticatedException
3488//   Lightsail throws this exception when the user has not been authenticated.
3489//
3490// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
3491func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
3492	req, out := c.DeleteDiskSnapshotRequest(input)
3493	return out, req.Send()
3494}
3495
3496// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
3497// the ability to pass a context and additional request options.
3498//
3499// See DeleteDiskSnapshot for details on how to use this API operation.
3500//
3501// The context must be non-nil and will be used for request cancellation. If
3502// the context is nil a panic will occur. In the future the SDK may create
3503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3504// for more information on using Contexts.
3505func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
3506	req, out := c.DeleteDiskSnapshotRequest(input)
3507	req.SetContext(ctx)
3508	req.ApplyOptions(opts...)
3509	return out, req.Send()
3510}
3511
3512const opDeleteDistribution = "DeleteDistribution"
3513
3514// DeleteDistributionRequest generates a "aws/request.Request" representing the
3515// client's request for the DeleteDistribution operation. The "output" return
3516// value will be populated with the request's response once the request completes
3517// successfully.
3518//
3519// Use "Send" method on the returned Request to send the API call to the service.
3520// the "output" return value is not valid until after Send returns without error.
3521//
3522// See DeleteDistribution for more information on using the DeleteDistribution
3523// API call, and error handling.
3524//
3525// This method is useful when you want to inject custom logic or configuration
3526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3527//
3528//
3529//    // Example sending a request using the DeleteDistributionRequest method.
3530//    req, resp := client.DeleteDistributionRequest(params)
3531//
3532//    err := req.Send()
3533//    if err == nil { // resp is now filled
3534//        fmt.Println(resp)
3535//    }
3536//
3537// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
3538func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) {
3539	op := &request.Operation{
3540		Name:       opDeleteDistribution,
3541		HTTPMethod: "POST",
3542		HTTPPath:   "/",
3543	}
3544
3545	if input == nil {
3546		input = &DeleteDistributionInput{}
3547	}
3548
3549	output = &DeleteDistributionOutput{}
3550	req = c.newRequest(op, input, output)
3551	return
3552}
3553
3554// DeleteDistribution API operation for Amazon Lightsail.
3555//
3556// Deletes your Amazon Lightsail content delivery network (CDN) distribution.
3557//
3558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3559// with awserr.Error's Code and Message methods to get detailed information about
3560// the error.
3561//
3562// See the AWS API reference guide for Amazon Lightsail's
3563// API operation DeleteDistribution for usage and error information.
3564//
3565// Returned Error Types:
3566//   * ServiceException
3567//   A general service exception.
3568//
3569//   * InvalidInputException
3570//   Lightsail throws this exception when user input does not conform to the validation
3571//   rules of an input field.
3572//
3573//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3574//   Please set your AWS Region configuration to us-east-1 to create, view, or
3575//   edit these resources.
3576//
3577//   * NotFoundException
3578//   Lightsail throws this exception when it cannot find a resource.
3579//
3580//   * OperationFailureException
3581//   Lightsail throws this exception when an operation fails to execute.
3582//
3583//   * AccessDeniedException
3584//   Lightsail throws this exception when the user cannot be authenticated or
3585//   uses invalid credentials to access a resource.
3586//
3587//   * UnauthenticatedException
3588//   Lightsail throws this exception when the user has not been authenticated.
3589//
3590// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution
3591func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) {
3592	req, out := c.DeleteDistributionRequest(input)
3593	return out, req.Send()
3594}
3595
3596// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of
3597// the ability to pass a context and additional request options.
3598//
3599// See DeleteDistribution for details on how to use this API operation.
3600//
3601// The context must be non-nil and will be used for request cancellation. If
3602// the context is nil a panic will occur. In the future the SDK may create
3603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3604// for more information on using Contexts.
3605func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) {
3606	req, out := c.DeleteDistributionRequest(input)
3607	req.SetContext(ctx)
3608	req.ApplyOptions(opts...)
3609	return out, req.Send()
3610}
3611
3612const opDeleteDomain = "DeleteDomain"
3613
3614// DeleteDomainRequest generates a "aws/request.Request" representing the
3615// client's request for the DeleteDomain operation. The "output" return
3616// value will be populated with the request's response once the request completes
3617// successfully.
3618//
3619// Use "Send" method on the returned Request to send the API call to the service.
3620// the "output" return value is not valid until after Send returns without error.
3621//
3622// See DeleteDomain for more information on using the DeleteDomain
3623// API call, and error handling.
3624//
3625// This method is useful when you want to inject custom logic or configuration
3626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3627//
3628//
3629//    // Example sending a request using the DeleteDomainRequest method.
3630//    req, resp := client.DeleteDomainRequest(params)
3631//
3632//    err := req.Send()
3633//    if err == nil { // resp is now filled
3634//        fmt.Println(resp)
3635//    }
3636//
3637// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
3638func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
3639	op := &request.Operation{
3640		Name:       opDeleteDomain,
3641		HTTPMethod: "POST",
3642		HTTPPath:   "/",
3643	}
3644
3645	if input == nil {
3646		input = &DeleteDomainInput{}
3647	}
3648
3649	output = &DeleteDomainOutput{}
3650	req = c.newRequest(op, input, output)
3651	return
3652}
3653
3654// DeleteDomain API operation for Amazon Lightsail.
3655//
3656// Deletes the specified domain recordset and all of its domain records.
3657//
3658// The delete domain operation supports tag-based access control via resource
3659// tags applied to the resource identified by domain name. For more information,
3660// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3661//
3662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3663// with awserr.Error's Code and Message methods to get detailed information about
3664// the error.
3665//
3666// See the AWS API reference guide for Amazon Lightsail's
3667// API operation DeleteDomain for usage and error information.
3668//
3669// Returned Error Types:
3670//   * ServiceException
3671//   A general service exception.
3672//
3673//   * InvalidInputException
3674//   Lightsail throws this exception when user input does not conform to the validation
3675//   rules of an input field.
3676//
3677//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3678//   Please set your AWS Region configuration to us-east-1 to create, view, or
3679//   edit these resources.
3680//
3681//   * NotFoundException
3682//   Lightsail throws this exception when it cannot find a resource.
3683//
3684//   * OperationFailureException
3685//   Lightsail throws this exception when an operation fails to execute.
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//   * AccountSetupInProgressException
3692//   Lightsail throws this exception when an account is still in the setup in
3693//   progress state.
3694//
3695//   * UnauthenticatedException
3696//   Lightsail throws this exception when the user has not been authenticated.
3697//
3698// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
3699func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
3700	req, out := c.DeleteDomainRequest(input)
3701	return out, req.Send()
3702}
3703
3704// DeleteDomainWithContext is the same as DeleteDomain with the addition of
3705// the ability to pass a context and additional request options.
3706//
3707// See DeleteDomain for details on how to use this API operation.
3708//
3709// The context must be non-nil and will be used for request cancellation. If
3710// the context is nil a panic will occur. In the future the SDK may create
3711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3712// for more information on using Contexts.
3713func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
3714	req, out := c.DeleteDomainRequest(input)
3715	req.SetContext(ctx)
3716	req.ApplyOptions(opts...)
3717	return out, req.Send()
3718}
3719
3720const opDeleteDomainEntry = "DeleteDomainEntry"
3721
3722// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
3723// client's request for the DeleteDomainEntry operation. The "output" return
3724// value will be populated with the request's response once the request completes
3725// successfully.
3726//
3727// Use "Send" method on the returned Request to send the API call to the service.
3728// the "output" return value is not valid until after Send returns without error.
3729//
3730// See DeleteDomainEntry for more information on using the DeleteDomainEntry
3731// API call, and error handling.
3732//
3733// This method is useful when you want to inject custom logic or configuration
3734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3735//
3736//
3737//    // Example sending a request using the DeleteDomainEntryRequest method.
3738//    req, resp := client.DeleteDomainEntryRequest(params)
3739//
3740//    err := req.Send()
3741//    if err == nil { // resp is now filled
3742//        fmt.Println(resp)
3743//    }
3744//
3745// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
3746func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
3747	op := &request.Operation{
3748		Name:       opDeleteDomainEntry,
3749		HTTPMethod: "POST",
3750		HTTPPath:   "/",
3751	}
3752
3753	if input == nil {
3754		input = &DeleteDomainEntryInput{}
3755	}
3756
3757	output = &DeleteDomainEntryOutput{}
3758	req = c.newRequest(op, input, output)
3759	return
3760}
3761
3762// DeleteDomainEntry API operation for Amazon Lightsail.
3763//
3764// Deletes a specific domain entry.
3765//
3766// The delete domain entry operation supports tag-based access control via resource
3767// tags applied to the resource identified by domain name. For more information,
3768// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3769//
3770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3771// with awserr.Error's Code and Message methods to get detailed information about
3772// the error.
3773//
3774// See the AWS API reference guide for Amazon Lightsail's
3775// API operation DeleteDomainEntry for usage and error information.
3776//
3777// Returned Error Types:
3778//   * ServiceException
3779//   A general service exception.
3780//
3781//   * InvalidInputException
3782//   Lightsail throws this exception when user input does not conform to the validation
3783//   rules of an input field.
3784//
3785//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3786//   Please set your AWS Region configuration to us-east-1 to create, view, or
3787//   edit these resources.
3788//
3789//   * NotFoundException
3790//   Lightsail throws this exception when it cannot find a resource.
3791//
3792//   * OperationFailureException
3793//   Lightsail throws this exception when an operation fails to execute.
3794//
3795//   * AccessDeniedException
3796//   Lightsail throws this exception when the user cannot be authenticated or
3797//   uses invalid credentials to access a resource.
3798//
3799//   * AccountSetupInProgressException
3800//   Lightsail throws this exception when an account is still in the setup in
3801//   progress state.
3802//
3803//   * UnauthenticatedException
3804//   Lightsail throws this exception when the user has not been authenticated.
3805//
3806// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
3807func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
3808	req, out := c.DeleteDomainEntryRequest(input)
3809	return out, req.Send()
3810}
3811
3812// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
3813// the ability to pass a context and additional request options.
3814//
3815// See DeleteDomainEntry for details on how to use this API operation.
3816//
3817// The context must be non-nil and will be used for request cancellation. If
3818// the context is nil a panic will occur. In the future the SDK may create
3819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3820// for more information on using Contexts.
3821func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
3822	req, out := c.DeleteDomainEntryRequest(input)
3823	req.SetContext(ctx)
3824	req.ApplyOptions(opts...)
3825	return out, req.Send()
3826}
3827
3828const opDeleteInstance = "DeleteInstance"
3829
3830// DeleteInstanceRequest generates a "aws/request.Request" representing the
3831// client's request for the DeleteInstance operation. The "output" return
3832// value will be populated with the request's response once the request completes
3833// successfully.
3834//
3835// Use "Send" method on the returned Request to send the API call to the service.
3836// the "output" return value is not valid until after Send returns without error.
3837//
3838// See DeleteInstance for more information on using the DeleteInstance
3839// API call, and error handling.
3840//
3841// This method is useful when you want to inject custom logic or configuration
3842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3843//
3844//
3845//    // Example sending a request using the DeleteInstanceRequest method.
3846//    req, resp := client.DeleteInstanceRequest(params)
3847//
3848//    err := req.Send()
3849//    if err == nil { // resp is now filled
3850//        fmt.Println(resp)
3851//    }
3852//
3853// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3854func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
3855	op := &request.Operation{
3856		Name:       opDeleteInstance,
3857		HTTPMethod: "POST",
3858		HTTPPath:   "/",
3859	}
3860
3861	if input == nil {
3862		input = &DeleteInstanceInput{}
3863	}
3864
3865	output = &DeleteInstanceOutput{}
3866	req = c.newRequest(op, input, output)
3867	return
3868}
3869
3870// DeleteInstance API operation for Amazon Lightsail.
3871//
3872// Deletes an Amazon Lightsail instance.
3873//
3874// The delete instance operation supports tag-based access control via resource
3875// tags applied to the resource identified by instance name. For more information,
3876// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3877//
3878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3879// with awserr.Error's Code and Message methods to get detailed information about
3880// the error.
3881//
3882// See the AWS API reference guide for Amazon Lightsail's
3883// API operation DeleteInstance for usage and error information.
3884//
3885// Returned Error Types:
3886//   * ServiceException
3887//   A general service exception.
3888//
3889//   * InvalidInputException
3890//   Lightsail throws this exception when user input does not conform to the validation
3891//   rules of an input field.
3892//
3893//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3894//   Please set your AWS Region configuration to us-east-1 to create, view, or
3895//   edit these resources.
3896//
3897//   * NotFoundException
3898//   Lightsail throws this exception when it cannot find a resource.
3899//
3900//   * OperationFailureException
3901//   Lightsail throws this exception when an operation fails to execute.
3902//
3903//   * AccessDeniedException
3904//   Lightsail throws this exception when the user cannot be authenticated or
3905//   uses invalid credentials to access a resource.
3906//
3907//   * AccountSetupInProgressException
3908//   Lightsail throws this exception when an account is still in the setup in
3909//   progress state.
3910//
3911//   * UnauthenticatedException
3912//   Lightsail throws this exception when the user has not been authenticated.
3913//
3914// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3915func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
3916	req, out := c.DeleteInstanceRequest(input)
3917	return out, req.Send()
3918}
3919
3920// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
3921// the ability to pass a context and additional request options.
3922//
3923// See DeleteInstance for details on how to use this API operation.
3924//
3925// The context must be non-nil and will be used for request cancellation. If
3926// the context is nil a panic will occur. In the future the SDK may create
3927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3928// for more information on using Contexts.
3929func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
3930	req, out := c.DeleteInstanceRequest(input)
3931	req.SetContext(ctx)
3932	req.ApplyOptions(opts...)
3933	return out, req.Send()
3934}
3935
3936const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
3937
3938// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
3939// client's request for the DeleteInstanceSnapshot operation. The "output" return
3940// value will be populated with the request's response once the request completes
3941// successfully.
3942//
3943// Use "Send" method on the returned Request to send the API call to the service.
3944// the "output" return value is not valid until after Send returns without error.
3945//
3946// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
3947// API call, and error handling.
3948//
3949// This method is useful when you want to inject custom logic or configuration
3950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3951//
3952//
3953//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
3954//    req, resp := client.DeleteInstanceSnapshotRequest(params)
3955//
3956//    err := req.Send()
3957//    if err == nil { // resp is now filled
3958//        fmt.Println(resp)
3959//    }
3960//
3961// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3962func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
3963	op := &request.Operation{
3964		Name:       opDeleteInstanceSnapshot,
3965		HTTPMethod: "POST",
3966		HTTPPath:   "/",
3967	}
3968
3969	if input == nil {
3970		input = &DeleteInstanceSnapshotInput{}
3971	}
3972
3973	output = &DeleteInstanceSnapshotOutput{}
3974	req = c.newRequest(op, input, output)
3975	return
3976}
3977
3978// DeleteInstanceSnapshot API operation for Amazon Lightsail.
3979//
3980// Deletes a specific snapshot of a virtual private server (or instance).
3981//
3982// The delete instance snapshot operation supports tag-based access control
3983// via resource tags applied to the resource identified by instance snapshot
3984// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3985//
3986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3987// with awserr.Error's Code and Message methods to get detailed information about
3988// the error.
3989//
3990// See the AWS API reference guide for Amazon Lightsail's
3991// API operation DeleteInstanceSnapshot for usage and error information.
3992//
3993// Returned Error Types:
3994//   * ServiceException
3995//   A general service exception.
3996//
3997//   * InvalidInputException
3998//   Lightsail throws this exception when user input does not conform to the validation
3999//   rules of an input field.
4000//
4001//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4002//   Please set your AWS Region configuration to us-east-1 to create, view, or
4003//   edit these resources.
4004//
4005//   * NotFoundException
4006//   Lightsail throws this exception when it cannot find a resource.
4007//
4008//   * OperationFailureException
4009//   Lightsail throws this exception when an operation fails to execute.
4010//
4011//   * AccessDeniedException
4012//   Lightsail throws this exception when the user cannot be authenticated or
4013//   uses invalid credentials to access a resource.
4014//
4015//   * AccountSetupInProgressException
4016//   Lightsail throws this exception when an account is still in the setup in
4017//   progress state.
4018//
4019//   * UnauthenticatedException
4020//   Lightsail throws this exception when the user has not been authenticated.
4021//
4022// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
4023func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
4024	req, out := c.DeleteInstanceSnapshotRequest(input)
4025	return out, req.Send()
4026}
4027
4028// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
4029// the ability to pass a context and additional request options.
4030//
4031// See DeleteInstanceSnapshot for details on how to use this API operation.
4032//
4033// The context must be non-nil and will be used for request cancellation. If
4034// the context is nil a panic will occur. In the future the SDK may create
4035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4036// for more information on using Contexts.
4037func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
4038	req, out := c.DeleteInstanceSnapshotRequest(input)
4039	req.SetContext(ctx)
4040	req.ApplyOptions(opts...)
4041	return out, req.Send()
4042}
4043
4044const opDeleteKeyPair = "DeleteKeyPair"
4045
4046// DeleteKeyPairRequest generates a "aws/request.Request" representing the
4047// client's request for the DeleteKeyPair operation. The "output" return
4048// value will be populated with the request's response once the request completes
4049// successfully.
4050//
4051// Use "Send" method on the returned Request to send the API call to the service.
4052// the "output" return value is not valid until after Send returns without error.
4053//
4054// See DeleteKeyPair for more information on using the DeleteKeyPair
4055// API call, and error handling.
4056//
4057// This method is useful when you want to inject custom logic or configuration
4058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4059//
4060//
4061//    // Example sending a request using the DeleteKeyPairRequest method.
4062//    req, resp := client.DeleteKeyPairRequest(params)
4063//
4064//    err := req.Send()
4065//    if err == nil { // resp is now filled
4066//        fmt.Println(resp)
4067//    }
4068//
4069// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
4070func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
4071	op := &request.Operation{
4072		Name:       opDeleteKeyPair,
4073		HTTPMethod: "POST",
4074		HTTPPath:   "/",
4075	}
4076
4077	if input == nil {
4078		input = &DeleteKeyPairInput{}
4079	}
4080
4081	output = &DeleteKeyPairOutput{}
4082	req = c.newRequest(op, input, output)
4083	return
4084}
4085
4086// DeleteKeyPair API operation for Amazon Lightsail.
4087//
4088// Deletes a specific SSH key pair.
4089//
4090// The delete key pair operation supports tag-based access control via resource
4091// tags applied to the resource identified by key pair name. For more information,
4092// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4093//
4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4095// with awserr.Error's Code and Message methods to get detailed information about
4096// the error.
4097//
4098// See the AWS API reference guide for Amazon Lightsail's
4099// API operation DeleteKeyPair for usage and error information.
4100//
4101// Returned Error Types:
4102//   * ServiceException
4103//   A general service exception.
4104//
4105//   * InvalidInputException
4106//   Lightsail throws this exception when user input does not conform to the validation
4107//   rules of an input field.
4108//
4109//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4110//   Please set your AWS Region configuration to us-east-1 to create, view, or
4111//   edit these resources.
4112//
4113//   * NotFoundException
4114//   Lightsail throws this exception when it cannot find a resource.
4115//
4116//   * OperationFailureException
4117//   Lightsail throws this exception when an operation fails to execute.
4118//
4119//   * AccessDeniedException
4120//   Lightsail throws this exception when the user cannot be authenticated or
4121//   uses invalid credentials to access a resource.
4122//
4123//   * AccountSetupInProgressException
4124//   Lightsail throws this exception when an account is still in the setup in
4125//   progress state.
4126//
4127//   * UnauthenticatedException
4128//   Lightsail throws this exception when the user has not been authenticated.
4129//
4130// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
4131func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
4132	req, out := c.DeleteKeyPairRequest(input)
4133	return out, req.Send()
4134}
4135
4136// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
4137// the ability to pass a context and additional request options.
4138//
4139// See DeleteKeyPair for details on how to use this API operation.
4140//
4141// The context must be non-nil and will be used for request cancellation. If
4142// the context is nil a panic will occur. In the future the SDK may create
4143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4144// for more information on using Contexts.
4145func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
4146	req, out := c.DeleteKeyPairRequest(input)
4147	req.SetContext(ctx)
4148	req.ApplyOptions(opts...)
4149	return out, req.Send()
4150}
4151
4152const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
4153
4154// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
4155// client's request for the DeleteKnownHostKeys operation. The "output" return
4156// value will be populated with the request's response once the request completes
4157// successfully.
4158//
4159// Use "Send" method on the returned Request to send the API call to the service.
4160// the "output" return value is not valid until after Send returns without error.
4161//
4162// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
4163// API call, and error handling.
4164//
4165// This method is useful when you want to inject custom logic or configuration
4166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4167//
4168//
4169//    // Example sending a request using the DeleteKnownHostKeysRequest method.
4170//    req, resp := client.DeleteKnownHostKeysRequest(params)
4171//
4172//    err := req.Send()
4173//    if err == nil { // resp is now filled
4174//        fmt.Println(resp)
4175//    }
4176//
4177// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
4178func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
4179	op := &request.Operation{
4180		Name:       opDeleteKnownHostKeys,
4181		HTTPMethod: "POST",
4182		HTTPPath:   "/",
4183	}
4184
4185	if input == nil {
4186		input = &DeleteKnownHostKeysInput{}
4187	}
4188
4189	output = &DeleteKnownHostKeysOutput{}
4190	req = c.newRequest(op, input, output)
4191	return
4192}
4193
4194// DeleteKnownHostKeys API operation for Amazon Lightsail.
4195//
4196// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
4197// SSH or RDP clients to authenticate an instance. This operation enables the
4198// Lightsail browser-based SSH or RDP clients to connect to the instance after
4199// a host key mismatch.
4200//
4201// Perform this operation only if you were expecting the host key or certificate
4202// mismatch or if you are familiar with the new host key or certificate on the
4203// instance. For more information, see Troubleshooting connection issues when
4204// 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).
4205//
4206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4207// with awserr.Error's Code and Message methods to get detailed information about
4208// the error.
4209//
4210// See the AWS API reference guide for Amazon Lightsail's
4211// API operation DeleteKnownHostKeys for usage and error information.
4212//
4213// Returned Error Types:
4214//   * ServiceException
4215//   A general service exception.
4216//
4217//   * InvalidInputException
4218//   Lightsail throws this exception when user input does not conform to the validation
4219//   rules of an input field.
4220//
4221//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4222//   Please set your AWS Region configuration to us-east-1 to create, view, or
4223//   edit these resources.
4224//
4225//   * NotFoundException
4226//   Lightsail throws this exception when it cannot find a resource.
4227//
4228//   * OperationFailureException
4229//   Lightsail throws this exception when an operation fails to execute.
4230//
4231//   * AccessDeniedException
4232//   Lightsail throws this exception when the user cannot be authenticated or
4233//   uses invalid credentials to access a resource.
4234//
4235//   * AccountSetupInProgressException
4236//   Lightsail throws this exception when an account is still in the setup in
4237//   progress state.
4238//
4239//   * UnauthenticatedException
4240//   Lightsail throws this exception when the user has not been authenticated.
4241//
4242// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
4243func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
4244	req, out := c.DeleteKnownHostKeysRequest(input)
4245	return out, req.Send()
4246}
4247
4248// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
4249// the ability to pass a context and additional request options.
4250//
4251// See DeleteKnownHostKeys for details on how to use this API operation.
4252//
4253// The context must be non-nil and will be used for request cancellation. If
4254// the context is nil a panic will occur. In the future the SDK may create
4255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4256// for more information on using Contexts.
4257func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
4258	req, out := c.DeleteKnownHostKeysRequest(input)
4259	req.SetContext(ctx)
4260	req.ApplyOptions(opts...)
4261	return out, req.Send()
4262}
4263
4264const opDeleteLoadBalancer = "DeleteLoadBalancer"
4265
4266// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
4267// client's request for the DeleteLoadBalancer operation. The "output" return
4268// value will be populated with the request's response once the request completes
4269// successfully.
4270//
4271// Use "Send" method on the returned Request to send the API call to the service.
4272// the "output" return value is not valid until after Send returns without error.
4273//
4274// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
4275// API call, and error handling.
4276//
4277// This method is useful when you want to inject custom logic or configuration
4278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4279//
4280//
4281//    // Example sending a request using the DeleteLoadBalancerRequest method.
4282//    req, resp := client.DeleteLoadBalancerRequest(params)
4283//
4284//    err := req.Send()
4285//    if err == nil { // resp is now filled
4286//        fmt.Println(resp)
4287//    }
4288//
4289// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
4290func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
4291	op := &request.Operation{
4292		Name:       opDeleteLoadBalancer,
4293		HTTPMethod: "POST",
4294		HTTPPath:   "/",
4295	}
4296
4297	if input == nil {
4298		input = &DeleteLoadBalancerInput{}
4299	}
4300
4301	output = &DeleteLoadBalancerOutput{}
4302	req = c.newRequest(op, input, output)
4303	return
4304}
4305
4306// DeleteLoadBalancer API operation for Amazon Lightsail.
4307//
4308// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
4309// Once the load balancer is deleted, you will need to create a new load balancer,
4310// create a new certificate, and verify domain ownership again.
4311//
4312// The delete load balancer operation supports tag-based access control via
4313// resource tags applied to the resource identified by load balancer name. For
4314// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4315//
4316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4317// with awserr.Error's Code and Message methods to get detailed information about
4318// the error.
4319//
4320// See the AWS API reference guide for Amazon Lightsail's
4321// API operation DeleteLoadBalancer for usage and error information.
4322//
4323// Returned Error Types:
4324//   * ServiceException
4325//   A general service exception.
4326//
4327//   * InvalidInputException
4328//   Lightsail throws this exception when user input does not conform to the validation
4329//   rules of an input field.
4330//
4331//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4332//   Please set your AWS Region configuration to us-east-1 to create, view, or
4333//   edit these resources.
4334//
4335//   * NotFoundException
4336//   Lightsail throws this exception when it cannot find a resource.
4337//
4338//   * OperationFailureException
4339//   Lightsail throws this exception when an operation fails to execute.
4340//
4341//   * AccessDeniedException
4342//   Lightsail throws this exception when the user cannot be authenticated or
4343//   uses invalid credentials to access a resource.
4344//
4345//   * AccountSetupInProgressException
4346//   Lightsail throws this exception when an account is still in the setup in
4347//   progress state.
4348//
4349//   * UnauthenticatedException
4350//   Lightsail throws this exception when the user has not been authenticated.
4351//
4352// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
4353func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
4354	req, out := c.DeleteLoadBalancerRequest(input)
4355	return out, req.Send()
4356}
4357
4358// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
4359// the ability to pass a context and additional request options.
4360//
4361// See DeleteLoadBalancer for details on how to use this API operation.
4362//
4363// The context must be non-nil and will be used for request cancellation. If
4364// the context is nil a panic will occur. In the future the SDK may create
4365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4366// for more information on using Contexts.
4367func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
4368	req, out := c.DeleteLoadBalancerRequest(input)
4369	req.SetContext(ctx)
4370	req.ApplyOptions(opts...)
4371	return out, req.Send()
4372}
4373
4374const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
4375
4376// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
4377// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
4378// value will be populated with the request's response once the request completes
4379// successfully.
4380//
4381// Use "Send" method on the returned Request to send the API call to the service.
4382// the "output" return value is not valid until after Send returns without error.
4383//
4384// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
4385// API call, and error handling.
4386//
4387// This method is useful when you want to inject custom logic or configuration
4388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4389//
4390//
4391//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
4392//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
4393//
4394//    err := req.Send()
4395//    if err == nil { // resp is now filled
4396//        fmt.Println(resp)
4397//    }
4398//
4399// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
4400func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
4401	op := &request.Operation{
4402		Name:       opDeleteLoadBalancerTlsCertificate,
4403		HTTPMethod: "POST",
4404		HTTPPath:   "/",
4405	}
4406
4407	if input == nil {
4408		input = &DeleteLoadBalancerTlsCertificateInput{}
4409	}
4410
4411	output = &DeleteLoadBalancerTlsCertificateOutput{}
4412	req = c.newRequest(op, input, output)
4413	return
4414}
4415
4416// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
4417//
4418// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
4419//
4420// The DeleteLoadBalancerTlsCertificate operation supports tag-based access
4421// control via resource tags applied to the resource identified by load balancer
4422// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4423//
4424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4425// with awserr.Error's Code and Message methods to get detailed information about
4426// the error.
4427//
4428// See the AWS API reference guide for Amazon Lightsail's
4429// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
4430//
4431// Returned Error Types:
4432//   * ServiceException
4433//   A general service exception.
4434//
4435//   * InvalidInputException
4436//   Lightsail throws this exception when user input does not conform to the validation
4437//   rules of an input field.
4438//
4439//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4440//   Please set your AWS Region configuration to us-east-1 to create, view, or
4441//   edit these resources.
4442//
4443//   * NotFoundException
4444//   Lightsail throws this exception when it cannot find a resource.
4445//
4446//   * OperationFailureException
4447//   Lightsail throws this exception when an operation fails to execute.
4448//
4449//   * AccessDeniedException
4450//   Lightsail throws this exception when the user cannot be authenticated or
4451//   uses invalid credentials to access a resource.
4452//
4453//   * AccountSetupInProgressException
4454//   Lightsail throws this exception when an account is still in the setup in
4455//   progress state.
4456//
4457//   * UnauthenticatedException
4458//   Lightsail throws this exception when the user has not been authenticated.
4459//
4460// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
4461func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
4462	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
4463	return out, req.Send()
4464}
4465
4466// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
4467// the ability to pass a context and additional request options.
4468//
4469// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
4470//
4471// The context must be non-nil and will be used for request cancellation. If
4472// the context is nil a panic will occur. In the future the SDK may create
4473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4474// for more information on using Contexts.
4475func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
4476	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
4477	req.SetContext(ctx)
4478	req.ApplyOptions(opts...)
4479	return out, req.Send()
4480}
4481
4482const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
4483
4484// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
4485// client's request for the DeleteRelationalDatabase operation. The "output" return
4486// value will be populated with the request's response once the request completes
4487// successfully.
4488//
4489// Use "Send" method on the returned Request to send the API call to the service.
4490// the "output" return value is not valid until after Send returns without error.
4491//
4492// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
4493// API call, and error handling.
4494//
4495// This method is useful when you want to inject custom logic or configuration
4496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4497//
4498//
4499//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
4500//    req, resp := client.DeleteRelationalDatabaseRequest(params)
4501//
4502//    err := req.Send()
4503//    if err == nil { // resp is now filled
4504//        fmt.Println(resp)
4505//    }
4506//
4507// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
4508func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
4509	op := &request.Operation{
4510		Name:       opDeleteRelationalDatabase,
4511		HTTPMethod: "POST",
4512		HTTPPath:   "/",
4513	}
4514
4515	if input == nil {
4516		input = &DeleteRelationalDatabaseInput{}
4517	}
4518
4519	output = &DeleteRelationalDatabaseOutput{}
4520	req = c.newRequest(op, input, output)
4521	return
4522}
4523
4524// DeleteRelationalDatabase API operation for Amazon Lightsail.
4525//
4526// Deletes a database in Amazon Lightsail.
4527//
4528// The delete relational database operation supports tag-based access control
4529// via resource tags applied to the resource identified by relationalDatabaseName.
4530// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4531//
4532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4533// with awserr.Error's Code and Message methods to get detailed information about
4534// the error.
4535//
4536// See the AWS API reference guide for Amazon Lightsail's
4537// API operation DeleteRelationalDatabase for usage and error information.
4538//
4539// Returned Error Types:
4540//   * ServiceException
4541//   A general service exception.
4542//
4543//   * InvalidInputException
4544//   Lightsail throws this exception when user input does not conform to the validation
4545//   rules of an input field.
4546//
4547//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4548//   Please set your AWS Region configuration to us-east-1 to create, view, or
4549//   edit these resources.
4550//
4551//   * NotFoundException
4552//   Lightsail throws this exception when it cannot find a resource.
4553//
4554//   * OperationFailureException
4555//   Lightsail throws this exception when an operation fails to execute.
4556//
4557//   * AccessDeniedException
4558//   Lightsail throws this exception when the user cannot be authenticated or
4559//   uses invalid credentials to access a resource.
4560//
4561//   * AccountSetupInProgressException
4562//   Lightsail throws this exception when an account is still in the setup in
4563//   progress state.
4564//
4565//   * UnauthenticatedException
4566//   Lightsail throws this exception when the user has not been authenticated.
4567//
4568// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
4569func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
4570	req, out := c.DeleteRelationalDatabaseRequest(input)
4571	return out, req.Send()
4572}
4573
4574// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
4575// the ability to pass a context and additional request options.
4576//
4577// See DeleteRelationalDatabase for details on how to use this API operation.
4578//
4579// The context must be non-nil and will be used for request cancellation. If
4580// the context is nil a panic will occur. In the future the SDK may create
4581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4582// for more information on using Contexts.
4583func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
4584	req, out := c.DeleteRelationalDatabaseRequest(input)
4585	req.SetContext(ctx)
4586	req.ApplyOptions(opts...)
4587	return out, req.Send()
4588}
4589
4590const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
4591
4592// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
4593// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
4594// value will be populated with the request's response once the request completes
4595// successfully.
4596//
4597// Use "Send" method on the returned Request to send the API call to the service.
4598// the "output" return value is not valid until after Send returns without error.
4599//
4600// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
4601// API call, and error handling.
4602//
4603// This method is useful when you want to inject custom logic or configuration
4604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4605//
4606//
4607//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
4608//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
4609//
4610//    err := req.Send()
4611//    if err == nil { // resp is now filled
4612//        fmt.Println(resp)
4613//    }
4614//
4615// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
4616func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
4617	op := &request.Operation{
4618		Name:       opDeleteRelationalDatabaseSnapshot,
4619		HTTPMethod: "POST",
4620		HTTPPath:   "/",
4621	}
4622
4623	if input == nil {
4624		input = &DeleteRelationalDatabaseSnapshotInput{}
4625	}
4626
4627	output = &DeleteRelationalDatabaseSnapshotOutput{}
4628	req = c.newRequest(op, input, output)
4629	return
4630}
4631
4632// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
4633//
4634// Deletes a database snapshot in Amazon Lightsail.
4635//
4636// The delete relational database snapshot operation supports tag-based access
4637// control via resource tags applied to the resource identified by relationalDatabaseName.
4638// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4639//
4640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4641// with awserr.Error's Code and Message methods to get detailed information about
4642// the error.
4643//
4644// See the AWS API reference guide for Amazon Lightsail's
4645// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
4646//
4647// Returned Error Types:
4648//   * ServiceException
4649//   A general service exception.
4650//
4651//   * InvalidInputException
4652//   Lightsail throws this exception when user input does not conform to the validation
4653//   rules of an input field.
4654//
4655//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4656//   Please set your AWS Region configuration to us-east-1 to create, view, or
4657//   edit these resources.
4658//
4659//   * NotFoundException
4660//   Lightsail throws this exception when it cannot find a resource.
4661//
4662//   * OperationFailureException
4663//   Lightsail throws this exception when an operation fails to execute.
4664//
4665//   * AccessDeniedException
4666//   Lightsail throws this exception when the user cannot be authenticated or
4667//   uses invalid credentials to access a resource.
4668//
4669//   * AccountSetupInProgressException
4670//   Lightsail throws this exception when an account is still in the setup in
4671//   progress state.
4672//
4673//   * UnauthenticatedException
4674//   Lightsail throws this exception when the user has not been authenticated.
4675//
4676// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
4677func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
4678	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
4679	return out, req.Send()
4680}
4681
4682// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
4683// the ability to pass a context and additional request options.
4684//
4685// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
4686//
4687// The context must be non-nil and will be used for request cancellation. If
4688// the context is nil a panic will occur. In the future the SDK may create
4689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4690// for more information on using Contexts.
4691func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
4692	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
4693	req.SetContext(ctx)
4694	req.ApplyOptions(opts...)
4695	return out, req.Send()
4696}
4697
4698const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
4699
4700// DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the
4701// client's request for the DetachCertificateFromDistribution operation. The "output" return
4702// value will be populated with the request's response once the request completes
4703// successfully.
4704//
4705// Use "Send" method on the returned Request to send the API call to the service.
4706// the "output" return value is not valid until after Send returns without error.
4707//
4708// See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution
4709// API call, and error handling.
4710//
4711// This method is useful when you want to inject custom logic or configuration
4712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4713//
4714//
4715//    // Example sending a request using the DetachCertificateFromDistributionRequest method.
4716//    req, resp := client.DetachCertificateFromDistributionRequest(params)
4717//
4718//    err := req.Send()
4719//    if err == nil { // resp is now filled
4720//        fmt.Println(resp)
4721//    }
4722//
4723// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
4724func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) {
4725	op := &request.Operation{
4726		Name:       opDetachCertificateFromDistribution,
4727		HTTPMethod: "POST",
4728		HTTPPath:   "/",
4729	}
4730
4731	if input == nil {
4732		input = &DetachCertificateFromDistributionInput{}
4733	}
4734
4735	output = &DetachCertificateFromDistributionOutput{}
4736	req = c.newRequest(op, input, output)
4737	return
4738}
4739
4740// DetachCertificateFromDistribution API operation for Amazon Lightsail.
4741//
4742// Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery
4743// network (CDN) distribution.
4744//
4745// After the certificate is detached, your distribution stops accepting traffic
4746// for all of the domains that are associated with the certificate.
4747//
4748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4749// with awserr.Error's Code and Message methods to get detailed information about
4750// the error.
4751//
4752// See the AWS API reference guide for Amazon Lightsail's
4753// API operation DetachCertificateFromDistribution for usage and error information.
4754//
4755// Returned Error Types:
4756//   * ServiceException
4757//   A general service exception.
4758//
4759//   * InvalidInputException
4760//   Lightsail throws this exception when user input does not conform to the validation
4761//   rules of an input field.
4762//
4763//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4764//   Please set your AWS Region configuration to us-east-1 to create, view, or
4765//   edit these resources.
4766//
4767//   * NotFoundException
4768//   Lightsail throws this exception when it cannot find a resource.
4769//
4770//   * OperationFailureException
4771//   Lightsail throws this exception when an operation fails to execute.
4772//
4773//   * AccessDeniedException
4774//   Lightsail throws this exception when the user cannot be authenticated or
4775//   uses invalid credentials to access a resource.
4776//
4777//   * UnauthenticatedException
4778//   Lightsail throws this exception when the user has not been authenticated.
4779//
4780// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution
4781func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) {
4782	req, out := c.DetachCertificateFromDistributionRequest(input)
4783	return out, req.Send()
4784}
4785
4786// DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of
4787// the ability to pass a context and additional request options.
4788//
4789// See DetachCertificateFromDistribution for details on how to use this API operation.
4790//
4791// The context must be non-nil and will be used for request cancellation. If
4792// the context is nil a panic will occur. In the future the SDK may create
4793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4794// for more information on using Contexts.
4795func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) {
4796	req, out := c.DetachCertificateFromDistributionRequest(input)
4797	req.SetContext(ctx)
4798	req.ApplyOptions(opts...)
4799	return out, req.Send()
4800}
4801
4802const opDetachDisk = "DetachDisk"
4803
4804// DetachDiskRequest generates a "aws/request.Request" representing the
4805// client's request for the DetachDisk operation. The "output" return
4806// value will be populated with the request's response once the request completes
4807// successfully.
4808//
4809// Use "Send" method on the returned Request to send the API call to the service.
4810// the "output" return value is not valid until after Send returns without error.
4811//
4812// See DetachDisk for more information on using the DetachDisk
4813// API call, and error handling.
4814//
4815// This method is useful when you want to inject custom logic or configuration
4816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4817//
4818//
4819//    // Example sending a request using the DetachDiskRequest method.
4820//    req, resp := client.DetachDiskRequest(params)
4821//
4822//    err := req.Send()
4823//    if err == nil { // resp is now filled
4824//        fmt.Println(resp)
4825//    }
4826//
4827// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
4828func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
4829	op := &request.Operation{
4830		Name:       opDetachDisk,
4831		HTTPMethod: "POST",
4832		HTTPPath:   "/",
4833	}
4834
4835	if input == nil {
4836		input = &DetachDiskInput{}
4837	}
4838
4839	output = &DetachDiskOutput{}
4840	req = c.newRequest(op, input, output)
4841	return
4842}
4843
4844// DetachDisk API operation for Amazon Lightsail.
4845//
4846// Detaches a stopped block storage disk from a Lightsail instance. Make sure
4847// to unmount any file systems on the device within your operating system before
4848// stopping the instance and detaching the disk.
4849//
4850// The detach disk operation supports tag-based access control via resource
4851// tags applied to the resource identified by disk name. For more information,
4852// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4853//
4854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4855// with awserr.Error's Code and Message methods to get detailed information about
4856// the error.
4857//
4858// See the AWS API reference guide for Amazon Lightsail's
4859// API operation DetachDisk for usage and error information.
4860//
4861// Returned Error Types:
4862//   * ServiceException
4863//   A general service exception.
4864//
4865//   * InvalidInputException
4866//   Lightsail throws this exception when user input does not conform to the validation
4867//   rules of an input field.
4868//
4869//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4870//   Please set your AWS Region configuration to us-east-1 to create, view, or
4871//   edit these resources.
4872//
4873//   * NotFoundException
4874//   Lightsail throws this exception when it cannot find a resource.
4875//
4876//   * OperationFailureException
4877//   Lightsail throws this exception when an operation fails to execute.
4878//
4879//   * AccessDeniedException
4880//   Lightsail throws this exception when the user cannot be authenticated or
4881//   uses invalid credentials to access a resource.
4882//
4883//   * AccountSetupInProgressException
4884//   Lightsail throws this exception when an account is still in the setup in
4885//   progress state.
4886//
4887//   * UnauthenticatedException
4888//   Lightsail throws this exception when the user has not been authenticated.
4889//
4890// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
4891func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
4892	req, out := c.DetachDiskRequest(input)
4893	return out, req.Send()
4894}
4895
4896// DetachDiskWithContext is the same as DetachDisk with the addition of
4897// the ability to pass a context and additional request options.
4898//
4899// See DetachDisk for details on how to use this API operation.
4900//
4901// The context must be non-nil and will be used for request cancellation. If
4902// the context is nil a panic will occur. In the future the SDK may create
4903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4904// for more information on using Contexts.
4905func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
4906	req, out := c.DetachDiskRequest(input)
4907	req.SetContext(ctx)
4908	req.ApplyOptions(opts...)
4909	return out, req.Send()
4910}
4911
4912const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
4913
4914// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
4915// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
4916// value will be populated with the request's response once the request completes
4917// successfully.
4918//
4919// Use "Send" method on the returned Request to send the API call to the service.
4920// the "output" return value is not valid until after Send returns without error.
4921//
4922// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
4923// API call, and error handling.
4924//
4925// This method is useful when you want to inject custom logic or configuration
4926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4927//
4928//
4929//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
4930//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
4931//
4932//    err := req.Send()
4933//    if err == nil { // resp is now filled
4934//        fmt.Println(resp)
4935//    }
4936//
4937// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
4938func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
4939	op := &request.Operation{
4940		Name:       opDetachInstancesFromLoadBalancer,
4941		HTTPMethod: "POST",
4942		HTTPPath:   "/",
4943	}
4944
4945	if input == nil {
4946		input = &DetachInstancesFromLoadBalancerInput{}
4947	}
4948
4949	output = &DetachInstancesFromLoadBalancerOutput{}
4950	req = c.newRequest(op, input, output)
4951	return
4952}
4953
4954// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
4955//
4956// Detaches the specified instances from a Lightsail load balancer.
4957//
4958// This operation waits until the instances are no longer needed before they
4959// are detached from the load balancer.
4960//
4961// The detach instances from load balancer operation supports tag-based access
4962// control via resource tags applied to the resource identified by load balancer
4963// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4964//
4965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4966// with awserr.Error's Code and Message methods to get detailed information about
4967// the error.
4968//
4969// See the AWS API reference guide for Amazon Lightsail's
4970// API operation DetachInstancesFromLoadBalancer for usage and error information.
4971//
4972// Returned Error Types:
4973//   * ServiceException
4974//   A general service exception.
4975//
4976//   * InvalidInputException
4977//   Lightsail throws this exception when user input does not conform to the validation
4978//   rules of an input field.
4979//
4980//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4981//   Please set your AWS Region configuration to us-east-1 to create, view, or
4982//   edit these resources.
4983//
4984//   * NotFoundException
4985//   Lightsail throws this exception when it cannot find a resource.
4986//
4987//   * OperationFailureException
4988//   Lightsail throws this exception when an operation fails to execute.
4989//
4990//   * AccessDeniedException
4991//   Lightsail throws this exception when the user cannot be authenticated or
4992//   uses invalid credentials to access a resource.
4993//
4994//   * AccountSetupInProgressException
4995//   Lightsail throws this exception when an account is still in the setup in
4996//   progress state.
4997//
4998//   * UnauthenticatedException
4999//   Lightsail throws this exception when the user has not been authenticated.
5000//
5001// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
5002func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
5003	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5004	return out, req.Send()
5005}
5006
5007// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
5008// the ability to pass a context and additional request options.
5009//
5010// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
5011//
5012// The context must be non-nil and will be used for request cancellation. If
5013// the context is nil a panic will occur. In the future the SDK may create
5014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5015// for more information on using Contexts.
5016func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
5017	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
5018	req.SetContext(ctx)
5019	req.ApplyOptions(opts...)
5020	return out, req.Send()
5021}
5022
5023const opDetachStaticIp = "DetachStaticIp"
5024
5025// DetachStaticIpRequest generates a "aws/request.Request" representing the
5026// client's request for the DetachStaticIp operation. The "output" return
5027// value will be populated with the request's response once the request completes
5028// successfully.
5029//
5030// Use "Send" method on the returned Request to send the API call to the service.
5031// the "output" return value is not valid until after Send returns without error.
5032//
5033// See DetachStaticIp for more information on using the DetachStaticIp
5034// API call, and error handling.
5035//
5036// This method is useful when you want to inject custom logic or configuration
5037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5038//
5039//
5040//    // Example sending a request using the DetachStaticIpRequest method.
5041//    req, resp := client.DetachStaticIpRequest(params)
5042//
5043//    err := req.Send()
5044//    if err == nil { // resp is now filled
5045//        fmt.Println(resp)
5046//    }
5047//
5048// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
5049func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
5050	op := &request.Operation{
5051		Name:       opDetachStaticIp,
5052		HTTPMethod: "POST",
5053		HTTPPath:   "/",
5054	}
5055
5056	if input == nil {
5057		input = &DetachStaticIpInput{}
5058	}
5059
5060	output = &DetachStaticIpOutput{}
5061	req = c.newRequest(op, input, output)
5062	return
5063}
5064
5065// DetachStaticIp API operation for Amazon Lightsail.
5066//
5067// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
5068//
5069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5070// with awserr.Error's Code and Message methods to get detailed information about
5071// the error.
5072//
5073// See the AWS API reference guide for Amazon Lightsail's
5074// API operation DetachStaticIp for usage and error information.
5075//
5076// Returned Error Types:
5077//   * ServiceException
5078//   A general service exception.
5079//
5080//   * InvalidInputException
5081//   Lightsail throws this exception when user input does not conform to the validation
5082//   rules of an input field.
5083//
5084//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5085//   Please set your AWS Region configuration to us-east-1 to create, view, or
5086//   edit these resources.
5087//
5088//   * NotFoundException
5089//   Lightsail throws this exception when it cannot find a resource.
5090//
5091//   * OperationFailureException
5092//   Lightsail throws this exception when an operation fails to execute.
5093//
5094//   * AccessDeniedException
5095//   Lightsail throws this exception when the user cannot be authenticated or
5096//   uses invalid credentials to access a resource.
5097//
5098//   * AccountSetupInProgressException
5099//   Lightsail throws this exception when an account is still in the setup in
5100//   progress state.
5101//
5102//   * UnauthenticatedException
5103//   Lightsail throws this exception when the user has not been authenticated.
5104//
5105// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
5106func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
5107	req, out := c.DetachStaticIpRequest(input)
5108	return out, req.Send()
5109}
5110
5111// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
5112// the ability to pass a context and additional request options.
5113//
5114// See DetachStaticIp for details on how to use this API operation.
5115//
5116// The context must be non-nil and will be used for request cancellation. If
5117// the context is nil a panic will occur. In the future the SDK may create
5118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5119// for more information on using Contexts.
5120func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
5121	req, out := c.DetachStaticIpRequest(input)
5122	req.SetContext(ctx)
5123	req.ApplyOptions(opts...)
5124	return out, req.Send()
5125}
5126
5127const opDisableAddOn = "DisableAddOn"
5128
5129// DisableAddOnRequest generates a "aws/request.Request" representing the
5130// client's request for the DisableAddOn operation. The "output" return
5131// value will be populated with the request's response once the request completes
5132// successfully.
5133//
5134// Use "Send" method on the returned Request to send the API call to the service.
5135// the "output" return value is not valid until after Send returns without error.
5136//
5137// See DisableAddOn for more information on using the DisableAddOn
5138// API call, and error handling.
5139//
5140// This method is useful when you want to inject custom logic or configuration
5141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5142//
5143//
5144//    // Example sending a request using the DisableAddOnRequest method.
5145//    req, resp := client.DisableAddOnRequest(params)
5146//
5147//    err := req.Send()
5148//    if err == nil { // resp is now filled
5149//        fmt.Println(resp)
5150//    }
5151//
5152// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
5153func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
5154	op := &request.Operation{
5155		Name:       opDisableAddOn,
5156		HTTPMethod: "POST",
5157		HTTPPath:   "/",
5158	}
5159
5160	if input == nil {
5161		input = &DisableAddOnInput{}
5162	}
5163
5164	output = &DisableAddOnOutput{}
5165	req = c.newRequest(op, input, output)
5166	return
5167}
5168
5169// DisableAddOn API operation for Amazon Lightsail.
5170//
5171// Disables an add-on for an Amazon Lightsail resource. For more information,
5172// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5173//
5174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5175// with awserr.Error's Code and Message methods to get detailed information about
5176// the error.
5177//
5178// See the AWS API reference guide for Amazon Lightsail's
5179// API operation DisableAddOn for usage and error information.
5180//
5181// Returned Error Types:
5182//   * ServiceException
5183//   A general service exception.
5184//
5185//   * InvalidInputException
5186//   Lightsail throws this exception when user input does not conform to the validation
5187//   rules of an input field.
5188//
5189//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5190//   Please set your AWS Region configuration to us-east-1 to create, view, or
5191//   edit these resources.
5192//
5193//   * NotFoundException
5194//   Lightsail throws this exception when it cannot find a resource.
5195//
5196//   * OperationFailureException
5197//   Lightsail throws this exception when an operation fails to execute.
5198//
5199//   * AccessDeniedException
5200//   Lightsail throws this exception when the user cannot be authenticated or
5201//   uses invalid credentials to access a resource.
5202//
5203//   * UnauthenticatedException
5204//   Lightsail throws this exception when the user has not been authenticated.
5205//
5206// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
5207func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
5208	req, out := c.DisableAddOnRequest(input)
5209	return out, req.Send()
5210}
5211
5212// DisableAddOnWithContext is the same as DisableAddOn with the addition of
5213// the ability to pass a context and additional request options.
5214//
5215// See DisableAddOn for details on how to use this API operation.
5216//
5217// The context must be non-nil and will be used for request cancellation. If
5218// the context is nil a panic will occur. In the future the SDK may create
5219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5220// for more information on using Contexts.
5221func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
5222	req, out := c.DisableAddOnRequest(input)
5223	req.SetContext(ctx)
5224	req.ApplyOptions(opts...)
5225	return out, req.Send()
5226}
5227
5228const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
5229
5230// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
5231// client's request for the DownloadDefaultKeyPair operation. The "output" return
5232// value will be populated with the request's response once the request completes
5233// successfully.
5234//
5235// Use "Send" method on the returned Request to send the API call to the service.
5236// the "output" return value is not valid until after Send returns without error.
5237//
5238// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
5239// API call, and error handling.
5240//
5241// This method is useful when you want to inject custom logic or configuration
5242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5243//
5244//
5245//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
5246//    req, resp := client.DownloadDefaultKeyPairRequest(params)
5247//
5248//    err := req.Send()
5249//    if err == nil { // resp is now filled
5250//        fmt.Println(resp)
5251//    }
5252//
5253// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
5254func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
5255	op := &request.Operation{
5256		Name:       opDownloadDefaultKeyPair,
5257		HTTPMethod: "POST",
5258		HTTPPath:   "/",
5259	}
5260
5261	if input == nil {
5262		input = &DownloadDefaultKeyPairInput{}
5263	}
5264
5265	output = &DownloadDefaultKeyPairOutput{}
5266	req = c.newRequest(op, input, output)
5267	return
5268}
5269
5270// DownloadDefaultKeyPair API operation for Amazon Lightsail.
5271//
5272// Downloads the default SSH key pair from the user's account.
5273//
5274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5275// with awserr.Error's Code and Message methods to get detailed information about
5276// the error.
5277//
5278// See the AWS API reference guide for Amazon Lightsail's
5279// API operation DownloadDefaultKeyPair for usage and error information.
5280//
5281// Returned Error Types:
5282//   * ServiceException
5283//   A general service exception.
5284//
5285//   * InvalidInputException
5286//   Lightsail throws this exception when user input does not conform to the validation
5287//   rules of an input field.
5288//
5289//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5290//   Please set your AWS Region configuration to us-east-1 to create, view, or
5291//   edit these resources.
5292//
5293//   * NotFoundException
5294//   Lightsail throws this exception when it cannot find a resource.
5295//
5296//   * OperationFailureException
5297//   Lightsail throws this exception when an operation fails to execute.
5298//
5299//   * AccessDeniedException
5300//   Lightsail throws this exception when the user cannot be authenticated or
5301//   uses invalid credentials to access a resource.
5302//
5303//   * AccountSetupInProgressException
5304//   Lightsail throws this exception when an account is still in the setup in
5305//   progress state.
5306//
5307//   * UnauthenticatedException
5308//   Lightsail throws this exception when the user has not been authenticated.
5309//
5310// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
5311func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
5312	req, out := c.DownloadDefaultKeyPairRequest(input)
5313	return out, req.Send()
5314}
5315
5316// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
5317// the ability to pass a context and additional request options.
5318//
5319// See DownloadDefaultKeyPair for details on how to use this API operation.
5320//
5321// The context must be non-nil and will be used for request cancellation. If
5322// the context is nil a panic will occur. In the future the SDK may create
5323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5324// for more information on using Contexts.
5325func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
5326	req, out := c.DownloadDefaultKeyPairRequest(input)
5327	req.SetContext(ctx)
5328	req.ApplyOptions(opts...)
5329	return out, req.Send()
5330}
5331
5332const opEnableAddOn = "EnableAddOn"
5333
5334// EnableAddOnRequest generates a "aws/request.Request" representing the
5335// client's request for the EnableAddOn operation. The "output" return
5336// value will be populated with the request's response once the request completes
5337// successfully.
5338//
5339// Use "Send" method on the returned Request to send the API call to the service.
5340// the "output" return value is not valid until after Send returns without error.
5341//
5342// See EnableAddOn for more information on using the EnableAddOn
5343// API call, and error handling.
5344//
5345// This method is useful when you want to inject custom logic or configuration
5346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5347//
5348//
5349//    // Example sending a request using the EnableAddOnRequest method.
5350//    req, resp := client.EnableAddOnRequest(params)
5351//
5352//    err := req.Send()
5353//    if err == nil { // resp is now filled
5354//        fmt.Println(resp)
5355//    }
5356//
5357// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
5358func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
5359	op := &request.Operation{
5360		Name:       opEnableAddOn,
5361		HTTPMethod: "POST",
5362		HTTPPath:   "/",
5363	}
5364
5365	if input == nil {
5366		input = &EnableAddOnInput{}
5367	}
5368
5369	output = &EnableAddOnOutput{}
5370	req = c.newRequest(op, input, output)
5371	return
5372}
5373
5374// EnableAddOn API operation for Amazon Lightsail.
5375//
5376// Enables or modifies an add-on for an Amazon Lightsail resource. For more
5377// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5378//
5379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5380// with awserr.Error's Code and Message methods to get detailed information about
5381// the error.
5382//
5383// See the AWS API reference guide for Amazon Lightsail's
5384// API operation EnableAddOn for usage and error information.
5385//
5386// Returned Error Types:
5387//   * ServiceException
5388//   A general service exception.
5389//
5390//   * InvalidInputException
5391//   Lightsail throws this exception when user input does not conform to the validation
5392//   rules of an input field.
5393//
5394//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5395//   Please set your AWS Region configuration to us-east-1 to create, view, or
5396//   edit these resources.
5397//
5398//   * NotFoundException
5399//   Lightsail throws this exception when it cannot find a resource.
5400//
5401//   * OperationFailureException
5402//   Lightsail throws this exception when an operation fails to execute.
5403//
5404//   * AccessDeniedException
5405//   Lightsail throws this exception when the user cannot be authenticated or
5406//   uses invalid credentials to access a resource.
5407//
5408//   * UnauthenticatedException
5409//   Lightsail throws this exception when the user has not been authenticated.
5410//
5411// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
5412func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
5413	req, out := c.EnableAddOnRequest(input)
5414	return out, req.Send()
5415}
5416
5417// EnableAddOnWithContext is the same as EnableAddOn with the addition of
5418// the ability to pass a context and additional request options.
5419//
5420// See EnableAddOn for details on how to use this API operation.
5421//
5422// The context must be non-nil and will be used for request cancellation. If
5423// the context is nil a panic will occur. In the future the SDK may create
5424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5425// for more information on using Contexts.
5426func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
5427	req, out := c.EnableAddOnRequest(input)
5428	req.SetContext(ctx)
5429	req.ApplyOptions(opts...)
5430	return out, req.Send()
5431}
5432
5433const opExportSnapshot = "ExportSnapshot"
5434
5435// ExportSnapshotRequest generates a "aws/request.Request" representing the
5436// client's request for the ExportSnapshot operation. The "output" return
5437// value will be populated with the request's response once the request completes
5438// successfully.
5439//
5440// Use "Send" method on the returned Request to send the API call to the service.
5441// the "output" return value is not valid until after Send returns without error.
5442//
5443// See ExportSnapshot for more information on using the ExportSnapshot
5444// API call, and error handling.
5445//
5446// This method is useful when you want to inject custom logic or configuration
5447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5448//
5449//
5450//    // Example sending a request using the ExportSnapshotRequest method.
5451//    req, resp := client.ExportSnapshotRequest(params)
5452//
5453//    err := req.Send()
5454//    if err == nil { // resp is now filled
5455//        fmt.Println(resp)
5456//    }
5457//
5458// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
5459func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
5460	op := &request.Operation{
5461		Name:       opExportSnapshot,
5462		HTTPMethod: "POST",
5463		HTTPPath:   "/",
5464	}
5465
5466	if input == nil {
5467		input = &ExportSnapshotInput{}
5468	}
5469
5470	output = &ExportSnapshotOutput{}
5471	req = c.newRequest(op, input, output)
5472	return
5473}
5474
5475// ExportSnapshot API operation for Amazon Lightsail.
5476//
5477// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
5478// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
5479// record that can be used with the create cloud formation stack operation to
5480// create new Amazon EC2 instances.
5481//
5482// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
5483// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
5484// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
5485// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
5486// in Amazon EC2 as the source Lightsail snapshot.
5487//
5488// The export snapshot operation supports tag-based access control via resource
5489// tags applied to the resource identified by source snapshot name. For more
5490// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
5491//
5492// Use the get instance snapshots or get disk snapshots operations to get a
5493// list of snapshots that you can export to Amazon EC2.
5494//
5495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5496// with awserr.Error's Code and Message methods to get detailed information about
5497// the error.
5498//
5499// See the AWS API reference guide for Amazon Lightsail's
5500// API operation ExportSnapshot for usage and error information.
5501//
5502// Returned Error Types:
5503//   * ServiceException
5504//   A general service exception.
5505//
5506//   * InvalidInputException
5507//   Lightsail throws this exception when user input does not conform to the validation
5508//   rules of an input field.
5509//
5510//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5511//   Please set your AWS Region configuration to us-east-1 to create, view, or
5512//   edit these resources.
5513//
5514//   * NotFoundException
5515//   Lightsail throws this exception when it cannot find a resource.
5516//
5517//   * OperationFailureException
5518//   Lightsail throws this exception when an operation fails to execute.
5519//
5520//   * AccessDeniedException
5521//   Lightsail throws this exception when the user cannot be authenticated or
5522//   uses invalid credentials to access a resource.
5523//
5524//   * AccountSetupInProgressException
5525//   Lightsail throws this exception when an account is still in the setup in
5526//   progress state.
5527//
5528//   * UnauthenticatedException
5529//   Lightsail throws this exception when the user has not been authenticated.
5530//
5531// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
5532func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
5533	req, out := c.ExportSnapshotRequest(input)
5534	return out, req.Send()
5535}
5536
5537// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
5538// the ability to pass a context and additional request options.
5539//
5540// See ExportSnapshot for details on how to use this API operation.
5541//
5542// The context must be non-nil and will be used for request cancellation. If
5543// the context is nil a panic will occur. In the future the SDK may create
5544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5545// for more information on using Contexts.
5546func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
5547	req, out := c.ExportSnapshotRequest(input)
5548	req.SetContext(ctx)
5549	req.ApplyOptions(opts...)
5550	return out, req.Send()
5551}
5552
5553const opGetActiveNames = "GetActiveNames"
5554
5555// GetActiveNamesRequest generates a "aws/request.Request" representing the
5556// client's request for the GetActiveNames operation. The "output" return
5557// value will be populated with the request's response once the request completes
5558// successfully.
5559//
5560// Use "Send" method on the returned Request to send the API call to the service.
5561// the "output" return value is not valid until after Send returns without error.
5562//
5563// See GetActiveNames for more information on using the GetActiveNames
5564// API call, and error handling.
5565//
5566// This method is useful when you want to inject custom logic or configuration
5567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5568//
5569//
5570//    // Example sending a request using the GetActiveNamesRequest method.
5571//    req, resp := client.GetActiveNamesRequest(params)
5572//
5573//    err := req.Send()
5574//    if err == nil { // resp is now filled
5575//        fmt.Println(resp)
5576//    }
5577//
5578// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
5579func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
5580	op := &request.Operation{
5581		Name:       opGetActiveNames,
5582		HTTPMethod: "POST",
5583		HTTPPath:   "/",
5584	}
5585
5586	if input == nil {
5587		input = &GetActiveNamesInput{}
5588	}
5589
5590	output = &GetActiveNamesOutput{}
5591	req = c.newRequest(op, input, output)
5592	return
5593}
5594
5595// GetActiveNames API operation for Amazon Lightsail.
5596//
5597// Returns the names of all active (not deleted) resources.
5598//
5599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5600// with awserr.Error's Code and Message methods to get detailed information about
5601// the error.
5602//
5603// See the AWS API reference guide for Amazon Lightsail's
5604// API operation GetActiveNames for usage and error information.
5605//
5606// Returned Error Types:
5607//   * ServiceException
5608//   A general service exception.
5609//
5610//   * InvalidInputException
5611//   Lightsail throws this exception when user input does not conform to the validation
5612//   rules of an input field.
5613//
5614//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5615//   Please set your AWS Region configuration to us-east-1 to create, view, or
5616//   edit these resources.
5617//
5618//   * NotFoundException
5619//   Lightsail throws this exception when it cannot find a resource.
5620//
5621//   * OperationFailureException
5622//   Lightsail throws this exception when an operation fails to execute.
5623//
5624//   * AccessDeniedException
5625//   Lightsail throws this exception when the user cannot be authenticated or
5626//   uses invalid credentials to access a resource.
5627//
5628//   * AccountSetupInProgressException
5629//   Lightsail throws this exception when an account is still in the setup in
5630//   progress state.
5631//
5632//   * UnauthenticatedException
5633//   Lightsail throws this exception when the user has not been authenticated.
5634//
5635// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
5636func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
5637	req, out := c.GetActiveNamesRequest(input)
5638	return out, req.Send()
5639}
5640
5641// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
5642// the ability to pass a context and additional request options.
5643//
5644// See GetActiveNames for details on how to use this API operation.
5645//
5646// The context must be non-nil and will be used for request cancellation. If
5647// the context is nil a panic will occur. In the future the SDK may create
5648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5649// for more information on using Contexts.
5650func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
5651	req, out := c.GetActiveNamesRequest(input)
5652	req.SetContext(ctx)
5653	req.ApplyOptions(opts...)
5654	return out, req.Send()
5655}
5656
5657const opGetAlarms = "GetAlarms"
5658
5659// GetAlarmsRequest generates a "aws/request.Request" representing the
5660// client's request for the GetAlarms operation. The "output" return
5661// value will be populated with the request's response once the request completes
5662// successfully.
5663//
5664// Use "Send" method on the returned Request to send the API call to the service.
5665// the "output" return value is not valid until after Send returns without error.
5666//
5667// See GetAlarms for more information on using the GetAlarms
5668// API call, and error handling.
5669//
5670// This method is useful when you want to inject custom logic or configuration
5671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5672//
5673//
5674//    // Example sending a request using the GetAlarmsRequest method.
5675//    req, resp := client.GetAlarmsRequest(params)
5676//
5677//    err := req.Send()
5678//    if err == nil { // resp is now filled
5679//        fmt.Println(resp)
5680//    }
5681//
5682// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
5683func (c *Lightsail) GetAlarmsRequest(input *GetAlarmsInput) (req *request.Request, output *GetAlarmsOutput) {
5684	op := &request.Operation{
5685		Name:       opGetAlarms,
5686		HTTPMethod: "POST",
5687		HTTPPath:   "/",
5688	}
5689
5690	if input == nil {
5691		input = &GetAlarmsInput{}
5692	}
5693
5694	output = &GetAlarmsOutput{}
5695	req = c.newRequest(op, input, output)
5696	return
5697}
5698
5699// GetAlarms API operation for Amazon Lightsail.
5700//
5701// Returns information about the configured alarms. Specify an alarm name in
5702// your request to return information about a specific alarm, or specify a monitored
5703// resource name to return information about all alarms for a specific resource.
5704//
5705// An alarm is used to monitor a single metric for one of your resources. When
5706// a metric condition is met, the alarm can notify you by email, SMS text message,
5707// and a banner displayed on the Amazon Lightsail console. For more information,
5708// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
5709//
5710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5711// with awserr.Error's Code and Message methods to get detailed information about
5712// the error.
5713//
5714// See the AWS API reference guide for Amazon Lightsail's
5715// API operation GetAlarms for usage and error information.
5716//
5717// Returned Error Types:
5718//   * ServiceException
5719//   A general service exception.
5720//
5721//   * InvalidInputException
5722//   Lightsail throws this exception when user input does not conform to the validation
5723//   rules of an input field.
5724//
5725//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5726//   Please set your AWS Region configuration to us-east-1 to create, view, or
5727//   edit these resources.
5728//
5729//   * OperationFailureException
5730//   Lightsail throws this exception when an operation fails to execute.
5731//
5732//   * UnauthenticatedException
5733//   Lightsail throws this exception when the user has not been authenticated.
5734//
5735//   * AccessDeniedException
5736//   Lightsail throws this exception when the user cannot be authenticated or
5737//   uses invalid credentials to access a resource.
5738//
5739//   * NotFoundException
5740//   Lightsail throws this exception when it cannot find a resource.
5741//
5742// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAlarms
5743func (c *Lightsail) GetAlarms(input *GetAlarmsInput) (*GetAlarmsOutput, error) {
5744	req, out := c.GetAlarmsRequest(input)
5745	return out, req.Send()
5746}
5747
5748// GetAlarmsWithContext is the same as GetAlarms with the addition of
5749// the ability to pass a context and additional request options.
5750//
5751// See GetAlarms for details on how to use this API operation.
5752//
5753// The context must be non-nil and will be used for request cancellation. If
5754// the context is nil a panic will occur. In the future the SDK may create
5755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5756// for more information on using Contexts.
5757func (c *Lightsail) GetAlarmsWithContext(ctx aws.Context, input *GetAlarmsInput, opts ...request.Option) (*GetAlarmsOutput, error) {
5758	req, out := c.GetAlarmsRequest(input)
5759	req.SetContext(ctx)
5760	req.ApplyOptions(opts...)
5761	return out, req.Send()
5762}
5763
5764const opGetAutoSnapshots = "GetAutoSnapshots"
5765
5766// GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
5767// client's request for the GetAutoSnapshots operation. The "output" return
5768// value will be populated with the request's response once the request completes
5769// successfully.
5770//
5771// Use "Send" method on the returned Request to send the API call to the service.
5772// the "output" return value is not valid until after Send returns without error.
5773//
5774// See GetAutoSnapshots for more information on using the GetAutoSnapshots
5775// API call, and error handling.
5776//
5777// This method is useful when you want to inject custom logic or configuration
5778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5779//
5780//
5781//    // Example sending a request using the GetAutoSnapshotsRequest method.
5782//    req, resp := client.GetAutoSnapshotsRequest(params)
5783//
5784//    err := req.Send()
5785//    if err == nil { // resp is now filled
5786//        fmt.Println(resp)
5787//    }
5788//
5789// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
5790func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
5791	op := &request.Operation{
5792		Name:       opGetAutoSnapshots,
5793		HTTPMethod: "POST",
5794		HTTPPath:   "/",
5795	}
5796
5797	if input == nil {
5798		input = &GetAutoSnapshotsInput{}
5799	}
5800
5801	output = &GetAutoSnapshotsOutput{}
5802	req = c.newRequest(op, input, output)
5803	return
5804}
5805
5806// GetAutoSnapshots API operation for Amazon Lightsail.
5807//
5808// Returns the available automatic snapshots for an instance or disk. For more
5809// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
5810//
5811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5812// with awserr.Error's Code and Message methods to get detailed information about
5813// the error.
5814//
5815// See the AWS API reference guide for Amazon Lightsail's
5816// API operation GetAutoSnapshots for usage and error information.
5817//
5818// Returned Error Types:
5819//   * ServiceException
5820//   A general service exception.
5821//
5822//   * InvalidInputException
5823//   Lightsail throws this exception when user input does not conform to the validation
5824//   rules of an input field.
5825//
5826//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5827//   Please set your AWS Region configuration to us-east-1 to create, view, or
5828//   edit these resources.
5829//
5830//   * NotFoundException
5831//   Lightsail throws this exception when it cannot find a resource.
5832//
5833//   * OperationFailureException
5834//   Lightsail throws this exception when an operation fails to execute.
5835//
5836//   * AccessDeniedException
5837//   Lightsail throws this exception when the user cannot be authenticated or
5838//   uses invalid credentials to access a resource.
5839//
5840//   * UnauthenticatedException
5841//   Lightsail throws this exception when the user has not been authenticated.
5842//
5843// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
5844func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
5845	req, out := c.GetAutoSnapshotsRequest(input)
5846	return out, req.Send()
5847}
5848
5849// GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
5850// the ability to pass a context and additional request options.
5851//
5852// See GetAutoSnapshots for details on how to use this API operation.
5853//
5854// The context must be non-nil and will be used for request cancellation. If
5855// the context is nil a panic will occur. In the future the SDK may create
5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857// for more information on using Contexts.
5858func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
5859	req, out := c.GetAutoSnapshotsRequest(input)
5860	req.SetContext(ctx)
5861	req.ApplyOptions(opts...)
5862	return out, req.Send()
5863}
5864
5865const opGetBlueprints = "GetBlueprints"
5866
5867// GetBlueprintsRequest generates a "aws/request.Request" representing the
5868// client's request for the GetBlueprints operation. The "output" return
5869// value will be populated with the request's response once the request completes
5870// successfully.
5871//
5872// Use "Send" method on the returned Request to send the API call to the service.
5873// the "output" return value is not valid until after Send returns without error.
5874//
5875// See GetBlueprints for more information on using the GetBlueprints
5876// API call, and error handling.
5877//
5878// This method is useful when you want to inject custom logic or configuration
5879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5880//
5881//
5882//    // Example sending a request using the GetBlueprintsRequest method.
5883//    req, resp := client.GetBlueprintsRequest(params)
5884//
5885//    err := req.Send()
5886//    if err == nil { // resp is now filled
5887//        fmt.Println(resp)
5888//    }
5889//
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
5891func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
5892	op := &request.Operation{
5893		Name:       opGetBlueprints,
5894		HTTPMethod: "POST",
5895		HTTPPath:   "/",
5896	}
5897
5898	if input == nil {
5899		input = &GetBlueprintsInput{}
5900	}
5901
5902	output = &GetBlueprintsOutput{}
5903	req = c.newRequest(op, input, output)
5904	return
5905}
5906
5907// GetBlueprints API operation for Amazon Lightsail.
5908//
5909// Returns the list of available instance images, or blueprints. You can use
5910// a blueprint to create a new instance already running a specific operating
5911// system, as well as a preinstalled app or development stack. The software
5912// each instance is running depends on the blueprint image you choose.
5913//
5914// Use active blueprints when creating new instances. Inactive blueprints are
5915// listed to support customers with existing instances and are not necessarily
5916// available to create new instances. Blueprints are marked inactive when they
5917// become outdated due to operating system updates or new application releases.
5918//
5919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5920// with awserr.Error's Code and Message methods to get detailed information about
5921// the error.
5922//
5923// See the AWS API reference guide for Amazon Lightsail's
5924// API operation GetBlueprints for usage and error information.
5925//
5926// Returned Error Types:
5927//   * ServiceException
5928//   A general service exception.
5929//
5930//   * InvalidInputException
5931//   Lightsail throws this exception when user input does not conform to the validation
5932//   rules of an input field.
5933//
5934//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5935//   Please set your AWS Region configuration to us-east-1 to create, view, or
5936//   edit these resources.
5937//
5938//   * NotFoundException
5939//   Lightsail throws this exception when it cannot find a resource.
5940//
5941//   * OperationFailureException
5942//   Lightsail throws this exception when an operation fails to execute.
5943//
5944//   * AccessDeniedException
5945//   Lightsail throws this exception when the user cannot be authenticated or
5946//   uses invalid credentials to access a resource.
5947//
5948//   * AccountSetupInProgressException
5949//   Lightsail throws this exception when an account is still in the setup in
5950//   progress state.
5951//
5952//   * UnauthenticatedException
5953//   Lightsail throws this exception when the user has not been authenticated.
5954//
5955// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
5956func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
5957	req, out := c.GetBlueprintsRequest(input)
5958	return out, req.Send()
5959}
5960
5961// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
5962// the ability to pass a context and additional request options.
5963//
5964// See GetBlueprints for details on how to use this API operation.
5965//
5966// The context must be non-nil and will be used for request cancellation. If
5967// the context is nil a panic will occur. In the future the SDK may create
5968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5969// for more information on using Contexts.
5970func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
5971	req, out := c.GetBlueprintsRequest(input)
5972	req.SetContext(ctx)
5973	req.ApplyOptions(opts...)
5974	return out, req.Send()
5975}
5976
5977const opGetBundles = "GetBundles"
5978
5979// GetBundlesRequest generates a "aws/request.Request" representing the
5980// client's request for the GetBundles operation. The "output" return
5981// value will be populated with the request's response once the request completes
5982// successfully.
5983//
5984// Use "Send" method on the returned Request to send the API call to the service.
5985// the "output" return value is not valid until after Send returns without error.
5986//
5987// See GetBundles for more information on using the GetBundles
5988// API call, and error handling.
5989//
5990// This method is useful when you want to inject custom logic or configuration
5991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5992//
5993//
5994//    // Example sending a request using the GetBundlesRequest method.
5995//    req, resp := client.GetBundlesRequest(params)
5996//
5997//    err := req.Send()
5998//    if err == nil { // resp is now filled
5999//        fmt.Println(resp)
6000//    }
6001//
6002// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
6003func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
6004	op := &request.Operation{
6005		Name:       opGetBundles,
6006		HTTPMethod: "POST",
6007		HTTPPath:   "/",
6008	}
6009
6010	if input == nil {
6011		input = &GetBundlesInput{}
6012	}
6013
6014	output = &GetBundlesOutput{}
6015	req = c.newRequest(op, input, output)
6016	return
6017}
6018
6019// GetBundles API operation for Amazon Lightsail.
6020//
6021// Returns the list of bundles that are available for purchase. A bundle describes
6022// the specs for your virtual private server (or instance).
6023//
6024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6025// with awserr.Error's Code and Message methods to get detailed information about
6026// the error.
6027//
6028// See the AWS API reference guide for Amazon Lightsail's
6029// API operation GetBundles for usage and error information.
6030//
6031// Returned Error Types:
6032//   * ServiceException
6033//   A general service exception.
6034//
6035//   * InvalidInputException
6036//   Lightsail throws this exception when user input does not conform to the validation
6037//   rules of an input field.
6038//
6039//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6040//   Please set your AWS Region configuration to us-east-1 to create, view, or
6041//   edit these resources.
6042//
6043//   * NotFoundException
6044//   Lightsail throws this exception when it cannot find a resource.
6045//
6046//   * OperationFailureException
6047//   Lightsail throws this exception when an operation fails to execute.
6048//
6049//   * AccessDeniedException
6050//   Lightsail throws this exception when the user cannot be authenticated or
6051//   uses invalid credentials to access a resource.
6052//
6053//   * AccountSetupInProgressException
6054//   Lightsail throws this exception when an account is still in the setup in
6055//   progress state.
6056//
6057//   * UnauthenticatedException
6058//   Lightsail throws this exception when the user has not been authenticated.
6059//
6060// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
6061func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
6062	req, out := c.GetBundlesRequest(input)
6063	return out, req.Send()
6064}
6065
6066// GetBundlesWithContext is the same as GetBundles with the addition of
6067// the ability to pass a context and additional request options.
6068//
6069// See GetBundles for details on how to use this API operation.
6070//
6071// The context must be non-nil and will be used for request cancellation. If
6072// the context is nil a panic will occur. In the future the SDK may create
6073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6074// for more information on using Contexts.
6075func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
6076	req, out := c.GetBundlesRequest(input)
6077	req.SetContext(ctx)
6078	req.ApplyOptions(opts...)
6079	return out, req.Send()
6080}
6081
6082const opGetCertificates = "GetCertificates"
6083
6084// GetCertificatesRequest generates a "aws/request.Request" representing the
6085// client's request for the GetCertificates operation. The "output" return
6086// value will be populated with the request's response once the request completes
6087// successfully.
6088//
6089// Use "Send" method on the returned Request to send the API call to the service.
6090// the "output" return value is not valid until after Send returns without error.
6091//
6092// See GetCertificates for more information on using the GetCertificates
6093// API call, and error handling.
6094//
6095// This method is useful when you want to inject custom logic or configuration
6096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6097//
6098//
6099//    // Example sending a request using the GetCertificatesRequest method.
6100//    req, resp := client.GetCertificatesRequest(params)
6101//
6102//    err := req.Send()
6103//    if err == nil { // resp is now filled
6104//        fmt.Println(resp)
6105//    }
6106//
6107// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
6108func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) {
6109	op := &request.Operation{
6110		Name:       opGetCertificates,
6111		HTTPMethod: "POST",
6112		HTTPPath:   "/",
6113	}
6114
6115	if input == nil {
6116		input = &GetCertificatesInput{}
6117	}
6118
6119	output = &GetCertificatesOutput{}
6120	req = c.newRequest(op, input, output)
6121	return
6122}
6123
6124// GetCertificates API operation for Amazon Lightsail.
6125//
6126// Returns information about one or more Amazon Lightsail SSL/TLS certificates.
6127//
6128// To get a summary of a certificate, ommit includeCertificateDetails from your
6129// request. The response will include only the certificate Amazon Resource Name
6130// (ARN), certificate name, domain name, and tags.
6131//
6132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6133// with awserr.Error's Code and Message methods to get detailed information about
6134// the error.
6135//
6136// See the AWS API reference guide for Amazon Lightsail's
6137// API operation GetCertificates for usage and error information.
6138//
6139// Returned Error Types:
6140//   * ServiceException
6141//   A general service exception.
6142//
6143//   * InvalidInputException
6144//   Lightsail throws this exception when user input does not conform to the validation
6145//   rules of an input field.
6146//
6147//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6148//   Please set your AWS Region configuration to us-east-1 to create, view, or
6149//   edit these resources.
6150//
6151//   * NotFoundException
6152//   Lightsail throws this exception when it cannot find a resource.
6153//
6154//   * AccessDeniedException
6155//   Lightsail throws this exception when the user cannot be authenticated or
6156//   uses invalid credentials to access a resource.
6157//
6158//   * UnauthenticatedException
6159//   Lightsail throws this exception when the user has not been authenticated.
6160//
6161// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates
6162func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) {
6163	req, out := c.GetCertificatesRequest(input)
6164	return out, req.Send()
6165}
6166
6167// GetCertificatesWithContext is the same as GetCertificates with the addition of
6168// the ability to pass a context and additional request options.
6169//
6170// See GetCertificates for details on how to use this API operation.
6171//
6172// The context must be non-nil and will be used for request cancellation. If
6173// the context is nil a panic will occur. In the future the SDK may create
6174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6175// for more information on using Contexts.
6176func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) {
6177	req, out := c.GetCertificatesRequest(input)
6178	req.SetContext(ctx)
6179	req.ApplyOptions(opts...)
6180	return out, req.Send()
6181}
6182
6183const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
6184
6185// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
6186// client's request for the GetCloudFormationStackRecords operation. The "output" return
6187// value will be populated with the request's response once the request completes
6188// successfully.
6189//
6190// Use "Send" method on the returned Request to send the API call to the service.
6191// the "output" return value is not valid until after Send returns without error.
6192//
6193// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
6194// API call, and error handling.
6195//
6196// This method is useful when you want to inject custom logic or configuration
6197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6198//
6199//
6200//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
6201//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
6202//
6203//    err := req.Send()
6204//    if err == nil { // resp is now filled
6205//        fmt.Println(resp)
6206//    }
6207//
6208// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
6209func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
6210	op := &request.Operation{
6211		Name:       opGetCloudFormationStackRecords,
6212		HTTPMethod: "POST",
6213		HTTPPath:   "/",
6214	}
6215
6216	if input == nil {
6217		input = &GetCloudFormationStackRecordsInput{}
6218	}
6219
6220	output = &GetCloudFormationStackRecordsOutput{}
6221	req = c.newRequest(op, input, output)
6222	return
6223}
6224
6225// GetCloudFormationStackRecords API operation for Amazon Lightsail.
6226//
6227// Returns the CloudFormation stack record created as a result of the create
6228// cloud formation stack operation.
6229//
6230// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
6231// an exported Lightsail snapshot.
6232//
6233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6234// with awserr.Error's Code and Message methods to get detailed information about
6235// the error.
6236//
6237// See the AWS API reference guide for Amazon Lightsail's
6238// API operation GetCloudFormationStackRecords for usage and error information.
6239//
6240// Returned Error Types:
6241//   * ServiceException
6242//   A general service exception.
6243//
6244//   * InvalidInputException
6245//   Lightsail throws this exception when user input does not conform to the validation
6246//   rules of an input field.
6247//
6248//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6249//   Please set your AWS Region configuration to us-east-1 to create, view, or
6250//   edit these resources.
6251//
6252//   * NotFoundException
6253//   Lightsail throws this exception when it cannot find a resource.
6254//
6255//   * OperationFailureException
6256//   Lightsail throws this exception when an operation fails to execute.
6257//
6258//   * AccessDeniedException
6259//   Lightsail throws this exception when the user cannot be authenticated or
6260//   uses invalid credentials to access a resource.
6261//
6262//   * AccountSetupInProgressException
6263//   Lightsail throws this exception when an account is still in the setup in
6264//   progress state.
6265//
6266//   * UnauthenticatedException
6267//   Lightsail throws this exception when the user has not been authenticated.
6268//
6269// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
6270func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
6271	req, out := c.GetCloudFormationStackRecordsRequest(input)
6272	return out, req.Send()
6273}
6274
6275// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
6276// the ability to pass a context and additional request options.
6277//
6278// See GetCloudFormationStackRecords for details on how to use this API operation.
6279//
6280// The context must be non-nil and will be used for request cancellation. If
6281// the context is nil a panic will occur. In the future the SDK may create
6282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6283// for more information on using Contexts.
6284func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
6285	req, out := c.GetCloudFormationStackRecordsRequest(input)
6286	req.SetContext(ctx)
6287	req.ApplyOptions(opts...)
6288	return out, req.Send()
6289}
6290
6291const opGetContactMethods = "GetContactMethods"
6292
6293// GetContactMethodsRequest generates a "aws/request.Request" representing the
6294// client's request for the GetContactMethods operation. The "output" return
6295// value will be populated with the request's response once the request completes
6296// successfully.
6297//
6298// Use "Send" method on the returned Request to send the API call to the service.
6299// the "output" return value is not valid until after Send returns without error.
6300//
6301// See GetContactMethods for more information on using the GetContactMethods
6302// API call, and error handling.
6303//
6304// This method is useful when you want to inject custom logic or configuration
6305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6306//
6307//
6308//    // Example sending a request using the GetContactMethodsRequest method.
6309//    req, resp := client.GetContactMethodsRequest(params)
6310//
6311//    err := req.Send()
6312//    if err == nil { // resp is now filled
6313//        fmt.Println(resp)
6314//    }
6315//
6316// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
6317func (c *Lightsail) GetContactMethodsRequest(input *GetContactMethodsInput) (req *request.Request, output *GetContactMethodsOutput) {
6318	op := &request.Operation{
6319		Name:       opGetContactMethods,
6320		HTTPMethod: "POST",
6321		HTTPPath:   "/",
6322	}
6323
6324	if input == nil {
6325		input = &GetContactMethodsInput{}
6326	}
6327
6328	output = &GetContactMethodsOutput{}
6329	req = c.newRequest(op, input, output)
6330	return
6331}
6332
6333// GetContactMethods API operation for Amazon Lightsail.
6334//
6335// Returns information about the configured contact methods. Specify a protocol
6336// in your request to return information about a specific contact method.
6337//
6338// A contact method is used to send you notifications about your Amazon Lightsail
6339// resources. You can add one email address and one mobile phone number contact
6340// method in each AWS Region. However, SMS text messaging is not supported in
6341// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
6342// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
6343//
6344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6345// with awserr.Error's Code and Message methods to get detailed information about
6346// the error.
6347//
6348// See the AWS API reference guide for Amazon Lightsail's
6349// API operation GetContactMethods for usage and error information.
6350//
6351// Returned Error Types:
6352//   * ServiceException
6353//   A general service exception.
6354//
6355//   * InvalidInputException
6356//   Lightsail throws this exception when user input does not conform to the validation
6357//   rules of an input field.
6358//
6359//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6360//   Please set your AWS Region configuration to us-east-1 to create, view, or
6361//   edit these resources.
6362//
6363//   * NotFoundException
6364//   Lightsail throws this exception when it cannot find a resource.
6365//
6366//   * OperationFailureException
6367//   Lightsail throws this exception when an operation fails to execute.
6368//
6369//   * AccessDeniedException
6370//   Lightsail throws this exception when the user cannot be authenticated or
6371//   uses invalid credentials to access a resource.
6372//
6373//   * UnauthenticatedException
6374//   Lightsail throws this exception when the user has not been authenticated.
6375//
6376// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetContactMethods
6377func (c *Lightsail) GetContactMethods(input *GetContactMethodsInput) (*GetContactMethodsOutput, error) {
6378	req, out := c.GetContactMethodsRequest(input)
6379	return out, req.Send()
6380}
6381
6382// GetContactMethodsWithContext is the same as GetContactMethods with the addition of
6383// the ability to pass a context and additional request options.
6384//
6385// See GetContactMethods for details on how to use this API operation.
6386//
6387// The context must be non-nil and will be used for request cancellation. If
6388// the context is nil a panic will occur. In the future the SDK may create
6389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6390// for more information on using Contexts.
6391func (c *Lightsail) GetContactMethodsWithContext(ctx aws.Context, input *GetContactMethodsInput, opts ...request.Option) (*GetContactMethodsOutput, error) {
6392	req, out := c.GetContactMethodsRequest(input)
6393	req.SetContext(ctx)
6394	req.ApplyOptions(opts...)
6395	return out, req.Send()
6396}
6397
6398const opGetDisk = "GetDisk"
6399
6400// GetDiskRequest generates a "aws/request.Request" representing the
6401// client's request for the GetDisk operation. The "output" return
6402// value will be populated with the request's response once the request completes
6403// successfully.
6404//
6405// Use "Send" method on the returned Request to send the API call to the service.
6406// the "output" return value is not valid until after Send returns without error.
6407//
6408// See GetDisk for more information on using the GetDisk
6409// API call, and error handling.
6410//
6411// This method is useful when you want to inject custom logic or configuration
6412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6413//
6414//
6415//    // Example sending a request using the GetDiskRequest method.
6416//    req, resp := client.GetDiskRequest(params)
6417//
6418//    err := req.Send()
6419//    if err == nil { // resp is now filled
6420//        fmt.Println(resp)
6421//    }
6422//
6423// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
6424func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
6425	op := &request.Operation{
6426		Name:       opGetDisk,
6427		HTTPMethod: "POST",
6428		HTTPPath:   "/",
6429	}
6430
6431	if input == nil {
6432		input = &GetDiskInput{}
6433	}
6434
6435	output = &GetDiskOutput{}
6436	req = c.newRequest(op, input, output)
6437	return
6438}
6439
6440// GetDisk API operation for Amazon Lightsail.
6441//
6442// Returns information about a specific block storage disk.
6443//
6444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6445// with awserr.Error's Code and Message methods to get detailed information about
6446// the error.
6447//
6448// See the AWS API reference guide for Amazon Lightsail's
6449// API operation GetDisk for usage and error information.
6450//
6451// Returned Error Types:
6452//   * ServiceException
6453//   A general service exception.
6454//
6455//   * InvalidInputException
6456//   Lightsail throws this exception when user input does not conform to the validation
6457//   rules of an input field.
6458//
6459//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6460//   Please set your AWS Region configuration to us-east-1 to create, view, or
6461//   edit these resources.
6462//
6463//   * NotFoundException
6464//   Lightsail throws this exception when it cannot find a resource.
6465//
6466//   * OperationFailureException
6467//   Lightsail throws this exception when an operation fails to execute.
6468//
6469//   * AccessDeniedException
6470//   Lightsail throws this exception when the user cannot be authenticated or
6471//   uses invalid credentials to access a resource.
6472//
6473//   * AccountSetupInProgressException
6474//   Lightsail throws this exception when an account is still in the setup in
6475//   progress state.
6476//
6477//   * UnauthenticatedException
6478//   Lightsail throws this exception when the user has not been authenticated.
6479//
6480// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
6481func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
6482	req, out := c.GetDiskRequest(input)
6483	return out, req.Send()
6484}
6485
6486// GetDiskWithContext is the same as GetDisk with the addition of
6487// the ability to pass a context and additional request options.
6488//
6489// See GetDisk for details on how to use this API operation.
6490//
6491// The context must be non-nil and will be used for request cancellation. If
6492// the context is nil a panic will occur. In the future the SDK may create
6493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6494// for more information on using Contexts.
6495func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
6496	req, out := c.GetDiskRequest(input)
6497	req.SetContext(ctx)
6498	req.ApplyOptions(opts...)
6499	return out, req.Send()
6500}
6501
6502const opGetDiskSnapshot = "GetDiskSnapshot"
6503
6504// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
6505// client's request for the GetDiskSnapshot operation. The "output" return
6506// value will be populated with the request's response once the request completes
6507// successfully.
6508//
6509// Use "Send" method on the returned Request to send the API call to the service.
6510// the "output" return value is not valid until after Send returns without error.
6511//
6512// See GetDiskSnapshot for more information on using the GetDiskSnapshot
6513// API call, and error handling.
6514//
6515// This method is useful when you want to inject custom logic or configuration
6516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6517//
6518//
6519//    // Example sending a request using the GetDiskSnapshotRequest method.
6520//    req, resp := client.GetDiskSnapshotRequest(params)
6521//
6522//    err := req.Send()
6523//    if err == nil { // resp is now filled
6524//        fmt.Println(resp)
6525//    }
6526//
6527// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
6528func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
6529	op := &request.Operation{
6530		Name:       opGetDiskSnapshot,
6531		HTTPMethod: "POST",
6532		HTTPPath:   "/",
6533	}
6534
6535	if input == nil {
6536		input = &GetDiskSnapshotInput{}
6537	}
6538
6539	output = &GetDiskSnapshotOutput{}
6540	req = c.newRequest(op, input, output)
6541	return
6542}
6543
6544// GetDiskSnapshot API operation for Amazon Lightsail.
6545//
6546// Returns information about a specific block storage disk snapshot.
6547//
6548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6549// with awserr.Error's Code and Message methods to get detailed information about
6550// the error.
6551//
6552// See the AWS API reference guide for Amazon Lightsail's
6553// API operation GetDiskSnapshot for usage and error information.
6554//
6555// Returned Error Types:
6556//   * ServiceException
6557//   A general service exception.
6558//
6559//   * InvalidInputException
6560//   Lightsail throws this exception when user input does not conform to the validation
6561//   rules of an input field.
6562//
6563//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6564//   Please set your AWS Region configuration to us-east-1 to create, view, or
6565//   edit these resources.
6566//
6567//   * NotFoundException
6568//   Lightsail throws this exception when it cannot find a resource.
6569//
6570//   * OperationFailureException
6571//   Lightsail throws this exception when an operation fails to execute.
6572//
6573//   * AccessDeniedException
6574//   Lightsail throws this exception when the user cannot be authenticated or
6575//   uses invalid credentials to access a resource.
6576//
6577//   * AccountSetupInProgressException
6578//   Lightsail throws this exception when an account is still in the setup in
6579//   progress state.
6580//
6581//   * UnauthenticatedException
6582//   Lightsail throws this exception when the user has not been authenticated.
6583//
6584// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
6585func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
6586	req, out := c.GetDiskSnapshotRequest(input)
6587	return out, req.Send()
6588}
6589
6590// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
6591// the ability to pass a context and additional request options.
6592//
6593// See GetDiskSnapshot for details on how to use this API operation.
6594//
6595// The context must be non-nil and will be used for request cancellation. If
6596// the context is nil a panic will occur. In the future the SDK may create
6597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6598// for more information on using Contexts.
6599func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
6600	req, out := c.GetDiskSnapshotRequest(input)
6601	req.SetContext(ctx)
6602	req.ApplyOptions(opts...)
6603	return out, req.Send()
6604}
6605
6606const opGetDiskSnapshots = "GetDiskSnapshots"
6607
6608// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
6609// client's request for the GetDiskSnapshots operation. The "output" return
6610// value will be populated with the request's response once the request completes
6611// successfully.
6612//
6613// Use "Send" method on the returned Request to send the API call to the service.
6614// the "output" return value is not valid until after Send returns without error.
6615//
6616// See GetDiskSnapshots for more information on using the GetDiskSnapshots
6617// API call, and error handling.
6618//
6619// This method is useful when you want to inject custom logic or configuration
6620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6621//
6622//
6623//    // Example sending a request using the GetDiskSnapshotsRequest method.
6624//    req, resp := client.GetDiskSnapshotsRequest(params)
6625//
6626//    err := req.Send()
6627//    if err == nil { // resp is now filled
6628//        fmt.Println(resp)
6629//    }
6630//
6631// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
6632func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
6633	op := &request.Operation{
6634		Name:       opGetDiskSnapshots,
6635		HTTPMethod: "POST",
6636		HTTPPath:   "/",
6637	}
6638
6639	if input == nil {
6640		input = &GetDiskSnapshotsInput{}
6641	}
6642
6643	output = &GetDiskSnapshotsOutput{}
6644	req = c.newRequest(op, input, output)
6645	return
6646}
6647
6648// GetDiskSnapshots API operation for Amazon Lightsail.
6649//
6650// Returns information about all block storage disk snapshots in your AWS account
6651// and region.
6652//
6653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6654// with awserr.Error's Code and Message methods to get detailed information about
6655// the error.
6656//
6657// See the AWS API reference guide for Amazon Lightsail's
6658// API operation GetDiskSnapshots for usage and error information.
6659//
6660// Returned Error Types:
6661//   * ServiceException
6662//   A general service exception.
6663//
6664//   * InvalidInputException
6665//   Lightsail throws this exception when user input does not conform to the validation
6666//   rules of an input field.
6667//
6668//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6669//   Please set your AWS Region configuration to us-east-1 to create, view, or
6670//   edit these resources.
6671//
6672//   * NotFoundException
6673//   Lightsail throws this exception when it cannot find a resource.
6674//
6675//   * OperationFailureException
6676//   Lightsail throws this exception when an operation fails to execute.
6677//
6678//   * AccessDeniedException
6679//   Lightsail throws this exception when the user cannot be authenticated or
6680//   uses invalid credentials to access a resource.
6681//
6682//   * AccountSetupInProgressException
6683//   Lightsail throws this exception when an account is still in the setup in
6684//   progress state.
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/GetDiskSnapshots
6690func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
6691	req, out := c.GetDiskSnapshotsRequest(input)
6692	return out, req.Send()
6693}
6694
6695// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
6696// the ability to pass a context and additional request options.
6697//
6698// See GetDiskSnapshots 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) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
6705	req, out := c.GetDiskSnapshotsRequest(input)
6706	req.SetContext(ctx)
6707	req.ApplyOptions(opts...)
6708	return out, req.Send()
6709}
6710
6711const opGetDisks = "GetDisks"
6712
6713// GetDisksRequest generates a "aws/request.Request" representing the
6714// client's request for the GetDisks 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 GetDisks for more information on using the GetDisks
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 GetDisksRequest method.
6729//    req, resp := client.GetDisksRequest(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/GetDisks
6737func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
6738	op := &request.Operation{
6739		Name:       opGetDisks,
6740		HTTPMethod: "POST",
6741		HTTPPath:   "/",
6742	}
6743
6744	if input == nil {
6745		input = &GetDisksInput{}
6746	}
6747
6748	output = &GetDisksOutput{}
6749	req = c.newRequest(op, input, output)
6750	return
6751}
6752
6753// GetDisks API operation for Amazon Lightsail.
6754//
6755// Returns information about all block storage disks in your AWS account and
6756// region.
6757//
6758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6759// with awserr.Error's Code and Message methods to get detailed information about
6760// the error.
6761//
6762// See the AWS API reference guide for Amazon Lightsail's
6763// API operation GetDisks for usage and error information.
6764//
6765// Returned Error Types:
6766//   * ServiceException
6767//   A general service exception.
6768//
6769//   * InvalidInputException
6770//   Lightsail throws this exception when user input does not conform to the validation
6771//   rules of an input field.
6772//
6773//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6774//   Please set your AWS Region configuration to us-east-1 to create, view, or
6775//   edit these resources.
6776//
6777//   * NotFoundException
6778//   Lightsail throws this exception when it cannot find a resource.
6779//
6780//   * OperationFailureException
6781//   Lightsail throws this exception when an operation fails to execute.
6782//
6783//   * AccessDeniedException
6784//   Lightsail throws this exception when the user cannot be authenticated or
6785//   uses invalid credentials to access a resource.
6786//
6787//   * AccountSetupInProgressException
6788//   Lightsail throws this exception when an account is still in the setup in
6789//   progress state.
6790//
6791//   * UnauthenticatedException
6792//   Lightsail throws this exception when the user has not been authenticated.
6793//
6794// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
6795func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
6796	req, out := c.GetDisksRequest(input)
6797	return out, req.Send()
6798}
6799
6800// GetDisksWithContext is the same as GetDisks with the addition of
6801// the ability to pass a context and additional request options.
6802//
6803// See GetDisks for details on how to use this API operation.
6804//
6805// The context must be non-nil and will be used for request cancellation. If
6806// the context is nil a panic will occur. In the future the SDK may create
6807// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6808// for more information on using Contexts.
6809func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
6810	req, out := c.GetDisksRequest(input)
6811	req.SetContext(ctx)
6812	req.ApplyOptions(opts...)
6813	return out, req.Send()
6814}
6815
6816const opGetDistributionBundles = "GetDistributionBundles"
6817
6818// GetDistributionBundlesRequest generates a "aws/request.Request" representing the
6819// client's request for the GetDistributionBundles operation. The "output" return
6820// value will be populated with the request's response once the request completes
6821// successfully.
6822//
6823// Use "Send" method on the returned Request to send the API call to the service.
6824// the "output" return value is not valid until after Send returns without error.
6825//
6826// See GetDistributionBundles for more information on using the GetDistributionBundles
6827// API call, and error handling.
6828//
6829// This method is useful when you want to inject custom logic or configuration
6830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6831//
6832//
6833//    // Example sending a request using the GetDistributionBundlesRequest method.
6834//    req, resp := client.GetDistributionBundlesRequest(params)
6835//
6836//    err := req.Send()
6837//    if err == nil { // resp is now filled
6838//        fmt.Println(resp)
6839//    }
6840//
6841// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
6842func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) {
6843	op := &request.Operation{
6844		Name:       opGetDistributionBundles,
6845		HTTPMethod: "POST",
6846		HTTPPath:   "/",
6847	}
6848
6849	if input == nil {
6850		input = &GetDistributionBundlesInput{}
6851	}
6852
6853	output = &GetDistributionBundlesOutput{}
6854	req = c.newRequest(op, input, output)
6855	return
6856}
6857
6858// GetDistributionBundles API operation for Amazon Lightsail.
6859//
6860// Returns the list bundles that can be applied to you Amazon Lightsail content
6861// delivery network (CDN) distributions.
6862//
6863// A distribution bundle specifies the monthly network transfer quota and monthly
6864// cost of your dsitribution.
6865//
6866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6867// with awserr.Error's Code and Message methods to get detailed information about
6868// the error.
6869//
6870// See the AWS API reference guide for Amazon Lightsail's
6871// API operation GetDistributionBundles for usage and error information.
6872//
6873// Returned Error Types:
6874//   * ServiceException
6875//   A general service exception.
6876//
6877//   * InvalidInputException
6878//   Lightsail throws this exception when user input does not conform to the validation
6879//   rules of an input field.
6880//
6881//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6882//   Please set your AWS Region configuration to us-east-1 to create, view, or
6883//   edit these resources.
6884//
6885//   * NotFoundException
6886//   Lightsail throws this exception when it cannot find a resource.
6887//
6888//   * OperationFailureException
6889//   Lightsail throws this exception when an operation fails to execute.
6890//
6891//   * AccessDeniedException
6892//   Lightsail throws this exception when the user cannot be authenticated or
6893//   uses invalid credentials to access a resource.
6894//
6895//   * UnauthenticatedException
6896//   Lightsail throws this exception when the user has not been authenticated.
6897//
6898// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles
6899func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) {
6900	req, out := c.GetDistributionBundlesRequest(input)
6901	return out, req.Send()
6902}
6903
6904// GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of
6905// the ability to pass a context and additional request options.
6906//
6907// See GetDistributionBundles for details on how to use this API operation.
6908//
6909// The context must be non-nil and will be used for request cancellation. If
6910// the context is nil a panic will occur. In the future the SDK may create
6911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6912// for more information on using Contexts.
6913func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) {
6914	req, out := c.GetDistributionBundlesRequest(input)
6915	req.SetContext(ctx)
6916	req.ApplyOptions(opts...)
6917	return out, req.Send()
6918}
6919
6920const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset"
6921
6922// GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the
6923// client's request for the GetDistributionLatestCacheReset operation. The "output" return
6924// value will be populated with the request's response once the request completes
6925// successfully.
6926//
6927// Use "Send" method on the returned Request to send the API call to the service.
6928// the "output" return value is not valid until after Send returns without error.
6929//
6930// See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset
6931// API call, and error handling.
6932//
6933// This method is useful when you want to inject custom logic or configuration
6934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6935//
6936//
6937//    // Example sending a request using the GetDistributionLatestCacheResetRequest method.
6938//    req, resp := client.GetDistributionLatestCacheResetRequest(params)
6939//
6940//    err := req.Send()
6941//    if err == nil { // resp is now filled
6942//        fmt.Println(resp)
6943//    }
6944//
6945// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
6946func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) {
6947	op := &request.Operation{
6948		Name:       opGetDistributionLatestCacheReset,
6949		HTTPMethod: "POST",
6950		HTTPPath:   "/",
6951	}
6952
6953	if input == nil {
6954		input = &GetDistributionLatestCacheResetInput{}
6955	}
6956
6957	output = &GetDistributionLatestCacheResetOutput{}
6958	req = c.newRequest(op, input, output)
6959	return
6960}
6961
6962// GetDistributionLatestCacheReset API operation for Amazon Lightsail.
6963//
6964// Returns the timestamp and status of the last cache reset of a specific Amazon
6965// Lightsail content delivery network (CDN) distribution.
6966//
6967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6968// with awserr.Error's Code and Message methods to get detailed information about
6969// the error.
6970//
6971// See the AWS API reference guide for Amazon Lightsail's
6972// API operation GetDistributionLatestCacheReset for usage and error information.
6973//
6974// Returned Error Types:
6975//   * ServiceException
6976//   A general service exception.
6977//
6978//   * InvalidInputException
6979//   Lightsail throws this exception when user input does not conform to the validation
6980//   rules of an input field.
6981//
6982//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6983//   Please set your AWS Region configuration to us-east-1 to create, view, or
6984//   edit these resources.
6985//
6986//   * NotFoundException
6987//   Lightsail throws this exception when it cannot find a resource.
6988//
6989//   * OperationFailureException
6990//   Lightsail throws this exception when an operation fails to execute.
6991//
6992//   * AccessDeniedException
6993//   Lightsail throws this exception when the user cannot be authenticated or
6994//   uses invalid credentials to access a resource.
6995//
6996//   * UnauthenticatedException
6997//   Lightsail throws this exception when the user has not been authenticated.
6998//
6999// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset
7000func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) {
7001	req, out := c.GetDistributionLatestCacheResetRequest(input)
7002	return out, req.Send()
7003}
7004
7005// GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of
7006// the ability to pass a context and additional request options.
7007//
7008// See GetDistributionLatestCacheReset for details on how to use this API operation.
7009//
7010// The context must be non-nil and will be used for request cancellation. If
7011// the context is nil a panic will occur. In the future the SDK may create
7012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7013// for more information on using Contexts.
7014func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) {
7015	req, out := c.GetDistributionLatestCacheResetRequest(input)
7016	req.SetContext(ctx)
7017	req.ApplyOptions(opts...)
7018	return out, req.Send()
7019}
7020
7021const opGetDistributionMetricData = "GetDistributionMetricData"
7022
7023// GetDistributionMetricDataRequest generates a "aws/request.Request" representing the
7024// client's request for the GetDistributionMetricData operation. The "output" return
7025// value will be populated with the request's response once the request completes
7026// successfully.
7027//
7028// Use "Send" method on the returned Request to send the API call to the service.
7029// the "output" return value is not valid until after Send returns without error.
7030//
7031// See GetDistributionMetricData for more information on using the GetDistributionMetricData
7032// API call, and error handling.
7033//
7034// This method is useful when you want to inject custom logic or configuration
7035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7036//
7037//
7038//    // Example sending a request using the GetDistributionMetricDataRequest method.
7039//    req, resp := client.GetDistributionMetricDataRequest(params)
7040//
7041//    err := req.Send()
7042//    if err == nil { // resp is now filled
7043//        fmt.Println(resp)
7044//    }
7045//
7046// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
7047func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) {
7048	op := &request.Operation{
7049		Name:       opGetDistributionMetricData,
7050		HTTPMethod: "POST",
7051		HTTPPath:   "/",
7052	}
7053
7054	if input == nil {
7055		input = &GetDistributionMetricDataInput{}
7056	}
7057
7058	output = &GetDistributionMetricDataOutput{}
7059	req = c.newRequest(op, input, output)
7060	return
7061}
7062
7063// GetDistributionMetricData API operation for Amazon Lightsail.
7064//
7065// Returns the data points of a specific metric for an Amazon Lightsail content
7066// delivery network (CDN) distribution.
7067//
7068// Metrics report the utilization of your resources, and the error counts generated
7069// by them. Monitor and collect metric data regularly to maintain the reliability,
7070// availability, and performance of your resources.
7071//
7072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7073// with awserr.Error's Code and Message methods to get detailed information about
7074// the error.
7075//
7076// See the AWS API reference guide for Amazon Lightsail's
7077// API operation GetDistributionMetricData for usage and error information.
7078//
7079// Returned Error Types:
7080//   * ServiceException
7081//   A general service exception.
7082//
7083//   * InvalidInputException
7084//   Lightsail throws this exception when user input does not conform to the validation
7085//   rules of an input field.
7086//
7087//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7088//   Please set your AWS Region configuration to us-east-1 to create, view, or
7089//   edit these resources.
7090//
7091//   * NotFoundException
7092//   Lightsail throws this exception when it cannot find a resource.
7093//
7094//   * OperationFailureException
7095//   Lightsail throws this exception when an operation fails to execute.
7096//
7097//   * AccessDeniedException
7098//   Lightsail throws this exception when the user cannot be authenticated or
7099//   uses invalid credentials to access a resource.
7100//
7101//   * UnauthenticatedException
7102//   Lightsail throws this exception when the user has not been authenticated.
7103//
7104// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData
7105func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) {
7106	req, out := c.GetDistributionMetricDataRequest(input)
7107	return out, req.Send()
7108}
7109
7110// GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of
7111// the ability to pass a context and additional request options.
7112//
7113// See GetDistributionMetricData for details on how to use this API operation.
7114//
7115// The context must be non-nil and will be used for request cancellation. If
7116// the context is nil a panic will occur. In the future the SDK may create
7117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7118// for more information on using Contexts.
7119func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) {
7120	req, out := c.GetDistributionMetricDataRequest(input)
7121	req.SetContext(ctx)
7122	req.ApplyOptions(opts...)
7123	return out, req.Send()
7124}
7125
7126const opGetDistributions = "GetDistributions"
7127
7128// GetDistributionsRequest generates a "aws/request.Request" representing the
7129// client's request for the GetDistributions operation. The "output" return
7130// value will be populated with the request's response once the request completes
7131// successfully.
7132//
7133// Use "Send" method on the returned Request to send the API call to the service.
7134// the "output" return value is not valid until after Send returns without error.
7135//
7136// See GetDistributions for more information on using the GetDistributions
7137// API call, and error handling.
7138//
7139// This method is useful when you want to inject custom logic or configuration
7140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7141//
7142//
7143//    // Example sending a request using the GetDistributionsRequest method.
7144//    req, resp := client.GetDistributionsRequest(params)
7145//
7146//    err := req.Send()
7147//    if err == nil { // resp is now filled
7148//        fmt.Println(resp)
7149//    }
7150//
7151// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
7152func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) {
7153	op := &request.Operation{
7154		Name:       opGetDistributions,
7155		HTTPMethod: "POST",
7156		HTTPPath:   "/",
7157	}
7158
7159	if input == nil {
7160		input = &GetDistributionsInput{}
7161	}
7162
7163	output = &GetDistributionsOutput{}
7164	req = c.newRequest(op, input, output)
7165	return
7166}
7167
7168// GetDistributions API operation for Amazon Lightsail.
7169//
7170// Returns information about one or more of your Amazon Lightsail content delivery
7171// network (CDN) distributions.
7172//
7173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7174// with awserr.Error's Code and Message methods to get detailed information about
7175// the error.
7176//
7177// See the AWS API reference guide for Amazon Lightsail's
7178// API operation GetDistributions for usage and error information.
7179//
7180// Returned Error Types:
7181//   * ServiceException
7182//   A general service exception.
7183//
7184//   * InvalidInputException
7185//   Lightsail throws this exception when user input does not conform to the validation
7186//   rules of an input field.
7187//
7188//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7189//   Please set your AWS Region configuration to us-east-1 to create, view, or
7190//   edit these resources.
7191//
7192//   * NotFoundException
7193//   Lightsail throws this exception when it cannot find a resource.
7194//
7195//   * OperationFailureException
7196//   Lightsail throws this exception when an operation fails to execute.
7197//
7198//   * AccessDeniedException
7199//   Lightsail throws this exception when the user cannot be authenticated or
7200//   uses invalid credentials to access a resource.
7201//
7202//   * UnauthenticatedException
7203//   Lightsail throws this exception when the user has not been authenticated.
7204//
7205// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions
7206func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) {
7207	req, out := c.GetDistributionsRequest(input)
7208	return out, req.Send()
7209}
7210
7211// GetDistributionsWithContext is the same as GetDistributions with the addition of
7212// the ability to pass a context and additional request options.
7213//
7214// See GetDistributions for details on how to use this API operation.
7215//
7216// The context must be non-nil and will be used for request cancellation. If
7217// the context is nil a panic will occur. In the future the SDK may create
7218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7219// for more information on using Contexts.
7220func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) {
7221	req, out := c.GetDistributionsRequest(input)
7222	req.SetContext(ctx)
7223	req.ApplyOptions(opts...)
7224	return out, req.Send()
7225}
7226
7227const opGetDomain = "GetDomain"
7228
7229// GetDomainRequest generates a "aws/request.Request" representing the
7230// client's request for the GetDomain operation. The "output" return
7231// value will be populated with the request's response once the request completes
7232// successfully.
7233//
7234// Use "Send" method on the returned Request to send the API call to the service.
7235// the "output" return value is not valid until after Send returns without error.
7236//
7237// See GetDomain for more information on using the GetDomain
7238// API call, and error handling.
7239//
7240// This method is useful when you want to inject custom logic or configuration
7241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7242//
7243//
7244//    // Example sending a request using the GetDomainRequest method.
7245//    req, resp := client.GetDomainRequest(params)
7246//
7247//    err := req.Send()
7248//    if err == nil { // resp is now filled
7249//        fmt.Println(resp)
7250//    }
7251//
7252// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
7253func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
7254	op := &request.Operation{
7255		Name:       opGetDomain,
7256		HTTPMethod: "POST",
7257		HTTPPath:   "/",
7258	}
7259
7260	if input == nil {
7261		input = &GetDomainInput{}
7262	}
7263
7264	output = &GetDomainOutput{}
7265	req = c.newRequest(op, input, output)
7266	return
7267}
7268
7269// GetDomain API operation for Amazon Lightsail.
7270//
7271// Returns information about a specific domain recordset.
7272//
7273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7274// with awserr.Error's Code and Message methods to get detailed information about
7275// the error.
7276//
7277// See the AWS API reference guide for Amazon Lightsail's
7278// API operation GetDomain for usage and error information.
7279//
7280// Returned Error Types:
7281//   * ServiceException
7282//   A general service exception.
7283//
7284//   * InvalidInputException
7285//   Lightsail throws this exception when user input does not conform to the validation
7286//   rules of an input field.
7287//
7288//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7289//   Please set your AWS Region configuration to us-east-1 to create, view, or
7290//   edit these resources.
7291//
7292//   * NotFoundException
7293//   Lightsail throws this exception when it cannot find a resource.
7294//
7295//   * OperationFailureException
7296//   Lightsail throws this exception when an operation fails to execute.
7297//
7298//   * AccessDeniedException
7299//   Lightsail throws this exception when the user cannot be authenticated or
7300//   uses invalid credentials to access a resource.
7301//
7302//   * AccountSetupInProgressException
7303//   Lightsail throws this exception when an account is still in the setup in
7304//   progress state.
7305//
7306//   * UnauthenticatedException
7307//   Lightsail throws this exception when the user has not been authenticated.
7308//
7309// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
7310func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
7311	req, out := c.GetDomainRequest(input)
7312	return out, req.Send()
7313}
7314
7315// GetDomainWithContext is the same as GetDomain with the addition of
7316// the ability to pass a context and additional request options.
7317//
7318// See GetDomain for details on how to use this API operation.
7319//
7320// The context must be non-nil and will be used for request cancellation. If
7321// the context is nil a panic will occur. In the future the SDK may create
7322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7323// for more information on using Contexts.
7324func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
7325	req, out := c.GetDomainRequest(input)
7326	req.SetContext(ctx)
7327	req.ApplyOptions(opts...)
7328	return out, req.Send()
7329}
7330
7331const opGetDomains = "GetDomains"
7332
7333// GetDomainsRequest generates a "aws/request.Request" representing the
7334// client's request for the GetDomains operation. The "output" return
7335// value will be populated with the request's response once the request completes
7336// successfully.
7337//
7338// Use "Send" method on the returned Request to send the API call to the service.
7339// the "output" return value is not valid until after Send returns without error.
7340//
7341// See GetDomains for more information on using the GetDomains
7342// API call, and error handling.
7343//
7344// This method is useful when you want to inject custom logic or configuration
7345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7346//
7347//
7348//    // Example sending a request using the GetDomainsRequest method.
7349//    req, resp := client.GetDomainsRequest(params)
7350//
7351//    err := req.Send()
7352//    if err == nil { // resp is now filled
7353//        fmt.Println(resp)
7354//    }
7355//
7356// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
7357func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
7358	op := &request.Operation{
7359		Name:       opGetDomains,
7360		HTTPMethod: "POST",
7361		HTTPPath:   "/",
7362	}
7363
7364	if input == nil {
7365		input = &GetDomainsInput{}
7366	}
7367
7368	output = &GetDomainsOutput{}
7369	req = c.newRequest(op, input, output)
7370	return
7371}
7372
7373// GetDomains API operation for Amazon Lightsail.
7374//
7375// Returns a list of all domains in the user's account.
7376//
7377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7378// with awserr.Error's Code and Message methods to get detailed information about
7379// the error.
7380//
7381// See the AWS API reference guide for Amazon Lightsail's
7382// API operation GetDomains for usage and error information.
7383//
7384// Returned Error Types:
7385//   * ServiceException
7386//   A general service exception.
7387//
7388//   * InvalidInputException
7389//   Lightsail throws this exception when user input does not conform to the validation
7390//   rules of an input field.
7391//
7392//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7393//   Please set your AWS Region configuration to us-east-1 to create, view, or
7394//   edit these resources.
7395//
7396//   * NotFoundException
7397//   Lightsail throws this exception when it cannot find a resource.
7398//
7399//   * OperationFailureException
7400//   Lightsail throws this exception when an operation fails to execute.
7401//
7402//   * AccessDeniedException
7403//   Lightsail throws this exception when the user cannot be authenticated or
7404//   uses invalid credentials to access a resource.
7405//
7406//   * AccountSetupInProgressException
7407//   Lightsail throws this exception when an account is still in the setup in
7408//   progress state.
7409//
7410//   * UnauthenticatedException
7411//   Lightsail throws this exception when the user has not been authenticated.
7412//
7413// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
7414func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
7415	req, out := c.GetDomainsRequest(input)
7416	return out, req.Send()
7417}
7418
7419// GetDomainsWithContext is the same as GetDomains with the addition of
7420// the ability to pass a context and additional request options.
7421//
7422// See GetDomains for details on how to use this API operation.
7423//
7424// The context must be non-nil and will be used for request cancellation. If
7425// the context is nil a panic will occur. In the future the SDK may create
7426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7427// for more information on using Contexts.
7428func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
7429	req, out := c.GetDomainsRequest(input)
7430	req.SetContext(ctx)
7431	req.ApplyOptions(opts...)
7432	return out, req.Send()
7433}
7434
7435const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
7436
7437// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
7438// client's request for the GetExportSnapshotRecords operation. The "output" return
7439// value will be populated with the request's response once the request completes
7440// successfully.
7441//
7442// Use "Send" method on the returned Request to send the API call to the service.
7443// the "output" return value is not valid until after Send returns without error.
7444//
7445// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
7446// API call, and error handling.
7447//
7448// This method is useful when you want to inject custom logic or configuration
7449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7450//
7451//
7452//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
7453//    req, resp := client.GetExportSnapshotRecordsRequest(params)
7454//
7455//    err := req.Send()
7456//    if err == nil { // resp is now filled
7457//        fmt.Println(resp)
7458//    }
7459//
7460// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
7461func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
7462	op := &request.Operation{
7463		Name:       opGetExportSnapshotRecords,
7464		HTTPMethod: "POST",
7465		HTTPPath:   "/",
7466	}
7467
7468	if input == nil {
7469		input = &GetExportSnapshotRecordsInput{}
7470	}
7471
7472	output = &GetExportSnapshotRecordsOutput{}
7473	req = c.newRequest(op, input, output)
7474	return
7475}
7476
7477// GetExportSnapshotRecords API operation for Amazon Lightsail.
7478//
7479// Returns the export snapshot record created as a result of the export snapshot
7480// operation.
7481//
7482// An export snapshot record can be used to create a new Amazon EC2 instance
7483// and its related resources with the create cloud formation stack operation.
7484//
7485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7486// with awserr.Error's Code and Message methods to get detailed information about
7487// the error.
7488//
7489// See the AWS API reference guide for Amazon Lightsail's
7490// API operation GetExportSnapshotRecords for usage and error information.
7491//
7492// Returned Error Types:
7493//   * ServiceException
7494//   A general service exception.
7495//
7496//   * InvalidInputException
7497//   Lightsail throws this exception when user input does not conform to the validation
7498//   rules of an input field.
7499//
7500//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7501//   Please set your AWS Region configuration to us-east-1 to create, view, or
7502//   edit these resources.
7503//
7504//   * NotFoundException
7505//   Lightsail throws this exception when it cannot find a resource.
7506//
7507//   * OperationFailureException
7508//   Lightsail throws this exception when an operation fails to execute.
7509//
7510//   * AccessDeniedException
7511//   Lightsail throws this exception when the user cannot be authenticated or
7512//   uses invalid credentials to access a resource.
7513//
7514//   * AccountSetupInProgressException
7515//   Lightsail throws this exception when an account is still in the setup in
7516//   progress state.
7517//
7518//   * UnauthenticatedException
7519//   Lightsail throws this exception when the user has not been authenticated.
7520//
7521// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
7522func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
7523	req, out := c.GetExportSnapshotRecordsRequest(input)
7524	return out, req.Send()
7525}
7526
7527// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
7528// the ability to pass a context and additional request options.
7529//
7530// See GetExportSnapshotRecords for details on how to use this API operation.
7531//
7532// The context must be non-nil and will be used for request cancellation. If
7533// the context is nil a panic will occur. In the future the SDK may create
7534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7535// for more information on using Contexts.
7536func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
7537	req, out := c.GetExportSnapshotRecordsRequest(input)
7538	req.SetContext(ctx)
7539	req.ApplyOptions(opts...)
7540	return out, req.Send()
7541}
7542
7543const opGetInstance = "GetInstance"
7544
7545// GetInstanceRequest generates a "aws/request.Request" representing the
7546// client's request for the GetInstance operation. The "output" return
7547// value will be populated with the request's response once the request completes
7548// successfully.
7549//
7550// Use "Send" method on the returned Request to send the API call to the service.
7551// the "output" return value is not valid until after Send returns without error.
7552//
7553// See GetInstance for more information on using the GetInstance
7554// API call, and error handling.
7555//
7556// This method is useful when you want to inject custom logic or configuration
7557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7558//
7559//
7560//    // Example sending a request using the GetInstanceRequest method.
7561//    req, resp := client.GetInstanceRequest(params)
7562//
7563//    err := req.Send()
7564//    if err == nil { // resp is now filled
7565//        fmt.Println(resp)
7566//    }
7567//
7568// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
7569func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
7570	op := &request.Operation{
7571		Name:       opGetInstance,
7572		HTTPMethod: "POST",
7573		HTTPPath:   "/",
7574	}
7575
7576	if input == nil {
7577		input = &GetInstanceInput{}
7578	}
7579
7580	output = &GetInstanceOutput{}
7581	req = c.newRequest(op, input, output)
7582	return
7583}
7584
7585// GetInstance API operation for Amazon Lightsail.
7586//
7587// Returns information about a specific Amazon Lightsail instance, which is
7588// a virtual private server.
7589//
7590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7591// with awserr.Error's Code and Message methods to get detailed information about
7592// the error.
7593//
7594// See the AWS API reference guide for Amazon Lightsail's
7595// API operation GetInstance for usage and error information.
7596//
7597// Returned Error Types:
7598//   * ServiceException
7599//   A general service exception.
7600//
7601//   * InvalidInputException
7602//   Lightsail throws this exception when user input does not conform to the validation
7603//   rules of an input field.
7604//
7605//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7606//   Please set your AWS Region configuration to us-east-1 to create, view, or
7607//   edit these resources.
7608//
7609//   * NotFoundException
7610//   Lightsail throws this exception when it cannot find a resource.
7611//
7612//   * OperationFailureException
7613//   Lightsail throws this exception when an operation fails to execute.
7614//
7615//   * AccessDeniedException
7616//   Lightsail throws this exception when the user cannot be authenticated or
7617//   uses invalid credentials to access a resource.
7618//
7619//   * AccountSetupInProgressException
7620//   Lightsail throws this exception when an account is still in the setup in
7621//   progress state.
7622//
7623//   * UnauthenticatedException
7624//   Lightsail throws this exception when the user has not been authenticated.
7625//
7626// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
7627func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
7628	req, out := c.GetInstanceRequest(input)
7629	return out, req.Send()
7630}
7631
7632// GetInstanceWithContext is the same as GetInstance with the addition of
7633// the ability to pass a context and additional request options.
7634//
7635// See GetInstance for details on how to use this API operation.
7636//
7637// The context must be non-nil and will be used for request cancellation. If
7638// the context is nil a panic will occur. In the future the SDK may create
7639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7640// for more information on using Contexts.
7641func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
7642	req, out := c.GetInstanceRequest(input)
7643	req.SetContext(ctx)
7644	req.ApplyOptions(opts...)
7645	return out, req.Send()
7646}
7647
7648const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
7649
7650// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
7651// client's request for the GetInstanceAccessDetails operation. The "output" return
7652// value will be populated with the request's response once the request completes
7653// successfully.
7654//
7655// Use "Send" method on the returned Request to send the API call to the service.
7656// the "output" return value is not valid until after Send returns without error.
7657//
7658// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
7659// API call, and error handling.
7660//
7661// This method is useful when you want to inject custom logic or configuration
7662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7663//
7664//
7665//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
7666//    req, resp := client.GetInstanceAccessDetailsRequest(params)
7667//
7668//    err := req.Send()
7669//    if err == nil { // resp is now filled
7670//        fmt.Println(resp)
7671//    }
7672//
7673// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
7674func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
7675	op := &request.Operation{
7676		Name:       opGetInstanceAccessDetails,
7677		HTTPMethod: "POST",
7678		HTTPPath:   "/",
7679	}
7680
7681	if input == nil {
7682		input = &GetInstanceAccessDetailsInput{}
7683	}
7684
7685	output = &GetInstanceAccessDetailsOutput{}
7686	req = c.newRequest(op, input, output)
7687	return
7688}
7689
7690// GetInstanceAccessDetails API operation for Amazon Lightsail.
7691//
7692// Returns temporary SSH keys you can use to connect to a specific virtual private
7693// server, or instance.
7694//
7695// The get instance access details operation supports tag-based access control
7696// via resource tags applied to the resource identified by instance name. For
7697// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
7698//
7699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7700// with awserr.Error's Code and Message methods to get detailed information about
7701// the error.
7702//
7703// See the AWS API reference guide for Amazon Lightsail's
7704// API operation GetInstanceAccessDetails for usage and error information.
7705//
7706// Returned Error Types:
7707//   * ServiceException
7708//   A general service exception.
7709//
7710//   * InvalidInputException
7711//   Lightsail throws this exception when user input does not conform to the validation
7712//   rules of an input field.
7713//
7714//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7715//   Please set your AWS Region configuration to us-east-1 to create, view, or
7716//   edit these resources.
7717//
7718//   * NotFoundException
7719//   Lightsail throws this exception when it cannot find a resource.
7720//
7721//   * OperationFailureException
7722//   Lightsail throws this exception when an operation fails to execute.
7723//
7724//   * AccessDeniedException
7725//   Lightsail throws this exception when the user cannot be authenticated or
7726//   uses invalid credentials to access a resource.
7727//
7728//   * AccountSetupInProgressException
7729//   Lightsail throws this exception when an account is still in the setup in
7730//   progress state.
7731//
7732//   * UnauthenticatedException
7733//   Lightsail throws this exception when the user has not been authenticated.
7734//
7735// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
7736func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
7737	req, out := c.GetInstanceAccessDetailsRequest(input)
7738	return out, req.Send()
7739}
7740
7741// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
7742// the ability to pass a context and additional request options.
7743//
7744// See GetInstanceAccessDetails for details on how to use this API operation.
7745//
7746// The context must be non-nil and will be used for request cancellation. If
7747// the context is nil a panic will occur. In the future the SDK may create
7748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7749// for more information on using Contexts.
7750func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
7751	req, out := c.GetInstanceAccessDetailsRequest(input)
7752	req.SetContext(ctx)
7753	req.ApplyOptions(opts...)
7754	return out, req.Send()
7755}
7756
7757const opGetInstanceMetricData = "GetInstanceMetricData"
7758
7759// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
7760// client's request for the GetInstanceMetricData operation. The "output" return
7761// value will be populated with the request's response once the request completes
7762// successfully.
7763//
7764// Use "Send" method on the returned Request to send the API call to the service.
7765// the "output" return value is not valid until after Send returns without error.
7766//
7767// See GetInstanceMetricData for more information on using the GetInstanceMetricData
7768// API call, and error handling.
7769//
7770// This method is useful when you want to inject custom logic or configuration
7771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7772//
7773//
7774//    // Example sending a request using the GetInstanceMetricDataRequest method.
7775//    req, resp := client.GetInstanceMetricDataRequest(params)
7776//
7777//    err := req.Send()
7778//    if err == nil { // resp is now filled
7779//        fmt.Println(resp)
7780//    }
7781//
7782// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
7783func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
7784	op := &request.Operation{
7785		Name:       opGetInstanceMetricData,
7786		HTTPMethod: "POST",
7787		HTTPPath:   "/",
7788	}
7789
7790	if input == nil {
7791		input = &GetInstanceMetricDataInput{}
7792	}
7793
7794	output = &GetInstanceMetricDataOutput{}
7795	req = c.newRequest(op, input, output)
7796	return
7797}
7798
7799// GetInstanceMetricData API operation for Amazon Lightsail.
7800//
7801// Returns the data points for the specified Amazon Lightsail instance metric,
7802// given an instance name.
7803//
7804// Metrics report the utilization of your resources, and the error counts generated
7805// by them. Monitor and collect metric data regularly to maintain the reliability,
7806// availability, and performance of your resources.
7807//
7808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7809// with awserr.Error's Code and Message methods to get detailed information about
7810// the error.
7811//
7812// See the AWS API reference guide for Amazon Lightsail's
7813// API operation GetInstanceMetricData for usage and error information.
7814//
7815// Returned Error Types:
7816//   * ServiceException
7817//   A general service exception.
7818//
7819//   * InvalidInputException
7820//   Lightsail throws this exception when user input does not conform to the validation
7821//   rules of an input field.
7822//
7823//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7824//   Please set your AWS Region configuration to us-east-1 to create, view, or
7825//   edit these resources.
7826//
7827//   * NotFoundException
7828//   Lightsail throws this exception when it cannot find a resource.
7829//
7830//   * OperationFailureException
7831//   Lightsail throws this exception when an operation fails to execute.
7832//
7833//   * AccessDeniedException
7834//   Lightsail throws this exception when the user cannot be authenticated or
7835//   uses invalid credentials to access a resource.
7836//
7837//   * AccountSetupInProgressException
7838//   Lightsail throws this exception when an account is still in the setup in
7839//   progress state.
7840//
7841//   * UnauthenticatedException
7842//   Lightsail throws this exception when the user has not been authenticated.
7843//
7844// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
7845func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
7846	req, out := c.GetInstanceMetricDataRequest(input)
7847	return out, req.Send()
7848}
7849
7850// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
7851// the ability to pass a context and additional request options.
7852//
7853// See GetInstanceMetricData for details on how to use this API operation.
7854//
7855// The context must be non-nil and will be used for request cancellation. If
7856// the context is nil a panic will occur. In the future the SDK may create
7857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7858// for more information on using Contexts.
7859func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
7860	req, out := c.GetInstanceMetricDataRequest(input)
7861	req.SetContext(ctx)
7862	req.ApplyOptions(opts...)
7863	return out, req.Send()
7864}
7865
7866const opGetInstancePortStates = "GetInstancePortStates"
7867
7868// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
7869// client's request for the GetInstancePortStates operation. The "output" return
7870// value will be populated with the request's response once the request completes
7871// successfully.
7872//
7873// Use "Send" method on the returned Request to send the API call to the service.
7874// the "output" return value is not valid until after Send returns without error.
7875//
7876// See GetInstancePortStates for more information on using the GetInstancePortStates
7877// API call, and error handling.
7878//
7879// This method is useful when you want to inject custom logic or configuration
7880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7881//
7882//
7883//    // Example sending a request using the GetInstancePortStatesRequest method.
7884//    req, resp := client.GetInstancePortStatesRequest(params)
7885//
7886//    err := req.Send()
7887//    if err == nil { // resp is now filled
7888//        fmt.Println(resp)
7889//    }
7890//
7891// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
7892func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
7893	op := &request.Operation{
7894		Name:       opGetInstancePortStates,
7895		HTTPMethod: "POST",
7896		HTTPPath:   "/",
7897	}
7898
7899	if input == nil {
7900		input = &GetInstancePortStatesInput{}
7901	}
7902
7903	output = &GetInstancePortStatesOutput{}
7904	req = c.newRequest(op, input, output)
7905	return
7906}
7907
7908// GetInstancePortStates API operation for Amazon Lightsail.
7909//
7910// Returns the firewall port states for a specific Amazon Lightsail instance,
7911// the IP addresses allowed to connect to the instance through the ports, and
7912// the protocol.
7913//
7914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7915// with awserr.Error's Code and Message methods to get detailed information about
7916// the error.
7917//
7918// See the AWS API reference guide for Amazon Lightsail's
7919// API operation GetInstancePortStates for usage and error information.
7920//
7921// Returned Error Types:
7922//   * ServiceException
7923//   A general service exception.
7924//
7925//   * InvalidInputException
7926//   Lightsail throws this exception when user input does not conform to the validation
7927//   rules of an input field.
7928//
7929//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7930//   Please set your AWS Region configuration to us-east-1 to create, view, or
7931//   edit these resources.
7932//
7933//   * NotFoundException
7934//   Lightsail throws this exception when it cannot find a resource.
7935//
7936//   * OperationFailureException
7937//   Lightsail throws this exception when an operation fails to execute.
7938//
7939//   * AccessDeniedException
7940//   Lightsail throws this exception when the user cannot be authenticated or
7941//   uses invalid credentials to access a resource.
7942//
7943//   * AccountSetupInProgressException
7944//   Lightsail throws this exception when an account is still in the setup in
7945//   progress state.
7946//
7947//   * UnauthenticatedException
7948//   Lightsail throws this exception when the user has not been authenticated.
7949//
7950// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
7951func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
7952	req, out := c.GetInstancePortStatesRequest(input)
7953	return out, req.Send()
7954}
7955
7956// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
7957// the ability to pass a context and additional request options.
7958//
7959// See GetInstancePortStates for details on how to use this API operation.
7960//
7961// The context must be non-nil and will be used for request cancellation. If
7962// the context is nil a panic will occur. In the future the SDK may create
7963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7964// for more information on using Contexts.
7965func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
7966	req, out := c.GetInstancePortStatesRequest(input)
7967	req.SetContext(ctx)
7968	req.ApplyOptions(opts...)
7969	return out, req.Send()
7970}
7971
7972const opGetInstanceSnapshot = "GetInstanceSnapshot"
7973
7974// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
7975// client's request for the GetInstanceSnapshot operation. The "output" return
7976// value will be populated with the request's response once the request completes
7977// successfully.
7978//
7979// Use "Send" method on the returned Request to send the API call to the service.
7980// the "output" return value is not valid until after Send returns without error.
7981//
7982// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
7983// API call, and error handling.
7984//
7985// This method is useful when you want to inject custom logic or configuration
7986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7987//
7988//
7989//    // Example sending a request using the GetInstanceSnapshotRequest method.
7990//    req, resp := client.GetInstanceSnapshotRequest(params)
7991//
7992//    err := req.Send()
7993//    if err == nil { // resp is now filled
7994//        fmt.Println(resp)
7995//    }
7996//
7997// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
7998func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
7999	op := &request.Operation{
8000		Name:       opGetInstanceSnapshot,
8001		HTTPMethod: "POST",
8002		HTTPPath:   "/",
8003	}
8004
8005	if input == nil {
8006		input = &GetInstanceSnapshotInput{}
8007	}
8008
8009	output = &GetInstanceSnapshotOutput{}
8010	req = c.newRequest(op, input, output)
8011	return
8012}
8013
8014// GetInstanceSnapshot API operation for Amazon Lightsail.
8015//
8016// Returns information about a specific instance snapshot.
8017//
8018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8019// with awserr.Error's Code and Message methods to get detailed information about
8020// the error.
8021//
8022// See the AWS API reference guide for Amazon Lightsail's
8023// API operation GetInstanceSnapshot for usage and error information.
8024//
8025// Returned Error Types:
8026//   * ServiceException
8027//   A general service exception.
8028//
8029//   * InvalidInputException
8030//   Lightsail throws this exception when user input does not conform to the validation
8031//   rules of an input field.
8032//
8033//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8034//   Please set your AWS Region configuration to us-east-1 to create, view, or
8035//   edit these resources.
8036//
8037//   * NotFoundException
8038//   Lightsail throws this exception when it cannot find a resource.
8039//
8040//   * OperationFailureException
8041//   Lightsail throws this exception when an operation fails to execute.
8042//
8043//   * AccessDeniedException
8044//   Lightsail throws this exception when the user cannot be authenticated or
8045//   uses invalid credentials to access a resource.
8046//
8047//   * AccountSetupInProgressException
8048//   Lightsail throws this exception when an account is still in the setup in
8049//   progress state.
8050//
8051//   * UnauthenticatedException
8052//   Lightsail throws this exception when the user has not been authenticated.
8053//
8054// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
8055func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
8056	req, out := c.GetInstanceSnapshotRequest(input)
8057	return out, req.Send()
8058}
8059
8060// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
8061// the ability to pass a context and additional request options.
8062//
8063// See GetInstanceSnapshot for details on how to use this API operation.
8064//
8065// The context must be non-nil and will be used for request cancellation. If
8066// the context is nil a panic will occur. In the future the SDK may create
8067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8068// for more information on using Contexts.
8069func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
8070	req, out := c.GetInstanceSnapshotRequest(input)
8071	req.SetContext(ctx)
8072	req.ApplyOptions(opts...)
8073	return out, req.Send()
8074}
8075
8076const opGetInstanceSnapshots = "GetInstanceSnapshots"
8077
8078// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
8079// client's request for the GetInstanceSnapshots operation. The "output" return
8080// value will be populated with the request's response once the request completes
8081// successfully.
8082//
8083// Use "Send" method on the returned Request to send the API call to the service.
8084// the "output" return value is not valid until after Send returns without error.
8085//
8086// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
8087// API call, and error handling.
8088//
8089// This method is useful when you want to inject custom logic or configuration
8090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8091//
8092//
8093//    // Example sending a request using the GetInstanceSnapshotsRequest method.
8094//    req, resp := client.GetInstanceSnapshotsRequest(params)
8095//
8096//    err := req.Send()
8097//    if err == nil { // resp is now filled
8098//        fmt.Println(resp)
8099//    }
8100//
8101// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
8102func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
8103	op := &request.Operation{
8104		Name:       opGetInstanceSnapshots,
8105		HTTPMethod: "POST",
8106		HTTPPath:   "/",
8107	}
8108
8109	if input == nil {
8110		input = &GetInstanceSnapshotsInput{}
8111	}
8112
8113	output = &GetInstanceSnapshotsOutput{}
8114	req = c.newRequest(op, input, output)
8115	return
8116}
8117
8118// GetInstanceSnapshots API operation for Amazon Lightsail.
8119//
8120// Returns all instance snapshots for the user's account.
8121//
8122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8123// with awserr.Error's Code and Message methods to get detailed information about
8124// the error.
8125//
8126// See the AWS API reference guide for Amazon Lightsail's
8127// API operation GetInstanceSnapshots for usage and error information.
8128//
8129// Returned Error Types:
8130//   * ServiceException
8131//   A general service exception.
8132//
8133//   * InvalidInputException
8134//   Lightsail throws this exception when user input does not conform to the validation
8135//   rules of an input field.
8136//
8137//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8138//   Please set your AWS Region configuration to us-east-1 to create, view, or
8139//   edit these resources.
8140//
8141//   * NotFoundException
8142//   Lightsail throws this exception when it cannot find a resource.
8143//
8144//   * OperationFailureException
8145//   Lightsail throws this exception when an operation fails to execute.
8146//
8147//   * AccessDeniedException
8148//   Lightsail throws this exception when the user cannot be authenticated or
8149//   uses invalid credentials to access a resource.
8150//
8151//   * AccountSetupInProgressException
8152//   Lightsail throws this exception when an account is still in the setup in
8153//   progress state.
8154//
8155//   * UnauthenticatedException
8156//   Lightsail throws this exception when the user has not been authenticated.
8157//
8158// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
8159func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
8160	req, out := c.GetInstanceSnapshotsRequest(input)
8161	return out, req.Send()
8162}
8163
8164// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
8165// the ability to pass a context and additional request options.
8166//
8167// See GetInstanceSnapshots for details on how to use this API operation.
8168//
8169// The context must be non-nil and will be used for request cancellation. If
8170// the context is nil a panic will occur. In the future the SDK may create
8171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8172// for more information on using Contexts.
8173func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
8174	req, out := c.GetInstanceSnapshotsRequest(input)
8175	req.SetContext(ctx)
8176	req.ApplyOptions(opts...)
8177	return out, req.Send()
8178}
8179
8180const opGetInstanceState = "GetInstanceState"
8181
8182// GetInstanceStateRequest generates a "aws/request.Request" representing the
8183// client's request for the GetInstanceState operation. The "output" return
8184// value will be populated with the request's response once the request completes
8185// successfully.
8186//
8187// Use "Send" method on the returned Request to send the API call to the service.
8188// the "output" return value is not valid until after Send returns without error.
8189//
8190// See GetInstanceState for more information on using the GetInstanceState
8191// API call, and error handling.
8192//
8193// This method is useful when you want to inject custom logic or configuration
8194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8195//
8196//
8197//    // Example sending a request using the GetInstanceStateRequest method.
8198//    req, resp := client.GetInstanceStateRequest(params)
8199//
8200//    err := req.Send()
8201//    if err == nil { // resp is now filled
8202//        fmt.Println(resp)
8203//    }
8204//
8205// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
8206func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
8207	op := &request.Operation{
8208		Name:       opGetInstanceState,
8209		HTTPMethod: "POST",
8210		HTTPPath:   "/",
8211	}
8212
8213	if input == nil {
8214		input = &GetInstanceStateInput{}
8215	}
8216
8217	output = &GetInstanceStateOutput{}
8218	req = c.newRequest(op, input, output)
8219	return
8220}
8221
8222// GetInstanceState API operation for Amazon Lightsail.
8223//
8224// Returns the state of a specific instance. Works on one instance at a time.
8225//
8226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8227// with awserr.Error's Code and Message methods to get detailed information about
8228// the error.
8229//
8230// See the AWS API reference guide for Amazon Lightsail's
8231// API operation GetInstanceState for usage and error information.
8232//
8233// Returned Error Types:
8234//   * ServiceException
8235//   A general service exception.
8236//
8237//   * InvalidInputException
8238//   Lightsail throws this exception when user input does not conform to the validation
8239//   rules of an input field.
8240//
8241//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8242//   Please set your AWS Region configuration to us-east-1 to create, view, or
8243//   edit these resources.
8244//
8245//   * NotFoundException
8246//   Lightsail throws this exception when it cannot find a resource.
8247//
8248//   * OperationFailureException
8249//   Lightsail throws this exception when an operation fails to execute.
8250//
8251//   * AccessDeniedException
8252//   Lightsail throws this exception when the user cannot be authenticated or
8253//   uses invalid credentials to access a resource.
8254//
8255//   * AccountSetupInProgressException
8256//   Lightsail throws this exception when an account is still in the setup in
8257//   progress state.
8258//
8259//   * UnauthenticatedException
8260//   Lightsail throws this exception when the user has not been authenticated.
8261//
8262// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
8263func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
8264	req, out := c.GetInstanceStateRequest(input)
8265	return out, req.Send()
8266}
8267
8268// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
8269// the ability to pass a context and additional request options.
8270//
8271// See GetInstanceState for details on how to use this API operation.
8272//
8273// The context must be non-nil and will be used for request cancellation. If
8274// the context is nil a panic will occur. In the future the SDK may create
8275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8276// for more information on using Contexts.
8277func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
8278	req, out := c.GetInstanceStateRequest(input)
8279	req.SetContext(ctx)
8280	req.ApplyOptions(opts...)
8281	return out, req.Send()
8282}
8283
8284const opGetInstances = "GetInstances"
8285
8286// GetInstancesRequest generates a "aws/request.Request" representing the
8287// client's request for the GetInstances operation. The "output" return
8288// value will be populated with the request's response once the request completes
8289// successfully.
8290//
8291// Use "Send" method on the returned Request to send the API call to the service.
8292// the "output" return value is not valid until after Send returns without error.
8293//
8294// See GetInstances for more information on using the GetInstances
8295// API call, and error handling.
8296//
8297// This method is useful when you want to inject custom logic or configuration
8298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8299//
8300//
8301//    // Example sending a request using the GetInstancesRequest method.
8302//    req, resp := client.GetInstancesRequest(params)
8303//
8304//    err := req.Send()
8305//    if err == nil { // resp is now filled
8306//        fmt.Println(resp)
8307//    }
8308//
8309// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
8310func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
8311	op := &request.Operation{
8312		Name:       opGetInstances,
8313		HTTPMethod: "POST",
8314		HTTPPath:   "/",
8315	}
8316
8317	if input == nil {
8318		input = &GetInstancesInput{}
8319	}
8320
8321	output = &GetInstancesOutput{}
8322	req = c.newRequest(op, input, output)
8323	return
8324}
8325
8326// GetInstances API operation for Amazon Lightsail.
8327//
8328// Returns information about all Amazon Lightsail virtual private servers, or
8329// instances.
8330//
8331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8332// with awserr.Error's Code and Message methods to get detailed information about
8333// the error.
8334//
8335// See the AWS API reference guide for Amazon Lightsail's
8336// API operation GetInstances for usage and error information.
8337//
8338// Returned Error Types:
8339//   * ServiceException
8340//   A general service exception.
8341//
8342//   * InvalidInputException
8343//   Lightsail throws this exception when user input does not conform to the validation
8344//   rules of an input field.
8345//
8346//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8347//   Please set your AWS Region configuration to us-east-1 to create, view, or
8348//   edit these resources.
8349//
8350//   * NotFoundException
8351//   Lightsail throws this exception when it cannot find a resource.
8352//
8353//   * OperationFailureException
8354//   Lightsail throws this exception when an operation fails to execute.
8355//
8356//   * AccessDeniedException
8357//   Lightsail throws this exception when the user cannot be authenticated or
8358//   uses invalid credentials to access a resource.
8359//
8360//   * AccountSetupInProgressException
8361//   Lightsail throws this exception when an account is still in the setup in
8362//   progress state.
8363//
8364//   * UnauthenticatedException
8365//   Lightsail throws this exception when the user has not been authenticated.
8366//
8367// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
8368func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
8369	req, out := c.GetInstancesRequest(input)
8370	return out, req.Send()
8371}
8372
8373// GetInstancesWithContext is the same as GetInstances with the addition of
8374// the ability to pass a context and additional request options.
8375//
8376// See GetInstances for details on how to use this API operation.
8377//
8378// The context must be non-nil and will be used for request cancellation. If
8379// the context is nil a panic will occur. In the future the SDK may create
8380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8381// for more information on using Contexts.
8382func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
8383	req, out := c.GetInstancesRequest(input)
8384	req.SetContext(ctx)
8385	req.ApplyOptions(opts...)
8386	return out, req.Send()
8387}
8388
8389const opGetKeyPair = "GetKeyPair"
8390
8391// GetKeyPairRequest generates a "aws/request.Request" representing the
8392// client's request for the GetKeyPair operation. The "output" return
8393// value will be populated with the request's response once the request completes
8394// successfully.
8395//
8396// Use "Send" method on the returned Request to send the API call to the service.
8397// the "output" return value is not valid until after Send returns without error.
8398//
8399// See GetKeyPair for more information on using the GetKeyPair
8400// API call, and error handling.
8401//
8402// This method is useful when you want to inject custom logic or configuration
8403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8404//
8405//
8406//    // Example sending a request using the GetKeyPairRequest method.
8407//    req, resp := client.GetKeyPairRequest(params)
8408//
8409//    err := req.Send()
8410//    if err == nil { // resp is now filled
8411//        fmt.Println(resp)
8412//    }
8413//
8414// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
8415func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
8416	op := &request.Operation{
8417		Name:       opGetKeyPair,
8418		HTTPMethod: "POST",
8419		HTTPPath:   "/",
8420	}
8421
8422	if input == nil {
8423		input = &GetKeyPairInput{}
8424	}
8425
8426	output = &GetKeyPairOutput{}
8427	req = c.newRequest(op, input, output)
8428	return
8429}
8430
8431// GetKeyPair API operation for Amazon Lightsail.
8432//
8433// Returns information about a specific key pair.
8434//
8435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8436// with awserr.Error's Code and Message methods to get detailed information about
8437// the error.
8438//
8439// See the AWS API reference guide for Amazon Lightsail's
8440// API operation GetKeyPair for usage and error information.
8441//
8442// Returned Error Types:
8443//   * ServiceException
8444//   A general service exception.
8445//
8446//   * InvalidInputException
8447//   Lightsail throws this exception when user input does not conform to the validation
8448//   rules of an input field.
8449//
8450//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8451//   Please set your AWS Region configuration to us-east-1 to create, view, or
8452//   edit these resources.
8453//
8454//   * NotFoundException
8455//   Lightsail throws this exception when it cannot find a resource.
8456//
8457//   * OperationFailureException
8458//   Lightsail throws this exception when an operation fails to execute.
8459//
8460//   * AccessDeniedException
8461//   Lightsail throws this exception when the user cannot be authenticated or
8462//   uses invalid credentials to access a resource.
8463//
8464//   * AccountSetupInProgressException
8465//   Lightsail throws this exception when an account is still in the setup in
8466//   progress state.
8467//
8468//   * UnauthenticatedException
8469//   Lightsail throws this exception when the user has not been authenticated.
8470//
8471// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
8472func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
8473	req, out := c.GetKeyPairRequest(input)
8474	return out, req.Send()
8475}
8476
8477// GetKeyPairWithContext is the same as GetKeyPair with the addition of
8478// the ability to pass a context and additional request options.
8479//
8480// See GetKeyPair for details on how to use this API operation.
8481//
8482// The context must be non-nil and will be used for request cancellation. If
8483// the context is nil a panic will occur. In the future the SDK may create
8484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8485// for more information on using Contexts.
8486func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
8487	req, out := c.GetKeyPairRequest(input)
8488	req.SetContext(ctx)
8489	req.ApplyOptions(opts...)
8490	return out, req.Send()
8491}
8492
8493const opGetKeyPairs = "GetKeyPairs"
8494
8495// GetKeyPairsRequest generates a "aws/request.Request" representing the
8496// client's request for the GetKeyPairs operation. The "output" return
8497// value will be populated with the request's response once the request completes
8498// successfully.
8499//
8500// Use "Send" method on the returned Request to send the API call to the service.
8501// the "output" return value is not valid until after Send returns without error.
8502//
8503// See GetKeyPairs for more information on using the GetKeyPairs
8504// API call, and error handling.
8505//
8506// This method is useful when you want to inject custom logic or configuration
8507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8508//
8509//
8510//    // Example sending a request using the GetKeyPairsRequest method.
8511//    req, resp := client.GetKeyPairsRequest(params)
8512//
8513//    err := req.Send()
8514//    if err == nil { // resp is now filled
8515//        fmt.Println(resp)
8516//    }
8517//
8518// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
8519func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
8520	op := &request.Operation{
8521		Name:       opGetKeyPairs,
8522		HTTPMethod: "POST",
8523		HTTPPath:   "/",
8524	}
8525
8526	if input == nil {
8527		input = &GetKeyPairsInput{}
8528	}
8529
8530	output = &GetKeyPairsOutput{}
8531	req = c.newRequest(op, input, output)
8532	return
8533}
8534
8535// GetKeyPairs API operation for Amazon Lightsail.
8536//
8537// Returns information about all key pairs in the user's account.
8538//
8539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8540// with awserr.Error's Code and Message methods to get detailed information about
8541// the error.
8542//
8543// See the AWS API reference guide for Amazon Lightsail's
8544// API operation GetKeyPairs for usage and error information.
8545//
8546// Returned Error Types:
8547//   * ServiceException
8548//   A general service exception.
8549//
8550//   * InvalidInputException
8551//   Lightsail throws this exception when user input does not conform to the validation
8552//   rules of an input field.
8553//
8554//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8555//   Please set your AWS Region configuration to us-east-1 to create, view, or
8556//   edit these resources.
8557//
8558//   * NotFoundException
8559//   Lightsail throws this exception when it cannot find a resource.
8560//
8561//   * OperationFailureException
8562//   Lightsail throws this exception when an operation fails to execute.
8563//
8564//   * AccessDeniedException
8565//   Lightsail throws this exception when the user cannot be authenticated or
8566//   uses invalid credentials to access a resource.
8567//
8568//   * AccountSetupInProgressException
8569//   Lightsail throws this exception when an account is still in the setup in
8570//   progress state.
8571//
8572//   * UnauthenticatedException
8573//   Lightsail throws this exception when the user has not been authenticated.
8574//
8575// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
8576func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
8577	req, out := c.GetKeyPairsRequest(input)
8578	return out, req.Send()
8579}
8580
8581// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
8582// the ability to pass a context and additional request options.
8583//
8584// See GetKeyPairs for details on how to use this API operation.
8585//
8586// The context must be non-nil and will be used for request cancellation. If
8587// the context is nil a panic will occur. In the future the SDK may create
8588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8589// for more information on using Contexts.
8590func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
8591	req, out := c.GetKeyPairsRequest(input)
8592	req.SetContext(ctx)
8593	req.ApplyOptions(opts...)
8594	return out, req.Send()
8595}
8596
8597const opGetLoadBalancer = "GetLoadBalancer"
8598
8599// GetLoadBalancerRequest generates a "aws/request.Request" representing the
8600// client's request for the GetLoadBalancer operation. The "output" return
8601// value will be populated with the request's response once the request completes
8602// successfully.
8603//
8604// Use "Send" method on the returned Request to send the API call to the service.
8605// the "output" return value is not valid until after Send returns without error.
8606//
8607// See GetLoadBalancer for more information on using the GetLoadBalancer
8608// API call, and error handling.
8609//
8610// This method is useful when you want to inject custom logic or configuration
8611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8612//
8613//
8614//    // Example sending a request using the GetLoadBalancerRequest method.
8615//    req, resp := client.GetLoadBalancerRequest(params)
8616//
8617//    err := req.Send()
8618//    if err == nil { // resp is now filled
8619//        fmt.Println(resp)
8620//    }
8621//
8622// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
8623func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
8624	op := &request.Operation{
8625		Name:       opGetLoadBalancer,
8626		HTTPMethod: "POST",
8627		HTTPPath:   "/",
8628	}
8629
8630	if input == nil {
8631		input = &GetLoadBalancerInput{}
8632	}
8633
8634	output = &GetLoadBalancerOutput{}
8635	req = c.newRequest(op, input, output)
8636	return
8637}
8638
8639// GetLoadBalancer API operation for Amazon Lightsail.
8640//
8641// Returns information about the specified Lightsail load balancer.
8642//
8643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8644// with awserr.Error's Code and Message methods to get detailed information about
8645// the error.
8646//
8647// See the AWS API reference guide for Amazon Lightsail's
8648// API operation GetLoadBalancer for usage and error information.
8649//
8650// Returned Error Types:
8651//   * ServiceException
8652//   A general service exception.
8653//
8654//   * InvalidInputException
8655//   Lightsail throws this exception when user input does not conform to the validation
8656//   rules of an input field.
8657//
8658//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8659//   Please set your AWS Region configuration to us-east-1 to create, view, or
8660//   edit these resources.
8661//
8662//   * NotFoundException
8663//   Lightsail throws this exception when it cannot find a resource.
8664//
8665//   * OperationFailureException
8666//   Lightsail throws this exception when an operation fails to execute.
8667//
8668//   * AccessDeniedException
8669//   Lightsail throws this exception when the user cannot be authenticated or
8670//   uses invalid credentials to access a resource.
8671//
8672//   * AccountSetupInProgressException
8673//   Lightsail throws this exception when an account is still in the setup in
8674//   progress state.
8675//
8676//   * UnauthenticatedException
8677//   Lightsail throws this exception when the user has not been authenticated.
8678//
8679// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
8680func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
8681	req, out := c.GetLoadBalancerRequest(input)
8682	return out, req.Send()
8683}
8684
8685// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
8686// the ability to pass a context and additional request options.
8687//
8688// See GetLoadBalancer for details on how to use this API operation.
8689//
8690// The context must be non-nil and will be used for request cancellation. If
8691// the context is nil a panic will occur. In the future the SDK may create
8692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8693// for more information on using Contexts.
8694func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
8695	req, out := c.GetLoadBalancerRequest(input)
8696	req.SetContext(ctx)
8697	req.ApplyOptions(opts...)
8698	return out, req.Send()
8699}
8700
8701const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
8702
8703// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
8704// client's request for the GetLoadBalancerMetricData operation. The "output" return
8705// value will be populated with the request's response once the request completes
8706// successfully.
8707//
8708// Use "Send" method on the returned Request to send the API call to the service.
8709// the "output" return value is not valid until after Send returns without error.
8710//
8711// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
8712// API call, and error handling.
8713//
8714// This method is useful when you want to inject custom logic or configuration
8715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8716//
8717//
8718//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
8719//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
8720//
8721//    err := req.Send()
8722//    if err == nil { // resp is now filled
8723//        fmt.Println(resp)
8724//    }
8725//
8726// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
8727func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
8728	op := &request.Operation{
8729		Name:       opGetLoadBalancerMetricData,
8730		HTTPMethod: "POST",
8731		HTTPPath:   "/",
8732	}
8733
8734	if input == nil {
8735		input = &GetLoadBalancerMetricDataInput{}
8736	}
8737
8738	output = &GetLoadBalancerMetricDataOutput{}
8739	req = c.newRequest(op, input, output)
8740	return
8741}
8742
8743// GetLoadBalancerMetricData API operation for Amazon Lightsail.
8744//
8745// Returns information about health metrics for your Lightsail load balancer.
8746//
8747// Metrics report the utilization of your resources, and the error counts generated
8748// by them. Monitor and collect metric data regularly to maintain the reliability,
8749// availability, and performance of your resources.
8750//
8751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8752// with awserr.Error's Code and Message methods to get detailed information about
8753// the error.
8754//
8755// See the AWS API reference guide for Amazon Lightsail's
8756// API operation GetLoadBalancerMetricData for usage and error information.
8757//
8758// Returned Error Types:
8759//   * ServiceException
8760//   A general service exception.
8761//
8762//   * InvalidInputException
8763//   Lightsail throws this exception when user input does not conform to the validation
8764//   rules of an input field.
8765//
8766//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8767//   Please set your AWS Region configuration to us-east-1 to create, view, or
8768//   edit these resources.
8769//
8770//   * NotFoundException
8771//   Lightsail throws this exception when it cannot find a resource.
8772//
8773//   * OperationFailureException
8774//   Lightsail throws this exception when an operation fails to execute.
8775//
8776//   * AccessDeniedException
8777//   Lightsail throws this exception when the user cannot be authenticated or
8778//   uses invalid credentials to access a resource.
8779//
8780//   * AccountSetupInProgressException
8781//   Lightsail throws this exception when an account is still in the setup in
8782//   progress state.
8783//
8784//   * UnauthenticatedException
8785//   Lightsail throws this exception when the user has not been authenticated.
8786//
8787// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
8788func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
8789	req, out := c.GetLoadBalancerMetricDataRequest(input)
8790	return out, req.Send()
8791}
8792
8793// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
8794// the ability to pass a context and additional request options.
8795//
8796// See GetLoadBalancerMetricData for details on how to use this API operation.
8797//
8798// The context must be non-nil and will be used for request cancellation. If
8799// the context is nil a panic will occur. In the future the SDK may create
8800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8801// for more information on using Contexts.
8802func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
8803	req, out := c.GetLoadBalancerMetricDataRequest(input)
8804	req.SetContext(ctx)
8805	req.ApplyOptions(opts...)
8806	return out, req.Send()
8807}
8808
8809const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
8810
8811// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
8812// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
8813// value will be populated with the request's response once the request completes
8814// successfully.
8815//
8816// Use "Send" method on the returned Request to send the API call to the service.
8817// the "output" return value is not valid until after Send returns without error.
8818//
8819// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
8820// API call, and error handling.
8821//
8822// This method is useful when you want to inject custom logic or configuration
8823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8824//
8825//
8826//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
8827//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
8828//
8829//    err := req.Send()
8830//    if err == nil { // resp is now filled
8831//        fmt.Println(resp)
8832//    }
8833//
8834// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
8835func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
8836	op := &request.Operation{
8837		Name:       opGetLoadBalancerTlsCertificates,
8838		HTTPMethod: "POST",
8839		HTTPPath:   "/",
8840	}
8841
8842	if input == nil {
8843		input = &GetLoadBalancerTlsCertificatesInput{}
8844	}
8845
8846	output = &GetLoadBalancerTlsCertificatesOutput{}
8847	req = c.newRequest(op, input, output)
8848	return
8849}
8850
8851// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
8852//
8853// Returns information about the TLS certificates that are associated with the
8854// specified Lightsail load balancer.
8855//
8856// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
8857//
8858// You can have a maximum of 2 certificates associated with a Lightsail load
8859// balancer. One is active and the other is inactive.
8860//
8861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8862// with awserr.Error's Code and Message methods to get detailed information about
8863// the error.
8864//
8865// See the AWS API reference guide for Amazon Lightsail's
8866// API operation GetLoadBalancerTlsCertificates for usage and error information.
8867//
8868// Returned Error Types:
8869//   * ServiceException
8870//   A general service exception.
8871//
8872//   * InvalidInputException
8873//   Lightsail throws this exception when user input does not conform to the validation
8874//   rules of an input field.
8875//
8876//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8877//   Please set your AWS Region configuration to us-east-1 to create, view, or
8878//   edit these resources.
8879//
8880//   * NotFoundException
8881//   Lightsail throws this exception when it cannot find a resource.
8882//
8883//   * OperationFailureException
8884//   Lightsail throws this exception when an operation fails to execute.
8885//
8886//   * AccessDeniedException
8887//   Lightsail throws this exception when the user cannot be authenticated or
8888//   uses invalid credentials to access a resource.
8889//
8890//   * AccountSetupInProgressException
8891//   Lightsail throws this exception when an account is still in the setup in
8892//   progress state.
8893//
8894//   * UnauthenticatedException
8895//   Lightsail throws this exception when the user has not been authenticated.
8896//
8897// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
8898func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
8899	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
8900	return out, req.Send()
8901}
8902
8903// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
8904// the ability to pass a context and additional request options.
8905//
8906// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
8907//
8908// The context must be non-nil and will be used for request cancellation. If
8909// the context is nil a panic will occur. In the future the SDK may create
8910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8911// for more information on using Contexts.
8912func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
8913	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
8914	req.SetContext(ctx)
8915	req.ApplyOptions(opts...)
8916	return out, req.Send()
8917}
8918
8919const opGetLoadBalancers = "GetLoadBalancers"
8920
8921// GetLoadBalancersRequest generates a "aws/request.Request" representing the
8922// client's request for the GetLoadBalancers operation. The "output" return
8923// value will be populated with the request's response once the request completes
8924// successfully.
8925//
8926// Use "Send" method on the returned Request to send the API call to the service.
8927// the "output" return value is not valid until after Send returns without error.
8928//
8929// See GetLoadBalancers for more information on using the GetLoadBalancers
8930// API call, and error handling.
8931//
8932// This method is useful when you want to inject custom logic or configuration
8933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8934//
8935//
8936//    // Example sending a request using the GetLoadBalancersRequest method.
8937//    req, resp := client.GetLoadBalancersRequest(params)
8938//
8939//    err := req.Send()
8940//    if err == nil { // resp is now filled
8941//        fmt.Println(resp)
8942//    }
8943//
8944// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
8945func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
8946	op := &request.Operation{
8947		Name:       opGetLoadBalancers,
8948		HTTPMethod: "POST",
8949		HTTPPath:   "/",
8950	}
8951
8952	if input == nil {
8953		input = &GetLoadBalancersInput{}
8954	}
8955
8956	output = &GetLoadBalancersOutput{}
8957	req = c.newRequest(op, input, output)
8958	return
8959}
8960
8961// GetLoadBalancers API operation for Amazon Lightsail.
8962//
8963// Returns information about all load balancers in an account.
8964//
8965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8966// with awserr.Error's Code and Message methods to get detailed information about
8967// the error.
8968//
8969// See the AWS API reference guide for Amazon Lightsail's
8970// API operation GetLoadBalancers for usage and error information.
8971//
8972// Returned Error Types:
8973//   * ServiceException
8974//   A general service exception.
8975//
8976//   * InvalidInputException
8977//   Lightsail throws this exception when user input does not conform to the validation
8978//   rules of an input field.
8979//
8980//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8981//   Please set your AWS Region configuration to us-east-1 to create, view, or
8982//   edit these resources.
8983//
8984//   * NotFoundException
8985//   Lightsail throws this exception when it cannot find a resource.
8986//
8987//   * OperationFailureException
8988//   Lightsail throws this exception when an operation fails to execute.
8989//
8990//   * AccessDeniedException
8991//   Lightsail throws this exception when the user cannot be authenticated or
8992//   uses invalid credentials to access a resource.
8993//
8994//   * AccountSetupInProgressException
8995//   Lightsail throws this exception when an account is still in the setup in
8996//   progress state.
8997//
8998//   * UnauthenticatedException
8999//   Lightsail throws this exception when the user has not been authenticated.
9000//
9001// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
9002func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
9003	req, out := c.GetLoadBalancersRequest(input)
9004	return out, req.Send()
9005}
9006
9007// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
9008// the ability to pass a context and additional request options.
9009//
9010// See GetLoadBalancers for details on how to use this API operation.
9011//
9012// The context must be non-nil and will be used for request cancellation. If
9013// the context is nil a panic will occur. In the future the SDK may create
9014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9015// for more information on using Contexts.
9016func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
9017	req, out := c.GetLoadBalancersRequest(input)
9018	req.SetContext(ctx)
9019	req.ApplyOptions(opts...)
9020	return out, req.Send()
9021}
9022
9023const opGetOperation = "GetOperation"
9024
9025// GetOperationRequest generates a "aws/request.Request" representing the
9026// client's request for the GetOperation operation. The "output" return
9027// value will be populated with the request's response once the request completes
9028// successfully.
9029//
9030// Use "Send" method on the returned Request to send the API call to the service.
9031// the "output" return value is not valid until after Send returns without error.
9032//
9033// See GetOperation for more information on using the GetOperation
9034// API call, and error handling.
9035//
9036// This method is useful when you want to inject custom logic or configuration
9037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9038//
9039//
9040//    // Example sending a request using the GetOperationRequest method.
9041//    req, resp := client.GetOperationRequest(params)
9042//
9043//    err := req.Send()
9044//    if err == nil { // resp is now filled
9045//        fmt.Println(resp)
9046//    }
9047//
9048// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
9049func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
9050	op := &request.Operation{
9051		Name:       opGetOperation,
9052		HTTPMethod: "POST",
9053		HTTPPath:   "/",
9054	}
9055
9056	if input == nil {
9057		input = &GetOperationInput{}
9058	}
9059
9060	output = &GetOperationOutput{}
9061	req = c.newRequest(op, input, output)
9062	return
9063}
9064
9065// GetOperation API operation for Amazon Lightsail.
9066//
9067// Returns information about a specific operation. Operations include events
9068// such as when you create an instance, allocate a static IP, attach a static
9069// IP, and so on.
9070//
9071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9072// with awserr.Error's Code and Message methods to get detailed information about
9073// the error.
9074//
9075// See the AWS API reference guide for Amazon Lightsail's
9076// API operation GetOperation for usage and error information.
9077//
9078// Returned Error Types:
9079//   * ServiceException
9080//   A general service exception.
9081//
9082//   * InvalidInputException
9083//   Lightsail throws this exception when user input does not conform to the validation
9084//   rules of an input field.
9085//
9086//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9087//   Please set your AWS Region configuration to us-east-1 to create, view, or
9088//   edit these resources.
9089//
9090//   * NotFoundException
9091//   Lightsail throws this exception when it cannot find a resource.
9092//
9093//   * OperationFailureException
9094//   Lightsail throws this exception when an operation fails to execute.
9095//
9096//   * AccessDeniedException
9097//   Lightsail throws this exception when the user cannot be authenticated or
9098//   uses invalid credentials to access a resource.
9099//
9100//   * AccountSetupInProgressException
9101//   Lightsail throws this exception when an account is still in the setup in
9102//   progress state.
9103//
9104//   * UnauthenticatedException
9105//   Lightsail throws this exception when the user has not been authenticated.
9106//
9107// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
9108func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
9109	req, out := c.GetOperationRequest(input)
9110	return out, req.Send()
9111}
9112
9113// GetOperationWithContext is the same as GetOperation with the addition of
9114// the ability to pass a context and additional request options.
9115//
9116// See GetOperation for details on how to use this API operation.
9117//
9118// The context must be non-nil and will be used for request cancellation. If
9119// the context is nil a panic will occur. In the future the SDK may create
9120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9121// for more information on using Contexts.
9122func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
9123	req, out := c.GetOperationRequest(input)
9124	req.SetContext(ctx)
9125	req.ApplyOptions(opts...)
9126	return out, req.Send()
9127}
9128
9129const opGetOperations = "GetOperations"
9130
9131// GetOperationsRequest generates a "aws/request.Request" representing the
9132// client's request for the GetOperations operation. The "output" return
9133// value will be populated with the request's response once the request completes
9134// successfully.
9135//
9136// Use "Send" method on the returned Request to send the API call to the service.
9137// the "output" return value is not valid until after Send returns without error.
9138//
9139// See GetOperations for more information on using the GetOperations
9140// API call, and error handling.
9141//
9142// This method is useful when you want to inject custom logic or configuration
9143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9144//
9145//
9146//    // Example sending a request using the GetOperationsRequest method.
9147//    req, resp := client.GetOperationsRequest(params)
9148//
9149//    err := req.Send()
9150//    if err == nil { // resp is now filled
9151//        fmt.Println(resp)
9152//    }
9153//
9154// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
9155func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
9156	op := &request.Operation{
9157		Name:       opGetOperations,
9158		HTTPMethod: "POST",
9159		HTTPPath:   "/",
9160	}
9161
9162	if input == nil {
9163		input = &GetOperationsInput{}
9164	}
9165
9166	output = &GetOperationsOutput{}
9167	req = c.newRequest(op, input, output)
9168	return
9169}
9170
9171// GetOperations API operation for Amazon Lightsail.
9172//
9173// Returns information about all operations.
9174//
9175// Results are returned from oldest to newest, up to a maximum of 200. Results
9176// can be paged by making each subsequent call to GetOperations use the maximum
9177// (last) statusChangedAt value from the previous request.
9178//
9179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9180// with awserr.Error's Code and Message methods to get detailed information about
9181// the error.
9182//
9183// See the AWS API reference guide for Amazon Lightsail's
9184// API operation GetOperations for usage and error information.
9185//
9186// Returned Error Types:
9187//   * ServiceException
9188//   A general service exception.
9189//
9190//   * InvalidInputException
9191//   Lightsail throws this exception when user input does not conform to the validation
9192//   rules of an input field.
9193//
9194//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9195//   Please set your AWS Region configuration to us-east-1 to create, view, or
9196//   edit these resources.
9197//
9198//   * NotFoundException
9199//   Lightsail throws this exception when it cannot find a resource.
9200//
9201//   * OperationFailureException
9202//   Lightsail throws this exception when an operation fails to execute.
9203//
9204//   * AccessDeniedException
9205//   Lightsail throws this exception when the user cannot be authenticated or
9206//   uses invalid credentials to access a resource.
9207//
9208//   * AccountSetupInProgressException
9209//   Lightsail throws this exception when an account is still in the setup in
9210//   progress state.
9211//
9212//   * UnauthenticatedException
9213//   Lightsail throws this exception when the user has not been authenticated.
9214//
9215// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
9216func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
9217	req, out := c.GetOperationsRequest(input)
9218	return out, req.Send()
9219}
9220
9221// GetOperationsWithContext is the same as GetOperations with the addition of
9222// the ability to pass a context and additional request options.
9223//
9224// See GetOperations for details on how to use this API operation.
9225//
9226// The context must be non-nil and will be used for request cancellation. If
9227// the context is nil a panic will occur. In the future the SDK may create
9228// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9229// for more information on using Contexts.
9230func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
9231	req, out := c.GetOperationsRequest(input)
9232	req.SetContext(ctx)
9233	req.ApplyOptions(opts...)
9234	return out, req.Send()
9235}
9236
9237const opGetOperationsForResource = "GetOperationsForResource"
9238
9239// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
9240// client's request for the GetOperationsForResource operation. The "output" return
9241// value will be populated with the request's response once the request completes
9242// successfully.
9243//
9244// Use "Send" method on the returned Request to send the API call to the service.
9245// the "output" return value is not valid until after Send returns without error.
9246//
9247// See GetOperationsForResource for more information on using the GetOperationsForResource
9248// API call, and error handling.
9249//
9250// This method is useful when you want to inject custom logic or configuration
9251// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9252//
9253//
9254//    // Example sending a request using the GetOperationsForResourceRequest method.
9255//    req, resp := client.GetOperationsForResourceRequest(params)
9256//
9257//    err := req.Send()
9258//    if err == nil { // resp is now filled
9259//        fmt.Println(resp)
9260//    }
9261//
9262// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
9263func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
9264	op := &request.Operation{
9265		Name:       opGetOperationsForResource,
9266		HTTPMethod: "POST",
9267		HTTPPath:   "/",
9268	}
9269
9270	if input == nil {
9271		input = &GetOperationsForResourceInput{}
9272	}
9273
9274	output = &GetOperationsForResourceOutput{}
9275	req = c.newRequest(op, input, output)
9276	return
9277}
9278
9279// GetOperationsForResource API operation for Amazon Lightsail.
9280//
9281// Gets operations for a specific resource (e.g., an instance or a static IP).
9282//
9283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9284// with awserr.Error's Code and Message methods to get detailed information about
9285// the error.
9286//
9287// See the AWS API reference guide for Amazon Lightsail's
9288// API operation GetOperationsForResource for usage and error information.
9289//
9290// Returned Error Types:
9291//   * ServiceException
9292//   A general service exception.
9293//
9294//   * InvalidInputException
9295//   Lightsail throws this exception when user input does not conform to the validation
9296//   rules of an input field.
9297//
9298//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9299//   Please set your AWS Region configuration to us-east-1 to create, view, or
9300//   edit these resources.
9301//
9302//   * NotFoundException
9303//   Lightsail throws this exception when it cannot find a resource.
9304//
9305//   * OperationFailureException
9306//   Lightsail throws this exception when an operation fails to execute.
9307//
9308//   * AccessDeniedException
9309//   Lightsail throws this exception when the user cannot be authenticated or
9310//   uses invalid credentials to access a resource.
9311//
9312//   * AccountSetupInProgressException
9313//   Lightsail throws this exception when an account is still in the setup in
9314//   progress state.
9315//
9316//   * UnauthenticatedException
9317//   Lightsail throws this exception when the user has not been authenticated.
9318//
9319// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
9320func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
9321	req, out := c.GetOperationsForResourceRequest(input)
9322	return out, req.Send()
9323}
9324
9325// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
9326// the ability to pass a context and additional request options.
9327//
9328// See GetOperationsForResource for details on how to use this API operation.
9329//
9330// The context must be non-nil and will be used for request cancellation. If
9331// the context is nil a panic will occur. In the future the SDK may create
9332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9333// for more information on using Contexts.
9334func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
9335	req, out := c.GetOperationsForResourceRequest(input)
9336	req.SetContext(ctx)
9337	req.ApplyOptions(opts...)
9338	return out, req.Send()
9339}
9340
9341const opGetRegions = "GetRegions"
9342
9343// GetRegionsRequest generates a "aws/request.Request" representing the
9344// client's request for the GetRegions operation. The "output" return
9345// value will be populated with the request's response once the request completes
9346// successfully.
9347//
9348// Use "Send" method on the returned Request to send the API call to the service.
9349// the "output" return value is not valid until after Send returns without error.
9350//
9351// See GetRegions for more information on using the GetRegions
9352// API call, and error handling.
9353//
9354// This method is useful when you want to inject custom logic or configuration
9355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9356//
9357//
9358//    // Example sending a request using the GetRegionsRequest method.
9359//    req, resp := client.GetRegionsRequest(params)
9360//
9361//    err := req.Send()
9362//    if err == nil { // resp is now filled
9363//        fmt.Println(resp)
9364//    }
9365//
9366// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
9367func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
9368	op := &request.Operation{
9369		Name:       opGetRegions,
9370		HTTPMethod: "POST",
9371		HTTPPath:   "/",
9372	}
9373
9374	if input == nil {
9375		input = &GetRegionsInput{}
9376	}
9377
9378	output = &GetRegionsOutput{}
9379	req = c.newRequest(op, input, output)
9380	return
9381}
9382
9383// GetRegions API operation for Amazon Lightsail.
9384//
9385// Returns a list of all valid regions for Amazon Lightsail. Use the include
9386// availability zones parameter to also return the Availability Zones in a region.
9387//
9388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9389// with awserr.Error's Code and Message methods to get detailed information about
9390// the error.
9391//
9392// See the AWS API reference guide for Amazon Lightsail's
9393// API operation GetRegions for usage and error information.
9394//
9395// Returned Error Types:
9396//   * ServiceException
9397//   A general service exception.
9398//
9399//   * InvalidInputException
9400//   Lightsail throws this exception when user input does not conform to the validation
9401//   rules of an input field.
9402//
9403//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9404//   Please set your AWS Region configuration to us-east-1 to create, view, or
9405//   edit these resources.
9406//
9407//   * NotFoundException
9408//   Lightsail throws this exception when it cannot find a resource.
9409//
9410//   * OperationFailureException
9411//   Lightsail throws this exception when an operation fails to execute.
9412//
9413//   * AccessDeniedException
9414//   Lightsail throws this exception when the user cannot be authenticated or
9415//   uses invalid credentials to access a resource.
9416//
9417//   * AccountSetupInProgressException
9418//   Lightsail throws this exception when an account is still in the setup in
9419//   progress state.
9420//
9421//   * UnauthenticatedException
9422//   Lightsail throws this exception when the user has not been authenticated.
9423//
9424// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
9425func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
9426	req, out := c.GetRegionsRequest(input)
9427	return out, req.Send()
9428}
9429
9430// GetRegionsWithContext is the same as GetRegions with the addition of
9431// the ability to pass a context and additional request options.
9432//
9433// See GetRegions for details on how to use this API operation.
9434//
9435// The context must be non-nil and will be used for request cancellation. If
9436// the context is nil a panic will occur. In the future the SDK may create
9437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9438// for more information on using Contexts.
9439func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
9440	req, out := c.GetRegionsRequest(input)
9441	req.SetContext(ctx)
9442	req.ApplyOptions(opts...)
9443	return out, req.Send()
9444}
9445
9446const opGetRelationalDatabase = "GetRelationalDatabase"
9447
9448// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
9449// client's request for the GetRelationalDatabase operation. The "output" return
9450// value will be populated with the request's response once the request completes
9451// successfully.
9452//
9453// Use "Send" method on the returned Request to send the API call to the service.
9454// the "output" return value is not valid until after Send returns without error.
9455//
9456// See GetRelationalDatabase for more information on using the GetRelationalDatabase
9457// API call, and error handling.
9458//
9459// This method is useful when you want to inject custom logic or configuration
9460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9461//
9462//
9463//    // Example sending a request using the GetRelationalDatabaseRequest method.
9464//    req, resp := client.GetRelationalDatabaseRequest(params)
9465//
9466//    err := req.Send()
9467//    if err == nil { // resp is now filled
9468//        fmt.Println(resp)
9469//    }
9470//
9471// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
9472func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
9473	op := &request.Operation{
9474		Name:       opGetRelationalDatabase,
9475		HTTPMethod: "POST",
9476		HTTPPath:   "/",
9477	}
9478
9479	if input == nil {
9480		input = &GetRelationalDatabaseInput{}
9481	}
9482
9483	output = &GetRelationalDatabaseOutput{}
9484	req = c.newRequest(op, input, output)
9485	return
9486}
9487
9488// GetRelationalDatabase API operation for Amazon Lightsail.
9489//
9490// Returns information about a specific database in Amazon Lightsail.
9491//
9492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9493// with awserr.Error's Code and Message methods to get detailed information about
9494// the error.
9495//
9496// See the AWS API reference guide for Amazon Lightsail's
9497// API operation GetRelationalDatabase for usage and error information.
9498//
9499// Returned Error Types:
9500//   * ServiceException
9501//   A general service exception.
9502//
9503//   * InvalidInputException
9504//   Lightsail throws this exception when user input does not conform to the validation
9505//   rules of an input field.
9506//
9507//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9508//   Please set your AWS Region configuration to us-east-1 to create, view, or
9509//   edit these resources.
9510//
9511//   * NotFoundException
9512//   Lightsail throws this exception when it cannot find a resource.
9513//
9514//   * OperationFailureException
9515//   Lightsail throws this exception when an operation fails to execute.
9516//
9517//   * AccessDeniedException
9518//   Lightsail throws this exception when the user cannot be authenticated or
9519//   uses invalid credentials to access a resource.
9520//
9521//   * AccountSetupInProgressException
9522//   Lightsail throws this exception when an account is still in the setup in
9523//   progress state.
9524//
9525//   * UnauthenticatedException
9526//   Lightsail throws this exception when the user has not been authenticated.
9527//
9528// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
9529func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
9530	req, out := c.GetRelationalDatabaseRequest(input)
9531	return out, req.Send()
9532}
9533
9534// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
9535// the ability to pass a context and additional request options.
9536//
9537// See GetRelationalDatabase for details on how to use this API operation.
9538//
9539// The context must be non-nil and will be used for request cancellation. If
9540// the context is nil a panic will occur. In the future the SDK may create
9541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9542// for more information on using Contexts.
9543func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
9544	req, out := c.GetRelationalDatabaseRequest(input)
9545	req.SetContext(ctx)
9546	req.ApplyOptions(opts...)
9547	return out, req.Send()
9548}
9549
9550const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
9551
9552// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
9553// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
9554// value will be populated with the request's response once the request completes
9555// successfully.
9556//
9557// Use "Send" method on the returned Request to send the API call to the service.
9558// the "output" return value is not valid until after Send returns without error.
9559//
9560// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
9561// API call, and error handling.
9562//
9563// This method is useful when you want to inject custom logic or configuration
9564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9565//
9566//
9567//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
9568//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
9569//
9570//    err := req.Send()
9571//    if err == nil { // resp is now filled
9572//        fmt.Println(resp)
9573//    }
9574//
9575// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
9576func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
9577	op := &request.Operation{
9578		Name:       opGetRelationalDatabaseBlueprints,
9579		HTTPMethod: "POST",
9580		HTTPPath:   "/",
9581	}
9582
9583	if input == nil {
9584		input = &GetRelationalDatabaseBlueprintsInput{}
9585	}
9586
9587	output = &GetRelationalDatabaseBlueprintsOutput{}
9588	req = c.newRequest(op, input, output)
9589	return
9590}
9591
9592// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
9593//
9594// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
9595// describes the major engine version of a database.
9596//
9597// You can use a blueprint ID to create a new database that runs a specific
9598// database engine.
9599//
9600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9601// with awserr.Error's Code and Message methods to get detailed information about
9602// the error.
9603//
9604// See the AWS API reference guide for Amazon Lightsail's
9605// API operation GetRelationalDatabaseBlueprints for usage and error information.
9606//
9607// Returned Error Types:
9608//   * ServiceException
9609//   A general service exception.
9610//
9611//   * InvalidInputException
9612//   Lightsail throws this exception when user input does not conform to the validation
9613//   rules of an input field.
9614//
9615//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9616//   Please set your AWS Region configuration to us-east-1 to create, view, or
9617//   edit these resources.
9618//
9619//   * NotFoundException
9620//   Lightsail throws this exception when it cannot find a resource.
9621//
9622//   * OperationFailureException
9623//   Lightsail throws this exception when an operation fails to execute.
9624//
9625//   * AccessDeniedException
9626//   Lightsail throws this exception when the user cannot be authenticated or
9627//   uses invalid credentials to access a resource.
9628//
9629//   * AccountSetupInProgressException
9630//   Lightsail throws this exception when an account is still in the setup in
9631//   progress state.
9632//
9633//   * UnauthenticatedException
9634//   Lightsail throws this exception when the user has not been authenticated.
9635//
9636// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
9637func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
9638	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
9639	return out, req.Send()
9640}
9641
9642// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
9643// the ability to pass a context and additional request options.
9644//
9645// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
9646//
9647// The context must be non-nil and will be used for request cancellation. If
9648// the context is nil a panic will occur. In the future the SDK may create
9649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9650// for more information on using Contexts.
9651func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
9652	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
9653	req.SetContext(ctx)
9654	req.ApplyOptions(opts...)
9655	return out, req.Send()
9656}
9657
9658const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
9659
9660// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
9661// client's request for the GetRelationalDatabaseBundles operation. The "output" return
9662// value will be populated with the request's response once the request completes
9663// successfully.
9664//
9665// Use "Send" method on the returned Request to send the API call to the service.
9666// the "output" return value is not valid until after Send returns without error.
9667//
9668// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
9669// API call, and error handling.
9670//
9671// This method is useful when you want to inject custom logic or configuration
9672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9673//
9674//
9675//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
9676//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
9677//
9678//    err := req.Send()
9679//    if err == nil { // resp is now filled
9680//        fmt.Println(resp)
9681//    }
9682//
9683// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
9684func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
9685	op := &request.Operation{
9686		Name:       opGetRelationalDatabaseBundles,
9687		HTTPMethod: "POST",
9688		HTTPPath:   "/",
9689	}
9690
9691	if input == nil {
9692		input = &GetRelationalDatabaseBundlesInput{}
9693	}
9694
9695	output = &GetRelationalDatabaseBundlesOutput{}
9696	req = c.newRequest(op, input, output)
9697	return
9698}
9699
9700// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
9701//
9702// Returns the list of bundles that are available in Amazon Lightsail. A bundle
9703// describes the performance specifications for a database.
9704//
9705// You can use a bundle ID to create a new database with explicit performance
9706// specifications.
9707//
9708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9709// with awserr.Error's Code and Message methods to get detailed information about
9710// the error.
9711//
9712// See the AWS API reference guide for Amazon Lightsail's
9713// API operation GetRelationalDatabaseBundles for usage and error information.
9714//
9715// Returned Error Types:
9716//   * ServiceException
9717//   A general service exception.
9718//
9719//   * InvalidInputException
9720//   Lightsail throws this exception when user input does not conform to the validation
9721//   rules of an input field.
9722//
9723//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9724//   Please set your AWS Region configuration to us-east-1 to create, view, or
9725//   edit these resources.
9726//
9727//   * NotFoundException
9728//   Lightsail throws this exception when it cannot find a resource.
9729//
9730//   * OperationFailureException
9731//   Lightsail throws this exception when an operation fails to execute.
9732//
9733//   * AccessDeniedException
9734//   Lightsail throws this exception when the user cannot be authenticated or
9735//   uses invalid credentials to access a resource.
9736//
9737//   * AccountSetupInProgressException
9738//   Lightsail throws this exception when an account is still in the setup in
9739//   progress state.
9740//
9741//   * UnauthenticatedException
9742//   Lightsail throws this exception when the user has not been authenticated.
9743//
9744// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
9745func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
9746	req, out := c.GetRelationalDatabaseBundlesRequest(input)
9747	return out, req.Send()
9748}
9749
9750// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
9751// the ability to pass a context and additional request options.
9752//
9753// See GetRelationalDatabaseBundles for details on how to use this API operation.
9754//
9755// The context must be non-nil and will be used for request cancellation. If
9756// the context is nil a panic will occur. In the future the SDK may create
9757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9758// for more information on using Contexts.
9759func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
9760	req, out := c.GetRelationalDatabaseBundlesRequest(input)
9761	req.SetContext(ctx)
9762	req.ApplyOptions(opts...)
9763	return out, req.Send()
9764}
9765
9766const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
9767
9768// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
9769// client's request for the GetRelationalDatabaseEvents operation. The "output" return
9770// value will be populated with the request's response once the request completes
9771// successfully.
9772//
9773// Use "Send" method on the returned Request to send the API call to the service.
9774// the "output" return value is not valid until after Send returns without error.
9775//
9776// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
9777// API call, and error handling.
9778//
9779// This method is useful when you want to inject custom logic or configuration
9780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9781//
9782//
9783//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
9784//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
9785//
9786//    err := req.Send()
9787//    if err == nil { // resp is now filled
9788//        fmt.Println(resp)
9789//    }
9790//
9791// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
9792func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
9793	op := &request.Operation{
9794		Name:       opGetRelationalDatabaseEvents,
9795		HTTPMethod: "POST",
9796		HTTPPath:   "/",
9797	}
9798
9799	if input == nil {
9800		input = &GetRelationalDatabaseEventsInput{}
9801	}
9802
9803	output = &GetRelationalDatabaseEventsOutput{}
9804	req = c.newRequest(op, input, output)
9805	return
9806}
9807
9808// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
9809//
9810// Returns a list of events for a specific database in Amazon Lightsail.
9811//
9812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9813// with awserr.Error's Code and Message methods to get detailed information about
9814// the error.
9815//
9816// See the AWS API reference guide for Amazon Lightsail's
9817// API operation GetRelationalDatabaseEvents for usage and error information.
9818//
9819// Returned Error Types:
9820//   * ServiceException
9821//   A general service exception.
9822//
9823//   * InvalidInputException
9824//   Lightsail throws this exception when user input does not conform to the validation
9825//   rules of an input field.
9826//
9827//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9828//   Please set your AWS Region configuration to us-east-1 to create, view, or
9829//   edit these resources.
9830//
9831//   * NotFoundException
9832//   Lightsail throws this exception when it cannot find a resource.
9833//
9834//   * OperationFailureException
9835//   Lightsail throws this exception when an operation fails to execute.
9836//
9837//   * AccessDeniedException
9838//   Lightsail throws this exception when the user cannot be authenticated or
9839//   uses invalid credentials to access a resource.
9840//
9841//   * AccountSetupInProgressException
9842//   Lightsail throws this exception when an account is still in the setup in
9843//   progress state.
9844//
9845//   * UnauthenticatedException
9846//   Lightsail throws this exception when the user has not been authenticated.
9847//
9848// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
9849func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
9850	req, out := c.GetRelationalDatabaseEventsRequest(input)
9851	return out, req.Send()
9852}
9853
9854// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
9855// the ability to pass a context and additional request options.
9856//
9857// See GetRelationalDatabaseEvents for details on how to use this API operation.
9858//
9859// The context must be non-nil and will be used for request cancellation. If
9860// the context is nil a panic will occur. In the future the SDK may create
9861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9862// for more information on using Contexts.
9863func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
9864	req, out := c.GetRelationalDatabaseEventsRequest(input)
9865	req.SetContext(ctx)
9866	req.ApplyOptions(opts...)
9867	return out, req.Send()
9868}
9869
9870const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
9871
9872// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
9873// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
9874// value will be populated with the request's response once the request completes
9875// successfully.
9876//
9877// Use "Send" method on the returned Request to send the API call to the service.
9878// the "output" return value is not valid until after Send returns without error.
9879//
9880// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
9881// API call, and error handling.
9882//
9883// This method is useful when you want to inject custom logic or configuration
9884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9885//
9886//
9887//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
9888//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
9889//
9890//    err := req.Send()
9891//    if err == nil { // resp is now filled
9892//        fmt.Println(resp)
9893//    }
9894//
9895// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
9896func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
9897	op := &request.Operation{
9898		Name:       opGetRelationalDatabaseLogEvents,
9899		HTTPMethod: "POST",
9900		HTTPPath:   "/",
9901	}
9902
9903	if input == nil {
9904		input = &GetRelationalDatabaseLogEventsInput{}
9905	}
9906
9907	output = &GetRelationalDatabaseLogEventsOutput{}
9908	req = c.newRequest(op, input, output)
9909	return
9910}
9911
9912// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
9913//
9914// Returns a list of log events for a database in Amazon Lightsail.
9915//
9916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9917// with awserr.Error's Code and Message methods to get detailed information about
9918// the error.
9919//
9920// See the AWS API reference guide for Amazon Lightsail's
9921// API operation GetRelationalDatabaseLogEvents for usage and error information.
9922//
9923// Returned Error Types:
9924//   * ServiceException
9925//   A general service exception.
9926//
9927//   * InvalidInputException
9928//   Lightsail throws this exception when user input does not conform to the validation
9929//   rules of an input field.
9930//
9931//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9932//   Please set your AWS Region configuration to us-east-1 to create, view, or
9933//   edit these resources.
9934//
9935//   * NotFoundException
9936//   Lightsail throws this exception when it cannot find a resource.
9937//
9938//   * OperationFailureException
9939//   Lightsail throws this exception when an operation fails to execute.
9940//
9941//   * AccessDeniedException
9942//   Lightsail throws this exception when the user cannot be authenticated or
9943//   uses invalid credentials to access a resource.
9944//
9945//   * AccountSetupInProgressException
9946//   Lightsail throws this exception when an account is still in the setup in
9947//   progress state.
9948//
9949//   * UnauthenticatedException
9950//   Lightsail throws this exception when the user has not been authenticated.
9951//
9952// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
9953func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
9954	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
9955	return out, req.Send()
9956}
9957
9958// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
9959// the ability to pass a context and additional request options.
9960//
9961// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
9962//
9963// The context must be non-nil and will be used for request cancellation. If
9964// the context is nil a panic will occur. In the future the SDK may create
9965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9966// for more information on using Contexts.
9967func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
9968	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
9969	req.SetContext(ctx)
9970	req.ApplyOptions(opts...)
9971	return out, req.Send()
9972}
9973
9974const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
9975
9976// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
9977// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
9978// value will be populated with the request's response once the request completes
9979// successfully.
9980//
9981// Use "Send" method on the returned Request to send the API call to the service.
9982// the "output" return value is not valid until after Send returns without error.
9983//
9984// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
9985// API call, and error handling.
9986//
9987// This method is useful when you want to inject custom logic or configuration
9988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9989//
9990//
9991//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
9992//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
9993//
9994//    err := req.Send()
9995//    if err == nil { // resp is now filled
9996//        fmt.Println(resp)
9997//    }
9998//
9999// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
10000func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
10001	op := &request.Operation{
10002		Name:       opGetRelationalDatabaseLogStreams,
10003		HTTPMethod: "POST",
10004		HTTPPath:   "/",
10005	}
10006
10007	if input == nil {
10008		input = &GetRelationalDatabaseLogStreamsInput{}
10009	}
10010
10011	output = &GetRelationalDatabaseLogStreamsOutput{}
10012	req = c.newRequest(op, input, output)
10013	return
10014}
10015
10016// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
10017//
10018// Returns a list of available log streams for a specific database in Amazon
10019// Lightsail.
10020//
10021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10022// with awserr.Error's Code and Message methods to get detailed information about
10023// the error.
10024//
10025// See the AWS API reference guide for Amazon Lightsail's
10026// API operation GetRelationalDatabaseLogStreams for usage and error information.
10027//
10028// Returned Error Types:
10029//   * ServiceException
10030//   A general service exception.
10031//
10032//   * InvalidInputException
10033//   Lightsail throws this exception when user input does not conform to the validation
10034//   rules of an input field.
10035//
10036//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10037//   Please set your AWS Region configuration to us-east-1 to create, view, or
10038//   edit these resources.
10039//
10040//   * NotFoundException
10041//   Lightsail throws this exception when it cannot find a resource.
10042//
10043//   * OperationFailureException
10044//   Lightsail throws this exception when an operation fails to execute.
10045//
10046//   * AccessDeniedException
10047//   Lightsail throws this exception when the user cannot be authenticated or
10048//   uses invalid credentials to access a resource.
10049//
10050//   * AccountSetupInProgressException
10051//   Lightsail throws this exception when an account is still in the setup in
10052//   progress state.
10053//
10054//   * UnauthenticatedException
10055//   Lightsail throws this exception when the user has not been authenticated.
10056//
10057// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
10058func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
10059	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
10060	return out, req.Send()
10061}
10062
10063// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
10064// the ability to pass a context and additional request options.
10065//
10066// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
10067//
10068// The context must be non-nil and will be used for request cancellation. If
10069// the context is nil a panic will occur. In the future the SDK may create
10070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10071// for more information on using Contexts.
10072func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
10073	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
10074	req.SetContext(ctx)
10075	req.ApplyOptions(opts...)
10076	return out, req.Send()
10077}
10078
10079const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
10080
10081// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
10082// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
10083// value will be populated with the request's response once the request completes
10084// successfully.
10085//
10086// Use "Send" method on the returned Request to send the API call to the service.
10087// the "output" return value is not valid until after Send returns without error.
10088//
10089// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
10090// API call, and error handling.
10091//
10092// This method is useful when you want to inject custom logic or configuration
10093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10094//
10095//
10096//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
10097//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
10098//
10099//    err := req.Send()
10100//    if err == nil { // resp is now filled
10101//        fmt.Println(resp)
10102//    }
10103//
10104// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
10105func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
10106	op := &request.Operation{
10107		Name:       opGetRelationalDatabaseMasterUserPassword,
10108		HTTPMethod: "POST",
10109		HTTPPath:   "/",
10110	}
10111
10112	if input == nil {
10113		input = &GetRelationalDatabaseMasterUserPasswordInput{}
10114	}
10115
10116	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
10117	req = c.newRequest(op, input, output)
10118	return
10119}
10120
10121// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
10122//
10123// Returns the current, previous, or pending versions of the master user password
10124// for a Lightsail database.
10125//
10126// The GetRelationalDatabaseMasterUserPassword operation supports tag-based
10127// access control via resource tags applied to the resource identified by relationalDatabaseName.
10128//
10129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10130// with awserr.Error's Code and Message methods to get detailed information about
10131// the error.
10132//
10133// See the AWS API reference guide for Amazon Lightsail's
10134// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
10135//
10136// Returned Error Types:
10137//   * ServiceException
10138//   A general service exception.
10139//
10140//   * InvalidInputException
10141//   Lightsail throws this exception when user input does not conform to the validation
10142//   rules of an input field.
10143//
10144//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10145//   Please set your AWS Region configuration to us-east-1 to create, view, or
10146//   edit these resources.
10147//
10148//   * NotFoundException
10149//   Lightsail throws this exception when it cannot find a resource.
10150//
10151//   * OperationFailureException
10152//   Lightsail throws this exception when an operation fails to execute.
10153//
10154//   * AccessDeniedException
10155//   Lightsail throws this exception when the user cannot be authenticated or
10156//   uses invalid credentials to access a resource.
10157//
10158//   * AccountSetupInProgressException
10159//   Lightsail throws this exception when an account is still in the setup in
10160//   progress state.
10161//
10162//   * UnauthenticatedException
10163//   Lightsail throws this exception when the user has not been authenticated.
10164//
10165// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
10166func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
10167	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
10168	return out, req.Send()
10169}
10170
10171// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
10172// the ability to pass a context and additional request options.
10173//
10174// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
10175//
10176// The context must be non-nil and will be used for request cancellation. If
10177// the context is nil a panic will occur. In the future the SDK may create
10178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10179// for more information on using Contexts.
10180func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
10181	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
10182	req.SetContext(ctx)
10183	req.ApplyOptions(opts...)
10184	return out, req.Send()
10185}
10186
10187const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
10188
10189// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
10190// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
10191// value will be populated with the request's response once the request completes
10192// successfully.
10193//
10194// Use "Send" method on the returned Request to send the API call to the service.
10195// the "output" return value is not valid until after Send returns without error.
10196//
10197// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
10198// API call, and error handling.
10199//
10200// This method is useful when you want to inject custom logic or configuration
10201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10202//
10203//
10204//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
10205//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
10206//
10207//    err := req.Send()
10208//    if err == nil { // resp is now filled
10209//        fmt.Println(resp)
10210//    }
10211//
10212// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
10213func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
10214	op := &request.Operation{
10215		Name:       opGetRelationalDatabaseMetricData,
10216		HTTPMethod: "POST",
10217		HTTPPath:   "/",
10218	}
10219
10220	if input == nil {
10221		input = &GetRelationalDatabaseMetricDataInput{}
10222	}
10223
10224	output = &GetRelationalDatabaseMetricDataOutput{}
10225	req = c.newRequest(op, input, output)
10226	return
10227}
10228
10229// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
10230//
10231// Returns the data points of the specified metric for a database in Amazon
10232// Lightsail.
10233//
10234// Metrics report the utilization of your resources, and the error counts generated
10235// by them. Monitor and collect metric data regularly to maintain the reliability,
10236// availability, and performance of your resources.
10237//
10238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10239// with awserr.Error's Code and Message methods to get detailed information about
10240// the error.
10241//
10242// See the AWS API reference guide for Amazon Lightsail's
10243// API operation GetRelationalDatabaseMetricData for usage and error information.
10244//
10245// Returned Error Types:
10246//   * ServiceException
10247//   A general service exception.
10248//
10249//   * InvalidInputException
10250//   Lightsail throws this exception when user input does not conform to the validation
10251//   rules of an input field.
10252//
10253//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10254//   Please set your AWS Region configuration to us-east-1 to create, view, or
10255//   edit these resources.
10256//
10257//   * NotFoundException
10258//   Lightsail throws this exception when it cannot find a resource.
10259//
10260//   * OperationFailureException
10261//   Lightsail throws this exception when an operation fails to execute.
10262//
10263//   * AccessDeniedException
10264//   Lightsail throws this exception when the user cannot be authenticated or
10265//   uses invalid credentials to access a resource.
10266//
10267//   * AccountSetupInProgressException
10268//   Lightsail throws this exception when an account is still in the setup in
10269//   progress state.
10270//
10271//   * UnauthenticatedException
10272//   Lightsail throws this exception when the user has not been authenticated.
10273//
10274// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
10275func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
10276	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
10277	return out, req.Send()
10278}
10279
10280// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
10281// the ability to pass a context and additional request options.
10282//
10283// See GetRelationalDatabaseMetricData for details on how to use this API operation.
10284//
10285// The context must be non-nil and will be used for request cancellation. If
10286// the context is nil a panic will occur. In the future the SDK may create
10287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10288// for more information on using Contexts.
10289func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
10290	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
10291	req.SetContext(ctx)
10292	req.ApplyOptions(opts...)
10293	return out, req.Send()
10294}
10295
10296const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
10297
10298// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
10299// client's request for the GetRelationalDatabaseParameters operation. The "output" return
10300// value will be populated with the request's response once the request completes
10301// successfully.
10302//
10303// Use "Send" method on the returned Request to send the API call to the service.
10304// the "output" return value is not valid until after Send returns without error.
10305//
10306// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
10307// API call, and error handling.
10308//
10309// This method is useful when you want to inject custom logic or configuration
10310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10311//
10312//
10313//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
10314//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
10315//
10316//    err := req.Send()
10317//    if err == nil { // resp is now filled
10318//        fmt.Println(resp)
10319//    }
10320//
10321// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
10322func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
10323	op := &request.Operation{
10324		Name:       opGetRelationalDatabaseParameters,
10325		HTTPMethod: "POST",
10326		HTTPPath:   "/",
10327	}
10328
10329	if input == nil {
10330		input = &GetRelationalDatabaseParametersInput{}
10331	}
10332
10333	output = &GetRelationalDatabaseParametersOutput{}
10334	req = c.newRequest(op, input, output)
10335	return
10336}
10337
10338// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
10339//
10340// Returns all of the runtime parameters offered by the underlying database
10341// software, or engine, for a specific database in Amazon Lightsail.
10342//
10343// In addition to the parameter names and values, this operation returns other
10344// information about each parameter. This information includes whether changes
10345// require a reboot, whether the parameter is modifiable, the allowed values,
10346// and the data types.
10347//
10348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10349// with awserr.Error's Code and Message methods to get detailed information about
10350// the error.
10351//
10352// See the AWS API reference guide for Amazon Lightsail's
10353// API operation GetRelationalDatabaseParameters for usage and error information.
10354//
10355// Returned Error Types:
10356//   * ServiceException
10357//   A general service exception.
10358//
10359//   * InvalidInputException
10360//   Lightsail throws this exception when user input does not conform to the validation
10361//   rules of an input field.
10362//
10363//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10364//   Please set your AWS Region configuration to us-east-1 to create, view, or
10365//   edit these resources.
10366//
10367//   * NotFoundException
10368//   Lightsail throws this exception when it cannot find a resource.
10369//
10370//   * OperationFailureException
10371//   Lightsail throws this exception when an operation fails to execute.
10372//
10373//   * AccessDeniedException
10374//   Lightsail throws this exception when the user cannot be authenticated or
10375//   uses invalid credentials to access a resource.
10376//
10377//   * AccountSetupInProgressException
10378//   Lightsail throws this exception when an account is still in the setup in
10379//   progress state.
10380//
10381//   * UnauthenticatedException
10382//   Lightsail throws this exception when the user has not been authenticated.
10383//
10384// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
10385func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
10386	req, out := c.GetRelationalDatabaseParametersRequest(input)
10387	return out, req.Send()
10388}
10389
10390// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
10391// the ability to pass a context and additional request options.
10392//
10393// See GetRelationalDatabaseParameters for details on how to use this API operation.
10394//
10395// The context must be non-nil and will be used for request cancellation. If
10396// the context is nil a panic will occur. In the future the SDK may create
10397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10398// for more information on using Contexts.
10399func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
10400	req, out := c.GetRelationalDatabaseParametersRequest(input)
10401	req.SetContext(ctx)
10402	req.ApplyOptions(opts...)
10403	return out, req.Send()
10404}
10405
10406const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
10407
10408// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
10409// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
10410// value will be populated with the request's response once the request completes
10411// successfully.
10412//
10413// Use "Send" method on the returned Request to send the API call to the service.
10414// the "output" return value is not valid until after Send returns without error.
10415//
10416// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
10417// API call, and error handling.
10418//
10419// This method is useful when you want to inject custom logic or configuration
10420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10421//
10422//
10423//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
10424//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
10425//
10426//    err := req.Send()
10427//    if err == nil { // resp is now filled
10428//        fmt.Println(resp)
10429//    }
10430//
10431// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
10432func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
10433	op := &request.Operation{
10434		Name:       opGetRelationalDatabaseSnapshot,
10435		HTTPMethod: "POST",
10436		HTTPPath:   "/",
10437	}
10438
10439	if input == nil {
10440		input = &GetRelationalDatabaseSnapshotInput{}
10441	}
10442
10443	output = &GetRelationalDatabaseSnapshotOutput{}
10444	req = c.newRequest(op, input, output)
10445	return
10446}
10447
10448// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
10449//
10450// Returns information about a specific database snapshot in Amazon Lightsail.
10451//
10452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10453// with awserr.Error's Code and Message methods to get detailed information about
10454// the error.
10455//
10456// See the AWS API reference guide for Amazon Lightsail's
10457// API operation GetRelationalDatabaseSnapshot for usage and error information.
10458//
10459// Returned Error Types:
10460//   * ServiceException
10461//   A general service exception.
10462//
10463//   * InvalidInputException
10464//   Lightsail throws this exception when user input does not conform to the validation
10465//   rules of an input field.
10466//
10467//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10468//   Please set your AWS Region configuration to us-east-1 to create, view, or
10469//   edit these resources.
10470//
10471//   * NotFoundException
10472//   Lightsail throws this exception when it cannot find a resource.
10473//
10474//   * OperationFailureException
10475//   Lightsail throws this exception when an operation fails to execute.
10476//
10477//   * AccessDeniedException
10478//   Lightsail throws this exception when the user cannot be authenticated or
10479//   uses invalid credentials to access a resource.
10480//
10481//   * AccountSetupInProgressException
10482//   Lightsail throws this exception when an account is still in the setup in
10483//   progress state.
10484//
10485//   * UnauthenticatedException
10486//   Lightsail throws this exception when the user has not been authenticated.
10487//
10488// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
10489func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
10490	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
10491	return out, req.Send()
10492}
10493
10494// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
10495// the ability to pass a context and additional request options.
10496//
10497// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
10498//
10499// The context must be non-nil and will be used for request cancellation. If
10500// the context is nil a panic will occur. In the future the SDK may create
10501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10502// for more information on using Contexts.
10503func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
10504	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
10505	req.SetContext(ctx)
10506	req.ApplyOptions(opts...)
10507	return out, req.Send()
10508}
10509
10510const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
10511
10512// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
10513// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
10514// value will be populated with the request's response once the request completes
10515// successfully.
10516//
10517// Use "Send" method on the returned Request to send the API call to the service.
10518// the "output" return value is not valid until after Send returns without error.
10519//
10520// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
10521// API call, and error handling.
10522//
10523// This method is useful when you want to inject custom logic or configuration
10524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10525//
10526//
10527//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
10528//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
10529//
10530//    err := req.Send()
10531//    if err == nil { // resp is now filled
10532//        fmt.Println(resp)
10533//    }
10534//
10535// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
10536func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
10537	op := &request.Operation{
10538		Name:       opGetRelationalDatabaseSnapshots,
10539		HTTPMethod: "POST",
10540		HTTPPath:   "/",
10541	}
10542
10543	if input == nil {
10544		input = &GetRelationalDatabaseSnapshotsInput{}
10545	}
10546
10547	output = &GetRelationalDatabaseSnapshotsOutput{}
10548	req = c.newRequest(op, input, output)
10549	return
10550}
10551
10552// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
10553//
10554// Returns information about all of your database snapshots in Amazon Lightsail.
10555//
10556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10557// with awserr.Error's Code and Message methods to get detailed information about
10558// the error.
10559//
10560// See the AWS API reference guide for Amazon Lightsail's
10561// API operation GetRelationalDatabaseSnapshots for usage and error information.
10562//
10563// Returned Error Types:
10564//   * ServiceException
10565//   A general service exception.
10566//
10567//   * InvalidInputException
10568//   Lightsail throws this exception when user input does not conform to the validation
10569//   rules of an input field.
10570//
10571//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10572//   Please set your AWS Region configuration to us-east-1 to create, view, or
10573//   edit these resources.
10574//
10575//   * NotFoundException
10576//   Lightsail throws this exception when it cannot find a resource.
10577//
10578//   * OperationFailureException
10579//   Lightsail throws this exception when an operation fails to execute.
10580//
10581//   * AccessDeniedException
10582//   Lightsail throws this exception when the user cannot be authenticated or
10583//   uses invalid credentials to access a resource.
10584//
10585//   * AccountSetupInProgressException
10586//   Lightsail throws this exception when an account is still in the setup in
10587//   progress state.
10588//
10589//   * UnauthenticatedException
10590//   Lightsail throws this exception when the user has not been authenticated.
10591//
10592// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
10593func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
10594	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
10595	return out, req.Send()
10596}
10597
10598// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
10599// the ability to pass a context and additional request options.
10600//
10601// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
10602//
10603// The context must be non-nil and will be used for request cancellation. If
10604// the context is nil a panic will occur. In the future the SDK may create
10605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10606// for more information on using Contexts.
10607func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
10608	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
10609	req.SetContext(ctx)
10610	req.ApplyOptions(opts...)
10611	return out, req.Send()
10612}
10613
10614const opGetRelationalDatabases = "GetRelationalDatabases"
10615
10616// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
10617// client's request for the GetRelationalDatabases operation. The "output" return
10618// value will be populated with the request's response once the request completes
10619// successfully.
10620//
10621// Use "Send" method on the returned Request to send the API call to the service.
10622// the "output" return value is not valid until after Send returns without error.
10623//
10624// See GetRelationalDatabases for more information on using the GetRelationalDatabases
10625// API call, and error handling.
10626//
10627// This method is useful when you want to inject custom logic or configuration
10628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10629//
10630//
10631//    // Example sending a request using the GetRelationalDatabasesRequest method.
10632//    req, resp := client.GetRelationalDatabasesRequest(params)
10633//
10634//    err := req.Send()
10635//    if err == nil { // resp is now filled
10636//        fmt.Println(resp)
10637//    }
10638//
10639// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
10640func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
10641	op := &request.Operation{
10642		Name:       opGetRelationalDatabases,
10643		HTTPMethod: "POST",
10644		HTTPPath:   "/",
10645	}
10646
10647	if input == nil {
10648		input = &GetRelationalDatabasesInput{}
10649	}
10650
10651	output = &GetRelationalDatabasesOutput{}
10652	req = c.newRequest(op, input, output)
10653	return
10654}
10655
10656// GetRelationalDatabases API operation for Amazon Lightsail.
10657//
10658// Returns information about all of your databases in Amazon Lightsail.
10659//
10660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10661// with awserr.Error's Code and Message methods to get detailed information about
10662// the error.
10663//
10664// See the AWS API reference guide for Amazon Lightsail's
10665// API operation GetRelationalDatabases for usage and error information.
10666//
10667// Returned Error Types:
10668//   * ServiceException
10669//   A general service exception.
10670//
10671//   * InvalidInputException
10672//   Lightsail throws this exception when user input does not conform to the validation
10673//   rules of an input field.
10674//
10675//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10676//   Please set your AWS Region configuration to us-east-1 to create, view, or
10677//   edit these resources.
10678//
10679//   * NotFoundException
10680//   Lightsail throws this exception when it cannot find a resource.
10681//
10682//   * OperationFailureException
10683//   Lightsail throws this exception when an operation fails to execute.
10684//
10685//   * AccessDeniedException
10686//   Lightsail throws this exception when the user cannot be authenticated or
10687//   uses invalid credentials to access a resource.
10688//
10689//   * AccountSetupInProgressException
10690//   Lightsail throws this exception when an account is still in the setup in
10691//   progress state.
10692//
10693//   * UnauthenticatedException
10694//   Lightsail throws this exception when the user has not been authenticated.
10695//
10696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
10697func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
10698	req, out := c.GetRelationalDatabasesRequest(input)
10699	return out, req.Send()
10700}
10701
10702// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
10703// the ability to pass a context and additional request options.
10704//
10705// See GetRelationalDatabases for details on how to use this API operation.
10706//
10707// The context must be non-nil and will be used for request cancellation. If
10708// the context is nil a panic will occur. In the future the SDK may create
10709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10710// for more information on using Contexts.
10711func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
10712	req, out := c.GetRelationalDatabasesRequest(input)
10713	req.SetContext(ctx)
10714	req.ApplyOptions(opts...)
10715	return out, req.Send()
10716}
10717
10718const opGetStaticIp = "GetStaticIp"
10719
10720// GetStaticIpRequest generates a "aws/request.Request" representing the
10721// client's request for the GetStaticIp operation. The "output" return
10722// value will be populated with the request's response once the request completes
10723// successfully.
10724//
10725// Use "Send" method on the returned Request to send the API call to the service.
10726// the "output" return value is not valid until after Send returns without error.
10727//
10728// See GetStaticIp for more information on using the GetStaticIp
10729// API call, and error handling.
10730//
10731// This method is useful when you want to inject custom logic or configuration
10732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10733//
10734//
10735//    // Example sending a request using the GetStaticIpRequest method.
10736//    req, resp := client.GetStaticIpRequest(params)
10737//
10738//    err := req.Send()
10739//    if err == nil { // resp is now filled
10740//        fmt.Println(resp)
10741//    }
10742//
10743// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
10744func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
10745	op := &request.Operation{
10746		Name:       opGetStaticIp,
10747		HTTPMethod: "POST",
10748		HTTPPath:   "/",
10749	}
10750
10751	if input == nil {
10752		input = &GetStaticIpInput{}
10753	}
10754
10755	output = &GetStaticIpOutput{}
10756	req = c.newRequest(op, input, output)
10757	return
10758}
10759
10760// GetStaticIp API operation for Amazon Lightsail.
10761//
10762// Returns information about a specific static IP.
10763//
10764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10765// with awserr.Error's Code and Message methods to get detailed information about
10766// the error.
10767//
10768// See the AWS API reference guide for Amazon Lightsail's
10769// API operation GetStaticIp for usage and error information.
10770//
10771// Returned Error Types:
10772//   * ServiceException
10773//   A general service exception.
10774//
10775//   * InvalidInputException
10776//   Lightsail throws this exception when user input does not conform to the validation
10777//   rules of an input field.
10778//
10779//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10780//   Please set your AWS Region configuration to us-east-1 to create, view, or
10781//   edit these resources.
10782//
10783//   * NotFoundException
10784//   Lightsail throws this exception when it cannot find a resource.
10785//
10786//   * OperationFailureException
10787//   Lightsail throws this exception when an operation fails to execute.
10788//
10789//   * AccessDeniedException
10790//   Lightsail throws this exception when the user cannot be authenticated or
10791//   uses invalid credentials to access a resource.
10792//
10793//   * AccountSetupInProgressException
10794//   Lightsail throws this exception when an account is still in the setup in
10795//   progress state.
10796//
10797//   * UnauthenticatedException
10798//   Lightsail throws this exception when the user has not been authenticated.
10799//
10800// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
10801func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
10802	req, out := c.GetStaticIpRequest(input)
10803	return out, req.Send()
10804}
10805
10806// GetStaticIpWithContext is the same as GetStaticIp with the addition of
10807// the ability to pass a context and additional request options.
10808//
10809// See GetStaticIp for details on how to use this API operation.
10810//
10811// The context must be non-nil and will be used for request cancellation. If
10812// the context is nil a panic will occur. In the future the SDK may create
10813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10814// for more information on using Contexts.
10815func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
10816	req, out := c.GetStaticIpRequest(input)
10817	req.SetContext(ctx)
10818	req.ApplyOptions(opts...)
10819	return out, req.Send()
10820}
10821
10822const opGetStaticIps = "GetStaticIps"
10823
10824// GetStaticIpsRequest generates a "aws/request.Request" representing the
10825// client's request for the GetStaticIps operation. The "output" return
10826// value will be populated with the request's response once the request completes
10827// successfully.
10828//
10829// Use "Send" method on the returned Request to send the API call to the service.
10830// the "output" return value is not valid until after Send returns without error.
10831//
10832// See GetStaticIps for more information on using the GetStaticIps
10833// API call, and error handling.
10834//
10835// This method is useful when you want to inject custom logic or configuration
10836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10837//
10838//
10839//    // Example sending a request using the GetStaticIpsRequest method.
10840//    req, resp := client.GetStaticIpsRequest(params)
10841//
10842//    err := req.Send()
10843//    if err == nil { // resp is now filled
10844//        fmt.Println(resp)
10845//    }
10846//
10847// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
10848func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
10849	op := &request.Operation{
10850		Name:       opGetStaticIps,
10851		HTTPMethod: "POST",
10852		HTTPPath:   "/",
10853	}
10854
10855	if input == nil {
10856		input = &GetStaticIpsInput{}
10857	}
10858
10859	output = &GetStaticIpsOutput{}
10860	req = c.newRequest(op, input, output)
10861	return
10862}
10863
10864// GetStaticIps API operation for Amazon Lightsail.
10865//
10866// Returns information about all static IPs in the user's account.
10867//
10868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10869// with awserr.Error's Code and Message methods to get detailed information about
10870// the error.
10871//
10872// See the AWS API reference guide for Amazon Lightsail's
10873// API operation GetStaticIps for usage and error information.
10874//
10875// Returned Error Types:
10876//   * ServiceException
10877//   A general service exception.
10878//
10879//   * InvalidInputException
10880//   Lightsail throws this exception when user input does not conform to the validation
10881//   rules of an input field.
10882//
10883//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10884//   Please set your AWS Region configuration to us-east-1 to create, view, or
10885//   edit these resources.
10886//
10887//   * NotFoundException
10888//   Lightsail throws this exception when it cannot find a resource.
10889//
10890//   * OperationFailureException
10891//   Lightsail throws this exception when an operation fails to execute.
10892//
10893//   * AccessDeniedException
10894//   Lightsail throws this exception when the user cannot be authenticated or
10895//   uses invalid credentials to access a resource.
10896//
10897//   * AccountSetupInProgressException
10898//   Lightsail throws this exception when an account is still in the setup in
10899//   progress state.
10900//
10901//   * UnauthenticatedException
10902//   Lightsail throws this exception when the user has not been authenticated.
10903//
10904// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
10905func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
10906	req, out := c.GetStaticIpsRequest(input)
10907	return out, req.Send()
10908}
10909
10910// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
10911// the ability to pass a context and additional request options.
10912//
10913// See GetStaticIps for details on how to use this API operation.
10914//
10915// The context must be non-nil and will be used for request cancellation. If
10916// the context is nil a panic will occur. In the future the SDK may create
10917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10918// for more information on using Contexts.
10919func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
10920	req, out := c.GetStaticIpsRequest(input)
10921	req.SetContext(ctx)
10922	req.ApplyOptions(opts...)
10923	return out, req.Send()
10924}
10925
10926const opImportKeyPair = "ImportKeyPair"
10927
10928// ImportKeyPairRequest generates a "aws/request.Request" representing the
10929// client's request for the ImportKeyPair operation. The "output" return
10930// value will be populated with the request's response once the request completes
10931// successfully.
10932//
10933// Use "Send" method on the returned Request to send the API call to the service.
10934// the "output" return value is not valid until after Send returns without error.
10935//
10936// See ImportKeyPair for more information on using the ImportKeyPair
10937// API call, and error handling.
10938//
10939// This method is useful when you want to inject custom logic or configuration
10940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10941//
10942//
10943//    // Example sending a request using the ImportKeyPairRequest method.
10944//    req, resp := client.ImportKeyPairRequest(params)
10945//
10946//    err := req.Send()
10947//    if err == nil { // resp is now filled
10948//        fmt.Println(resp)
10949//    }
10950//
10951// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
10952func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
10953	op := &request.Operation{
10954		Name:       opImportKeyPair,
10955		HTTPMethod: "POST",
10956		HTTPPath:   "/",
10957	}
10958
10959	if input == nil {
10960		input = &ImportKeyPairInput{}
10961	}
10962
10963	output = &ImportKeyPairOutput{}
10964	req = c.newRequest(op, input, output)
10965	return
10966}
10967
10968// ImportKeyPair API operation for Amazon Lightsail.
10969//
10970// Imports a public SSH key from a specific key pair.
10971//
10972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10973// with awserr.Error's Code and Message methods to get detailed information about
10974// the error.
10975//
10976// See the AWS API reference guide for Amazon Lightsail's
10977// API operation ImportKeyPair for usage and error information.
10978//
10979// Returned Error Types:
10980//   * ServiceException
10981//   A general service exception.
10982//
10983//   * InvalidInputException
10984//   Lightsail throws this exception when user input does not conform to the validation
10985//   rules of an input field.
10986//
10987//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10988//   Please set your AWS Region configuration to us-east-1 to create, view, or
10989//   edit these resources.
10990//
10991//   * NotFoundException
10992//   Lightsail throws this exception when it cannot find a resource.
10993//
10994//   * OperationFailureException
10995//   Lightsail throws this exception when an operation fails to execute.
10996//
10997//   * AccessDeniedException
10998//   Lightsail throws this exception when the user cannot be authenticated or
10999//   uses invalid credentials to access a resource.
11000//
11001//   * AccountSetupInProgressException
11002//   Lightsail throws this exception when an account is still in the setup in
11003//   progress state.
11004//
11005//   * UnauthenticatedException
11006//   Lightsail throws this exception when the user has not been authenticated.
11007//
11008// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
11009func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
11010	req, out := c.ImportKeyPairRequest(input)
11011	return out, req.Send()
11012}
11013
11014// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
11015// the ability to pass a context and additional request options.
11016//
11017// See ImportKeyPair for details on how to use this API operation.
11018//
11019// The context must be non-nil and will be used for request cancellation. If
11020// the context is nil a panic will occur. In the future the SDK may create
11021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11022// for more information on using Contexts.
11023func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
11024	req, out := c.ImportKeyPairRequest(input)
11025	req.SetContext(ctx)
11026	req.ApplyOptions(opts...)
11027	return out, req.Send()
11028}
11029
11030const opIsVpcPeered = "IsVpcPeered"
11031
11032// IsVpcPeeredRequest generates a "aws/request.Request" representing the
11033// client's request for the IsVpcPeered operation. The "output" return
11034// value will be populated with the request's response once the request completes
11035// successfully.
11036//
11037// Use "Send" method on the returned Request to send the API call to the service.
11038// the "output" return value is not valid until after Send returns without error.
11039//
11040// See IsVpcPeered for more information on using the IsVpcPeered
11041// API call, and error handling.
11042//
11043// This method is useful when you want to inject custom logic or configuration
11044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11045//
11046//
11047//    // Example sending a request using the IsVpcPeeredRequest method.
11048//    req, resp := client.IsVpcPeeredRequest(params)
11049//
11050//    err := req.Send()
11051//    if err == nil { // resp is now filled
11052//        fmt.Println(resp)
11053//    }
11054//
11055// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
11056func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
11057	op := &request.Operation{
11058		Name:       opIsVpcPeered,
11059		HTTPMethod: "POST",
11060		HTTPPath:   "/",
11061	}
11062
11063	if input == nil {
11064		input = &IsVpcPeeredInput{}
11065	}
11066
11067	output = &IsVpcPeeredOutput{}
11068	req = c.newRequest(op, input, output)
11069	return
11070}
11071
11072// IsVpcPeered API operation for Amazon Lightsail.
11073//
11074// Returns a Boolean value indicating whether your Lightsail VPC is peered.
11075//
11076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11077// with awserr.Error's Code and Message methods to get detailed information about
11078// the error.
11079//
11080// See the AWS API reference guide for Amazon Lightsail's
11081// API operation IsVpcPeered for usage and error information.
11082//
11083// Returned Error Types:
11084//   * ServiceException
11085//   A general service exception.
11086//
11087//   * InvalidInputException
11088//   Lightsail throws this exception when user input does not conform to the validation
11089//   rules of an input field.
11090//
11091//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11092//   Please set your AWS Region configuration to us-east-1 to create, view, or
11093//   edit these resources.
11094//
11095//   * NotFoundException
11096//   Lightsail throws this exception when it cannot find a resource.
11097//
11098//   * OperationFailureException
11099//   Lightsail throws this exception when an operation fails to execute.
11100//
11101//   * AccessDeniedException
11102//   Lightsail throws this exception when the user cannot be authenticated or
11103//   uses invalid credentials to access a resource.
11104//
11105//   * AccountSetupInProgressException
11106//   Lightsail throws this exception when an account is still in the setup in
11107//   progress state.
11108//
11109//   * UnauthenticatedException
11110//   Lightsail throws this exception when the user has not been authenticated.
11111//
11112// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
11113func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
11114	req, out := c.IsVpcPeeredRequest(input)
11115	return out, req.Send()
11116}
11117
11118// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
11119// the ability to pass a context and additional request options.
11120//
11121// See IsVpcPeered for details on how to use this API operation.
11122//
11123// The context must be non-nil and will be used for request cancellation. If
11124// the context is nil a panic will occur. In the future the SDK may create
11125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11126// for more information on using Contexts.
11127func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
11128	req, out := c.IsVpcPeeredRequest(input)
11129	req.SetContext(ctx)
11130	req.ApplyOptions(opts...)
11131	return out, req.Send()
11132}
11133
11134const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
11135
11136// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
11137// client's request for the OpenInstancePublicPorts operation. The "output" return
11138// value will be populated with the request's response once the request completes
11139// successfully.
11140//
11141// Use "Send" method on the returned Request to send the API call to the service.
11142// the "output" return value is not valid until after Send returns without error.
11143//
11144// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
11145// API call, and error handling.
11146//
11147// This method is useful when you want to inject custom logic or configuration
11148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11149//
11150//
11151//    // Example sending a request using the OpenInstancePublicPortsRequest method.
11152//    req, resp := client.OpenInstancePublicPortsRequest(params)
11153//
11154//    err := req.Send()
11155//    if err == nil { // resp is now filled
11156//        fmt.Println(resp)
11157//    }
11158//
11159// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
11160func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
11161	op := &request.Operation{
11162		Name:       opOpenInstancePublicPorts,
11163		HTTPMethod: "POST",
11164		HTTPPath:   "/",
11165	}
11166
11167	if input == nil {
11168		input = &OpenInstancePublicPortsInput{}
11169	}
11170
11171	output = &OpenInstancePublicPortsOutput{}
11172	req = c.newRequest(op, input, output)
11173	return
11174}
11175
11176// OpenInstancePublicPorts API operation for Amazon Lightsail.
11177//
11178// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
11179// addresses allowed to connect to the instance through the ports, and the protocol.
11180//
11181// The OpenInstancePublicPorts action supports tag-based access control via
11182// resource tags applied to the resource identified by instanceName. For more
11183// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11184//
11185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11186// with awserr.Error's Code and Message methods to get detailed information about
11187// the error.
11188//
11189// See the AWS API reference guide for Amazon Lightsail's
11190// API operation OpenInstancePublicPorts for usage and error information.
11191//
11192// Returned Error Types:
11193//   * ServiceException
11194//   A general service exception.
11195//
11196//   * InvalidInputException
11197//   Lightsail throws this exception when user input does not conform to the validation
11198//   rules of an input field.
11199//
11200//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11201//   Please set your AWS Region configuration to us-east-1 to create, view, or
11202//   edit these resources.
11203//
11204//   * NotFoundException
11205//   Lightsail throws this exception when it cannot find a resource.
11206//
11207//   * OperationFailureException
11208//   Lightsail throws this exception when an operation fails to execute.
11209//
11210//   * AccessDeniedException
11211//   Lightsail throws this exception when the user cannot be authenticated or
11212//   uses invalid credentials to access a resource.
11213//
11214//   * AccountSetupInProgressException
11215//   Lightsail throws this exception when an account is still in the setup in
11216//   progress state.
11217//
11218//   * UnauthenticatedException
11219//   Lightsail throws this exception when the user has not been authenticated.
11220//
11221// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
11222func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
11223	req, out := c.OpenInstancePublicPortsRequest(input)
11224	return out, req.Send()
11225}
11226
11227// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
11228// the ability to pass a context and additional request options.
11229//
11230// See OpenInstancePublicPorts for details on how to use this API operation.
11231//
11232// The context must be non-nil and will be used for request cancellation. If
11233// the context is nil a panic will occur. In the future the SDK may create
11234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11235// for more information on using Contexts.
11236func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
11237	req, out := c.OpenInstancePublicPortsRequest(input)
11238	req.SetContext(ctx)
11239	req.ApplyOptions(opts...)
11240	return out, req.Send()
11241}
11242
11243const opPeerVpc = "PeerVpc"
11244
11245// PeerVpcRequest generates a "aws/request.Request" representing the
11246// client's request for the PeerVpc operation. The "output" return
11247// value will be populated with the request's response once the request completes
11248// successfully.
11249//
11250// Use "Send" method on the returned Request to send the API call to the service.
11251// the "output" return value is not valid until after Send returns without error.
11252//
11253// See PeerVpc for more information on using the PeerVpc
11254// API call, and error handling.
11255//
11256// This method is useful when you want to inject custom logic or configuration
11257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11258//
11259//
11260//    // Example sending a request using the PeerVpcRequest method.
11261//    req, resp := client.PeerVpcRequest(params)
11262//
11263//    err := req.Send()
11264//    if err == nil { // resp is now filled
11265//        fmt.Println(resp)
11266//    }
11267//
11268// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
11269func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
11270	op := &request.Operation{
11271		Name:       opPeerVpc,
11272		HTTPMethod: "POST",
11273		HTTPPath:   "/",
11274	}
11275
11276	if input == nil {
11277		input = &PeerVpcInput{}
11278	}
11279
11280	output = &PeerVpcOutput{}
11281	req = c.newRequest(op, input, output)
11282	return
11283}
11284
11285// PeerVpc API operation for Amazon Lightsail.
11286//
11287// Tries to peer the Lightsail VPC with the user's default VPC.
11288//
11289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11290// with awserr.Error's Code and Message methods to get detailed information about
11291// the error.
11292//
11293// See the AWS API reference guide for Amazon Lightsail's
11294// API operation PeerVpc for usage and error information.
11295//
11296// Returned Error Types:
11297//   * ServiceException
11298//   A general service exception.
11299//
11300//   * InvalidInputException
11301//   Lightsail throws this exception when user input does not conform to the validation
11302//   rules of an input field.
11303//
11304//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11305//   Please set your AWS Region configuration to us-east-1 to create, view, or
11306//   edit these resources.
11307//
11308//   * NotFoundException
11309//   Lightsail throws this exception when it cannot find a resource.
11310//
11311//   * OperationFailureException
11312//   Lightsail throws this exception when an operation fails to execute.
11313//
11314//   * AccessDeniedException
11315//   Lightsail throws this exception when the user cannot be authenticated or
11316//   uses invalid credentials to access a resource.
11317//
11318//   * AccountSetupInProgressException
11319//   Lightsail throws this exception when an account is still in the setup in
11320//   progress state.
11321//
11322//   * UnauthenticatedException
11323//   Lightsail throws this exception when the user has not been authenticated.
11324//
11325// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
11326func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
11327	req, out := c.PeerVpcRequest(input)
11328	return out, req.Send()
11329}
11330
11331// PeerVpcWithContext is the same as PeerVpc with the addition of
11332// the ability to pass a context and additional request options.
11333//
11334// See PeerVpc for details on how to use this API operation.
11335//
11336// The context must be non-nil and will be used for request cancellation. If
11337// the context is nil a panic will occur. In the future the SDK may create
11338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11339// for more information on using Contexts.
11340func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
11341	req, out := c.PeerVpcRequest(input)
11342	req.SetContext(ctx)
11343	req.ApplyOptions(opts...)
11344	return out, req.Send()
11345}
11346
11347const opPutAlarm = "PutAlarm"
11348
11349// PutAlarmRequest generates a "aws/request.Request" representing the
11350// client's request for the PutAlarm operation. The "output" return
11351// value will be populated with the request's response once the request completes
11352// successfully.
11353//
11354// Use "Send" method on the returned Request to send the API call to the service.
11355// the "output" return value is not valid until after Send returns without error.
11356//
11357// See PutAlarm for more information on using the PutAlarm
11358// API call, and error handling.
11359//
11360// This method is useful when you want to inject custom logic or configuration
11361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11362//
11363//
11364//    // Example sending a request using the PutAlarmRequest method.
11365//    req, resp := client.PutAlarmRequest(params)
11366//
11367//    err := req.Send()
11368//    if err == nil { // resp is now filled
11369//        fmt.Println(resp)
11370//    }
11371//
11372// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
11373func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) {
11374	op := &request.Operation{
11375		Name:       opPutAlarm,
11376		HTTPMethod: "POST",
11377		HTTPPath:   "/",
11378	}
11379
11380	if input == nil {
11381		input = &PutAlarmInput{}
11382	}
11383
11384	output = &PutAlarmOutput{}
11385	req = c.newRequest(op, input, output)
11386	return
11387}
11388
11389// PutAlarm API operation for Amazon Lightsail.
11390//
11391// Creates or updates an alarm, and associates it with the specified metric.
11392//
11393// An alarm is used to monitor a single metric for one of your resources. When
11394// a metric condition is met, the alarm can notify you by email, SMS text message,
11395// and a banner displayed on the Amazon Lightsail console. For more information,
11396// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
11397//
11398// When this action creates an alarm, the alarm state is immediately set to
11399// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately.
11400// Any actions associated with the new state are then executed.
11401//
11402// When you update an existing alarm, its state is left unchanged, but the update
11403// completely overwrites the previous configuration of the alarm. The alarm
11404// is then evaluated with the updated configuration.
11405//
11406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11407// with awserr.Error's Code and Message methods to get detailed information about
11408// the error.
11409//
11410// See the AWS API reference guide for Amazon Lightsail's
11411// API operation PutAlarm for usage and error information.
11412//
11413// Returned Error Types:
11414//   * ServiceException
11415//   A general service exception.
11416//
11417//   * InvalidInputException
11418//   Lightsail throws this exception when user input does not conform to the validation
11419//   rules of an input field.
11420//
11421//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11422//   Please set your AWS Region configuration to us-east-1 to create, view, or
11423//   edit these resources.
11424//
11425//   * OperationFailureException
11426//   Lightsail throws this exception when an operation fails to execute.
11427//
11428//   * AccessDeniedException
11429//   Lightsail throws this exception when the user cannot be authenticated or
11430//   uses invalid credentials to access a resource.
11431//
11432//   * UnauthenticatedException
11433//   Lightsail throws this exception when the user has not been authenticated.
11434//
11435//   * NotFoundException
11436//   Lightsail throws this exception when it cannot find a resource.
11437//
11438// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm
11439func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) {
11440	req, out := c.PutAlarmRequest(input)
11441	return out, req.Send()
11442}
11443
11444// PutAlarmWithContext is the same as PutAlarm with the addition of
11445// the ability to pass a context and additional request options.
11446//
11447// See PutAlarm for details on how to use this API operation.
11448//
11449// The context must be non-nil and will be used for request cancellation. If
11450// the context is nil a panic will occur. In the future the SDK may create
11451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11452// for more information on using Contexts.
11453func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) {
11454	req, out := c.PutAlarmRequest(input)
11455	req.SetContext(ctx)
11456	req.ApplyOptions(opts...)
11457	return out, req.Send()
11458}
11459
11460const opPutInstancePublicPorts = "PutInstancePublicPorts"
11461
11462// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
11463// client's request for the PutInstancePublicPorts operation. The "output" return
11464// value will be populated with the request's response once the request completes
11465// successfully.
11466//
11467// Use "Send" method on the returned Request to send the API call to the service.
11468// the "output" return value is not valid until after Send returns without error.
11469//
11470// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
11471// API call, and error handling.
11472//
11473// This method is useful when you want to inject custom logic or configuration
11474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11475//
11476//
11477//    // Example sending a request using the PutInstancePublicPortsRequest method.
11478//    req, resp := client.PutInstancePublicPortsRequest(params)
11479//
11480//    err := req.Send()
11481//    if err == nil { // resp is now filled
11482//        fmt.Println(resp)
11483//    }
11484//
11485// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
11486func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
11487	op := &request.Operation{
11488		Name:       opPutInstancePublicPorts,
11489		HTTPMethod: "POST",
11490		HTTPPath:   "/",
11491	}
11492
11493	if input == nil {
11494		input = &PutInstancePublicPortsInput{}
11495	}
11496
11497	output = &PutInstancePublicPortsOutput{}
11498	req = c.newRequest(op, input, output)
11499	return
11500}
11501
11502// PutInstancePublicPorts API operation for Amazon Lightsail.
11503//
11504// Opens ports for a specific Amazon Lightsail instance, and specifies the IP
11505// addresses allowed to connect to the instance through the ports, and the protocol.
11506// This action also closes all currently open ports that are not included in
11507// the request. Include all of the ports and the protocols you want to open
11508// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts
11509// action to open ports without closing currently open ports.
11510//
11511// The PutInstancePublicPorts action supports tag-based access control via resource
11512// tags applied to the resource identified by instanceName. For more information,
11513// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11514//
11515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11516// with awserr.Error's Code and Message methods to get detailed information about
11517// the error.
11518//
11519// See the AWS API reference guide for Amazon Lightsail's
11520// API operation PutInstancePublicPorts for usage and error information.
11521//
11522// Returned Error Types:
11523//   * ServiceException
11524//   A general service exception.
11525//
11526//   * InvalidInputException
11527//   Lightsail throws this exception when user input does not conform to the validation
11528//   rules of an input field.
11529//
11530//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11531//   Please set your AWS Region configuration to us-east-1 to create, view, or
11532//   edit these resources.
11533//
11534//   * NotFoundException
11535//   Lightsail throws this exception when it cannot find a resource.
11536//
11537//   * OperationFailureException
11538//   Lightsail throws this exception when an operation fails to execute.
11539//
11540//   * AccessDeniedException
11541//   Lightsail throws this exception when the user cannot be authenticated or
11542//   uses invalid credentials to access a resource.
11543//
11544//   * AccountSetupInProgressException
11545//   Lightsail throws this exception when an account is still in the setup in
11546//   progress state.
11547//
11548//   * UnauthenticatedException
11549//   Lightsail throws this exception when the user has not been authenticated.
11550//
11551// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
11552func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
11553	req, out := c.PutInstancePublicPortsRequest(input)
11554	return out, req.Send()
11555}
11556
11557// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
11558// the ability to pass a context and additional request options.
11559//
11560// See PutInstancePublicPorts for details on how to use this API operation.
11561//
11562// The context must be non-nil and will be used for request cancellation. If
11563// the context is nil a panic will occur. In the future the SDK may create
11564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11565// for more information on using Contexts.
11566func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
11567	req, out := c.PutInstancePublicPortsRequest(input)
11568	req.SetContext(ctx)
11569	req.ApplyOptions(opts...)
11570	return out, req.Send()
11571}
11572
11573const opRebootInstance = "RebootInstance"
11574
11575// RebootInstanceRequest generates a "aws/request.Request" representing the
11576// client's request for the RebootInstance operation. The "output" return
11577// value will be populated with the request's response once the request completes
11578// successfully.
11579//
11580// Use "Send" method on the returned Request to send the API call to the service.
11581// the "output" return value is not valid until after Send returns without error.
11582//
11583// See RebootInstance for more information on using the RebootInstance
11584// API call, and error handling.
11585//
11586// This method is useful when you want to inject custom logic or configuration
11587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11588//
11589//
11590//    // Example sending a request using the RebootInstanceRequest method.
11591//    req, resp := client.RebootInstanceRequest(params)
11592//
11593//    err := req.Send()
11594//    if err == nil { // resp is now filled
11595//        fmt.Println(resp)
11596//    }
11597//
11598// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
11599func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
11600	op := &request.Operation{
11601		Name:       opRebootInstance,
11602		HTTPMethod: "POST",
11603		HTTPPath:   "/",
11604	}
11605
11606	if input == nil {
11607		input = &RebootInstanceInput{}
11608	}
11609
11610	output = &RebootInstanceOutput{}
11611	req = c.newRequest(op, input, output)
11612	return
11613}
11614
11615// RebootInstance API operation for Amazon Lightsail.
11616//
11617// Restarts a specific instance.
11618//
11619// The reboot instance operation supports tag-based access control via resource
11620// tags applied to the resource identified by instance name. For more information,
11621// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11622//
11623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11624// with awserr.Error's Code and Message methods to get detailed information about
11625// the error.
11626//
11627// See the AWS API reference guide for Amazon Lightsail's
11628// API operation RebootInstance for usage and error information.
11629//
11630// Returned Error Types:
11631//   * ServiceException
11632//   A general service exception.
11633//
11634//   * InvalidInputException
11635//   Lightsail throws this exception when user input does not conform to the validation
11636//   rules of an input field.
11637//
11638//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11639//   Please set your AWS Region configuration to us-east-1 to create, view, or
11640//   edit these resources.
11641//
11642//   * NotFoundException
11643//   Lightsail throws this exception when it cannot find a resource.
11644//
11645//   * OperationFailureException
11646//   Lightsail throws this exception when an operation fails to execute.
11647//
11648//   * AccessDeniedException
11649//   Lightsail throws this exception when the user cannot be authenticated or
11650//   uses invalid credentials to access a resource.
11651//
11652//   * AccountSetupInProgressException
11653//   Lightsail throws this exception when an account is still in the setup in
11654//   progress state.
11655//
11656//   * UnauthenticatedException
11657//   Lightsail throws this exception when the user has not been authenticated.
11658//
11659// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
11660func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
11661	req, out := c.RebootInstanceRequest(input)
11662	return out, req.Send()
11663}
11664
11665// RebootInstanceWithContext is the same as RebootInstance with the addition of
11666// the ability to pass a context and additional request options.
11667//
11668// See RebootInstance for details on how to use this API operation.
11669//
11670// The context must be non-nil and will be used for request cancellation. If
11671// the context is nil a panic will occur. In the future the SDK may create
11672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11673// for more information on using Contexts.
11674func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
11675	req, out := c.RebootInstanceRequest(input)
11676	req.SetContext(ctx)
11677	req.ApplyOptions(opts...)
11678	return out, req.Send()
11679}
11680
11681const opRebootRelationalDatabase = "RebootRelationalDatabase"
11682
11683// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
11684// client's request for the RebootRelationalDatabase operation. The "output" return
11685// value will be populated with the request's response once the request completes
11686// successfully.
11687//
11688// Use "Send" method on the returned Request to send the API call to the service.
11689// the "output" return value is not valid until after Send returns without error.
11690//
11691// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
11692// API call, and error handling.
11693//
11694// This method is useful when you want to inject custom logic or configuration
11695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11696//
11697//
11698//    // Example sending a request using the RebootRelationalDatabaseRequest method.
11699//    req, resp := client.RebootRelationalDatabaseRequest(params)
11700//
11701//    err := req.Send()
11702//    if err == nil { // resp is now filled
11703//        fmt.Println(resp)
11704//    }
11705//
11706// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
11707func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
11708	op := &request.Operation{
11709		Name:       opRebootRelationalDatabase,
11710		HTTPMethod: "POST",
11711		HTTPPath:   "/",
11712	}
11713
11714	if input == nil {
11715		input = &RebootRelationalDatabaseInput{}
11716	}
11717
11718	output = &RebootRelationalDatabaseOutput{}
11719	req = c.newRequest(op, input, output)
11720	return
11721}
11722
11723// RebootRelationalDatabase API operation for Amazon Lightsail.
11724//
11725// Restarts a specific database in Amazon Lightsail.
11726//
11727// The reboot relational database operation supports tag-based access control
11728// via resource tags applied to the resource identified by relationalDatabaseName.
11729// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11730//
11731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11732// with awserr.Error's Code and Message methods to get detailed information about
11733// the error.
11734//
11735// See the AWS API reference guide for Amazon Lightsail's
11736// API operation RebootRelationalDatabase for usage and error information.
11737//
11738// Returned Error Types:
11739//   * ServiceException
11740//   A general service exception.
11741//
11742//   * InvalidInputException
11743//   Lightsail throws this exception when user input does not conform to the validation
11744//   rules of an input field.
11745//
11746//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11747//   Please set your AWS Region configuration to us-east-1 to create, view, or
11748//   edit these resources.
11749//
11750//   * NotFoundException
11751//   Lightsail throws this exception when it cannot find a resource.
11752//
11753//   * OperationFailureException
11754//   Lightsail throws this exception when an operation fails to execute.
11755//
11756//   * AccessDeniedException
11757//   Lightsail throws this exception when the user cannot be authenticated or
11758//   uses invalid credentials to access a resource.
11759//
11760//   * AccountSetupInProgressException
11761//   Lightsail throws this exception when an account is still in the setup in
11762//   progress state.
11763//
11764//   * UnauthenticatedException
11765//   Lightsail throws this exception when the user has not been authenticated.
11766//
11767// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
11768func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
11769	req, out := c.RebootRelationalDatabaseRequest(input)
11770	return out, req.Send()
11771}
11772
11773// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
11774// the ability to pass a context and additional request options.
11775//
11776// See RebootRelationalDatabase for details on how to use this API operation.
11777//
11778// The context must be non-nil and will be used for request cancellation. If
11779// the context is nil a panic will occur. In the future the SDK may create
11780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11781// for more information on using Contexts.
11782func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
11783	req, out := c.RebootRelationalDatabaseRequest(input)
11784	req.SetContext(ctx)
11785	req.ApplyOptions(opts...)
11786	return out, req.Send()
11787}
11788
11789const opReleaseStaticIp = "ReleaseStaticIp"
11790
11791// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
11792// client's request for the ReleaseStaticIp operation. The "output" return
11793// value will be populated with the request's response once the request completes
11794// successfully.
11795//
11796// Use "Send" method on the returned Request to send the API call to the service.
11797// the "output" return value is not valid until after Send returns without error.
11798//
11799// See ReleaseStaticIp for more information on using the ReleaseStaticIp
11800// API call, and error handling.
11801//
11802// This method is useful when you want to inject custom logic or configuration
11803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11804//
11805//
11806//    // Example sending a request using the ReleaseStaticIpRequest method.
11807//    req, resp := client.ReleaseStaticIpRequest(params)
11808//
11809//    err := req.Send()
11810//    if err == nil { // resp is now filled
11811//        fmt.Println(resp)
11812//    }
11813//
11814// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
11815func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
11816	op := &request.Operation{
11817		Name:       opReleaseStaticIp,
11818		HTTPMethod: "POST",
11819		HTTPPath:   "/",
11820	}
11821
11822	if input == nil {
11823		input = &ReleaseStaticIpInput{}
11824	}
11825
11826	output = &ReleaseStaticIpOutput{}
11827	req = c.newRequest(op, input, output)
11828	return
11829}
11830
11831// ReleaseStaticIp API operation for Amazon Lightsail.
11832//
11833// Deletes a specific static IP from your account.
11834//
11835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11836// with awserr.Error's Code and Message methods to get detailed information about
11837// the error.
11838//
11839// See the AWS API reference guide for Amazon Lightsail's
11840// API operation ReleaseStaticIp for usage and error information.
11841//
11842// Returned Error Types:
11843//   * ServiceException
11844//   A general service exception.
11845//
11846//   * InvalidInputException
11847//   Lightsail throws this exception when user input does not conform to the validation
11848//   rules of an input field.
11849//
11850//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11851//   Please set your AWS Region configuration to us-east-1 to create, view, or
11852//   edit these resources.
11853//
11854//   * NotFoundException
11855//   Lightsail throws this exception when it cannot find a resource.
11856//
11857//   * OperationFailureException
11858//   Lightsail throws this exception when an operation fails to execute.
11859//
11860//   * AccessDeniedException
11861//   Lightsail throws this exception when the user cannot be authenticated or
11862//   uses invalid credentials to access a resource.
11863//
11864//   * AccountSetupInProgressException
11865//   Lightsail throws this exception when an account is still in the setup in
11866//   progress state.
11867//
11868//   * UnauthenticatedException
11869//   Lightsail throws this exception when the user has not been authenticated.
11870//
11871// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
11872func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
11873	req, out := c.ReleaseStaticIpRequest(input)
11874	return out, req.Send()
11875}
11876
11877// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
11878// the ability to pass a context and additional request options.
11879//
11880// See ReleaseStaticIp for details on how to use this API operation.
11881//
11882// The context must be non-nil and will be used for request cancellation. If
11883// the context is nil a panic will occur. In the future the SDK may create
11884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11885// for more information on using Contexts.
11886func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
11887	req, out := c.ReleaseStaticIpRequest(input)
11888	req.SetContext(ctx)
11889	req.ApplyOptions(opts...)
11890	return out, req.Send()
11891}
11892
11893const opResetDistributionCache = "ResetDistributionCache"
11894
11895// ResetDistributionCacheRequest generates a "aws/request.Request" representing the
11896// client's request for the ResetDistributionCache operation. The "output" return
11897// value will be populated with the request's response once the request completes
11898// successfully.
11899//
11900// Use "Send" method on the returned Request to send the API call to the service.
11901// the "output" return value is not valid until after Send returns without error.
11902//
11903// See ResetDistributionCache for more information on using the ResetDistributionCache
11904// API call, and error handling.
11905//
11906// This method is useful when you want to inject custom logic or configuration
11907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11908//
11909//
11910//    // Example sending a request using the ResetDistributionCacheRequest method.
11911//    req, resp := client.ResetDistributionCacheRequest(params)
11912//
11913//    err := req.Send()
11914//    if err == nil { // resp is now filled
11915//        fmt.Println(resp)
11916//    }
11917//
11918// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
11919func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) {
11920	op := &request.Operation{
11921		Name:       opResetDistributionCache,
11922		HTTPMethod: "POST",
11923		HTTPPath:   "/",
11924	}
11925
11926	if input == nil {
11927		input = &ResetDistributionCacheInput{}
11928	}
11929
11930	output = &ResetDistributionCacheOutput{}
11931	req = c.newRequest(op, input, output)
11932	return
11933}
11934
11935// ResetDistributionCache API operation for Amazon Lightsail.
11936//
11937// Deletes currently cached content from your Amazon Lightsail content delivery
11938// network (CDN) distribution.
11939//
11940// After resetting the cache, the next time a content request is made, your
11941// distribution pulls, serves, and caches it from the origin.
11942//
11943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11944// with awserr.Error's Code and Message methods to get detailed information about
11945// the error.
11946//
11947// See the AWS API reference guide for Amazon Lightsail's
11948// API operation ResetDistributionCache for usage and error information.
11949//
11950// Returned Error Types:
11951//   * ServiceException
11952//   A general service exception.
11953//
11954//   * InvalidInputException
11955//   Lightsail throws this exception when user input does not conform to the validation
11956//   rules of an input field.
11957//
11958//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11959//   Please set your AWS Region configuration to us-east-1 to create, view, or
11960//   edit these resources.
11961//
11962//   * NotFoundException
11963//   Lightsail throws this exception when it cannot find a resource.
11964//
11965//   * OperationFailureException
11966//   Lightsail throws this exception when an operation fails to execute.
11967//
11968//   * AccessDeniedException
11969//   Lightsail throws this exception when the user cannot be authenticated or
11970//   uses invalid credentials to access a resource.
11971//
11972//   * UnauthenticatedException
11973//   Lightsail throws this exception when the user has not been authenticated.
11974//
11975// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache
11976func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) {
11977	req, out := c.ResetDistributionCacheRequest(input)
11978	return out, req.Send()
11979}
11980
11981// ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of
11982// the ability to pass a context and additional request options.
11983//
11984// See ResetDistributionCache for details on how to use this API operation.
11985//
11986// The context must be non-nil and will be used for request cancellation. If
11987// the context is nil a panic will occur. In the future the SDK may create
11988// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11989// for more information on using Contexts.
11990func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) {
11991	req, out := c.ResetDistributionCacheRequest(input)
11992	req.SetContext(ctx)
11993	req.ApplyOptions(opts...)
11994	return out, req.Send()
11995}
11996
11997const opSendContactMethodVerification = "SendContactMethodVerification"
11998
11999// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the
12000// client's request for the SendContactMethodVerification operation. The "output" return
12001// value will be populated with the request's response once the request completes
12002// successfully.
12003//
12004// Use "Send" method on the returned Request to send the API call to the service.
12005// the "output" return value is not valid until after Send returns without error.
12006//
12007// See SendContactMethodVerification for more information on using the SendContactMethodVerification
12008// API call, and error handling.
12009//
12010// This method is useful when you want to inject custom logic or configuration
12011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12012//
12013//
12014//    // Example sending a request using the SendContactMethodVerificationRequest method.
12015//    req, resp := client.SendContactMethodVerificationRequest(params)
12016//
12017//    err := req.Send()
12018//    if err == nil { // resp is now filled
12019//        fmt.Println(resp)
12020//    }
12021//
12022// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
12023func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) {
12024	op := &request.Operation{
12025		Name:       opSendContactMethodVerification,
12026		HTTPMethod: "POST",
12027		HTTPPath:   "/",
12028	}
12029
12030	if input == nil {
12031		input = &SendContactMethodVerificationInput{}
12032	}
12033
12034	output = &SendContactMethodVerificationOutput{}
12035	req = c.newRequest(op, input, output)
12036	return
12037}
12038
12039// SendContactMethodVerification API operation for Amazon Lightsail.
12040//
12041// Sends a verification request to an email contact method to ensure it's owned
12042// by the requester. SMS contact methods don't need to be verified.
12043//
12044// A contact method is used to send you notifications about your Amazon Lightsail
12045// resources. You can add one email address and one mobile phone number contact
12046// method in each AWS Region. However, SMS text messaging is not supported in
12047// some AWS Regions, and SMS text messages cannot be sent to some countries/regions.
12048// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
12049//
12050// A verification request is sent to the contact method when you initially create
12051// it. Use this action to send another verification request if a previous verification
12052// request was deleted, or has expired.
12053//
12054// Notifications are not sent to an email contact method until after it is verified,
12055// and confirmed as valid.
12056//
12057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12058// with awserr.Error's Code and Message methods to get detailed information about
12059// the error.
12060//
12061// See the AWS API reference guide for Amazon Lightsail's
12062// API operation SendContactMethodVerification for usage and error information.
12063//
12064// Returned Error Types:
12065//   * ServiceException
12066//   A general service exception.
12067//
12068//   * InvalidInputException
12069//   Lightsail throws this exception when user input does not conform to the validation
12070//   rules of an input field.
12071//
12072//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12073//   Please set your AWS Region configuration to us-east-1 to create, view, or
12074//   edit these resources.
12075//
12076//   * OperationFailureException
12077//   Lightsail throws this exception when an operation fails to execute.
12078//
12079//   * UnauthenticatedException
12080//   Lightsail throws this exception when the user has not been authenticated.
12081//
12082//   * AccessDeniedException
12083//   Lightsail throws this exception when the user cannot be authenticated or
12084//   uses invalid credentials to access a resource.
12085//
12086//   * NotFoundException
12087//   Lightsail throws this exception when it cannot find a resource.
12088//
12089// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification
12090func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) {
12091	req, out := c.SendContactMethodVerificationRequest(input)
12092	return out, req.Send()
12093}
12094
12095// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of
12096// the ability to pass a context and additional request options.
12097//
12098// See SendContactMethodVerification for details on how to use this API operation.
12099//
12100// The context must be non-nil and will be used for request cancellation. If
12101// the context is nil a panic will occur. In the future the SDK may create
12102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12103// for more information on using Contexts.
12104func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) {
12105	req, out := c.SendContactMethodVerificationRequest(input)
12106	req.SetContext(ctx)
12107	req.ApplyOptions(opts...)
12108	return out, req.Send()
12109}
12110
12111const opStartInstance = "StartInstance"
12112
12113// StartInstanceRequest generates a "aws/request.Request" representing the
12114// client's request for the StartInstance operation. The "output" return
12115// value will be populated with the request's response once the request completes
12116// successfully.
12117//
12118// Use "Send" method on the returned Request to send the API call to the service.
12119// the "output" return value is not valid until after Send returns without error.
12120//
12121// See StartInstance for more information on using the StartInstance
12122// API call, and error handling.
12123//
12124// This method is useful when you want to inject custom logic or configuration
12125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12126//
12127//
12128//    // Example sending a request using the StartInstanceRequest method.
12129//    req, resp := client.StartInstanceRequest(params)
12130//
12131//    err := req.Send()
12132//    if err == nil { // resp is now filled
12133//        fmt.Println(resp)
12134//    }
12135//
12136// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
12137func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
12138	op := &request.Operation{
12139		Name:       opStartInstance,
12140		HTTPMethod: "POST",
12141		HTTPPath:   "/",
12142	}
12143
12144	if input == nil {
12145		input = &StartInstanceInput{}
12146	}
12147
12148	output = &StartInstanceOutput{}
12149	req = c.newRequest(op, input, output)
12150	return
12151}
12152
12153// StartInstance API operation for Amazon Lightsail.
12154//
12155// Starts a specific Amazon Lightsail instance from a stopped state. To restart
12156// an instance, use the reboot instance operation.
12157//
12158// When you start a stopped instance, Lightsail assigns a new public IP address
12159// to the instance. To use the same IP address after stopping and starting an
12160// instance, create a static IP address and attach it to the instance. For more
12161// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
12162//
12163// The start instance operation supports tag-based access control via resource
12164// tags applied to the resource identified by instance name. For more information,
12165// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12166//
12167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12168// with awserr.Error's Code and Message methods to get detailed information about
12169// the error.
12170//
12171// See the AWS API reference guide for Amazon Lightsail's
12172// API operation StartInstance for usage and error information.
12173//
12174// Returned Error Types:
12175//   * ServiceException
12176//   A general service exception.
12177//
12178//   * InvalidInputException
12179//   Lightsail throws this exception when user input does not conform to the validation
12180//   rules of an input field.
12181//
12182//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12183//   Please set your AWS Region configuration to us-east-1 to create, view, or
12184//   edit these resources.
12185//
12186//   * NotFoundException
12187//   Lightsail throws this exception when it cannot find a resource.
12188//
12189//   * OperationFailureException
12190//   Lightsail throws this exception when an operation fails to execute.
12191//
12192//   * AccessDeniedException
12193//   Lightsail throws this exception when the user cannot be authenticated or
12194//   uses invalid credentials to access a resource.
12195//
12196//   * AccountSetupInProgressException
12197//   Lightsail throws this exception when an account is still in the setup in
12198//   progress state.
12199//
12200//   * UnauthenticatedException
12201//   Lightsail throws this exception when the user has not been authenticated.
12202//
12203// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
12204func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
12205	req, out := c.StartInstanceRequest(input)
12206	return out, req.Send()
12207}
12208
12209// StartInstanceWithContext is the same as StartInstance with the addition of
12210// the ability to pass a context and additional request options.
12211//
12212// See StartInstance for details on how to use this API operation.
12213//
12214// The context must be non-nil and will be used for request cancellation. If
12215// the context is nil a panic will occur. In the future the SDK may create
12216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12217// for more information on using Contexts.
12218func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
12219	req, out := c.StartInstanceRequest(input)
12220	req.SetContext(ctx)
12221	req.ApplyOptions(opts...)
12222	return out, req.Send()
12223}
12224
12225const opStartRelationalDatabase = "StartRelationalDatabase"
12226
12227// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
12228// client's request for the StartRelationalDatabase operation. The "output" return
12229// value will be populated with the request's response once the request completes
12230// successfully.
12231//
12232// Use "Send" method on the returned Request to send the API call to the service.
12233// the "output" return value is not valid until after Send returns without error.
12234//
12235// See StartRelationalDatabase for more information on using the StartRelationalDatabase
12236// API call, and error handling.
12237//
12238// This method is useful when you want to inject custom logic or configuration
12239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12240//
12241//
12242//    // Example sending a request using the StartRelationalDatabaseRequest method.
12243//    req, resp := client.StartRelationalDatabaseRequest(params)
12244//
12245//    err := req.Send()
12246//    if err == nil { // resp is now filled
12247//        fmt.Println(resp)
12248//    }
12249//
12250// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
12251func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
12252	op := &request.Operation{
12253		Name:       opStartRelationalDatabase,
12254		HTTPMethod: "POST",
12255		HTTPPath:   "/",
12256	}
12257
12258	if input == nil {
12259		input = &StartRelationalDatabaseInput{}
12260	}
12261
12262	output = &StartRelationalDatabaseOutput{}
12263	req = c.newRequest(op, input, output)
12264	return
12265}
12266
12267// StartRelationalDatabase API operation for Amazon Lightsail.
12268//
12269// Starts a specific database from a stopped state in Amazon Lightsail. To restart
12270// a database, use the reboot relational database operation.
12271//
12272// The start relational database operation supports tag-based access control
12273// via resource tags applied to the resource identified by relationalDatabaseName.
12274// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12275//
12276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12277// with awserr.Error's Code and Message methods to get detailed information about
12278// the error.
12279//
12280// See the AWS API reference guide for Amazon Lightsail's
12281// API operation StartRelationalDatabase for usage and error information.
12282//
12283// Returned Error Types:
12284//   * ServiceException
12285//   A general service exception.
12286//
12287//   * InvalidInputException
12288//   Lightsail throws this exception when user input does not conform to the validation
12289//   rules of an input field.
12290//
12291//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12292//   Please set your AWS Region configuration to us-east-1 to create, view, or
12293//   edit these resources.
12294//
12295//   * NotFoundException
12296//   Lightsail throws this exception when it cannot find a resource.
12297//
12298//   * OperationFailureException
12299//   Lightsail throws this exception when an operation fails to execute.
12300//
12301//   * AccessDeniedException
12302//   Lightsail throws this exception when the user cannot be authenticated or
12303//   uses invalid credentials to access a resource.
12304//
12305//   * AccountSetupInProgressException
12306//   Lightsail throws this exception when an account is still in the setup in
12307//   progress state.
12308//
12309//   * UnauthenticatedException
12310//   Lightsail throws this exception when the user has not been authenticated.
12311//
12312// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
12313func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
12314	req, out := c.StartRelationalDatabaseRequest(input)
12315	return out, req.Send()
12316}
12317
12318// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
12319// the ability to pass a context and additional request options.
12320//
12321// See StartRelationalDatabase for details on how to use this API operation.
12322//
12323// The context must be non-nil and will be used for request cancellation. If
12324// the context is nil a panic will occur. In the future the SDK may create
12325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12326// for more information on using Contexts.
12327func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
12328	req, out := c.StartRelationalDatabaseRequest(input)
12329	req.SetContext(ctx)
12330	req.ApplyOptions(opts...)
12331	return out, req.Send()
12332}
12333
12334const opStopInstance = "StopInstance"
12335
12336// StopInstanceRequest generates a "aws/request.Request" representing the
12337// client's request for the StopInstance operation. The "output" return
12338// value will be populated with the request's response once the request completes
12339// successfully.
12340//
12341// Use "Send" method on the returned Request to send the API call to the service.
12342// the "output" return value is not valid until after Send returns without error.
12343//
12344// See StopInstance for more information on using the StopInstance
12345// API call, and error handling.
12346//
12347// This method is useful when you want to inject custom logic or configuration
12348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12349//
12350//
12351//    // Example sending a request using the StopInstanceRequest method.
12352//    req, resp := client.StopInstanceRequest(params)
12353//
12354//    err := req.Send()
12355//    if err == nil { // resp is now filled
12356//        fmt.Println(resp)
12357//    }
12358//
12359// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
12360func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
12361	op := &request.Operation{
12362		Name:       opStopInstance,
12363		HTTPMethod: "POST",
12364		HTTPPath:   "/",
12365	}
12366
12367	if input == nil {
12368		input = &StopInstanceInput{}
12369	}
12370
12371	output = &StopInstanceOutput{}
12372	req = c.newRequest(op, input, output)
12373	return
12374}
12375
12376// StopInstance API operation for Amazon Lightsail.
12377//
12378// Stops a specific Amazon Lightsail instance that is currently running.
12379//
12380// When you start a stopped instance, Lightsail assigns a new public IP address
12381// to the instance. To use the same IP address after stopping and starting an
12382// instance, create a static IP address and attach it to the instance. For more
12383// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
12384//
12385// The stop instance operation supports tag-based access control via resource
12386// tags applied to the resource identified by instance name. For more information,
12387// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12388//
12389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12390// with awserr.Error's Code and Message methods to get detailed information about
12391// the error.
12392//
12393// See the AWS API reference guide for Amazon Lightsail's
12394// API operation StopInstance for usage and error information.
12395//
12396// Returned Error Types:
12397//   * ServiceException
12398//   A general service exception.
12399//
12400//   * InvalidInputException
12401//   Lightsail throws this exception when user input does not conform to the validation
12402//   rules of an input field.
12403//
12404//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12405//   Please set your AWS Region configuration to us-east-1 to create, view, or
12406//   edit these resources.
12407//
12408//   * NotFoundException
12409//   Lightsail throws this exception when it cannot find a resource.
12410//
12411//   * OperationFailureException
12412//   Lightsail throws this exception when an operation fails to execute.
12413//
12414//   * AccessDeniedException
12415//   Lightsail throws this exception when the user cannot be authenticated or
12416//   uses invalid credentials to access a resource.
12417//
12418//   * AccountSetupInProgressException
12419//   Lightsail throws this exception when an account is still in the setup in
12420//   progress state.
12421//
12422//   * UnauthenticatedException
12423//   Lightsail throws this exception when the user has not been authenticated.
12424//
12425// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
12426func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
12427	req, out := c.StopInstanceRequest(input)
12428	return out, req.Send()
12429}
12430
12431// StopInstanceWithContext is the same as StopInstance with the addition of
12432// the ability to pass a context and additional request options.
12433//
12434// See StopInstance for details on how to use this API operation.
12435//
12436// The context must be non-nil and will be used for request cancellation. If
12437// the context is nil a panic will occur. In the future the SDK may create
12438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12439// for more information on using Contexts.
12440func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
12441	req, out := c.StopInstanceRequest(input)
12442	req.SetContext(ctx)
12443	req.ApplyOptions(opts...)
12444	return out, req.Send()
12445}
12446
12447const opStopRelationalDatabase = "StopRelationalDatabase"
12448
12449// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
12450// client's request for the StopRelationalDatabase operation. The "output" return
12451// value will be populated with the request's response once the request completes
12452// successfully.
12453//
12454// Use "Send" method on the returned Request to send the API call to the service.
12455// the "output" return value is not valid until after Send returns without error.
12456//
12457// See StopRelationalDatabase for more information on using the StopRelationalDatabase
12458// API call, and error handling.
12459//
12460// This method is useful when you want to inject custom logic or configuration
12461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12462//
12463//
12464//    // Example sending a request using the StopRelationalDatabaseRequest method.
12465//    req, resp := client.StopRelationalDatabaseRequest(params)
12466//
12467//    err := req.Send()
12468//    if err == nil { // resp is now filled
12469//        fmt.Println(resp)
12470//    }
12471//
12472// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
12473func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
12474	op := &request.Operation{
12475		Name:       opStopRelationalDatabase,
12476		HTTPMethod: "POST",
12477		HTTPPath:   "/",
12478	}
12479
12480	if input == nil {
12481		input = &StopRelationalDatabaseInput{}
12482	}
12483
12484	output = &StopRelationalDatabaseOutput{}
12485	req = c.newRequest(op, input, output)
12486	return
12487}
12488
12489// StopRelationalDatabase API operation for Amazon Lightsail.
12490//
12491// Stops a specific database that is currently running in Amazon Lightsail.
12492//
12493// The stop relational database operation supports tag-based access control
12494// via resource tags applied to the resource identified by relationalDatabaseName.
12495// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12496//
12497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12498// with awserr.Error's Code and Message methods to get detailed information about
12499// the error.
12500//
12501// See the AWS API reference guide for Amazon Lightsail's
12502// API operation StopRelationalDatabase for usage and error information.
12503//
12504// Returned Error Types:
12505//   * ServiceException
12506//   A general service exception.
12507//
12508//   * InvalidInputException
12509//   Lightsail throws this exception when user input does not conform to the validation
12510//   rules of an input field.
12511//
12512//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12513//   Please set your AWS Region configuration to us-east-1 to create, view, or
12514//   edit these resources.
12515//
12516//   * NotFoundException
12517//   Lightsail throws this exception when it cannot find a resource.
12518//
12519//   * OperationFailureException
12520//   Lightsail throws this exception when an operation fails to execute.
12521//
12522//   * AccessDeniedException
12523//   Lightsail throws this exception when the user cannot be authenticated or
12524//   uses invalid credentials to access a resource.
12525//
12526//   * AccountSetupInProgressException
12527//   Lightsail throws this exception when an account is still in the setup in
12528//   progress state.
12529//
12530//   * UnauthenticatedException
12531//   Lightsail throws this exception when the user has not been authenticated.
12532//
12533// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
12534func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
12535	req, out := c.StopRelationalDatabaseRequest(input)
12536	return out, req.Send()
12537}
12538
12539// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
12540// the ability to pass a context and additional request options.
12541//
12542// See StopRelationalDatabase for details on how to use this API operation.
12543//
12544// The context must be non-nil and will be used for request cancellation. If
12545// the context is nil a panic will occur. In the future the SDK may create
12546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12547// for more information on using Contexts.
12548func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
12549	req, out := c.StopRelationalDatabaseRequest(input)
12550	req.SetContext(ctx)
12551	req.ApplyOptions(opts...)
12552	return out, req.Send()
12553}
12554
12555const opTagResource = "TagResource"
12556
12557// TagResourceRequest generates a "aws/request.Request" representing the
12558// client's request for the TagResource operation. The "output" return
12559// value will be populated with the request's response once the request completes
12560// successfully.
12561//
12562// Use "Send" method on the returned Request to send the API call to the service.
12563// the "output" return value is not valid until after Send returns without error.
12564//
12565// See TagResource for more information on using the TagResource
12566// API call, and error handling.
12567//
12568// This method is useful when you want to inject custom logic or configuration
12569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12570//
12571//
12572//    // Example sending a request using the TagResourceRequest method.
12573//    req, resp := client.TagResourceRequest(params)
12574//
12575//    err := req.Send()
12576//    if err == nil { // resp is now filled
12577//        fmt.Println(resp)
12578//    }
12579//
12580// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
12581func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
12582	op := &request.Operation{
12583		Name:       opTagResource,
12584		HTTPMethod: "POST",
12585		HTTPPath:   "/",
12586	}
12587
12588	if input == nil {
12589		input = &TagResourceInput{}
12590	}
12591
12592	output = &TagResourceOutput{}
12593	req = c.newRequest(op, input, output)
12594	return
12595}
12596
12597// TagResource API operation for Amazon Lightsail.
12598//
12599// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
12600// can have a maximum of 50 tags. Each tag consists of a key and an optional
12601// value. Tag keys must be unique per resource. For more information about tags,
12602// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
12603//
12604// The tag resource operation supports tag-based access control via request
12605// tags and resource tags applied to the resource identified by resource name.
12606// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12607//
12608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12609// with awserr.Error's Code and Message methods to get detailed information about
12610// the error.
12611//
12612// See the AWS API reference guide for Amazon Lightsail's
12613// API operation TagResource for usage and error information.
12614//
12615// Returned Error Types:
12616//   * ServiceException
12617//   A general service exception.
12618//
12619//   * InvalidInputException
12620//   Lightsail throws this exception when user input does not conform to the validation
12621//   rules of an input field.
12622//
12623//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12624//   Please set your AWS Region configuration to us-east-1 to create, view, or
12625//   edit these resources.
12626//
12627//   * NotFoundException
12628//   Lightsail throws this exception when it cannot find a resource.
12629//
12630//   * OperationFailureException
12631//   Lightsail throws this exception when an operation fails to execute.
12632//
12633//   * AccessDeniedException
12634//   Lightsail throws this exception when the user cannot be authenticated or
12635//   uses invalid credentials to access a resource.
12636//
12637//   * AccountSetupInProgressException
12638//   Lightsail throws this exception when an account is still in the setup in
12639//   progress state.
12640//
12641//   * UnauthenticatedException
12642//   Lightsail throws this exception when the user has not been authenticated.
12643//
12644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
12645func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
12646	req, out := c.TagResourceRequest(input)
12647	return out, req.Send()
12648}
12649
12650// TagResourceWithContext is the same as TagResource with the addition of
12651// the ability to pass a context and additional request options.
12652//
12653// See TagResource for details on how to use this API operation.
12654//
12655// The context must be non-nil and will be used for request cancellation. If
12656// the context is nil a panic will occur. In the future the SDK may create
12657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12658// for more information on using Contexts.
12659func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
12660	req, out := c.TagResourceRequest(input)
12661	req.SetContext(ctx)
12662	req.ApplyOptions(opts...)
12663	return out, req.Send()
12664}
12665
12666const opTestAlarm = "TestAlarm"
12667
12668// TestAlarmRequest generates a "aws/request.Request" representing the
12669// client's request for the TestAlarm operation. The "output" return
12670// value will be populated with the request's response once the request completes
12671// successfully.
12672//
12673// Use "Send" method on the returned Request to send the API call to the service.
12674// the "output" return value is not valid until after Send returns without error.
12675//
12676// See TestAlarm for more information on using the TestAlarm
12677// API call, and error handling.
12678//
12679// This method is useful when you want to inject custom logic or configuration
12680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12681//
12682//
12683//    // Example sending a request using the TestAlarmRequest method.
12684//    req, resp := client.TestAlarmRequest(params)
12685//
12686//    err := req.Send()
12687//    if err == nil { // resp is now filled
12688//        fmt.Println(resp)
12689//    }
12690//
12691// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
12692func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) {
12693	op := &request.Operation{
12694		Name:       opTestAlarm,
12695		HTTPMethod: "POST",
12696		HTTPPath:   "/",
12697	}
12698
12699	if input == nil {
12700		input = &TestAlarmInput{}
12701	}
12702
12703	output = &TestAlarmOutput{}
12704	req = c.newRequest(op, input, output)
12705	return
12706}
12707
12708// TestAlarm API operation for Amazon Lightsail.
12709//
12710// Tests an alarm by displaying a banner on the Amazon Lightsail console. If
12711// a notification trigger is configured for the specified alarm, the test also
12712// sends a notification to the notification protocol (Email and/or SMS) configured
12713// for the alarm.
12714//
12715// An alarm is used to monitor a single metric for one of your resources. When
12716// a metric condition is met, the alarm can notify you by email, SMS text message,
12717// and a banner displayed on the Amazon Lightsail console. For more information,
12718// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
12719//
12720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12721// with awserr.Error's Code and Message methods to get detailed information about
12722// the error.
12723//
12724// See the AWS API reference guide for Amazon Lightsail's
12725// API operation TestAlarm for usage and error information.
12726//
12727// Returned Error Types:
12728//   * ServiceException
12729//   A general service exception.
12730//
12731//   * InvalidInputException
12732//   Lightsail throws this exception when user input does not conform to the validation
12733//   rules of an input field.
12734//
12735//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12736//   Please set your AWS Region configuration to us-east-1 to create, view, or
12737//   edit these resources.
12738//
12739//   * OperationFailureException
12740//   Lightsail throws this exception when an operation fails to execute.
12741//
12742//   * UnauthenticatedException
12743//   Lightsail throws this exception when the user has not been authenticated.
12744//
12745//   * AccessDeniedException
12746//   Lightsail throws this exception when the user cannot be authenticated or
12747//   uses invalid credentials to access a resource.
12748//
12749//   * NotFoundException
12750//   Lightsail throws this exception when it cannot find a resource.
12751//
12752// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm
12753func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) {
12754	req, out := c.TestAlarmRequest(input)
12755	return out, req.Send()
12756}
12757
12758// TestAlarmWithContext is the same as TestAlarm with the addition of
12759// the ability to pass a context and additional request options.
12760//
12761// See TestAlarm for details on how to use this API operation.
12762//
12763// The context must be non-nil and will be used for request cancellation. If
12764// the context is nil a panic will occur. In the future the SDK may create
12765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12766// for more information on using Contexts.
12767func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) {
12768	req, out := c.TestAlarmRequest(input)
12769	req.SetContext(ctx)
12770	req.ApplyOptions(opts...)
12771	return out, req.Send()
12772}
12773
12774const opUnpeerVpc = "UnpeerVpc"
12775
12776// UnpeerVpcRequest generates a "aws/request.Request" representing the
12777// client's request for the UnpeerVpc operation. The "output" return
12778// value will be populated with the request's response once the request completes
12779// successfully.
12780//
12781// Use "Send" method on the returned Request to send the API call to the service.
12782// the "output" return value is not valid until after Send returns without error.
12783//
12784// See UnpeerVpc for more information on using the UnpeerVpc
12785// API call, and error handling.
12786//
12787// This method is useful when you want to inject custom logic or configuration
12788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12789//
12790//
12791//    // Example sending a request using the UnpeerVpcRequest method.
12792//    req, resp := client.UnpeerVpcRequest(params)
12793//
12794//    err := req.Send()
12795//    if err == nil { // resp is now filled
12796//        fmt.Println(resp)
12797//    }
12798//
12799// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
12800func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
12801	op := &request.Operation{
12802		Name:       opUnpeerVpc,
12803		HTTPMethod: "POST",
12804		HTTPPath:   "/",
12805	}
12806
12807	if input == nil {
12808		input = &UnpeerVpcInput{}
12809	}
12810
12811	output = &UnpeerVpcOutput{}
12812	req = c.newRequest(op, input, output)
12813	return
12814}
12815
12816// UnpeerVpc API operation for Amazon Lightsail.
12817//
12818// Attempts to unpeer the Lightsail VPC from the user's default VPC.
12819//
12820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12821// with awserr.Error's Code and Message methods to get detailed information about
12822// the error.
12823//
12824// See the AWS API reference guide for Amazon Lightsail's
12825// API operation UnpeerVpc for usage and error information.
12826//
12827// Returned Error Types:
12828//   * ServiceException
12829//   A general service exception.
12830//
12831//   * InvalidInputException
12832//   Lightsail throws this exception when user input does not conform to the validation
12833//   rules of an input field.
12834//
12835//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12836//   Please set your AWS Region configuration to us-east-1 to create, view, or
12837//   edit these resources.
12838//
12839//   * NotFoundException
12840//   Lightsail throws this exception when it cannot find a resource.
12841//
12842//   * OperationFailureException
12843//   Lightsail throws this exception when an operation fails to execute.
12844//
12845//   * AccessDeniedException
12846//   Lightsail throws this exception when the user cannot be authenticated or
12847//   uses invalid credentials to access a resource.
12848//
12849//   * AccountSetupInProgressException
12850//   Lightsail throws this exception when an account is still in the setup in
12851//   progress state.
12852//
12853//   * UnauthenticatedException
12854//   Lightsail throws this exception when the user has not been authenticated.
12855//
12856// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
12857func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
12858	req, out := c.UnpeerVpcRequest(input)
12859	return out, req.Send()
12860}
12861
12862// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
12863// the ability to pass a context and additional request options.
12864//
12865// See UnpeerVpc for details on how to use this API operation.
12866//
12867// The context must be non-nil and will be used for request cancellation. If
12868// the context is nil a panic will occur. In the future the SDK may create
12869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12870// for more information on using Contexts.
12871func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
12872	req, out := c.UnpeerVpcRequest(input)
12873	req.SetContext(ctx)
12874	req.ApplyOptions(opts...)
12875	return out, req.Send()
12876}
12877
12878const opUntagResource = "UntagResource"
12879
12880// UntagResourceRequest generates a "aws/request.Request" representing the
12881// client's request for the UntagResource operation. The "output" return
12882// value will be populated with the request's response once the request completes
12883// successfully.
12884//
12885// Use "Send" method on the returned Request to send the API call to the service.
12886// the "output" return value is not valid until after Send returns without error.
12887//
12888// See UntagResource for more information on using the UntagResource
12889// API call, and error handling.
12890//
12891// This method is useful when you want to inject custom logic or configuration
12892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12893//
12894//
12895//    // Example sending a request using the UntagResourceRequest method.
12896//    req, resp := client.UntagResourceRequest(params)
12897//
12898//    err := req.Send()
12899//    if err == nil { // resp is now filled
12900//        fmt.Println(resp)
12901//    }
12902//
12903// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
12904func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
12905	op := &request.Operation{
12906		Name:       opUntagResource,
12907		HTTPMethod: "POST",
12908		HTTPPath:   "/",
12909	}
12910
12911	if input == nil {
12912		input = &UntagResourceInput{}
12913	}
12914
12915	output = &UntagResourceOutput{}
12916	req = c.newRequest(op, input, output)
12917	return
12918}
12919
12920// UntagResource API operation for Amazon Lightsail.
12921//
12922// Deletes the specified set of tag keys and their values from the specified
12923// Amazon Lightsail resource.
12924//
12925// The untag resource operation supports tag-based access control via request
12926// tags and resource tags applied to the resource identified by resource name.
12927// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
12928//
12929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12930// with awserr.Error's Code and Message methods to get detailed information about
12931// the error.
12932//
12933// See the AWS API reference guide for Amazon Lightsail's
12934// API operation UntagResource for usage and error information.
12935//
12936// Returned Error Types:
12937//   * ServiceException
12938//   A general service exception.
12939//
12940//   * InvalidInputException
12941//   Lightsail throws this exception when user input does not conform to the validation
12942//   rules of an input field.
12943//
12944//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
12945//   Please set your AWS Region configuration to us-east-1 to create, view, or
12946//   edit these resources.
12947//
12948//   * NotFoundException
12949//   Lightsail throws this exception when it cannot find a resource.
12950//
12951//   * OperationFailureException
12952//   Lightsail throws this exception when an operation fails to execute.
12953//
12954//   * AccessDeniedException
12955//   Lightsail throws this exception when the user cannot be authenticated or
12956//   uses invalid credentials to access a resource.
12957//
12958//   * AccountSetupInProgressException
12959//   Lightsail throws this exception when an account is still in the setup in
12960//   progress state.
12961//
12962//   * UnauthenticatedException
12963//   Lightsail throws this exception when the user has not been authenticated.
12964//
12965// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
12966func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
12967	req, out := c.UntagResourceRequest(input)
12968	return out, req.Send()
12969}
12970
12971// UntagResourceWithContext is the same as UntagResource with the addition of
12972// the ability to pass a context and additional request options.
12973//
12974// See UntagResource for details on how to use this API operation.
12975//
12976// The context must be non-nil and will be used for request cancellation. If
12977// the context is nil a panic will occur. In the future the SDK may create
12978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12979// for more information on using Contexts.
12980func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
12981	req, out := c.UntagResourceRequest(input)
12982	req.SetContext(ctx)
12983	req.ApplyOptions(opts...)
12984	return out, req.Send()
12985}
12986
12987const opUpdateDistribution = "UpdateDistribution"
12988
12989// UpdateDistributionRequest generates a "aws/request.Request" representing the
12990// client's request for the UpdateDistribution operation. The "output" return
12991// value will be populated with the request's response once the request completes
12992// successfully.
12993//
12994// Use "Send" method on the returned Request to send the API call to the service.
12995// the "output" return value is not valid until after Send returns without error.
12996//
12997// See UpdateDistribution for more information on using the UpdateDistribution
12998// API call, and error handling.
12999//
13000// This method is useful when you want to inject custom logic or configuration
13001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13002//
13003//
13004//    // Example sending a request using the UpdateDistributionRequest method.
13005//    req, resp := client.UpdateDistributionRequest(params)
13006//
13007//    err := req.Send()
13008//    if err == nil { // resp is now filled
13009//        fmt.Println(resp)
13010//    }
13011//
13012// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
13013func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) {
13014	op := &request.Operation{
13015		Name:       opUpdateDistribution,
13016		HTTPMethod: "POST",
13017		HTTPPath:   "/",
13018	}
13019
13020	if input == nil {
13021		input = &UpdateDistributionInput{}
13022	}
13023
13024	output = &UpdateDistributionOutput{}
13025	req = c.newRequest(op, input, output)
13026	return
13027}
13028
13029// UpdateDistribution API operation for Amazon Lightsail.
13030//
13031// Updates an existing Amazon Lightsail content delivery network (CDN) distribution.
13032//
13033// Use this action to update the configuration of your existing distribution
13034//
13035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13036// with awserr.Error's Code and Message methods to get detailed information about
13037// the error.
13038//
13039// See the AWS API reference guide for Amazon Lightsail's
13040// API operation UpdateDistribution for usage and error information.
13041//
13042// Returned Error Types:
13043//   * ServiceException
13044//   A general service exception.
13045//
13046//   * InvalidInputException
13047//   Lightsail throws this exception when user input does not conform to the validation
13048//   rules of an input field.
13049//
13050//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13051//   Please set your AWS Region configuration to us-east-1 to create, view, or
13052//   edit these resources.
13053//
13054//   * NotFoundException
13055//   Lightsail throws this exception when it cannot find a resource.
13056//
13057//   * OperationFailureException
13058//   Lightsail throws this exception when an operation fails to execute.
13059//
13060//   * AccessDeniedException
13061//   Lightsail throws this exception when the user cannot be authenticated or
13062//   uses invalid credentials to access a resource.
13063//
13064//   * UnauthenticatedException
13065//   Lightsail throws this exception when the user has not been authenticated.
13066//
13067// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution
13068func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) {
13069	req, out := c.UpdateDistributionRequest(input)
13070	return out, req.Send()
13071}
13072
13073// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of
13074// the ability to pass a context and additional request options.
13075//
13076// See UpdateDistribution for details on how to use this API operation.
13077//
13078// The context must be non-nil and will be used for request cancellation. If
13079// the context is nil a panic will occur. In the future the SDK may create
13080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13081// for more information on using Contexts.
13082func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) {
13083	req, out := c.UpdateDistributionRequest(input)
13084	req.SetContext(ctx)
13085	req.ApplyOptions(opts...)
13086	return out, req.Send()
13087}
13088
13089const opUpdateDistributionBundle = "UpdateDistributionBundle"
13090
13091// UpdateDistributionBundleRequest generates a "aws/request.Request" representing the
13092// client's request for the UpdateDistributionBundle operation. The "output" return
13093// value will be populated with the request's response once the request completes
13094// successfully.
13095//
13096// Use "Send" method on the returned Request to send the API call to the service.
13097// the "output" return value is not valid until after Send returns without error.
13098//
13099// See UpdateDistributionBundle for more information on using the UpdateDistributionBundle
13100// API call, and error handling.
13101//
13102// This method is useful when you want to inject custom logic or configuration
13103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13104//
13105//
13106//    // Example sending a request using the UpdateDistributionBundleRequest method.
13107//    req, resp := client.UpdateDistributionBundleRequest(params)
13108//
13109//    err := req.Send()
13110//    if err == nil { // resp is now filled
13111//        fmt.Println(resp)
13112//    }
13113//
13114// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
13115func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) {
13116	op := &request.Operation{
13117		Name:       opUpdateDistributionBundle,
13118		HTTPMethod: "POST",
13119		HTTPPath:   "/",
13120	}
13121
13122	if input == nil {
13123		input = &UpdateDistributionBundleInput{}
13124	}
13125
13126	output = &UpdateDistributionBundleOutput{}
13127	req = c.newRequest(op, input, output)
13128	return
13129}
13130
13131// UpdateDistributionBundle API operation for Amazon Lightsail.
13132//
13133// Updates the bundle of your Amazon Lightsail content delivery network (CDN)
13134// distribution.
13135//
13136// A distribution bundle specifies the monthly network transfer quota and monthly
13137// cost of your dsitribution.
13138//
13139// Update your distribution's bundle if your distribution is going over its
13140// monthly network transfer quota and is incurring an overage fee.
13141//
13142// You can update your distribution's bundle only one time within your monthly
13143// AWS billing cycle. To determine if you can update your distribution's bundle,
13144// use the GetDistributions action. The ableToUpdateBundle parameter in the
13145// result will indicate whether you can currently update your distribution's
13146// bundle.
13147//
13148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13149// with awserr.Error's Code and Message methods to get detailed information about
13150// the error.
13151//
13152// See the AWS API reference guide for Amazon Lightsail's
13153// API operation UpdateDistributionBundle for usage and error information.
13154//
13155// Returned Error Types:
13156//   * ServiceException
13157//   A general service exception.
13158//
13159//   * InvalidInputException
13160//   Lightsail throws this exception when user input does not conform to the validation
13161//   rules of an input field.
13162//
13163//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13164//   Please set your AWS Region configuration to us-east-1 to create, view, or
13165//   edit these resources.
13166//
13167//   * NotFoundException
13168//   Lightsail throws this exception when it cannot find a resource.
13169//
13170//   * OperationFailureException
13171//   Lightsail throws this exception when an operation fails to execute.
13172//
13173//   * AccessDeniedException
13174//   Lightsail throws this exception when the user cannot be authenticated or
13175//   uses invalid credentials to access a resource.
13176//
13177//   * UnauthenticatedException
13178//   Lightsail throws this exception when the user has not been authenticated.
13179//
13180// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle
13181func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) {
13182	req, out := c.UpdateDistributionBundleRequest(input)
13183	return out, req.Send()
13184}
13185
13186// UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of
13187// the ability to pass a context and additional request options.
13188//
13189// See UpdateDistributionBundle for details on how to use this API operation.
13190//
13191// The context must be non-nil and will be used for request cancellation. If
13192// the context is nil a panic will occur. In the future the SDK may create
13193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13194// for more information on using Contexts.
13195func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) {
13196	req, out := c.UpdateDistributionBundleRequest(input)
13197	req.SetContext(ctx)
13198	req.ApplyOptions(opts...)
13199	return out, req.Send()
13200}
13201
13202const opUpdateDomainEntry = "UpdateDomainEntry"
13203
13204// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
13205// client's request for the UpdateDomainEntry operation. The "output" return
13206// value will be populated with the request's response once the request completes
13207// successfully.
13208//
13209// Use "Send" method on the returned Request to send the API call to the service.
13210// the "output" return value is not valid until after Send returns without error.
13211//
13212// See UpdateDomainEntry for more information on using the UpdateDomainEntry
13213// API call, and error handling.
13214//
13215// This method is useful when you want to inject custom logic or configuration
13216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13217//
13218//
13219//    // Example sending a request using the UpdateDomainEntryRequest method.
13220//    req, resp := client.UpdateDomainEntryRequest(params)
13221//
13222//    err := req.Send()
13223//    if err == nil { // resp is now filled
13224//        fmt.Println(resp)
13225//    }
13226//
13227// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
13228func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
13229	op := &request.Operation{
13230		Name:       opUpdateDomainEntry,
13231		HTTPMethod: "POST",
13232		HTTPPath:   "/",
13233	}
13234
13235	if input == nil {
13236		input = &UpdateDomainEntryInput{}
13237	}
13238
13239	output = &UpdateDomainEntryOutput{}
13240	req = c.newRequest(op, input, output)
13241	return
13242}
13243
13244// UpdateDomainEntry API operation for Amazon Lightsail.
13245//
13246// Updates a domain recordset after it is created.
13247//
13248// The update domain entry operation supports tag-based access control via resource
13249// tags applied to the resource identified by domain name. For more information,
13250// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13251//
13252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13253// with awserr.Error's Code and Message methods to get detailed information about
13254// the error.
13255//
13256// See the AWS API reference guide for Amazon Lightsail's
13257// API operation UpdateDomainEntry for usage and error information.
13258//
13259// Returned Error Types:
13260//   * ServiceException
13261//   A general service exception.
13262//
13263//   * InvalidInputException
13264//   Lightsail throws this exception when user input does not conform to the validation
13265//   rules of an input field.
13266//
13267//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13268//   Please set your AWS Region configuration to us-east-1 to create, view, or
13269//   edit these resources.
13270//
13271//   * NotFoundException
13272//   Lightsail throws this exception when it cannot find a resource.
13273//
13274//   * OperationFailureException
13275//   Lightsail throws this exception when an operation fails to execute.
13276//
13277//   * AccessDeniedException
13278//   Lightsail throws this exception when the user cannot be authenticated or
13279//   uses invalid credentials to access a resource.
13280//
13281//   * AccountSetupInProgressException
13282//   Lightsail throws this exception when an account is still in the setup in
13283//   progress state.
13284//
13285//   * UnauthenticatedException
13286//   Lightsail throws this exception when the user has not been authenticated.
13287//
13288// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
13289func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
13290	req, out := c.UpdateDomainEntryRequest(input)
13291	return out, req.Send()
13292}
13293
13294// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
13295// the ability to pass a context and additional request options.
13296//
13297// See UpdateDomainEntry for details on how to use this API operation.
13298//
13299// The context must be non-nil and will be used for request cancellation. If
13300// the context is nil a panic will occur. In the future the SDK may create
13301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13302// for more information on using Contexts.
13303func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
13304	req, out := c.UpdateDomainEntryRequest(input)
13305	req.SetContext(ctx)
13306	req.ApplyOptions(opts...)
13307	return out, req.Send()
13308}
13309
13310const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
13311
13312// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
13313// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
13314// value will be populated with the request's response once the request completes
13315// successfully.
13316//
13317// Use "Send" method on the returned Request to send the API call to the service.
13318// the "output" return value is not valid until after Send returns without error.
13319//
13320// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
13321// API call, and error handling.
13322//
13323// This method is useful when you want to inject custom logic or configuration
13324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13325//
13326//
13327//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
13328//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
13329//
13330//    err := req.Send()
13331//    if err == nil { // resp is now filled
13332//        fmt.Println(resp)
13333//    }
13334//
13335// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
13336func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
13337	op := &request.Operation{
13338		Name:       opUpdateLoadBalancerAttribute,
13339		HTTPMethod: "POST",
13340		HTTPPath:   "/",
13341	}
13342
13343	if input == nil {
13344		input = &UpdateLoadBalancerAttributeInput{}
13345	}
13346
13347	output = &UpdateLoadBalancerAttributeOutput{}
13348	req = c.newRequest(op, input, output)
13349	return
13350}
13351
13352// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
13353//
13354// Updates the specified attribute for a load balancer. You can only update
13355// one attribute at a time.
13356//
13357// The update load balancer attribute operation supports tag-based access control
13358// via resource tags applied to the resource identified by load balancer name.
13359// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13360//
13361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13362// with awserr.Error's Code and Message methods to get detailed information about
13363// the error.
13364//
13365// See the AWS API reference guide for Amazon Lightsail's
13366// API operation UpdateLoadBalancerAttribute for usage and error information.
13367//
13368// Returned Error Types:
13369//   * ServiceException
13370//   A general service exception.
13371//
13372//   * InvalidInputException
13373//   Lightsail throws this exception when user input does not conform to the validation
13374//   rules of an input field.
13375//
13376//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13377//   Please set your AWS Region configuration to us-east-1 to create, view, or
13378//   edit these resources.
13379//
13380//   * NotFoundException
13381//   Lightsail throws this exception when it cannot find a resource.
13382//
13383//   * OperationFailureException
13384//   Lightsail throws this exception when an operation fails to execute.
13385//
13386//   * AccessDeniedException
13387//   Lightsail throws this exception when the user cannot be authenticated or
13388//   uses invalid credentials to access a resource.
13389//
13390//   * AccountSetupInProgressException
13391//   Lightsail throws this exception when an account is still in the setup in
13392//   progress state.
13393//
13394//   * UnauthenticatedException
13395//   Lightsail throws this exception when the user has not been authenticated.
13396//
13397// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
13398func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
13399	req, out := c.UpdateLoadBalancerAttributeRequest(input)
13400	return out, req.Send()
13401}
13402
13403// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
13404// the ability to pass a context and additional request options.
13405//
13406// See UpdateLoadBalancerAttribute for details on how to use this API operation.
13407//
13408// The context must be non-nil and will be used for request cancellation. If
13409// the context is nil a panic will occur. In the future the SDK may create
13410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13411// for more information on using Contexts.
13412func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
13413	req, out := c.UpdateLoadBalancerAttributeRequest(input)
13414	req.SetContext(ctx)
13415	req.ApplyOptions(opts...)
13416	return out, req.Send()
13417}
13418
13419const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
13420
13421// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
13422// client's request for the UpdateRelationalDatabase operation. The "output" return
13423// value will be populated with the request's response once the request completes
13424// successfully.
13425//
13426// Use "Send" method on the returned Request to send the API call to the service.
13427// the "output" return value is not valid until after Send returns without error.
13428//
13429// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
13430// API call, and error handling.
13431//
13432// This method is useful when you want to inject custom logic or configuration
13433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13434//
13435//
13436//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
13437//    req, resp := client.UpdateRelationalDatabaseRequest(params)
13438//
13439//    err := req.Send()
13440//    if err == nil { // resp is now filled
13441//        fmt.Println(resp)
13442//    }
13443//
13444// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
13445func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
13446	op := &request.Operation{
13447		Name:       opUpdateRelationalDatabase,
13448		HTTPMethod: "POST",
13449		HTTPPath:   "/",
13450	}
13451
13452	if input == nil {
13453		input = &UpdateRelationalDatabaseInput{}
13454	}
13455
13456	output = &UpdateRelationalDatabaseOutput{}
13457	req = c.newRequest(op, input, output)
13458	return
13459}
13460
13461// UpdateRelationalDatabase API operation for Amazon Lightsail.
13462//
13463// Allows the update of one or more attributes of a database in Amazon Lightsail.
13464//
13465// Updates are applied immediately, or in cases where the updates could result
13466// in an outage, are applied during the database's predefined maintenance window.
13467//
13468// The update relational database operation supports tag-based access control
13469// via resource tags applied to the resource identified by relationalDatabaseName.
13470// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13471//
13472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13473// with awserr.Error's Code and Message methods to get detailed information about
13474// the error.
13475//
13476// See the AWS API reference guide for Amazon Lightsail's
13477// API operation UpdateRelationalDatabase for usage and error information.
13478//
13479// Returned Error Types:
13480//   * ServiceException
13481//   A general service exception.
13482//
13483//   * InvalidInputException
13484//   Lightsail throws this exception when user input does not conform to the validation
13485//   rules of an input field.
13486//
13487//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13488//   Please set your AWS Region configuration to us-east-1 to create, view, or
13489//   edit these resources.
13490//
13491//   * NotFoundException
13492//   Lightsail throws this exception when it cannot find a resource.
13493//
13494//   * OperationFailureException
13495//   Lightsail throws this exception when an operation fails to execute.
13496//
13497//   * AccessDeniedException
13498//   Lightsail throws this exception when the user cannot be authenticated or
13499//   uses invalid credentials to access a resource.
13500//
13501//   * AccountSetupInProgressException
13502//   Lightsail throws this exception when an account is still in the setup in
13503//   progress state.
13504//
13505//   * UnauthenticatedException
13506//   Lightsail throws this exception when the user has not been authenticated.
13507//
13508// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
13509func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
13510	req, out := c.UpdateRelationalDatabaseRequest(input)
13511	return out, req.Send()
13512}
13513
13514// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
13515// the ability to pass a context and additional request options.
13516//
13517// See UpdateRelationalDatabase for details on how to use this API operation.
13518//
13519// The context must be non-nil and will be used for request cancellation. If
13520// the context is nil a panic will occur. In the future the SDK may create
13521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13522// for more information on using Contexts.
13523func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
13524	req, out := c.UpdateRelationalDatabaseRequest(input)
13525	req.SetContext(ctx)
13526	req.ApplyOptions(opts...)
13527	return out, req.Send()
13528}
13529
13530const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
13531
13532// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
13533// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
13534// value will be populated with the request's response once the request completes
13535// successfully.
13536//
13537// Use "Send" method on the returned Request to send the API call to the service.
13538// the "output" return value is not valid until after Send returns without error.
13539//
13540// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
13541// API call, and error handling.
13542//
13543// This method is useful when you want to inject custom logic or configuration
13544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13545//
13546//
13547//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
13548//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
13549//
13550//    err := req.Send()
13551//    if err == nil { // resp is now filled
13552//        fmt.Println(resp)
13553//    }
13554//
13555// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
13556func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
13557	op := &request.Operation{
13558		Name:       opUpdateRelationalDatabaseParameters,
13559		HTTPMethod: "POST",
13560		HTTPPath:   "/",
13561	}
13562
13563	if input == nil {
13564		input = &UpdateRelationalDatabaseParametersInput{}
13565	}
13566
13567	output = &UpdateRelationalDatabaseParametersOutput{}
13568	req = c.newRequest(op, input, output)
13569	return
13570}
13571
13572// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
13573//
13574// Allows the update of one or more parameters of a database in Amazon Lightsail.
13575//
13576// Parameter updates don't cause outages; therefore, their application is not
13577// subject to the preferred maintenance window. However, there are two ways
13578// in which parameter updates are applied: dynamic or pending-reboot. Parameters
13579// marked with a dynamic apply type are applied immediately. Parameters marked
13580// with a pending-reboot apply type are applied only after the database is rebooted
13581// using the reboot relational database operation.
13582//
13583// The update relational database parameters operation supports tag-based access
13584// control via resource tags applied to the resource identified by relationalDatabaseName.
13585// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
13586//
13587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13588// with awserr.Error's Code and Message methods to get detailed information about
13589// the error.
13590//
13591// See the AWS API reference guide for Amazon Lightsail's
13592// API operation UpdateRelationalDatabaseParameters for usage and error information.
13593//
13594// Returned Error Types:
13595//   * ServiceException
13596//   A general service exception.
13597//
13598//   * InvalidInputException
13599//   Lightsail throws this exception when user input does not conform to the validation
13600//   rules of an input field.
13601//
13602//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
13603//   Please set your AWS Region configuration to us-east-1 to create, view, or
13604//   edit these resources.
13605//
13606//   * NotFoundException
13607//   Lightsail throws this exception when it cannot find a resource.
13608//
13609//   * OperationFailureException
13610//   Lightsail throws this exception when an operation fails to execute.
13611//
13612//   * AccessDeniedException
13613//   Lightsail throws this exception when the user cannot be authenticated or
13614//   uses invalid credentials to access a resource.
13615//
13616//   * AccountSetupInProgressException
13617//   Lightsail throws this exception when an account is still in the setup in
13618//   progress state.
13619//
13620//   * UnauthenticatedException
13621//   Lightsail throws this exception when the user has not been authenticated.
13622//
13623// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
13624func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
13625	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
13626	return out, req.Send()
13627}
13628
13629// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
13630// the ability to pass a context and additional request options.
13631//
13632// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
13633//
13634// The context must be non-nil and will be used for request cancellation. If
13635// the context is nil a panic will occur. In the future the SDK may create
13636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13637// for more information on using Contexts.
13638func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
13639	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
13640	req.SetContext(ctx)
13641	req.ApplyOptions(opts...)
13642	return out, req.Send()
13643}
13644
13645// Lightsail throws this exception when the user cannot be authenticated or
13646// uses invalid credentials to access a resource.
13647type AccessDeniedException struct {
13648	_            struct{}                  `type:"structure"`
13649	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13650
13651	Code_ *string `locationName:"code" type:"string"`
13652
13653	Docs *string `locationName:"docs" type:"string"`
13654
13655	Message_ *string `locationName:"message" type:"string"`
13656
13657	Tip *string `locationName:"tip" type:"string"`
13658}
13659
13660// String returns the string representation
13661func (s AccessDeniedException) String() string {
13662	return awsutil.Prettify(s)
13663}
13664
13665// GoString returns the string representation
13666func (s AccessDeniedException) GoString() string {
13667	return s.String()
13668}
13669
13670func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
13671	return &AccessDeniedException{
13672		RespMetadata: v,
13673	}
13674}
13675
13676// Code returns the exception type name.
13677func (s *AccessDeniedException) Code() string {
13678	return "AccessDeniedException"
13679}
13680
13681// Message returns the exception's message.
13682func (s *AccessDeniedException) Message() string {
13683	if s.Message_ != nil {
13684		return *s.Message_
13685	}
13686	return ""
13687}
13688
13689// OrigErr always returns nil, satisfies awserr.Error interface.
13690func (s *AccessDeniedException) OrigErr() error {
13691	return nil
13692}
13693
13694func (s *AccessDeniedException) Error() string {
13695	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13696}
13697
13698// Status code returns the HTTP status code for the request's response error.
13699func (s *AccessDeniedException) StatusCode() int {
13700	return s.RespMetadata.StatusCode
13701}
13702
13703// RequestID returns the service's response RequestID for request.
13704func (s *AccessDeniedException) RequestID() string {
13705	return s.RespMetadata.RequestID
13706}
13707
13708// Lightsail throws this exception when an account is still in the setup in
13709// progress state.
13710type AccountSetupInProgressException struct {
13711	_            struct{}                  `type:"structure"`
13712	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13713
13714	Code_ *string `locationName:"code" type:"string"`
13715
13716	Docs *string `locationName:"docs" type:"string"`
13717
13718	Message_ *string `locationName:"message" type:"string"`
13719
13720	Tip *string `locationName:"tip" type:"string"`
13721}
13722
13723// String returns the string representation
13724func (s AccountSetupInProgressException) String() string {
13725	return awsutil.Prettify(s)
13726}
13727
13728// GoString returns the string representation
13729func (s AccountSetupInProgressException) GoString() string {
13730	return s.String()
13731}
13732
13733func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error {
13734	return &AccountSetupInProgressException{
13735		RespMetadata: v,
13736	}
13737}
13738
13739// Code returns the exception type name.
13740func (s *AccountSetupInProgressException) Code() string {
13741	return "AccountSetupInProgressException"
13742}
13743
13744// Message returns the exception's message.
13745func (s *AccountSetupInProgressException) Message() string {
13746	if s.Message_ != nil {
13747		return *s.Message_
13748	}
13749	return ""
13750}
13751
13752// OrigErr always returns nil, satisfies awserr.Error interface.
13753func (s *AccountSetupInProgressException) OrigErr() error {
13754	return nil
13755}
13756
13757func (s *AccountSetupInProgressException) Error() string {
13758	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13759}
13760
13761// Status code returns the HTTP status code for the request's response error.
13762func (s *AccountSetupInProgressException) StatusCode() int {
13763	return s.RespMetadata.StatusCode
13764}
13765
13766// RequestID returns the service's response RequestID for request.
13767func (s *AccountSetupInProgressException) RequestID() string {
13768	return s.RespMetadata.RequestID
13769}
13770
13771// Describes an add-on that is enabled for an Amazon Lightsail resource.
13772type AddOn struct {
13773	_ struct{} `type:"structure"`
13774
13775	// The name of the add-on.
13776	Name *string `locationName:"name" type:"string"`
13777
13778	// The next daily time an automatic snapshot will be created.
13779	//
13780	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
13781	//
13782	// The snapshot is automatically created between the time shown and up to 45
13783	// minutes after.
13784	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
13785
13786	// The daily time when an automatic snapshot is created.
13787	//
13788	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
13789	//
13790	// The snapshot is automatically created between the time shown and up to 45
13791	// minutes after.
13792	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
13793
13794	// The status of the add-on.
13795	Status *string `locationName:"status" type:"string"`
13796}
13797
13798// String returns the string representation
13799func (s AddOn) String() string {
13800	return awsutil.Prettify(s)
13801}
13802
13803// GoString returns the string representation
13804func (s AddOn) GoString() string {
13805	return s.String()
13806}
13807
13808// SetName sets the Name field's value.
13809func (s *AddOn) SetName(v string) *AddOn {
13810	s.Name = &v
13811	return s
13812}
13813
13814// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
13815func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
13816	s.NextSnapshotTimeOfDay = &v
13817	return s
13818}
13819
13820// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
13821func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
13822	s.SnapshotTimeOfDay = &v
13823	return s
13824}
13825
13826// SetStatus sets the Status field's value.
13827func (s *AddOn) SetStatus(v string) *AddOn {
13828	s.Status = &v
13829	return s
13830}
13831
13832// Describes a request to enable, modify, or disable an add-on for an Amazon
13833// Lightsail resource.
13834//
13835// An additional cost may be associated with enabling add-ons. For more information,
13836// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
13837type AddOnRequest struct {
13838	_ struct{} `type:"structure"`
13839
13840	// The add-on type.
13841	//
13842	// AddOnType is a required field
13843	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
13844
13845	// An object that represents additional parameters when enabling or modifying
13846	// the automatic snapshot add-on.
13847	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
13848}
13849
13850// String returns the string representation
13851func (s AddOnRequest) String() string {
13852	return awsutil.Prettify(s)
13853}
13854
13855// GoString returns the string representation
13856func (s AddOnRequest) GoString() string {
13857	return s.String()
13858}
13859
13860// Validate inspects the fields of the type to determine if they are valid.
13861func (s *AddOnRequest) Validate() error {
13862	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
13863	if s.AddOnType == nil {
13864		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
13865	}
13866
13867	if invalidParams.Len() > 0 {
13868		return invalidParams
13869	}
13870	return nil
13871}
13872
13873// SetAddOnType sets the AddOnType field's value.
13874func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
13875	s.AddOnType = &v
13876	return s
13877}
13878
13879// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
13880func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
13881	s.AutoSnapshotAddOnRequest = v
13882	return s
13883}
13884
13885// Describes an alarm.
13886//
13887// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
13888// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
13889type Alarm struct {
13890	_ struct{} `type:"structure"`
13891
13892	// The Amazon Resource Name (ARN) of the alarm.
13893	Arn *string `locationName:"arn" type:"string"`
13894
13895	// The arithmetic operation used when comparing the specified statistic and
13896	// threshold.
13897	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"`
13898
13899	// The contact protocols for the alarm, such as Email, SMS (text messaging),
13900	// or both.
13901	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
13902
13903	// The timestamp when the alarm was created.
13904	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
13905
13906	// The number of data points that must not within the specified threshold to
13907	// trigger the alarm.
13908	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
13909
13910	// The number of periods over which data is compared to the specified threshold.
13911	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"`
13912
13913	// An object that lists information about the location of the alarm.
13914	Location *ResourceLocation `locationName:"location" type:"structure"`
13915
13916	// The name of the metric associated with the alarm.
13917	MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"`
13918
13919	// An object that lists information about the resource monitored by the alarm.
13920	MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"`
13921
13922	// The name of the alarm.
13923	Name *string `locationName:"name" type:"string"`
13924
13925	// Indicates whether the alarm is enabled.
13926	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
13927
13928	// The alarm states that trigger a notification.
13929	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
13930
13931	// The period, in seconds, over which the statistic is applied.
13932	Period *int64 `locationName:"period" min:"60" type:"integer"`
13933
13934	// The Lightsail resource type (e.g., Alarm).
13935	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
13936
13937	// The current state of the alarm.
13938	//
13939	// An alarm has the following possible states:
13940	//
13941	//    * ALARM - The metric is outside of the defined threshold.
13942	//
13943	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
13944	//    or not enough data is available for the metric to determine the alarm
13945	//    state.
13946	//
13947	//    * OK - The metric is within the defined threshold.
13948	State *string `locationName:"state" type:"string" enum:"AlarmState"`
13949
13950	// The statistic for the metric associated with the alarm.
13951	//
13952	// The following statistics are available:
13953	//
13954	//    * Minimum - The lowest value observed during the specified period. Use
13955	//    this value to determine low volumes of activity for your application.
13956	//
13957	//    * Maximum - The highest value observed during the specified period. Use
13958	//    this value to determine high volumes of activity for your application.
13959	//
13960	//    * Sum - All values submitted for the matching metric added together. You
13961	//    can use this statistic to determine the total volume of a metric.
13962	//
13963	//    * Average - The value of Sum / SampleCount during the specified period.
13964	//    By comparing this statistic with the Minimum and Maximum values, you can
13965	//    determine the full scope of a metric and how close the average use is
13966	//    to the Minimum and Maximum values. This comparison helps you to know when
13967	//    to increase or decrease your resources.
13968	//
13969	//    * SampleCount - The count, or number, of data points used for the statistical
13970	//    calculation.
13971	Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
13972
13973	// The support code. Include this code in your email to support when you have
13974	// questions about your Lightsail alarm. This code enables our support team
13975	// to look up your Lightsail information more easily.
13976	SupportCode *string `locationName:"supportCode" type:"string"`
13977
13978	// The value against which the specified statistic is compared.
13979	Threshold *float64 `locationName:"threshold" type:"double"`
13980
13981	// Specifies how the alarm handles missing data points.
13982	//
13983	// An alarm can treat missing data in the following ways:
13984	//
13985	//    * breaching - Assume the missing data is not within the threshold. Missing
13986	//    data counts towards the number of times the metric is not within the threshold.
13987	//
13988	//    * notBreaching - Assume the missing data is within the threshold. Missing
13989	//    data does not count towards the number of times the metric is not within
13990	//    the threshold.
13991	//
13992	//    * ignore - Ignore the missing data. Maintains the current alarm state.
13993	//
13994	//    * missing - Missing data is treated as missing.
13995	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
13996
13997	// The unit of the metric associated with the alarm.
13998	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
13999}
14000
14001// String returns the string representation
14002func (s Alarm) String() string {
14003	return awsutil.Prettify(s)
14004}
14005
14006// GoString returns the string representation
14007func (s Alarm) GoString() string {
14008	return s.String()
14009}
14010
14011// SetArn sets the Arn field's value.
14012func (s *Alarm) SetArn(v string) *Alarm {
14013	s.Arn = &v
14014	return s
14015}
14016
14017// SetComparisonOperator sets the ComparisonOperator field's value.
14018func (s *Alarm) SetComparisonOperator(v string) *Alarm {
14019	s.ComparisonOperator = &v
14020	return s
14021}
14022
14023// SetContactProtocols sets the ContactProtocols field's value.
14024func (s *Alarm) SetContactProtocols(v []*string) *Alarm {
14025	s.ContactProtocols = v
14026	return s
14027}
14028
14029// SetCreatedAt sets the CreatedAt field's value.
14030func (s *Alarm) SetCreatedAt(v time.Time) *Alarm {
14031	s.CreatedAt = &v
14032	return s
14033}
14034
14035// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
14036func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm {
14037	s.DatapointsToAlarm = &v
14038	return s
14039}
14040
14041// SetEvaluationPeriods sets the EvaluationPeriods field's value.
14042func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm {
14043	s.EvaluationPeriods = &v
14044	return s
14045}
14046
14047// SetLocation sets the Location field's value.
14048func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm {
14049	s.Location = v
14050	return s
14051}
14052
14053// SetMetricName sets the MetricName field's value.
14054func (s *Alarm) SetMetricName(v string) *Alarm {
14055	s.MetricName = &v
14056	return s
14057}
14058
14059// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value.
14060func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm {
14061	s.MonitoredResourceInfo = v
14062	return s
14063}
14064
14065// SetName sets the Name field's value.
14066func (s *Alarm) SetName(v string) *Alarm {
14067	s.Name = &v
14068	return s
14069}
14070
14071// SetNotificationEnabled sets the NotificationEnabled field's value.
14072func (s *Alarm) SetNotificationEnabled(v bool) *Alarm {
14073	s.NotificationEnabled = &v
14074	return s
14075}
14076
14077// SetNotificationTriggers sets the NotificationTriggers field's value.
14078func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm {
14079	s.NotificationTriggers = v
14080	return s
14081}
14082
14083// SetPeriod sets the Period field's value.
14084func (s *Alarm) SetPeriod(v int64) *Alarm {
14085	s.Period = &v
14086	return s
14087}
14088
14089// SetResourceType sets the ResourceType field's value.
14090func (s *Alarm) SetResourceType(v string) *Alarm {
14091	s.ResourceType = &v
14092	return s
14093}
14094
14095// SetState sets the State field's value.
14096func (s *Alarm) SetState(v string) *Alarm {
14097	s.State = &v
14098	return s
14099}
14100
14101// SetStatistic sets the Statistic field's value.
14102func (s *Alarm) SetStatistic(v string) *Alarm {
14103	s.Statistic = &v
14104	return s
14105}
14106
14107// SetSupportCode sets the SupportCode field's value.
14108func (s *Alarm) SetSupportCode(v string) *Alarm {
14109	s.SupportCode = &v
14110	return s
14111}
14112
14113// SetThreshold sets the Threshold field's value.
14114func (s *Alarm) SetThreshold(v float64) *Alarm {
14115	s.Threshold = &v
14116	return s
14117}
14118
14119// SetTreatMissingData sets the TreatMissingData field's value.
14120func (s *Alarm) SetTreatMissingData(v string) *Alarm {
14121	s.TreatMissingData = &v
14122	return s
14123}
14124
14125// SetUnit sets the Unit field's value.
14126func (s *Alarm) SetUnit(v string) *Alarm {
14127	s.Unit = &v
14128	return s
14129}
14130
14131type AllocateStaticIpInput struct {
14132	_ struct{} `type:"structure"`
14133
14134	// The name of the static IP address.
14135	//
14136	// StaticIpName is a required field
14137	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
14138}
14139
14140// String returns the string representation
14141func (s AllocateStaticIpInput) String() string {
14142	return awsutil.Prettify(s)
14143}
14144
14145// GoString returns the string representation
14146func (s AllocateStaticIpInput) GoString() string {
14147	return s.String()
14148}
14149
14150// Validate inspects the fields of the type to determine if they are valid.
14151func (s *AllocateStaticIpInput) Validate() error {
14152	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
14153	if s.StaticIpName == nil {
14154		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
14155	}
14156
14157	if invalidParams.Len() > 0 {
14158		return invalidParams
14159	}
14160	return nil
14161}
14162
14163// SetStaticIpName sets the StaticIpName field's value.
14164func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
14165	s.StaticIpName = &v
14166	return s
14167}
14168
14169type AllocateStaticIpOutput struct {
14170	_ struct{} `type:"structure"`
14171
14172	// An array of objects that describe the result of the action, such as the status
14173	// of the request, the timestamp of the request, and the resources affected
14174	// by the request.
14175	Operations []*Operation `locationName:"operations" type:"list"`
14176}
14177
14178// String returns the string representation
14179func (s AllocateStaticIpOutput) String() string {
14180	return awsutil.Prettify(s)
14181}
14182
14183// GoString returns the string representation
14184func (s AllocateStaticIpOutput) GoString() string {
14185	return s.String()
14186}
14187
14188// SetOperations sets the Operations field's value.
14189func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
14190	s.Operations = v
14191	return s
14192}
14193
14194type AttachCertificateToDistributionInput struct {
14195	_ struct{} `type:"structure"`
14196
14197	// The name of the certificate to attach to a distribution.
14198	//
14199	// Only certificates with a status of ISSUED can be attached to a distribution.
14200	//
14201	// Use the GetCertificates action to get a list of certificate names that you
14202	// can specify.
14203	//
14204	// This is the name of the certificate resource type and is used only to reference
14205	// the certificate in other API actions. It can be different than the domain
14206	// name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate
14207	// and the domain name of the certificate might be example.com.
14208	//
14209	// CertificateName is a required field
14210	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
14211
14212	// The name of the distribution that the certificate will be attached to.
14213	//
14214	// Use the GetDistributions action to get a list of distribution names that
14215	// you can specify.
14216	//
14217	// DistributionName is a required field
14218	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
14219}
14220
14221// String returns the string representation
14222func (s AttachCertificateToDistributionInput) String() string {
14223	return awsutil.Prettify(s)
14224}
14225
14226// GoString returns the string representation
14227func (s AttachCertificateToDistributionInput) GoString() string {
14228	return s.String()
14229}
14230
14231// Validate inspects the fields of the type to determine if they are valid.
14232func (s *AttachCertificateToDistributionInput) Validate() error {
14233	invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"}
14234	if s.CertificateName == nil {
14235		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
14236	}
14237	if s.DistributionName == nil {
14238		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
14239	}
14240
14241	if invalidParams.Len() > 0 {
14242		return invalidParams
14243	}
14244	return nil
14245}
14246
14247// SetCertificateName sets the CertificateName field's value.
14248func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput {
14249	s.CertificateName = &v
14250	return s
14251}
14252
14253// SetDistributionName sets the DistributionName field's value.
14254func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput {
14255	s.DistributionName = &v
14256	return s
14257}
14258
14259type AttachCertificateToDistributionOutput struct {
14260	_ struct{} `type:"structure"`
14261
14262	// An object that describes the result of the action, such as the status of
14263	// the request, the timestamp of the request, and the resources affected by
14264	// the request.
14265	Operation *Operation `locationName:"operation" type:"structure"`
14266}
14267
14268// String returns the string representation
14269func (s AttachCertificateToDistributionOutput) String() string {
14270	return awsutil.Prettify(s)
14271}
14272
14273// GoString returns the string representation
14274func (s AttachCertificateToDistributionOutput) GoString() string {
14275	return s.String()
14276}
14277
14278// SetOperation sets the Operation field's value.
14279func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput {
14280	s.Operation = v
14281	return s
14282}
14283
14284type AttachDiskInput struct {
14285	_ struct{} `type:"structure"`
14286
14287	// The unique Lightsail disk name (e.g., my-disk).
14288	//
14289	// DiskName is a required field
14290	DiskName *string `locationName:"diskName" type:"string" required:"true"`
14291
14292	// The disk path to expose to the instance (e.g., /dev/xvdf).
14293	//
14294	// DiskPath is a required field
14295	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
14296
14297	// The name of the Lightsail instance where you want to utilize the storage
14298	// disk.
14299	//
14300	// InstanceName is a required field
14301	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
14302}
14303
14304// String returns the string representation
14305func (s AttachDiskInput) String() string {
14306	return awsutil.Prettify(s)
14307}
14308
14309// GoString returns the string representation
14310func (s AttachDiskInput) GoString() string {
14311	return s.String()
14312}
14313
14314// Validate inspects the fields of the type to determine if they are valid.
14315func (s *AttachDiskInput) Validate() error {
14316	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
14317	if s.DiskName == nil {
14318		invalidParams.Add(request.NewErrParamRequired("DiskName"))
14319	}
14320	if s.DiskPath == nil {
14321		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
14322	}
14323	if s.InstanceName == nil {
14324		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
14325	}
14326
14327	if invalidParams.Len() > 0 {
14328		return invalidParams
14329	}
14330	return nil
14331}
14332
14333// SetDiskName sets the DiskName field's value.
14334func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
14335	s.DiskName = &v
14336	return s
14337}
14338
14339// SetDiskPath sets the DiskPath field's value.
14340func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
14341	s.DiskPath = &v
14342	return s
14343}
14344
14345// SetInstanceName sets the InstanceName field's value.
14346func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
14347	s.InstanceName = &v
14348	return s
14349}
14350
14351type AttachDiskOutput struct {
14352	_ struct{} `type:"structure"`
14353
14354	// An array of objects that describe the result of the action, such as the status
14355	// of the request, the timestamp of the request, and the resources affected
14356	// by the request.
14357	Operations []*Operation `locationName:"operations" type:"list"`
14358}
14359
14360// String returns the string representation
14361func (s AttachDiskOutput) String() string {
14362	return awsutil.Prettify(s)
14363}
14364
14365// GoString returns the string representation
14366func (s AttachDiskOutput) GoString() string {
14367	return s.String()
14368}
14369
14370// SetOperations sets the Operations field's value.
14371func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
14372	s.Operations = v
14373	return s
14374}
14375
14376type AttachInstancesToLoadBalancerInput struct {
14377	_ struct{} `type:"structure"`
14378
14379	// An array of strings representing the instance name(s) you want to attach
14380	// to your load balancer.
14381	//
14382	// An instance must be running before you can attach it to your load balancer.
14383	//
14384	// There are no additional limits on the number of instances you can attach
14385	// to your load balancer, aside from the limit of Lightsail instances you can
14386	// create in your account (20).
14387	//
14388	// InstanceNames is a required field
14389	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
14390
14391	// The name of the load balancer.
14392	//
14393	// LoadBalancerName is a required field
14394	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14395}
14396
14397// String returns the string representation
14398func (s AttachInstancesToLoadBalancerInput) String() string {
14399	return awsutil.Prettify(s)
14400}
14401
14402// GoString returns the string representation
14403func (s AttachInstancesToLoadBalancerInput) GoString() string {
14404	return s.String()
14405}
14406
14407// Validate inspects the fields of the type to determine if they are valid.
14408func (s *AttachInstancesToLoadBalancerInput) Validate() error {
14409	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
14410	if s.InstanceNames == nil {
14411		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
14412	}
14413	if s.LoadBalancerName == nil {
14414		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14415	}
14416
14417	if invalidParams.Len() > 0 {
14418		return invalidParams
14419	}
14420	return nil
14421}
14422
14423// SetInstanceNames sets the InstanceNames field's value.
14424func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
14425	s.InstanceNames = v
14426	return s
14427}
14428
14429// SetLoadBalancerName sets the LoadBalancerName field's value.
14430func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
14431	s.LoadBalancerName = &v
14432	return s
14433}
14434
14435type AttachInstancesToLoadBalancerOutput struct {
14436	_ struct{} `type:"structure"`
14437
14438	// An array of objects that describe the result of the action, such as the status
14439	// of the request, the timestamp of the request, and the resources affected
14440	// by the request.
14441	Operations []*Operation `locationName:"operations" type:"list"`
14442}
14443
14444// String returns the string representation
14445func (s AttachInstancesToLoadBalancerOutput) String() string {
14446	return awsutil.Prettify(s)
14447}
14448
14449// GoString returns the string representation
14450func (s AttachInstancesToLoadBalancerOutput) GoString() string {
14451	return s.String()
14452}
14453
14454// SetOperations sets the Operations field's value.
14455func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
14456	s.Operations = v
14457	return s
14458}
14459
14460type AttachLoadBalancerTlsCertificateInput struct {
14461	_ struct{} `type:"structure"`
14462
14463	// The name of your SSL/TLS certificate.
14464	//
14465	// CertificateName is a required field
14466	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
14467
14468	// The name of the load balancer to which you want to associate the SSL/TLS
14469	// certificate.
14470	//
14471	// LoadBalancerName is a required field
14472	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14473}
14474
14475// String returns the string representation
14476func (s AttachLoadBalancerTlsCertificateInput) String() string {
14477	return awsutil.Prettify(s)
14478}
14479
14480// GoString returns the string representation
14481func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
14482	return s.String()
14483}
14484
14485// Validate inspects the fields of the type to determine if they are valid.
14486func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
14487	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
14488	if s.CertificateName == nil {
14489		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
14490	}
14491	if s.LoadBalancerName == nil {
14492		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14493	}
14494
14495	if invalidParams.Len() > 0 {
14496		return invalidParams
14497	}
14498	return nil
14499}
14500
14501// SetCertificateName sets the CertificateName field's value.
14502func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
14503	s.CertificateName = &v
14504	return s
14505}
14506
14507// SetLoadBalancerName sets the LoadBalancerName field's value.
14508func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
14509	s.LoadBalancerName = &v
14510	return s
14511}
14512
14513type AttachLoadBalancerTlsCertificateOutput struct {
14514	_ struct{} `type:"structure"`
14515
14516	// An array of objects that describe the result of the action, such as the status
14517	// of the request, the timestamp of the request, and the resources affected
14518	// by the request.
14519	//
14520	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
14521	// can't get the certificate and use it for another purpose.
14522	Operations []*Operation `locationName:"operations" type:"list"`
14523}
14524
14525// String returns the string representation
14526func (s AttachLoadBalancerTlsCertificateOutput) String() string {
14527	return awsutil.Prettify(s)
14528}
14529
14530// GoString returns the string representation
14531func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
14532	return s.String()
14533}
14534
14535// SetOperations sets the Operations field's value.
14536func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
14537	s.Operations = v
14538	return s
14539}
14540
14541type AttachStaticIpInput struct {
14542	_ struct{} `type:"structure"`
14543
14544	// The instance name to which you want to attach the static IP address.
14545	//
14546	// InstanceName is a required field
14547	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
14548
14549	// The name of the static IP.
14550	//
14551	// StaticIpName is a required field
14552	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
14553}
14554
14555// String returns the string representation
14556func (s AttachStaticIpInput) String() string {
14557	return awsutil.Prettify(s)
14558}
14559
14560// GoString returns the string representation
14561func (s AttachStaticIpInput) GoString() string {
14562	return s.String()
14563}
14564
14565// Validate inspects the fields of the type to determine if they are valid.
14566func (s *AttachStaticIpInput) Validate() error {
14567	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
14568	if s.InstanceName == nil {
14569		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
14570	}
14571	if s.StaticIpName == nil {
14572		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
14573	}
14574
14575	if invalidParams.Len() > 0 {
14576		return invalidParams
14577	}
14578	return nil
14579}
14580
14581// SetInstanceName sets the InstanceName field's value.
14582func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
14583	s.InstanceName = &v
14584	return s
14585}
14586
14587// SetStaticIpName sets the StaticIpName field's value.
14588func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
14589	s.StaticIpName = &v
14590	return s
14591}
14592
14593type AttachStaticIpOutput struct {
14594	_ struct{} `type:"structure"`
14595
14596	// An array of objects that describe the result of the action, such as the status
14597	// of the request, the timestamp of the request, and the resources affected
14598	// by the request.
14599	Operations []*Operation `locationName:"operations" type:"list"`
14600}
14601
14602// String returns the string representation
14603func (s AttachStaticIpOutput) String() string {
14604	return awsutil.Prettify(s)
14605}
14606
14607// GoString returns the string representation
14608func (s AttachStaticIpOutput) GoString() string {
14609	return s.String()
14610}
14611
14612// SetOperations sets the Operations field's value.
14613func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
14614	s.Operations = v
14615	return s
14616}
14617
14618// Describes a block storage disk that is attached to an instance, and is included
14619// in an automatic snapshot.
14620type AttachedDisk struct {
14621	_ struct{} `type:"structure"`
14622
14623	// The path of the disk (e.g., /dev/xvdf).
14624	Path *string `locationName:"path" type:"string"`
14625
14626	// The size of the disk in GB.
14627	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
14628}
14629
14630// String returns the string representation
14631func (s AttachedDisk) String() string {
14632	return awsutil.Prettify(s)
14633}
14634
14635// GoString returns the string representation
14636func (s AttachedDisk) GoString() string {
14637	return s.String()
14638}
14639
14640// SetPath sets the Path field's value.
14641func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
14642	s.Path = &v
14643	return s
14644}
14645
14646// SetSizeInGb sets the SizeInGb field's value.
14647func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
14648	s.SizeInGb = &v
14649	return s
14650}
14651
14652// Describes a request to enable or modify the automatic snapshot add-on for
14653// an Amazon Lightsail instance or disk.
14654//
14655// When you modify the automatic snapshot time for a resource, it is typically
14656// effective immediately except under the following conditions:
14657//
14658//    * If an automatic snapshot has been created for the current day, and you
14659//    change the snapshot time to a later time of day, then the new snapshot
14660//    time will be effective the following day. This ensures that two snapshots
14661//    are not created for the current day.
14662//
14663//    * If an automatic snapshot has not yet been created for the current day,
14664//    and you change the snapshot time to an earlier time of day, then the new
14665//    snapshot time will be effective the following day and a snapshot is automatically
14666//    created at the previously set time for the current day. This ensures that
14667//    a snapshot is created for the current day.
14668//
14669//    * If an automatic snapshot has not yet been created for the current day,
14670//    and you change the snapshot time to a time that is within 30 minutes from
14671//    your current time, then the new snapshot time will be effective the following
14672//    day and a snapshot is automatically created at the previously set time
14673//    for the current day. This ensures that a snapshot is created for the current
14674//    day, because 30 minutes is required between your current time and the
14675//    new snapshot time that you specify.
14676//
14677//    * If an automatic snapshot is scheduled to be created within 30 minutes
14678//    from your current time and you change the snapshot time, then the new
14679//    snapshot time will be effective the following day and a snapshot is automatically
14680//    created at the previously set time for the current day. This ensures that
14681//    a snapshot is created for the current day, because 30 minutes is required
14682//    between your current time and the new snapshot time that you specify.
14683type AutoSnapshotAddOnRequest struct {
14684	_ struct{} `type:"structure"`
14685
14686	// The daily time when an automatic snapshot will be created.
14687	//
14688	// Constraints:
14689	//
14690	//    * Must be in HH:00 format, and in an hourly increment.
14691	//
14692	//    * Specified in Coordinated Universal Time (UTC).
14693	//
14694	//    * The snapshot will be automatically created between the time specified
14695	//    and up to 45 minutes after.
14696	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
14697}
14698
14699// String returns the string representation
14700func (s AutoSnapshotAddOnRequest) String() string {
14701	return awsutil.Prettify(s)
14702}
14703
14704// GoString returns the string representation
14705func (s AutoSnapshotAddOnRequest) GoString() string {
14706	return s.String()
14707}
14708
14709// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
14710func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
14711	s.SnapshotTimeOfDay = &v
14712	return s
14713}
14714
14715// Describes an automatic snapshot.
14716type AutoSnapshotDetails struct {
14717	_ struct{} `type:"structure"`
14718
14719	// The timestamp when the automatic snapshot was created.
14720	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
14721
14722	// The date of the automatic snapshot in YYYY-MM-DD format.
14723	Date *string `locationName:"date" type:"string"`
14724
14725	// An array of objects that describe the block storage disks attached to the
14726	// instance when the automatic snapshot was created.
14727	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
14728
14729	// The status of the automatic snapshot.
14730	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
14731}
14732
14733// String returns the string representation
14734func (s AutoSnapshotDetails) String() string {
14735	return awsutil.Prettify(s)
14736}
14737
14738// GoString returns the string representation
14739func (s AutoSnapshotDetails) GoString() string {
14740	return s.String()
14741}
14742
14743// SetCreatedAt sets the CreatedAt field's value.
14744func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
14745	s.CreatedAt = &v
14746	return s
14747}
14748
14749// SetDate sets the Date field's value.
14750func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
14751	s.Date = &v
14752	return s
14753}
14754
14755// SetFromAttachedDisks sets the FromAttachedDisks field's value.
14756func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
14757	s.FromAttachedDisks = v
14758	return s
14759}
14760
14761// SetStatus sets the Status field's value.
14762func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
14763	s.Status = &v
14764	return s
14765}
14766
14767// Describes an Availability Zone.
14768type AvailabilityZone struct {
14769	_ struct{} `type:"structure"`
14770
14771	// The state of the Availability Zone.
14772	State *string `locationName:"state" type:"string"`
14773
14774	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
14775	ZoneName *string `locationName:"zoneName" type:"string"`
14776}
14777
14778// String returns the string representation
14779func (s AvailabilityZone) String() string {
14780	return awsutil.Prettify(s)
14781}
14782
14783// GoString returns the string representation
14784func (s AvailabilityZone) GoString() string {
14785	return s.String()
14786}
14787
14788// SetState sets the State field's value.
14789func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
14790	s.State = &v
14791	return s
14792}
14793
14794// SetZoneName sets the ZoneName field's value.
14795func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
14796	s.ZoneName = &v
14797	return s
14798}
14799
14800// Describes a blueprint (a virtual private server image).
14801type Blueprint struct {
14802	_ struct{} `type:"structure"`
14803
14804	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
14805	BlueprintId *string `locationName:"blueprintId" type:"string"`
14806
14807	// The description of the blueprint.
14808	Description *string `locationName:"description" type:"string"`
14809
14810	// The group name of the blueprint (e.g., amazon-linux).
14811	Group *string `locationName:"group" type:"string"`
14812
14813	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
14814	// are listed to support customers with existing instances but are not necessarily
14815	// available for launch of new instances. Blueprints are marked inactive when
14816	// they become outdated due to operating system updates or new application releases.
14817	IsActive *bool `locationName:"isActive" type:"boolean"`
14818
14819	// The end-user license agreement URL for the image or blueprint.
14820	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
14821
14822	// The minimum bundle power required to run this blueprint. For example, you
14823	// need a bundle with a power value of 500 or more to create an instance that
14824	// uses a blueprint with a minimum power value of 500. 0 indicates that the
14825	// blueprint runs on all instance sizes.
14826	MinPower *int64 `locationName:"minPower" type:"integer"`
14827
14828	// The friendly name of the blueprint (e.g., Amazon Linux).
14829	Name *string `locationName:"name" type:"string"`
14830
14831	// The operating system platform (either Linux/Unix-based or Windows Server-based)
14832	// of the blueprint.
14833	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
14834
14835	// The product URL to learn more about the image or blueprint.
14836	ProductUrl *string `locationName:"productUrl" type:"string"`
14837
14838	// The type of the blueprint (e.g., os or app).
14839	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
14840
14841	// The version number of the operating system, application, or stack (e.g.,
14842	// 2016.03.0).
14843	Version *string `locationName:"version" type:"string"`
14844
14845	// The version code.
14846	VersionCode *string `locationName:"versionCode" type:"string"`
14847}
14848
14849// String returns the string representation
14850func (s Blueprint) String() string {
14851	return awsutil.Prettify(s)
14852}
14853
14854// GoString returns the string representation
14855func (s Blueprint) GoString() string {
14856	return s.String()
14857}
14858
14859// SetBlueprintId sets the BlueprintId field's value.
14860func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
14861	s.BlueprintId = &v
14862	return s
14863}
14864
14865// SetDescription sets the Description field's value.
14866func (s *Blueprint) SetDescription(v string) *Blueprint {
14867	s.Description = &v
14868	return s
14869}
14870
14871// SetGroup sets the Group field's value.
14872func (s *Blueprint) SetGroup(v string) *Blueprint {
14873	s.Group = &v
14874	return s
14875}
14876
14877// SetIsActive sets the IsActive field's value.
14878func (s *Blueprint) SetIsActive(v bool) *Blueprint {
14879	s.IsActive = &v
14880	return s
14881}
14882
14883// SetLicenseUrl sets the LicenseUrl field's value.
14884func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
14885	s.LicenseUrl = &v
14886	return s
14887}
14888
14889// SetMinPower sets the MinPower field's value.
14890func (s *Blueprint) SetMinPower(v int64) *Blueprint {
14891	s.MinPower = &v
14892	return s
14893}
14894
14895// SetName sets the Name field's value.
14896func (s *Blueprint) SetName(v string) *Blueprint {
14897	s.Name = &v
14898	return s
14899}
14900
14901// SetPlatform sets the Platform field's value.
14902func (s *Blueprint) SetPlatform(v string) *Blueprint {
14903	s.Platform = &v
14904	return s
14905}
14906
14907// SetProductUrl sets the ProductUrl field's value.
14908func (s *Blueprint) SetProductUrl(v string) *Blueprint {
14909	s.ProductUrl = &v
14910	return s
14911}
14912
14913// SetType sets the Type field's value.
14914func (s *Blueprint) SetType(v string) *Blueprint {
14915	s.Type = &v
14916	return s
14917}
14918
14919// SetVersion sets the Version field's value.
14920func (s *Blueprint) SetVersion(v string) *Blueprint {
14921	s.Version = &v
14922	return s
14923}
14924
14925// SetVersionCode sets the VersionCode field's value.
14926func (s *Blueprint) SetVersionCode(v string) *Blueprint {
14927	s.VersionCode = &v
14928	return s
14929}
14930
14931// Describes a bundle, which is a set of specs describing your virtual private
14932// server (or instance).
14933type Bundle struct {
14934	_ struct{} `type:"structure"`
14935
14936	// The bundle ID (e.g., micro_1_0).
14937	BundleId *string `locationName:"bundleId" type:"string"`
14938
14939	// The number of vCPUs included in the bundle (e.g., 2).
14940	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
14941
14942	// The size of the SSD (e.g., 30).
14943	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
14944
14945	// The Amazon EC2 instance type (e.g., t2.micro).
14946	InstanceType *string `locationName:"instanceType" type:"string"`
14947
14948	// A Boolean value indicating whether the bundle is active.
14949	IsActive *bool `locationName:"isActive" type:"boolean"`
14950
14951	// A friendly name for the bundle (e.g., Micro).
14952	Name *string `locationName:"name" type:"string"`
14953
14954	// A numeric value that represents the power of the bundle (e.g., 500). You
14955	// can use the bundle's power value in conjunction with a blueprint's minimum
14956	// power value to determine whether the blueprint will run on the bundle. For
14957	// example, you need a bundle with a power value of 500 or more to create an
14958	// instance that uses a blueprint with a minimum power value of 500.
14959	Power *int64 `locationName:"power" type:"integer"`
14960
14961	// The price in US dollars (e.g., 5.0) of the bundle.
14962	Price *float64 `locationName:"price" type:"float"`
14963
14964	// The amount of RAM in GB (e.g., 2.0).
14965	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
14966
14967	// The operating system platform (Linux/Unix-based or Windows Server-based)
14968	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
14969	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
14970	// bundle.
14971	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
14972
14973	// The data transfer rate per month in GB (e.g., 2000).
14974	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
14975}
14976
14977// String returns the string representation
14978func (s Bundle) String() string {
14979	return awsutil.Prettify(s)
14980}
14981
14982// GoString returns the string representation
14983func (s Bundle) GoString() string {
14984	return s.String()
14985}
14986
14987// SetBundleId sets the BundleId field's value.
14988func (s *Bundle) SetBundleId(v string) *Bundle {
14989	s.BundleId = &v
14990	return s
14991}
14992
14993// SetCpuCount sets the CpuCount field's value.
14994func (s *Bundle) SetCpuCount(v int64) *Bundle {
14995	s.CpuCount = &v
14996	return s
14997}
14998
14999// SetDiskSizeInGb sets the DiskSizeInGb field's value.
15000func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
15001	s.DiskSizeInGb = &v
15002	return s
15003}
15004
15005// SetInstanceType sets the InstanceType field's value.
15006func (s *Bundle) SetInstanceType(v string) *Bundle {
15007	s.InstanceType = &v
15008	return s
15009}
15010
15011// SetIsActive sets the IsActive field's value.
15012func (s *Bundle) SetIsActive(v bool) *Bundle {
15013	s.IsActive = &v
15014	return s
15015}
15016
15017// SetName sets the Name field's value.
15018func (s *Bundle) SetName(v string) *Bundle {
15019	s.Name = &v
15020	return s
15021}
15022
15023// SetPower sets the Power field's value.
15024func (s *Bundle) SetPower(v int64) *Bundle {
15025	s.Power = &v
15026	return s
15027}
15028
15029// SetPrice sets the Price field's value.
15030func (s *Bundle) SetPrice(v float64) *Bundle {
15031	s.Price = &v
15032	return s
15033}
15034
15035// SetRamSizeInGb sets the RamSizeInGb field's value.
15036func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
15037	s.RamSizeInGb = &v
15038	return s
15039}
15040
15041// SetSupportedPlatforms sets the SupportedPlatforms field's value.
15042func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
15043	s.SupportedPlatforms = v
15044	return s
15045}
15046
15047// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
15048func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
15049	s.TransferPerMonthInGb = &v
15050	return s
15051}
15052
15053// Describes the default cache behavior of an Amazon Lightsail content delivery
15054// network (CDN) distribution.
15055type CacheBehavior struct {
15056	_ struct{} `type:"structure"`
15057
15058	// The cache behavior of the distribution.
15059	//
15060	// The following cache behaviors can be specified:
15061	//
15062	//    * cache - This option is best for static sites. When specified, your distribution
15063	//    caches and serves your entire website as static content. This behavior
15064	//    is ideal for websites with static content that doesn't change depending
15065	//    on who views it, or for websites that don't use cookies, headers, or query
15066	//    strings to personalize content.
15067	//
15068	//    * dont-cache - This option is best for sites that serve a mix of static
15069	//    and dynamic content. When specified, your distribution caches and serve
15070	//    only the content that is specified in the distribution's CacheBehaviorPerPath
15071	//    parameter. This behavior is ideal for websites or web applications that
15072	//    use cookies, headers, and query strings to personalize content for individual
15073	//    users.
15074	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
15075}
15076
15077// String returns the string representation
15078func (s CacheBehavior) String() string {
15079	return awsutil.Prettify(s)
15080}
15081
15082// GoString returns the string representation
15083func (s CacheBehavior) GoString() string {
15084	return s.String()
15085}
15086
15087// SetBehavior sets the Behavior field's value.
15088func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior {
15089	s.Behavior = &v
15090	return s
15091}
15092
15093// Describes the per-path cache behavior of an Amazon Lightsail content delivery
15094// network (CDN) distribution.
15095//
15096// A per-path cache behavior is used to override, or add an exception to, the
15097// default cache behavior of a distribution. For example, if the cacheBehavior
15098// is set to cache, then a per-path cache behavior can be used to specify a
15099// directory, file, or file type that your distribution will cache. Alternately,
15100// if the distribution's cacheBehavior is dont-cache, then a per-path cache
15101// behavior can be used to specify a directory, file, or file type that your
15102// distribution will not cache.
15103//
15104// if the cacheBehavior's behavior is set to 'cache', then
15105type CacheBehaviorPerPath struct {
15106	_ struct{} `type:"structure"`
15107
15108	// The cache behavior for the specified path.
15109	//
15110	// You can specify one of the following per-path cache behaviors:
15111	//
15112	//    * cache - This behavior caches the specified path.
15113	//
15114	//    * dont-cache - This behavior doesn't cache the specified path.
15115	Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"`
15116
15117	// The path to a directory or file to cached, or not cache. Use an asterisk
15118	// symbol to specify wildcard directories (path/to/assets/*), and file types
15119	// (*.html, *jpg, *js). Directories and file paths are case-sensitive.
15120	//
15121	// Examples:
15122	//
15123	//    * Specify the following to cache all files in the document root of an
15124	//    Apache web server running on a Lightsail instance. var/www/html/
15125	//
15126	//    * Specify the following file to cache only the index page in the document
15127	//    root of an Apache web server. var/www/html/index.html
15128	//
15129	//    * Specify the following to cache only the .html files in the document
15130	//    root of an Apache web server. var/www/html/*.html
15131	//
15132	//    * Specify the following to cache only the .jpg, .png, and .gif files in
15133	//    the images sub-directory of the document root of an Apache web server.
15134	//    var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif
15135	//    Specify the following to cache all files in the images sub-directory of
15136	//    the document root of an Apache web server. var/www/html/images/
15137	Path *string `locationName:"path" type:"string"`
15138}
15139
15140// String returns the string representation
15141func (s CacheBehaviorPerPath) String() string {
15142	return awsutil.Prettify(s)
15143}
15144
15145// GoString returns the string representation
15146func (s CacheBehaviorPerPath) GoString() string {
15147	return s.String()
15148}
15149
15150// SetBehavior sets the Behavior field's value.
15151func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath {
15152	s.Behavior = &v
15153	return s
15154}
15155
15156// SetPath sets the Path field's value.
15157func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath {
15158	s.Path = &v
15159	return s
15160}
15161
15162// Describes the cache settings of an Amazon Lightsail content delivery network
15163// (CDN) distribution.
15164//
15165// These settings apply only to your distribution's cacheBehaviors (including
15166// the defaultCacheBehavior) that have a behavior of cache.
15167type CacheSettings struct {
15168	_ struct{} `type:"structure"`
15169
15170	// The HTTP methods that are processed and forwarded to the distribution's origin.
15171	//
15172	// You can specify the following options:
15173	//
15174	//    * GET,HEAD - The distribution forwards the GET and HEAD methods.
15175	//
15176	//    * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS
15177	//    methods.
15178	//
15179	//    * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the
15180	//    GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods.
15181	//
15182	// If you specify the third option, you might need to restrict access to your
15183	// distribution's origin so users can't perform operations that you don't want
15184	// them to. For example, you might not want users to have permission to delete
15185	// objects from your origin.
15186	AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"`
15187
15188	// The HTTP method responses that are cached by your distribution.
15189	//
15190	// You can specify the following options:
15191	//
15192	//    * GET,HEAD - The distribution caches responses to the GET and HEAD methods.
15193	//
15194	//    * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD,
15195	//    and OPTIONS methods.
15196	CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"`
15197
15198	// The default amount of time that objects stay in the distribution's cache
15199	// before the distribution forwards another request to the origin to determine
15200	// whether the content has been updated.
15201	//
15202	// The value specified applies only when the origin does not add HTTP headers
15203	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
15204	DefaultTTL *int64 `locationName:"defaultTTL" type:"long"`
15205
15206	// An object that describes the cookies that are forwarded to the origin. Your
15207	// content is cached based on the cookies that are forwarded.
15208	ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"`
15209
15210	// An object that describes the headers that are forwarded to the origin. Your
15211	// content is cached based on the headers that are forwarded.
15212	ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"`
15213
15214	// An object that describes the query strings that are forwarded to the origin.
15215	// Your content is cached based on the query strings that are forwarded.
15216	ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"`
15217
15218	// The maximum amount of time that objects stay in the distribution's cache
15219	// before the distribution forwards another request to the origin to determine
15220	// whether the object has been updated.
15221	//
15222	// The value specified applies only when the origin adds HTTP headers such as
15223	// Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
15224	MaximumTTL *int64 `locationName:"maximumTTL" type:"long"`
15225
15226	// The minimum amount of time that objects stay in the distribution's cache
15227	// before the distribution forwards another request to the origin to determine
15228	// whether the object has been updated.
15229	//
15230	// A value of 0 must be specified for minimumTTL if the distribution is configured
15231	// to forward all headers to the origin.
15232	MinimumTTL *int64 `locationName:"minimumTTL" type:"long"`
15233}
15234
15235// String returns the string representation
15236func (s CacheSettings) String() string {
15237	return awsutil.Prettify(s)
15238}
15239
15240// GoString returns the string representation
15241func (s CacheSettings) GoString() string {
15242	return s.String()
15243}
15244
15245// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value.
15246func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings {
15247	s.AllowedHTTPMethods = &v
15248	return s
15249}
15250
15251// SetCachedHTTPMethods sets the CachedHTTPMethods field's value.
15252func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings {
15253	s.CachedHTTPMethods = &v
15254	return s
15255}
15256
15257// SetDefaultTTL sets the DefaultTTL field's value.
15258func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings {
15259	s.DefaultTTL = &v
15260	return s
15261}
15262
15263// SetForwardedCookies sets the ForwardedCookies field's value.
15264func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings {
15265	s.ForwardedCookies = v
15266	return s
15267}
15268
15269// SetForwardedHeaders sets the ForwardedHeaders field's value.
15270func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings {
15271	s.ForwardedHeaders = v
15272	return s
15273}
15274
15275// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value.
15276func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings {
15277	s.ForwardedQueryStrings = v
15278	return s
15279}
15280
15281// SetMaximumTTL sets the MaximumTTL field's value.
15282func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings {
15283	s.MaximumTTL = &v
15284	return s
15285}
15286
15287// SetMinimumTTL sets the MinimumTTL field's value.
15288func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings {
15289	s.MinimumTTL = &v
15290	return s
15291}
15292
15293// Describes the full details of an Amazon Lightsail SSL/TLS certificate.
15294//
15295// To get a summary of a certificate, use the GetCertificates action and ommit
15296// includeCertificateDetails from your request. The response will include only
15297// the certificate Amazon Resource Name (ARN), certificate name, domain name,
15298// and tags.
15299type Certificate struct {
15300	_ struct{} `type:"structure"`
15301
15302	// The Amazon Resource Name (ARN) of the certificate.
15303	Arn *string `locationName:"arn" type:"string"`
15304
15305	// The timestamp when the certificate was created.
15306	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15307
15308	// The domain name of the certificate.
15309	DomainName *string `locationName:"domainName" type:"string"`
15310
15311	// An array of objects that describe the domain validation records of the certificate.
15312	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
15313
15314	// The renewal eligibility of the certificate.
15315	EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"`
15316
15317	// The number of Lightsail resources that the certificate is attached to.
15318	InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"`
15319
15320	// The timestamp when the certificate was issued.
15321	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
15322
15323	// The certificate authority that issued the certificate.
15324	IssuerCA *string `locationName:"issuerCA" type:"string"`
15325
15326	// The algorithm used to generate the key pair (the public and private key)
15327	// of the certificate.
15328	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
15329
15330	// The name of the certificate (e.g., my-certificate).
15331	Name *string `locationName:"name" type:"string"`
15332
15333	// The timestamp when the certificate expires.
15334	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
15335
15336	// The timestamp when the certificate is first valid.
15337	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
15338
15339	// An object that describes the status of the certificate renewal managed by
15340	// Lightsail.
15341	RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"`
15342
15343	// The validation failure reason, if any, of the certificate.
15344	//
15345	// The following failure reasons are possible:
15346	//
15347	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
15348	//    is not available for Lightsail certificates.
15349	//
15350	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
15351	//    to process this certificate request. This can happen as a fraud-protection
15352	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
15353	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
15354	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
15355	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
15356	//    elasticbeanstalk.com.
15357	//
15358	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
15359	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
15360	//    To correct the problem, search for your domain name on the VirusTotal
15361	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
15362	//    as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en)
15363	//    to learn what you can do. If you believe that the result is a false positive,
15364	//    notify the organization that is reporting the domain. VirusTotal is an
15365	//    aggregate of several antivirus and URL scanners and cannot remove your
15366	//    domain from a block list itself. After you correct the problem and the
15367	//    VirusTotal registry has been updated, request a new certificate. If you
15368	//    see this error and your domain is not included in the VirusTotal list,
15369	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
15370	//    and create a case.
15371	//
15372	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
15373	//    request is not valid. Typically, this is because a domain name in the
15374	//    request is not a valid top-level domain. Try to request a certificate
15375	//    again, correcting any spelling errors or typos that were in the failed
15376	//    request, and ensure that all domain names in the request are for valid
15377	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
15378	//    because invalidpublicdomain is not a valid top-level domain.
15379	//
15380	//    * OTHER - Typically, this failure occurs when there is a typographical
15381	//    error in one or more of the domain names in the certificate request. Try
15382	//    to request a certificate again, correcting any spelling errors or typos
15383	//    that were in the failed request.
15384	RequestFailureReason *string `locationName:"requestFailureReason" type:"string"`
15385
15386	// The reason the certificate was revoked. This value is present only when the
15387	// certificate status is REVOKED.
15388	RevocationReason *string `locationName:"revocationReason" type:"string"`
15389
15390	// The timestamp when the certificate was revoked. This value is present only
15391	// when the certificate status is REVOKED.
15392	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
15393
15394	// The serial number of the certificate.
15395	SerialNumber *string `locationName:"serialNumber" type:"string"`
15396
15397	// The validation status of the certificate.
15398	Status *string `locationName:"status" type:"string" enum:"CertificateStatus"`
15399
15400	// An array of strings that specify the alternate domains (e.g., example2.com)
15401	// and subdomains (e.g., blog.example.com) of the certificate.
15402	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
15403
15404	// The support code. Include this code in your email to support when you have
15405	// questions about your Lightsail certificate. This code enables our support
15406	// team to look up your Lightsail information more easily.
15407	SupportCode *string `locationName:"supportCode" type:"string"`
15408
15409	// The tag keys and optional values for the resource. For more information about
15410	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
15411	Tags []*Tag `locationName:"tags" type:"list"`
15412}
15413
15414// String returns the string representation
15415func (s Certificate) String() string {
15416	return awsutil.Prettify(s)
15417}
15418
15419// GoString returns the string representation
15420func (s Certificate) GoString() string {
15421	return s.String()
15422}
15423
15424// SetArn sets the Arn field's value.
15425func (s *Certificate) SetArn(v string) *Certificate {
15426	s.Arn = &v
15427	return s
15428}
15429
15430// SetCreatedAt sets the CreatedAt field's value.
15431func (s *Certificate) SetCreatedAt(v time.Time) *Certificate {
15432	s.CreatedAt = &v
15433	return s
15434}
15435
15436// SetDomainName sets the DomainName field's value.
15437func (s *Certificate) SetDomainName(v string) *Certificate {
15438	s.DomainName = &v
15439	return s
15440}
15441
15442// SetDomainValidationRecords sets the DomainValidationRecords field's value.
15443func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate {
15444	s.DomainValidationRecords = v
15445	return s
15446}
15447
15448// SetEligibleToRenew sets the EligibleToRenew field's value.
15449func (s *Certificate) SetEligibleToRenew(v string) *Certificate {
15450	s.EligibleToRenew = &v
15451	return s
15452}
15453
15454// SetInUseResourceCount sets the InUseResourceCount field's value.
15455func (s *Certificate) SetInUseResourceCount(v int64) *Certificate {
15456	s.InUseResourceCount = &v
15457	return s
15458}
15459
15460// SetIssuedAt sets the IssuedAt field's value.
15461func (s *Certificate) SetIssuedAt(v time.Time) *Certificate {
15462	s.IssuedAt = &v
15463	return s
15464}
15465
15466// SetIssuerCA sets the IssuerCA field's value.
15467func (s *Certificate) SetIssuerCA(v string) *Certificate {
15468	s.IssuerCA = &v
15469	return s
15470}
15471
15472// SetKeyAlgorithm sets the KeyAlgorithm field's value.
15473func (s *Certificate) SetKeyAlgorithm(v string) *Certificate {
15474	s.KeyAlgorithm = &v
15475	return s
15476}
15477
15478// SetName sets the Name field's value.
15479func (s *Certificate) SetName(v string) *Certificate {
15480	s.Name = &v
15481	return s
15482}
15483
15484// SetNotAfter sets the NotAfter field's value.
15485func (s *Certificate) SetNotAfter(v time.Time) *Certificate {
15486	s.NotAfter = &v
15487	return s
15488}
15489
15490// SetNotBefore sets the NotBefore field's value.
15491func (s *Certificate) SetNotBefore(v time.Time) *Certificate {
15492	s.NotBefore = &v
15493	return s
15494}
15495
15496// SetRenewalSummary sets the RenewalSummary field's value.
15497func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate {
15498	s.RenewalSummary = v
15499	return s
15500}
15501
15502// SetRequestFailureReason sets the RequestFailureReason field's value.
15503func (s *Certificate) SetRequestFailureReason(v string) *Certificate {
15504	s.RequestFailureReason = &v
15505	return s
15506}
15507
15508// SetRevocationReason sets the RevocationReason field's value.
15509func (s *Certificate) SetRevocationReason(v string) *Certificate {
15510	s.RevocationReason = &v
15511	return s
15512}
15513
15514// SetRevokedAt sets the RevokedAt field's value.
15515func (s *Certificate) SetRevokedAt(v time.Time) *Certificate {
15516	s.RevokedAt = &v
15517	return s
15518}
15519
15520// SetSerialNumber sets the SerialNumber field's value.
15521func (s *Certificate) SetSerialNumber(v string) *Certificate {
15522	s.SerialNumber = &v
15523	return s
15524}
15525
15526// SetStatus sets the Status field's value.
15527func (s *Certificate) SetStatus(v string) *Certificate {
15528	s.Status = &v
15529	return s
15530}
15531
15532// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
15533func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate {
15534	s.SubjectAlternativeNames = v
15535	return s
15536}
15537
15538// SetSupportCode sets the SupportCode field's value.
15539func (s *Certificate) SetSupportCode(v string) *Certificate {
15540	s.SupportCode = &v
15541	return s
15542}
15543
15544// SetTags sets the Tags field's value.
15545func (s *Certificate) SetTags(v []*Tag) *Certificate {
15546	s.Tags = v
15547	return s
15548}
15549
15550// Describes an Amazon Lightsail SSL/TLS certificate.
15551type CertificateSummary struct {
15552	_ struct{} `type:"structure"`
15553
15554	// The Amazon Resource Name (ARN) of the certificate.
15555	CertificateArn *string `locationName:"certificateArn" type:"string"`
15556
15557	// An object that describes a certificate in detail.
15558	CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"`
15559
15560	// The name of the certificate.
15561	CertificateName *string `locationName:"certificateName" type:"string"`
15562
15563	// The domain name of the certificate.
15564	DomainName *string `locationName:"domainName" type:"string"`
15565
15566	// The tag keys and optional values for the resource. For more information about
15567	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
15568	Tags []*Tag `locationName:"tags" type:"list"`
15569}
15570
15571// String returns the string representation
15572func (s CertificateSummary) String() string {
15573	return awsutil.Prettify(s)
15574}
15575
15576// GoString returns the string representation
15577func (s CertificateSummary) GoString() string {
15578	return s.String()
15579}
15580
15581// SetCertificateArn sets the CertificateArn field's value.
15582func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary {
15583	s.CertificateArn = &v
15584	return s
15585}
15586
15587// SetCertificateDetail sets the CertificateDetail field's value.
15588func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary {
15589	s.CertificateDetail = v
15590	return s
15591}
15592
15593// SetCertificateName sets the CertificateName field's value.
15594func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary {
15595	s.CertificateName = &v
15596	return s
15597}
15598
15599// SetDomainName sets the DomainName field's value.
15600func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary {
15601	s.DomainName = &v
15602	return s
15603}
15604
15605// SetTags sets the Tags field's value.
15606func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary {
15607	s.Tags = v
15608	return s
15609}
15610
15611type CloseInstancePublicPortsInput struct {
15612	_ struct{} `type:"structure"`
15613
15614	// The name of the instance for which to close ports.
15615	//
15616	// InstanceName is a required field
15617	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
15618
15619	// An object to describe the ports to close for the specified instance.
15620	//
15621	// PortInfo is a required field
15622	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
15623}
15624
15625// String returns the string representation
15626func (s CloseInstancePublicPortsInput) String() string {
15627	return awsutil.Prettify(s)
15628}
15629
15630// GoString returns the string representation
15631func (s CloseInstancePublicPortsInput) GoString() string {
15632	return s.String()
15633}
15634
15635// Validate inspects the fields of the type to determine if they are valid.
15636func (s *CloseInstancePublicPortsInput) Validate() error {
15637	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
15638	if s.InstanceName == nil {
15639		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
15640	}
15641	if s.PortInfo == nil {
15642		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
15643	}
15644	if s.PortInfo != nil {
15645		if err := s.PortInfo.Validate(); err != nil {
15646			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
15647		}
15648	}
15649
15650	if invalidParams.Len() > 0 {
15651		return invalidParams
15652	}
15653	return nil
15654}
15655
15656// SetInstanceName sets the InstanceName field's value.
15657func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
15658	s.InstanceName = &v
15659	return s
15660}
15661
15662// SetPortInfo sets the PortInfo field's value.
15663func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
15664	s.PortInfo = v
15665	return s
15666}
15667
15668type CloseInstancePublicPortsOutput struct {
15669	_ struct{} `type:"structure"`
15670
15671	// An object that describes the result of the action, such as the status of
15672	// the request, the timestamp of the request, and the resources affected by
15673	// the request.
15674	Operation *Operation `locationName:"operation" type:"structure"`
15675}
15676
15677// String returns the string representation
15678func (s CloseInstancePublicPortsOutput) String() string {
15679	return awsutil.Prettify(s)
15680}
15681
15682// GoString returns the string representation
15683func (s CloseInstancePublicPortsOutput) GoString() string {
15684	return s.String()
15685}
15686
15687// SetOperation sets the Operation field's value.
15688func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
15689	s.Operation = v
15690	return s
15691}
15692
15693// Describes a CloudFormation stack record created as a result of the create
15694// cloud formation stack operation.
15695//
15696// A CloudFormation stack record provides information about the AWS CloudFormation
15697// stack used to create a new Amazon Elastic Compute Cloud instance from an
15698// exported Lightsail instance snapshot.
15699type CloudFormationStackRecord struct {
15700	_ struct{} `type:"structure"`
15701
15702	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
15703	Arn *string `locationName:"arn" type:"string"`
15704
15705	// The date when the CloudFormation stack record was created.
15706	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15707
15708	// A list of objects describing the destination service, which is AWS CloudFormation,
15709	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
15710	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
15711
15712	// A list of objects describing the Availability Zone and AWS Region of the
15713	// CloudFormation stack record.
15714	Location *ResourceLocation `locationName:"location" type:"structure"`
15715
15716	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
15717	// followed by a GUID.
15718	Name *string `locationName:"name" type:"string"`
15719
15720	// The Lightsail resource type (e.g., CloudFormationStackRecord).
15721	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15722
15723	// A list of objects describing the source of the CloudFormation stack record.
15724	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
15725
15726	// The current state of the CloudFormation stack record.
15727	State *string `locationName:"state" type:"string" enum:"RecordState"`
15728}
15729
15730// String returns the string representation
15731func (s CloudFormationStackRecord) String() string {
15732	return awsutil.Prettify(s)
15733}
15734
15735// GoString returns the string representation
15736func (s CloudFormationStackRecord) GoString() string {
15737	return s.String()
15738}
15739
15740// SetArn sets the Arn field's value.
15741func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
15742	s.Arn = &v
15743	return s
15744}
15745
15746// SetCreatedAt sets the CreatedAt field's value.
15747func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
15748	s.CreatedAt = &v
15749	return s
15750}
15751
15752// SetDestinationInfo sets the DestinationInfo field's value.
15753func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
15754	s.DestinationInfo = v
15755	return s
15756}
15757
15758// SetLocation sets the Location field's value.
15759func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
15760	s.Location = v
15761	return s
15762}
15763
15764// SetName sets the Name field's value.
15765func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
15766	s.Name = &v
15767	return s
15768}
15769
15770// SetResourceType sets the ResourceType field's value.
15771func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
15772	s.ResourceType = &v
15773	return s
15774}
15775
15776// SetSourceInfo sets the SourceInfo field's value.
15777func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
15778	s.SourceInfo = v
15779	return s
15780}
15781
15782// SetState sets the State field's value.
15783func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
15784	s.State = &v
15785	return s
15786}
15787
15788// Describes the source of a CloudFormation stack record (i.e., the export snapshot
15789// record).
15790type CloudFormationStackRecordSourceInfo struct {
15791	_ struct{} `type:"structure"`
15792
15793	// The Amazon Resource Name (ARN) of the export snapshot record.
15794	Arn *string `locationName:"arn" type:"string"`
15795
15796	// The name of the record.
15797	Name *string `locationName:"name" type:"string"`
15798
15799	// The Lightsail resource type (e.g., ExportSnapshotRecord).
15800	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
15801}
15802
15803// String returns the string representation
15804func (s CloudFormationStackRecordSourceInfo) String() string {
15805	return awsutil.Prettify(s)
15806}
15807
15808// GoString returns the string representation
15809func (s CloudFormationStackRecordSourceInfo) GoString() string {
15810	return s.String()
15811}
15812
15813// SetArn sets the Arn field's value.
15814func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
15815	s.Arn = &v
15816	return s
15817}
15818
15819// SetName sets the Name field's value.
15820func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
15821	s.Name = &v
15822	return s
15823}
15824
15825// SetResourceType sets the ResourceType field's value.
15826func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
15827	s.ResourceType = &v
15828	return s
15829}
15830
15831// Describes a contact method.
15832//
15833// A contact method is a way to send you notifications. For more information,
15834// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
15835type ContactMethod struct {
15836	_ struct{} `type:"structure"`
15837
15838	// The Amazon Resource Name (ARN) of the contact method.
15839	Arn *string `locationName:"arn" type:"string"`
15840
15841	// The destination of the contact method, such as an email address or a mobile
15842	// phone number.
15843	ContactEndpoint *string `locationName:"contactEndpoint" type:"string"`
15844
15845	// The timestamp when the contact method was created.
15846	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15847
15848	// Describes the resource location.
15849	Location *ResourceLocation `locationName:"location" type:"structure"`
15850
15851	// The name of the contact method.
15852	Name *string `locationName:"name" type:"string"`
15853
15854	// The protocol of the contact method, such as email or SMS (text messaging).
15855	Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"`
15856
15857	// The Lightsail resource type (e.g., ContactMethod).
15858	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15859
15860	// The current status of the contact method.
15861	//
15862	// A contact method has the following possible status:
15863	//
15864	//    * PendingVerification - The contact method has not yet been verified,
15865	//    and the verification has not yet expired.
15866	//
15867	//    * Valid - The contact method has been verified.
15868	//
15869	//    * InValid - An attempt was made to verify the contact method, but the
15870	//    verification has expired.
15871	Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"`
15872
15873	// The support code. Include this code in your email to support when you have
15874	// questions about your Lightsail contact method. This code enables our support
15875	// team to look up your Lightsail information more easily.
15876	SupportCode *string `locationName:"supportCode" type:"string"`
15877}
15878
15879// String returns the string representation
15880func (s ContactMethod) String() string {
15881	return awsutil.Prettify(s)
15882}
15883
15884// GoString returns the string representation
15885func (s ContactMethod) GoString() string {
15886	return s.String()
15887}
15888
15889// SetArn sets the Arn field's value.
15890func (s *ContactMethod) SetArn(v string) *ContactMethod {
15891	s.Arn = &v
15892	return s
15893}
15894
15895// SetContactEndpoint sets the ContactEndpoint field's value.
15896func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod {
15897	s.ContactEndpoint = &v
15898	return s
15899}
15900
15901// SetCreatedAt sets the CreatedAt field's value.
15902func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod {
15903	s.CreatedAt = &v
15904	return s
15905}
15906
15907// SetLocation sets the Location field's value.
15908func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod {
15909	s.Location = v
15910	return s
15911}
15912
15913// SetName sets the Name field's value.
15914func (s *ContactMethod) SetName(v string) *ContactMethod {
15915	s.Name = &v
15916	return s
15917}
15918
15919// SetProtocol sets the Protocol field's value.
15920func (s *ContactMethod) SetProtocol(v string) *ContactMethod {
15921	s.Protocol = &v
15922	return s
15923}
15924
15925// SetResourceType sets the ResourceType field's value.
15926func (s *ContactMethod) SetResourceType(v string) *ContactMethod {
15927	s.ResourceType = &v
15928	return s
15929}
15930
15931// SetStatus sets the Status field's value.
15932func (s *ContactMethod) SetStatus(v string) *ContactMethod {
15933	s.Status = &v
15934	return s
15935}
15936
15937// SetSupportCode sets the SupportCode field's value.
15938func (s *ContactMethod) SetSupportCode(v string) *ContactMethod {
15939	s.SupportCode = &v
15940	return s
15941}
15942
15943// Describes whether an Amazon Lightsail content delivery network (CDN) distribution
15944// forwards cookies to the origin and, if so, which ones.
15945//
15946// For the cookies that you specify, your distribution caches separate versions
15947// of the specified content based on the cookie values in viewer requests.
15948type CookieObject struct {
15949	_ struct{} `type:"structure"`
15950
15951	// The specific cookies to forward to your distribution's origin.
15952	CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"`
15953
15954	// Specifies which cookies to forward to the distribution's origin for a cache
15955	// behavior: all, none, or allow-list to forward only the cookies specified
15956	// in the cookiesAllowList parameter.
15957	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
15958}
15959
15960// String returns the string representation
15961func (s CookieObject) String() string {
15962	return awsutil.Prettify(s)
15963}
15964
15965// GoString returns the string representation
15966func (s CookieObject) GoString() string {
15967	return s.String()
15968}
15969
15970// SetCookiesAllowList sets the CookiesAllowList field's value.
15971func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject {
15972	s.CookiesAllowList = v
15973	return s
15974}
15975
15976// SetOption sets the Option field's value.
15977func (s *CookieObject) SetOption(v string) *CookieObject {
15978	s.Option = &v
15979	return s
15980}
15981
15982type CopySnapshotInput struct {
15983	_ struct{} `type:"structure"`
15984
15985	// The date of the source automatic snapshot to copy. Use the get auto snapshots
15986	// operation to identify the dates of the available automatic snapshots.
15987	//
15988	// Constraints:
15989	//
15990	//    * Must be specified in YYYY-MM-DD format.
15991	//
15992	//    * This parameter cannot be defined together with the use latest restorable
15993	//    auto snapshot parameter. The restore date and use latest restorable auto
15994	//    snapshot parameters are mutually exclusive.
15995	//
15996	//    * Define this parameter only when copying an automatic snapshot as a manual
15997	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
15998	RestoreDate *string `locationName:"restoreDate" type:"string"`
15999
16000	// The AWS Region where the source manual or automatic snapshot is located.
16001	//
16002	// SourceRegion is a required field
16003	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
16004
16005	// The name of the source instance or disk from which the source automatic snapshot
16006	// was created.
16007	//
16008	// Constraint:
16009	//
16010	//    * Define this parameter only when copying an automatic snapshot as a manual
16011	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
16012	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
16013
16014	// The name of the source manual snapshot to copy.
16015	//
16016	// Constraint:
16017	//
16018	//    * Define this parameter only when copying a manual snapshot as another
16019	//    manual snapshot.
16020	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
16021
16022	// The name of the new manual snapshot to be created as a copy.
16023	//
16024	// TargetSnapshotName is a required field
16025	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
16026
16027	// A Boolean value to indicate whether to use the latest available automatic
16028	// snapshot of the specified source instance or disk.
16029	//
16030	// Constraints:
16031	//
16032	//    * This parameter cannot be defined together with the restore date parameter.
16033	//    The use latest restorable auto snapshot and restore date parameters are
16034	//    mutually exclusive.
16035	//
16036	//    * Define this parameter only when copying an automatic snapshot as a manual
16037	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
16038	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
16039}
16040
16041// String returns the string representation
16042func (s CopySnapshotInput) String() string {
16043	return awsutil.Prettify(s)
16044}
16045
16046// GoString returns the string representation
16047func (s CopySnapshotInput) GoString() string {
16048	return s.String()
16049}
16050
16051// Validate inspects the fields of the type to determine if they are valid.
16052func (s *CopySnapshotInput) Validate() error {
16053	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
16054	if s.SourceRegion == nil {
16055		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
16056	}
16057	if s.TargetSnapshotName == nil {
16058		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
16059	}
16060
16061	if invalidParams.Len() > 0 {
16062		return invalidParams
16063	}
16064	return nil
16065}
16066
16067// SetRestoreDate sets the RestoreDate field's value.
16068func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
16069	s.RestoreDate = &v
16070	return s
16071}
16072
16073// SetSourceRegion sets the SourceRegion field's value.
16074func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
16075	s.SourceRegion = &v
16076	return s
16077}
16078
16079// SetSourceResourceName sets the SourceResourceName field's value.
16080func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
16081	s.SourceResourceName = &v
16082	return s
16083}
16084
16085// SetSourceSnapshotName sets the SourceSnapshotName field's value.
16086func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
16087	s.SourceSnapshotName = &v
16088	return s
16089}
16090
16091// SetTargetSnapshotName sets the TargetSnapshotName field's value.
16092func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
16093	s.TargetSnapshotName = &v
16094	return s
16095}
16096
16097// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
16098func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
16099	s.UseLatestRestorableAutoSnapshot = &v
16100	return s
16101}
16102
16103type CopySnapshotOutput struct {
16104	_ struct{} `type:"structure"`
16105
16106	// An array of objects that describe the result of the action, such as the status
16107	// of the request, the timestamp of the request, and the resources affected
16108	// by the request.
16109	Operations []*Operation `locationName:"operations" type:"list"`
16110}
16111
16112// String returns the string representation
16113func (s CopySnapshotOutput) String() string {
16114	return awsutil.Prettify(s)
16115}
16116
16117// GoString returns the string representation
16118func (s CopySnapshotOutput) GoString() string {
16119	return s.String()
16120}
16121
16122// SetOperations sets the Operations field's value.
16123func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
16124	s.Operations = v
16125	return s
16126}
16127
16128type CreateCertificateInput struct {
16129	_ struct{} `type:"structure"`
16130
16131	// The name for the certificate.
16132	//
16133	// CertificateName is a required field
16134	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
16135
16136	// The domain name (e.g., example.com) for the certificate.
16137	//
16138	// DomainName is a required field
16139	DomainName *string `locationName:"domainName" type:"string" required:"true"`
16140
16141	// An array of strings that specify the alternate domains (e.g., example2.com)
16142	// and subdomains (e.g., blog.example.com) for the certificate.
16143	//
16144	// You can specify a maximum of nine alternate domains (in addition to the primary
16145	// domain name).
16146	//
16147	// Wildcard domain entries (e.g., *.example.com) are not supported.
16148	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
16149
16150	// The tag keys and optional values to add to the certificate during create.
16151	//
16152	// Use the TagResource action to tag a resource after it's created.
16153	Tags []*Tag `locationName:"tags" type:"list"`
16154}
16155
16156// String returns the string representation
16157func (s CreateCertificateInput) String() string {
16158	return awsutil.Prettify(s)
16159}
16160
16161// GoString returns the string representation
16162func (s CreateCertificateInput) GoString() string {
16163	return s.String()
16164}
16165
16166// Validate inspects the fields of the type to determine if they are valid.
16167func (s *CreateCertificateInput) Validate() error {
16168	invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"}
16169	if s.CertificateName == nil {
16170		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
16171	}
16172	if s.DomainName == nil {
16173		invalidParams.Add(request.NewErrParamRequired("DomainName"))
16174	}
16175
16176	if invalidParams.Len() > 0 {
16177		return invalidParams
16178	}
16179	return nil
16180}
16181
16182// SetCertificateName sets the CertificateName field's value.
16183func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput {
16184	s.CertificateName = &v
16185	return s
16186}
16187
16188// SetDomainName sets the DomainName field's value.
16189func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput {
16190	s.DomainName = &v
16191	return s
16192}
16193
16194// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
16195func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput {
16196	s.SubjectAlternativeNames = v
16197	return s
16198}
16199
16200// SetTags sets the Tags field's value.
16201func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput {
16202	s.Tags = v
16203	return s
16204}
16205
16206type CreateCertificateOutput struct {
16207	_ struct{} `type:"structure"`
16208
16209	// An object that describes the certificate created.
16210	Certificate *CertificateSummary `locationName:"certificate" type:"structure"`
16211
16212	// An array of objects that describe the result of the action, such as the status
16213	// of the request, the timestamp of the request, and the resources affected
16214	// by the request.
16215	Operations []*Operation `locationName:"operations" type:"list"`
16216}
16217
16218// String returns the string representation
16219func (s CreateCertificateOutput) String() string {
16220	return awsutil.Prettify(s)
16221}
16222
16223// GoString returns the string representation
16224func (s CreateCertificateOutput) GoString() string {
16225	return s.String()
16226}
16227
16228// SetCertificate sets the Certificate field's value.
16229func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput {
16230	s.Certificate = v
16231	return s
16232}
16233
16234// SetOperations sets the Operations field's value.
16235func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput {
16236	s.Operations = v
16237	return s
16238}
16239
16240type CreateCloudFormationStackInput struct {
16241	_ struct{} `type:"structure"`
16242
16243	// An array of parameters that will be used to create the new Amazon EC2 instance.
16244	// You can only pass one instance entry at a time in this array. You will get
16245	// an invalid parameter error if you pass more than one instance entry in this
16246	// array.
16247	//
16248	// Instances is a required field
16249	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
16250}
16251
16252// String returns the string representation
16253func (s CreateCloudFormationStackInput) String() string {
16254	return awsutil.Prettify(s)
16255}
16256
16257// GoString returns the string representation
16258func (s CreateCloudFormationStackInput) GoString() string {
16259	return s.String()
16260}
16261
16262// Validate inspects the fields of the type to determine if they are valid.
16263func (s *CreateCloudFormationStackInput) Validate() error {
16264	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
16265	if s.Instances == nil {
16266		invalidParams.Add(request.NewErrParamRequired("Instances"))
16267	}
16268	if s.Instances != nil {
16269		for i, v := range s.Instances {
16270			if v == nil {
16271				continue
16272			}
16273			if err := v.Validate(); err != nil {
16274				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
16275			}
16276		}
16277	}
16278
16279	if invalidParams.Len() > 0 {
16280		return invalidParams
16281	}
16282	return nil
16283}
16284
16285// SetInstances sets the Instances field's value.
16286func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
16287	s.Instances = v
16288	return s
16289}
16290
16291type CreateCloudFormationStackOutput struct {
16292	_ struct{} `type:"structure"`
16293
16294	// An array of objects that describe the result of the action, such as the status
16295	// of the request, the timestamp of the request, and the resources affected
16296	// by the request.
16297	Operations []*Operation `locationName:"operations" type:"list"`
16298}
16299
16300// String returns the string representation
16301func (s CreateCloudFormationStackOutput) String() string {
16302	return awsutil.Prettify(s)
16303}
16304
16305// GoString returns the string representation
16306func (s CreateCloudFormationStackOutput) GoString() string {
16307	return s.String()
16308}
16309
16310// SetOperations sets the Operations field's value.
16311func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
16312	s.Operations = v
16313	return s
16314}
16315
16316type CreateContactMethodInput struct {
16317	_ struct{} `type:"structure"`
16318
16319	// The destination of the contact method, such as an email address or a mobile
16320	// phone number.
16321	//
16322	// Use the E.164 format when specifying a mobile phone number. E.164 is a standard
16323	// for the phone number structure used for international telecommunication.
16324	// Phone numbers that follow this format can have a maximum of 15 digits, and
16325	// they are prefixed with the plus character (+) and the country code. For example,
16326	// a U.S. phone number in E.164 format would be specified as +1XXX5550100. For
16327	// more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia.
16328	//
16329	// ContactEndpoint is a required field
16330	ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"`
16331
16332	// The protocol of the contact method, such as Email or SMS (text messaging).
16333	//
16334	// The SMS protocol is supported only in the following AWS Regions.
16335	//
16336	//    * US East (N. Virginia) (us-east-1)
16337	//
16338	//    * US West (Oregon) (us-west-2)
16339	//
16340	//    * Europe (Ireland) (eu-west-1)
16341	//
16342	//    * Asia Pacific (Tokyo) (ap-northeast-1)
16343	//
16344	//    * Asia Pacific (Singapore) (ap-southeast-1)
16345	//
16346	//    * Asia Pacific (Sydney) (ap-southeast-2)
16347	//
16348	// For a list of countries/regions where SMS text messages can be sent, and
16349	// the latest AWS Regions where SMS text messaging is supported, see Supported
16350	// Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)
16351	// in the Amazon SNS Developer Guide.
16352	//
16353	// For more information about notifications in Amazon Lightsail, see Notifications
16354	// in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications).
16355	//
16356	// Protocol is a required field
16357	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
16358}
16359
16360// String returns the string representation
16361func (s CreateContactMethodInput) String() string {
16362	return awsutil.Prettify(s)
16363}
16364
16365// GoString returns the string representation
16366func (s CreateContactMethodInput) GoString() string {
16367	return s.String()
16368}
16369
16370// Validate inspects the fields of the type to determine if they are valid.
16371func (s *CreateContactMethodInput) Validate() error {
16372	invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"}
16373	if s.ContactEndpoint == nil {
16374		invalidParams.Add(request.NewErrParamRequired("ContactEndpoint"))
16375	}
16376	if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 {
16377		invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1))
16378	}
16379	if s.Protocol == nil {
16380		invalidParams.Add(request.NewErrParamRequired("Protocol"))
16381	}
16382
16383	if invalidParams.Len() > 0 {
16384		return invalidParams
16385	}
16386	return nil
16387}
16388
16389// SetContactEndpoint sets the ContactEndpoint field's value.
16390func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput {
16391	s.ContactEndpoint = &v
16392	return s
16393}
16394
16395// SetProtocol sets the Protocol field's value.
16396func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput {
16397	s.Protocol = &v
16398	return s
16399}
16400
16401type CreateContactMethodOutput struct {
16402	_ struct{} `type:"structure"`
16403
16404	// An array of objects that describe the result of the action, such as the status
16405	// of the request, the timestamp of the request, and the resources affected
16406	// by the request.
16407	Operations []*Operation `locationName:"operations" type:"list"`
16408}
16409
16410// String returns the string representation
16411func (s CreateContactMethodOutput) String() string {
16412	return awsutil.Prettify(s)
16413}
16414
16415// GoString returns the string representation
16416func (s CreateContactMethodOutput) GoString() string {
16417	return s.String()
16418}
16419
16420// SetOperations sets the Operations field's value.
16421func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput {
16422	s.Operations = v
16423	return s
16424}
16425
16426type CreateDiskFromSnapshotInput struct {
16427	_ struct{} `type:"structure"`
16428
16429	// An array of objects that represent the add-ons to enable for the new disk.
16430	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
16431
16432	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
16433	// Choose the same Availability Zone as the Lightsail instance where you want
16434	// to create the disk.
16435	//
16436	// Use the GetRegions operation to list the Availability Zones where Lightsail
16437	// is currently available.
16438	//
16439	// AvailabilityZone is a required field
16440	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
16441
16442	// The unique Lightsail disk name (e.g., my-disk).
16443	//
16444	// DiskName is a required field
16445	DiskName *string `locationName:"diskName" type:"string" required:"true"`
16446
16447	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
16448	// new storage disk.
16449	//
16450	// Constraint:
16451	//
16452	//    * This parameter cannot be defined together with the source disk name
16453	//    parameter. The disk snapshot name and source disk name parameters are
16454	//    mutually exclusive.
16455	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
16456
16457	// The date of the automatic snapshot to use for the new disk. Use the get auto
16458	// snapshots operation to identify the dates of the available automatic snapshots.
16459	//
16460	// Constraints:
16461	//
16462	//    * Must be specified in YYYY-MM-DD format.
16463	//
16464	//    * This parameter cannot be defined together with the use latest restorable
16465	//    auto snapshot parameter. The restore date and use latest restorable auto
16466	//    snapshot parameters are mutually exclusive.
16467	//
16468	//    * Define this parameter only when creating a new disk from an automatic
16469	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
16470	RestoreDate *string `locationName:"restoreDate" type:"string"`
16471
16472	// The size of the disk in GB (e.g., 32).
16473	//
16474	// SizeInGb is a required field
16475	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
16476
16477	// The name of the source disk from which the source automatic snapshot was
16478	// created.
16479	//
16480	// Constraints:
16481	//
16482	//    * This parameter cannot be defined together with the disk snapshot name
16483	//    parameter. The source disk name and disk snapshot name parameters are
16484	//    mutually exclusive.
16485	//
16486	//    * Define this parameter only when creating a new disk from an automatic
16487	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
16488	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
16489
16490	// The tag keys and optional values to add to the resource during create.
16491	//
16492	// Use the TagResource action to tag a resource after it's created.
16493	Tags []*Tag `locationName:"tags" type:"list"`
16494
16495	// A Boolean value to indicate whether to use the latest available automatic
16496	// snapshot.
16497	//
16498	// Constraints:
16499	//
16500	//    * This parameter cannot be defined together with the restore date parameter.
16501	//    The use latest restorable auto snapshot and restore date parameters are
16502	//    mutually exclusive.
16503	//
16504	//    * Define this parameter only when creating a new disk from an automatic
16505	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
16506	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
16507}
16508
16509// String returns the string representation
16510func (s CreateDiskFromSnapshotInput) String() string {
16511	return awsutil.Prettify(s)
16512}
16513
16514// GoString returns the string representation
16515func (s CreateDiskFromSnapshotInput) GoString() string {
16516	return s.String()
16517}
16518
16519// Validate inspects the fields of the type to determine if they are valid.
16520func (s *CreateDiskFromSnapshotInput) Validate() error {
16521	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
16522	if s.AvailabilityZone == nil {
16523		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
16524	}
16525	if s.DiskName == nil {
16526		invalidParams.Add(request.NewErrParamRequired("DiskName"))
16527	}
16528	if s.SizeInGb == nil {
16529		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
16530	}
16531	if s.AddOns != nil {
16532		for i, v := range s.AddOns {
16533			if v == nil {
16534				continue
16535			}
16536			if err := v.Validate(); err != nil {
16537				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
16538			}
16539		}
16540	}
16541
16542	if invalidParams.Len() > 0 {
16543		return invalidParams
16544	}
16545	return nil
16546}
16547
16548// SetAddOns sets the AddOns field's value.
16549func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
16550	s.AddOns = v
16551	return s
16552}
16553
16554// SetAvailabilityZone sets the AvailabilityZone field's value.
16555func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
16556	s.AvailabilityZone = &v
16557	return s
16558}
16559
16560// SetDiskName sets the DiskName field's value.
16561func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
16562	s.DiskName = &v
16563	return s
16564}
16565
16566// SetDiskSnapshotName sets the DiskSnapshotName field's value.
16567func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
16568	s.DiskSnapshotName = &v
16569	return s
16570}
16571
16572// SetRestoreDate sets the RestoreDate field's value.
16573func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
16574	s.RestoreDate = &v
16575	return s
16576}
16577
16578// SetSizeInGb sets the SizeInGb field's value.
16579func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
16580	s.SizeInGb = &v
16581	return s
16582}
16583
16584// SetSourceDiskName sets the SourceDiskName field's value.
16585func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
16586	s.SourceDiskName = &v
16587	return s
16588}
16589
16590// SetTags sets the Tags field's value.
16591func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
16592	s.Tags = v
16593	return s
16594}
16595
16596// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
16597func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
16598	s.UseLatestRestorableAutoSnapshot = &v
16599	return s
16600}
16601
16602type CreateDiskFromSnapshotOutput struct {
16603	_ struct{} `type:"structure"`
16604
16605	// An array of objects that describe the result of the action, such as the status
16606	// of the request, the timestamp of the request, and the resources affected
16607	// by the request.
16608	Operations []*Operation `locationName:"operations" type:"list"`
16609}
16610
16611// String returns the string representation
16612func (s CreateDiskFromSnapshotOutput) String() string {
16613	return awsutil.Prettify(s)
16614}
16615
16616// GoString returns the string representation
16617func (s CreateDiskFromSnapshotOutput) GoString() string {
16618	return s.String()
16619}
16620
16621// SetOperations sets the Operations field's value.
16622func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
16623	s.Operations = v
16624	return s
16625}
16626
16627type CreateDiskInput struct {
16628	_ struct{} `type:"structure"`
16629
16630	// An array of objects that represent the add-ons to enable for the new disk.
16631	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
16632
16633	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
16634	// Use the same Availability Zone as the Lightsail instance to which you want
16635	// to attach the disk.
16636	//
16637	// Use the get regions operation to list the Availability Zones where Lightsail
16638	// is currently available.
16639	//
16640	// AvailabilityZone is a required field
16641	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
16642
16643	// The unique Lightsail disk name (e.g., my-disk).
16644	//
16645	// DiskName is a required field
16646	DiskName *string `locationName:"diskName" type:"string" required:"true"`
16647
16648	// The size of the disk in GB (e.g., 32).
16649	//
16650	// SizeInGb is a required field
16651	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
16652
16653	// The tag keys and optional values to add to the resource during create.
16654	//
16655	// Use the TagResource action to tag a resource after it's created.
16656	Tags []*Tag `locationName:"tags" type:"list"`
16657}
16658
16659// String returns the string representation
16660func (s CreateDiskInput) String() string {
16661	return awsutil.Prettify(s)
16662}
16663
16664// GoString returns the string representation
16665func (s CreateDiskInput) GoString() string {
16666	return s.String()
16667}
16668
16669// Validate inspects the fields of the type to determine if they are valid.
16670func (s *CreateDiskInput) Validate() error {
16671	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
16672	if s.AvailabilityZone == nil {
16673		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
16674	}
16675	if s.DiskName == nil {
16676		invalidParams.Add(request.NewErrParamRequired("DiskName"))
16677	}
16678	if s.SizeInGb == nil {
16679		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
16680	}
16681	if s.AddOns != nil {
16682		for i, v := range s.AddOns {
16683			if v == nil {
16684				continue
16685			}
16686			if err := v.Validate(); err != nil {
16687				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
16688			}
16689		}
16690	}
16691
16692	if invalidParams.Len() > 0 {
16693		return invalidParams
16694	}
16695	return nil
16696}
16697
16698// SetAddOns sets the AddOns field's value.
16699func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
16700	s.AddOns = v
16701	return s
16702}
16703
16704// SetAvailabilityZone sets the AvailabilityZone field's value.
16705func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
16706	s.AvailabilityZone = &v
16707	return s
16708}
16709
16710// SetDiskName sets the DiskName field's value.
16711func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
16712	s.DiskName = &v
16713	return s
16714}
16715
16716// SetSizeInGb sets the SizeInGb field's value.
16717func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
16718	s.SizeInGb = &v
16719	return s
16720}
16721
16722// SetTags sets the Tags field's value.
16723func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
16724	s.Tags = v
16725	return s
16726}
16727
16728type CreateDiskOutput struct {
16729	_ struct{} `type:"structure"`
16730
16731	// An array of objects that describe the result of the action, such as the status
16732	// of the request, the timestamp of the request, and the resources affected
16733	// by the request.
16734	Operations []*Operation `locationName:"operations" type:"list"`
16735}
16736
16737// String returns the string representation
16738func (s CreateDiskOutput) String() string {
16739	return awsutil.Prettify(s)
16740}
16741
16742// GoString returns the string representation
16743func (s CreateDiskOutput) GoString() string {
16744	return s.String()
16745}
16746
16747// SetOperations sets the Operations field's value.
16748func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
16749	s.Operations = v
16750	return s
16751}
16752
16753type CreateDiskSnapshotInput struct {
16754	_ struct{} `type:"structure"`
16755
16756	// The unique name of the source disk (e.g., Disk-Virginia-1).
16757	//
16758	// This parameter cannot be defined together with the instance name parameter.
16759	// The disk name and instance name parameters are mutually exclusive.
16760	DiskName *string `locationName:"diskName" type:"string"`
16761
16762	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
16763	// on the source disk.
16764	//
16765	// DiskSnapshotName is a required field
16766	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
16767
16768	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
16769	// When this is defined, a snapshot of the instance's system volume is created.
16770	//
16771	// This parameter cannot be defined together with the disk name parameter. The
16772	// instance name and disk name parameters are mutually exclusive.
16773	InstanceName *string `locationName:"instanceName" type:"string"`
16774
16775	// The tag keys and optional values to add to the resource during create.
16776	//
16777	// Use the TagResource action to tag a resource after it's created.
16778	Tags []*Tag `locationName:"tags" type:"list"`
16779}
16780
16781// String returns the string representation
16782func (s CreateDiskSnapshotInput) String() string {
16783	return awsutil.Prettify(s)
16784}
16785
16786// GoString returns the string representation
16787func (s CreateDiskSnapshotInput) GoString() string {
16788	return s.String()
16789}
16790
16791// Validate inspects the fields of the type to determine if they are valid.
16792func (s *CreateDiskSnapshotInput) Validate() error {
16793	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
16794	if s.DiskSnapshotName == nil {
16795		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
16796	}
16797
16798	if invalidParams.Len() > 0 {
16799		return invalidParams
16800	}
16801	return nil
16802}
16803
16804// SetDiskName sets the DiskName field's value.
16805func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
16806	s.DiskName = &v
16807	return s
16808}
16809
16810// SetDiskSnapshotName sets the DiskSnapshotName field's value.
16811func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
16812	s.DiskSnapshotName = &v
16813	return s
16814}
16815
16816// SetInstanceName sets the InstanceName field's value.
16817func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
16818	s.InstanceName = &v
16819	return s
16820}
16821
16822// SetTags sets the Tags field's value.
16823func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
16824	s.Tags = v
16825	return s
16826}
16827
16828type CreateDiskSnapshotOutput struct {
16829	_ struct{} `type:"structure"`
16830
16831	// An array of objects that describe the result of the action, such as the status
16832	// of the request, the timestamp of the request, and the resources affected
16833	// by the request.
16834	Operations []*Operation `locationName:"operations" type:"list"`
16835}
16836
16837// String returns the string representation
16838func (s CreateDiskSnapshotOutput) String() string {
16839	return awsutil.Prettify(s)
16840}
16841
16842// GoString returns the string representation
16843func (s CreateDiskSnapshotOutput) GoString() string {
16844	return s.String()
16845}
16846
16847// SetOperations sets the Operations field's value.
16848func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
16849	s.Operations = v
16850	return s
16851}
16852
16853type CreateDistributionInput struct {
16854	_ struct{} `type:"structure"`
16855
16856	// The bundle ID to use for the distribution.
16857	//
16858	// A distribution bundle describes the specifications of your distribution,
16859	// such as the monthly cost and monthly network transfer quota.
16860	//
16861	// Use the GetDistributionBundles action to get a list of distribution bundle
16862	// IDs that you can specify.
16863	//
16864	// BundleId is a required field
16865	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
16866
16867	// An object that describes the cache behavior settings for the distribution.
16868	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
16869
16870	// An array of objects that describe the per-path cache behavior for the distribution.
16871	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
16872
16873	// An object that describes the default cache behavior for the distribution.
16874	//
16875	// DefaultCacheBehavior is a required field
16876	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"`
16877
16878	// The name for the distribution.
16879	//
16880	// DistributionName is a required field
16881	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
16882
16883	// An object that describes the origin resource for the distribution, such as
16884	// a Lightsail instance or load balancer.
16885	//
16886	// The distribution pulls, caches, and serves content from the origin.
16887	//
16888	// Origin is a required field
16889	Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"`
16890
16891	// The tag keys and optional values to add to the distribution during create.
16892	//
16893	// Use the TagResource action to tag a resource after it's created.
16894	Tags []*Tag `locationName:"tags" type:"list"`
16895}
16896
16897// String returns the string representation
16898func (s CreateDistributionInput) String() string {
16899	return awsutil.Prettify(s)
16900}
16901
16902// GoString returns the string representation
16903func (s CreateDistributionInput) GoString() string {
16904	return s.String()
16905}
16906
16907// Validate inspects the fields of the type to determine if they are valid.
16908func (s *CreateDistributionInput) Validate() error {
16909	invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"}
16910	if s.BundleId == nil {
16911		invalidParams.Add(request.NewErrParamRequired("BundleId"))
16912	}
16913	if s.DefaultCacheBehavior == nil {
16914		invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior"))
16915	}
16916	if s.DistributionName == nil {
16917		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
16918	}
16919	if s.Origin == nil {
16920		invalidParams.Add(request.NewErrParamRequired("Origin"))
16921	}
16922
16923	if invalidParams.Len() > 0 {
16924		return invalidParams
16925	}
16926	return nil
16927}
16928
16929// SetBundleId sets the BundleId field's value.
16930func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput {
16931	s.BundleId = &v
16932	return s
16933}
16934
16935// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
16936func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput {
16937	s.CacheBehaviorSettings = v
16938	return s
16939}
16940
16941// SetCacheBehaviors sets the CacheBehaviors field's value.
16942func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput {
16943	s.CacheBehaviors = v
16944	return s
16945}
16946
16947// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
16948func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput {
16949	s.DefaultCacheBehavior = v
16950	return s
16951}
16952
16953// SetDistributionName sets the DistributionName field's value.
16954func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput {
16955	s.DistributionName = &v
16956	return s
16957}
16958
16959// SetOrigin sets the Origin field's value.
16960func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput {
16961	s.Origin = v
16962	return s
16963}
16964
16965// SetTags sets the Tags field's value.
16966func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput {
16967	s.Tags = v
16968	return s
16969}
16970
16971type CreateDistributionOutput struct {
16972	_ struct{} `type:"structure"`
16973
16974	// An object that describes the distribution created.
16975	Distribution *LightsailDistribution `locationName:"distribution" type:"structure"`
16976
16977	// An array of objects that describe the result of the action, such as the status
16978	// of the request, the timestamp of the request, and the resources affected
16979	// by the request.
16980	Operation *Operation `locationName:"operation" type:"structure"`
16981}
16982
16983// String returns the string representation
16984func (s CreateDistributionOutput) String() string {
16985	return awsutil.Prettify(s)
16986}
16987
16988// GoString returns the string representation
16989func (s CreateDistributionOutput) GoString() string {
16990	return s.String()
16991}
16992
16993// SetDistribution sets the Distribution field's value.
16994func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput {
16995	s.Distribution = v
16996	return s
16997}
16998
16999// SetOperation sets the Operation field's value.
17000func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput {
17001	s.Operation = v
17002	return s
17003}
17004
17005type CreateDomainEntryInput struct {
17006	_ struct{} `type:"structure"`
17007
17008	// An array of key-value pairs containing information about the domain entry
17009	// request.
17010	//
17011	// DomainEntry is a required field
17012	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
17013
17014	// The domain name (e.g., example.com) for which you want to create the domain
17015	// entry.
17016	//
17017	// DomainName is a required field
17018	DomainName *string `locationName:"domainName" type:"string" required:"true"`
17019}
17020
17021// String returns the string representation
17022func (s CreateDomainEntryInput) String() string {
17023	return awsutil.Prettify(s)
17024}
17025
17026// GoString returns the string representation
17027func (s CreateDomainEntryInput) GoString() string {
17028	return s.String()
17029}
17030
17031// Validate inspects the fields of the type to determine if they are valid.
17032func (s *CreateDomainEntryInput) Validate() error {
17033	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
17034	if s.DomainEntry == nil {
17035		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
17036	}
17037	if s.DomainName == nil {
17038		invalidParams.Add(request.NewErrParamRequired("DomainName"))
17039	}
17040
17041	if invalidParams.Len() > 0 {
17042		return invalidParams
17043	}
17044	return nil
17045}
17046
17047// SetDomainEntry sets the DomainEntry field's value.
17048func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
17049	s.DomainEntry = v
17050	return s
17051}
17052
17053// SetDomainName sets the DomainName field's value.
17054func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
17055	s.DomainName = &v
17056	return s
17057}
17058
17059type CreateDomainEntryOutput struct {
17060	_ struct{} `type:"structure"`
17061
17062	// An array of objects that describe the result of the action, such as the status
17063	// of the request, the timestamp of the request, and the resources affected
17064	// by the request.
17065	Operation *Operation `locationName:"operation" type:"structure"`
17066}
17067
17068// String returns the string representation
17069func (s CreateDomainEntryOutput) String() string {
17070	return awsutil.Prettify(s)
17071}
17072
17073// GoString returns the string representation
17074func (s CreateDomainEntryOutput) GoString() string {
17075	return s.String()
17076}
17077
17078// SetOperation sets the Operation field's value.
17079func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
17080	s.Operation = v
17081	return s
17082}
17083
17084type CreateDomainInput struct {
17085	_ struct{} `type:"structure"`
17086
17087	// The domain name to manage (e.g., example.com).
17088	//
17089	// You cannot register a new domain name using Lightsail. You must register
17090	// a domain name using Amazon Route 53 or another domain name registrar. If
17091	// you have already registered your domain, you can enter its name in this parameter
17092	// to manage the DNS records for that domain.
17093	//
17094	// DomainName is a required field
17095	DomainName *string `locationName:"domainName" type:"string" required:"true"`
17096
17097	// The tag keys and optional values to add to the resource during create.
17098	//
17099	// Use the TagResource action to tag a resource after it's created.
17100	Tags []*Tag `locationName:"tags" type:"list"`
17101}
17102
17103// String returns the string representation
17104func (s CreateDomainInput) String() string {
17105	return awsutil.Prettify(s)
17106}
17107
17108// GoString returns the string representation
17109func (s CreateDomainInput) GoString() string {
17110	return s.String()
17111}
17112
17113// Validate inspects the fields of the type to determine if they are valid.
17114func (s *CreateDomainInput) Validate() error {
17115	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
17116	if s.DomainName == nil {
17117		invalidParams.Add(request.NewErrParamRequired("DomainName"))
17118	}
17119
17120	if invalidParams.Len() > 0 {
17121		return invalidParams
17122	}
17123	return nil
17124}
17125
17126// SetDomainName sets the DomainName field's value.
17127func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
17128	s.DomainName = &v
17129	return s
17130}
17131
17132// SetTags sets the Tags field's value.
17133func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
17134	s.Tags = v
17135	return s
17136}
17137
17138type CreateDomainOutput struct {
17139	_ struct{} `type:"structure"`
17140
17141	// An array of objects that describe the result of the action, such as the status
17142	// of the request, the timestamp of the request, and the resources affected
17143	// by the request.
17144	Operation *Operation `locationName:"operation" type:"structure"`
17145}
17146
17147// String returns the string representation
17148func (s CreateDomainOutput) String() string {
17149	return awsutil.Prettify(s)
17150}
17151
17152// GoString returns the string representation
17153func (s CreateDomainOutput) GoString() string {
17154	return s.String()
17155}
17156
17157// SetOperation sets the Operation field's value.
17158func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
17159	s.Operation = v
17160	return s
17161}
17162
17163type CreateInstanceSnapshotInput struct {
17164	_ struct{} `type:"structure"`
17165
17166	// The Lightsail instance on which to base your snapshot.
17167	//
17168	// InstanceName is a required field
17169	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17170
17171	// The name for your new snapshot.
17172	//
17173	// InstanceSnapshotName is a required field
17174	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
17175
17176	// The tag keys and optional values to add to the resource during create.
17177	//
17178	// Use the TagResource action to tag a resource after it's created.
17179	Tags []*Tag `locationName:"tags" type:"list"`
17180}
17181
17182// String returns the string representation
17183func (s CreateInstanceSnapshotInput) String() string {
17184	return awsutil.Prettify(s)
17185}
17186
17187// GoString returns the string representation
17188func (s CreateInstanceSnapshotInput) GoString() string {
17189	return s.String()
17190}
17191
17192// Validate inspects the fields of the type to determine if they are valid.
17193func (s *CreateInstanceSnapshotInput) Validate() error {
17194	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
17195	if s.InstanceName == nil {
17196		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17197	}
17198	if s.InstanceSnapshotName == nil {
17199		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
17200	}
17201
17202	if invalidParams.Len() > 0 {
17203		return invalidParams
17204	}
17205	return nil
17206}
17207
17208// SetInstanceName sets the InstanceName field's value.
17209func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
17210	s.InstanceName = &v
17211	return s
17212}
17213
17214// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
17215func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
17216	s.InstanceSnapshotName = &v
17217	return s
17218}
17219
17220// SetTags sets the Tags field's value.
17221func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
17222	s.Tags = v
17223	return s
17224}
17225
17226type CreateInstanceSnapshotOutput struct {
17227	_ struct{} `type:"structure"`
17228
17229	// An array of objects that describe the result of the action, such as the status
17230	// of the request, the timestamp of the request, and the resources affected
17231	// by the request.
17232	Operations []*Operation `locationName:"operations" type:"list"`
17233}
17234
17235// String returns the string representation
17236func (s CreateInstanceSnapshotOutput) String() string {
17237	return awsutil.Prettify(s)
17238}
17239
17240// GoString returns the string representation
17241func (s CreateInstanceSnapshotOutput) GoString() string {
17242	return s.String()
17243}
17244
17245// SetOperations sets the Operations field's value.
17246func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
17247	s.Operations = v
17248	return s
17249}
17250
17251type CreateInstancesFromSnapshotInput struct {
17252	_ struct{} `type:"structure"`
17253
17254	// An array of objects representing the add-ons to enable for the new instance.
17255	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
17256
17257	// An object containing information about one or more disk mappings.
17258	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
17259
17260	// The Availability Zone where you want to create your instances. Use the following
17261	// formatting: us-east-2a (case sensitive). You can get a list of Availability
17262	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
17263	// operation. Be sure to add the include Availability Zones parameter to your
17264	// request.
17265	//
17266	// AvailabilityZone is a required field
17267	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
17268
17269	// The bundle of specification information for your virtual private server (or
17270	// instance), including the pricing plan (e.g., micro_1_0).
17271	//
17272	// BundleId is a required field
17273	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
17274
17275	// The names for your new instances.
17276	//
17277	// InstanceNames is a required field
17278	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
17279
17280	// The name of the instance snapshot on which you are basing your new instances.
17281	// Use the get instance snapshots operation to return information about your
17282	// existing snapshots.
17283	//
17284	// Constraint:
17285	//
17286	//    * This parameter cannot be defined together with the source instance name
17287	//    parameter. The instance snapshot name and source instance name parameters
17288	//    are mutually exclusive.
17289	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
17290
17291	// The name for your key pair.
17292	KeyPairName *string `locationName:"keyPairName" type:"string"`
17293
17294	// The date of the automatic snapshot to use for the new instance. Use the get
17295	// auto snapshots operation to identify the dates of the available automatic
17296	// snapshots.
17297	//
17298	// Constraints:
17299	//
17300	//    * Must be specified in YYYY-MM-DD format.
17301	//
17302	//    * This parameter cannot be defined together with the use latest restorable
17303	//    auto snapshot parameter. The restore date and use latest restorable auto
17304	//    snapshot parameters are mutually exclusive.
17305	//
17306	//    * Define this parameter only when creating a new instance from an automatic
17307	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
17308	RestoreDate *string `locationName:"restoreDate" type:"string"`
17309
17310	// The name of the source instance from which the source automatic snapshot
17311	// was created.
17312	//
17313	// Constraints:
17314	//
17315	//    * This parameter cannot be defined together with the instance snapshot
17316	//    name parameter. The source instance name and instance snapshot name parameters
17317	//    are mutually exclusive.
17318	//
17319	//    * Define this parameter only when creating a new instance from an automatic
17320	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
17321	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
17322
17323	// The tag keys and optional values to add to the resource during create.
17324	//
17325	// Use the TagResource action to tag a resource after it's created.
17326	Tags []*Tag `locationName:"tags" type:"list"`
17327
17328	// A Boolean value to indicate whether to use the latest available automatic
17329	// snapshot.
17330	//
17331	// Constraints:
17332	//
17333	//    * This parameter cannot be defined together with the restore date parameter.
17334	//    The use latest restorable auto snapshot and restore date parameters are
17335	//    mutually exclusive.
17336	//
17337	//    * Define this parameter only when creating a new instance from an automatic
17338	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
17339	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
17340
17341	// You can create a launch script that configures a server with additional user
17342	// data. For example, apt-get -y update.
17343	//
17344	// Depending on the machine image you choose, the command to get software on
17345	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
17346	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
17347	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
17348	UserData *string `locationName:"userData" type:"string"`
17349}
17350
17351// String returns the string representation
17352func (s CreateInstancesFromSnapshotInput) String() string {
17353	return awsutil.Prettify(s)
17354}
17355
17356// GoString returns the string representation
17357func (s CreateInstancesFromSnapshotInput) GoString() string {
17358	return s.String()
17359}
17360
17361// Validate inspects the fields of the type to determine if they are valid.
17362func (s *CreateInstancesFromSnapshotInput) Validate() error {
17363	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
17364	if s.AvailabilityZone == nil {
17365		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
17366	}
17367	if s.BundleId == nil {
17368		invalidParams.Add(request.NewErrParamRequired("BundleId"))
17369	}
17370	if s.InstanceNames == nil {
17371		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
17372	}
17373	if s.AddOns != nil {
17374		for i, v := range s.AddOns {
17375			if v == nil {
17376				continue
17377			}
17378			if err := v.Validate(); err != nil {
17379				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
17380			}
17381		}
17382	}
17383
17384	if invalidParams.Len() > 0 {
17385		return invalidParams
17386	}
17387	return nil
17388}
17389
17390// SetAddOns sets the AddOns field's value.
17391func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
17392	s.AddOns = v
17393	return s
17394}
17395
17396// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
17397func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
17398	s.AttachedDiskMapping = v
17399	return s
17400}
17401
17402// SetAvailabilityZone sets the AvailabilityZone field's value.
17403func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
17404	s.AvailabilityZone = &v
17405	return s
17406}
17407
17408// SetBundleId sets the BundleId field's value.
17409func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
17410	s.BundleId = &v
17411	return s
17412}
17413
17414// SetInstanceNames sets the InstanceNames field's value.
17415func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
17416	s.InstanceNames = v
17417	return s
17418}
17419
17420// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
17421func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
17422	s.InstanceSnapshotName = &v
17423	return s
17424}
17425
17426// SetKeyPairName sets the KeyPairName field's value.
17427func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
17428	s.KeyPairName = &v
17429	return s
17430}
17431
17432// SetRestoreDate sets the RestoreDate field's value.
17433func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
17434	s.RestoreDate = &v
17435	return s
17436}
17437
17438// SetSourceInstanceName sets the SourceInstanceName field's value.
17439func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
17440	s.SourceInstanceName = &v
17441	return s
17442}
17443
17444// SetTags sets the Tags field's value.
17445func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
17446	s.Tags = v
17447	return s
17448}
17449
17450// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
17451func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
17452	s.UseLatestRestorableAutoSnapshot = &v
17453	return s
17454}
17455
17456// SetUserData sets the UserData field's value.
17457func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
17458	s.UserData = &v
17459	return s
17460}
17461
17462type CreateInstancesFromSnapshotOutput struct {
17463	_ struct{} `type:"structure"`
17464
17465	// An array of objects that describe the result of the action, such as the status
17466	// of the request, the timestamp of the request, and the resources affected
17467	// by the request.
17468	Operations []*Operation `locationName:"operations" type:"list"`
17469}
17470
17471// String returns the string representation
17472func (s CreateInstancesFromSnapshotOutput) String() string {
17473	return awsutil.Prettify(s)
17474}
17475
17476// GoString returns the string representation
17477func (s CreateInstancesFromSnapshotOutput) GoString() string {
17478	return s.String()
17479}
17480
17481// SetOperations sets the Operations field's value.
17482func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
17483	s.Operations = v
17484	return s
17485}
17486
17487type CreateInstancesInput struct {
17488	_ struct{} `type:"structure"`
17489
17490	// An array of objects representing the add-ons to enable for the new instance.
17491	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
17492
17493	// The Availability Zone in which to create your instance. Use the following
17494	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
17495	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
17496	// operation. Be sure to add the include Availability Zones parameter to your
17497	// request.
17498	//
17499	// AvailabilityZone is a required field
17500	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
17501
17502	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
17503	// Use the get blueprints operation to return a list of available images (or
17504	// blueprints).
17505	//
17506	// Use active blueprints when creating new instances. Inactive blueprints are
17507	// listed to support customers with existing instances and are not necessarily
17508	// available to create new instances. Blueprints are marked inactive when they
17509	// become outdated due to operating system updates or new application releases.
17510	//
17511	// BlueprintId is a required field
17512	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
17513
17514	// The bundle of specification information for your virtual private server (or
17515	// instance), including the pricing plan (e.g., micro_1_0).
17516	//
17517	// BundleId is a required field
17518	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
17519
17520	// (Deprecated) The name for your custom image.
17521	//
17522	// In releases prior to June 12, 2017, this parameter was ignored by the API.
17523	// It is now deprecated.
17524	//
17525	// Deprecated: CustomImageName has been deprecated
17526	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
17527
17528	// The names to use for your new Lightsail instances. Separate multiple values
17529	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
17530	//
17531	// InstanceNames is a required field
17532	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
17533
17534	// The name of your key pair.
17535	KeyPairName *string `locationName:"keyPairName" type:"string"`
17536
17537	// The tag keys and optional values to add to the resource during create.
17538	//
17539	// Use the TagResource action to tag a resource after it's created.
17540	Tags []*Tag `locationName:"tags" type:"list"`
17541
17542	// A launch script you can create that configures a server with additional user
17543	// data. For example, you might want to run apt-get -y update.
17544	//
17545	// Depending on the machine image you choose, the command to get software on
17546	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
17547	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
17548	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
17549	UserData *string `locationName:"userData" type:"string"`
17550}
17551
17552// String returns the string representation
17553func (s CreateInstancesInput) String() string {
17554	return awsutil.Prettify(s)
17555}
17556
17557// GoString returns the string representation
17558func (s CreateInstancesInput) GoString() string {
17559	return s.String()
17560}
17561
17562// Validate inspects the fields of the type to determine if they are valid.
17563func (s *CreateInstancesInput) Validate() error {
17564	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
17565	if s.AvailabilityZone == nil {
17566		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
17567	}
17568	if s.BlueprintId == nil {
17569		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
17570	}
17571	if s.BundleId == nil {
17572		invalidParams.Add(request.NewErrParamRequired("BundleId"))
17573	}
17574	if s.InstanceNames == nil {
17575		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
17576	}
17577	if s.AddOns != nil {
17578		for i, v := range s.AddOns {
17579			if v == nil {
17580				continue
17581			}
17582			if err := v.Validate(); err != nil {
17583				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
17584			}
17585		}
17586	}
17587
17588	if invalidParams.Len() > 0 {
17589		return invalidParams
17590	}
17591	return nil
17592}
17593
17594// SetAddOns sets the AddOns field's value.
17595func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
17596	s.AddOns = v
17597	return s
17598}
17599
17600// SetAvailabilityZone sets the AvailabilityZone field's value.
17601func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
17602	s.AvailabilityZone = &v
17603	return s
17604}
17605
17606// SetBlueprintId sets the BlueprintId field's value.
17607func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
17608	s.BlueprintId = &v
17609	return s
17610}
17611
17612// SetBundleId sets the BundleId field's value.
17613func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
17614	s.BundleId = &v
17615	return s
17616}
17617
17618// SetCustomImageName sets the CustomImageName field's value.
17619func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
17620	s.CustomImageName = &v
17621	return s
17622}
17623
17624// SetInstanceNames sets the InstanceNames field's value.
17625func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
17626	s.InstanceNames = v
17627	return s
17628}
17629
17630// SetKeyPairName sets the KeyPairName field's value.
17631func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
17632	s.KeyPairName = &v
17633	return s
17634}
17635
17636// SetTags sets the Tags field's value.
17637func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
17638	s.Tags = v
17639	return s
17640}
17641
17642// SetUserData sets the UserData field's value.
17643func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
17644	s.UserData = &v
17645	return s
17646}
17647
17648type CreateInstancesOutput struct {
17649	_ struct{} `type:"structure"`
17650
17651	// An array of objects that describe the result of the action, such as the status
17652	// of the request, the timestamp of the request, and the resources affected
17653	// by the request.
17654	Operations []*Operation `locationName:"operations" type:"list"`
17655}
17656
17657// String returns the string representation
17658func (s CreateInstancesOutput) String() string {
17659	return awsutil.Prettify(s)
17660}
17661
17662// GoString returns the string representation
17663func (s CreateInstancesOutput) GoString() string {
17664	return s.String()
17665}
17666
17667// SetOperations sets the Operations field's value.
17668func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
17669	s.Operations = v
17670	return s
17671}
17672
17673type CreateKeyPairInput struct {
17674	_ struct{} `type:"structure"`
17675
17676	// The name for your new key pair.
17677	//
17678	// KeyPairName is a required field
17679	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
17680
17681	// The tag keys and optional values to add to the resource during create.
17682	//
17683	// Use the TagResource action to tag a resource after it's created.
17684	Tags []*Tag `locationName:"tags" type:"list"`
17685}
17686
17687// String returns the string representation
17688func (s CreateKeyPairInput) String() string {
17689	return awsutil.Prettify(s)
17690}
17691
17692// GoString returns the string representation
17693func (s CreateKeyPairInput) GoString() string {
17694	return s.String()
17695}
17696
17697// Validate inspects the fields of the type to determine if they are valid.
17698func (s *CreateKeyPairInput) Validate() error {
17699	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
17700	if s.KeyPairName == nil {
17701		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
17702	}
17703
17704	if invalidParams.Len() > 0 {
17705		return invalidParams
17706	}
17707	return nil
17708}
17709
17710// SetKeyPairName sets the KeyPairName field's value.
17711func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
17712	s.KeyPairName = &v
17713	return s
17714}
17715
17716// SetTags sets the Tags field's value.
17717func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
17718	s.Tags = v
17719	return s
17720}
17721
17722type CreateKeyPairOutput struct {
17723	_ struct{} `type:"structure"`
17724
17725	// An array of key-value pairs containing information about the new key pair
17726	// you just created.
17727	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
17728
17729	// An array of objects that describe the result of the action, such as the status
17730	// of the request, the timestamp of the request, and the resources affected
17731	// by the request.
17732	Operation *Operation `locationName:"operation" type:"structure"`
17733
17734	// A base64-encoded RSA private key.
17735	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
17736
17737	// A base64-encoded public key of the ssh-rsa type.
17738	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
17739}
17740
17741// String returns the string representation
17742func (s CreateKeyPairOutput) String() string {
17743	return awsutil.Prettify(s)
17744}
17745
17746// GoString returns the string representation
17747func (s CreateKeyPairOutput) GoString() string {
17748	return s.String()
17749}
17750
17751// SetKeyPair sets the KeyPair field's value.
17752func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
17753	s.KeyPair = v
17754	return s
17755}
17756
17757// SetOperation sets the Operation field's value.
17758func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
17759	s.Operation = v
17760	return s
17761}
17762
17763// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
17764func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
17765	s.PrivateKeyBase64 = &v
17766	return s
17767}
17768
17769// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
17770func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
17771	s.PublicKeyBase64 = &v
17772	return s
17773}
17774
17775type CreateLoadBalancerInput struct {
17776	_ struct{} `type:"structure"`
17777
17778	// The optional alternative domains and subdomains to use with your SSL/TLS
17779	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
17780	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
17781
17782	// The domain name with which your certificate is associated (e.g., example.com).
17783	//
17784	// If you specify certificateDomainName, then certificateName is required (and
17785	// vice-versa).
17786	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
17787
17788	// The name of the SSL/TLS certificate.
17789	//
17790	// If you specify certificateName, then certificateDomainName is required (and
17791	// vice-versa).
17792	CertificateName *string `locationName:"certificateName" type:"string"`
17793
17794	// The path you provided to perform the load balancer health check. If you didn't
17795	// specify a health check path, Lightsail uses the root path of your website
17796	// (e.g., "/").
17797	//
17798	// You may want to specify a custom health check path other than the root of
17799	// your application if your home page loads slowly or has a lot of media or
17800	// scripting on it.
17801	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
17802
17803	// The instance port where you're creating your load balancer.
17804	//
17805	// InstancePort is a required field
17806	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
17807
17808	// The name of your load balancer.
17809	//
17810	// LoadBalancerName is a required field
17811	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17812
17813	// The tag keys and optional values to add to the resource during create.
17814	//
17815	// Use the TagResource action to tag a resource after it's created.
17816	Tags []*Tag `locationName:"tags" type:"list"`
17817}
17818
17819// String returns the string representation
17820func (s CreateLoadBalancerInput) String() string {
17821	return awsutil.Prettify(s)
17822}
17823
17824// GoString returns the string representation
17825func (s CreateLoadBalancerInput) GoString() string {
17826	return s.String()
17827}
17828
17829// Validate inspects the fields of the type to determine if they are valid.
17830func (s *CreateLoadBalancerInput) Validate() error {
17831	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
17832	if s.InstancePort == nil {
17833		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
17834	}
17835	if s.InstancePort != nil && *s.InstancePort < -1 {
17836		invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1))
17837	}
17838	if s.LoadBalancerName == nil {
17839		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17840	}
17841
17842	if invalidParams.Len() > 0 {
17843		return invalidParams
17844	}
17845	return nil
17846}
17847
17848// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
17849func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
17850	s.CertificateAlternativeNames = v
17851	return s
17852}
17853
17854// SetCertificateDomainName sets the CertificateDomainName field's value.
17855func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
17856	s.CertificateDomainName = &v
17857	return s
17858}
17859
17860// SetCertificateName sets the CertificateName field's value.
17861func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
17862	s.CertificateName = &v
17863	return s
17864}
17865
17866// SetHealthCheckPath sets the HealthCheckPath field's value.
17867func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
17868	s.HealthCheckPath = &v
17869	return s
17870}
17871
17872// SetInstancePort sets the InstancePort field's value.
17873func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
17874	s.InstancePort = &v
17875	return s
17876}
17877
17878// SetLoadBalancerName sets the LoadBalancerName field's value.
17879func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
17880	s.LoadBalancerName = &v
17881	return s
17882}
17883
17884// SetTags sets the Tags field's value.
17885func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
17886	s.Tags = v
17887	return s
17888}
17889
17890type CreateLoadBalancerOutput struct {
17891	_ struct{} `type:"structure"`
17892
17893	// An array of objects that describe the result of the action, such as the status
17894	// of the request, the timestamp of the request, and the resources affected
17895	// by the request.
17896	Operations []*Operation `locationName:"operations" type:"list"`
17897}
17898
17899// String returns the string representation
17900func (s CreateLoadBalancerOutput) String() string {
17901	return awsutil.Prettify(s)
17902}
17903
17904// GoString returns the string representation
17905func (s CreateLoadBalancerOutput) GoString() string {
17906	return s.String()
17907}
17908
17909// SetOperations sets the Operations field's value.
17910func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
17911	s.Operations = v
17912	return s
17913}
17914
17915type CreateLoadBalancerTlsCertificateInput struct {
17916	_ struct{} `type:"structure"`
17917
17918	// An array of strings listing alternative domains and subdomains for your SSL/TLS
17919	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
17920	// of 9 alternative names (in addition to the 1 primary domain). We do not support
17921	// wildcards (e.g., *.example.com).
17922	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
17923
17924	// The domain name (e.g., example.com) for your SSL/TLS certificate.
17925	//
17926	// CertificateDomainName is a required field
17927	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
17928
17929	// The SSL/TLS certificate name.
17930	//
17931	// You can have up to 10 certificates in your account at one time. Each Lightsail
17932	// load balancer can have up to 2 certificates associated with it at one time.
17933	// There is also an overall limit to the number of certificates that can be
17934	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
17935	//
17936	// CertificateName is a required field
17937	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
17938
17939	// The load balancer name where you want to create the SSL/TLS certificate.
17940	//
17941	// LoadBalancerName is a required field
17942	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
17943
17944	// The tag keys and optional values to add to the resource during create.
17945	//
17946	// Use the TagResource action to tag a resource after it's created.
17947	Tags []*Tag `locationName:"tags" type:"list"`
17948}
17949
17950// String returns the string representation
17951func (s CreateLoadBalancerTlsCertificateInput) String() string {
17952	return awsutil.Prettify(s)
17953}
17954
17955// GoString returns the string representation
17956func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
17957	return s.String()
17958}
17959
17960// Validate inspects the fields of the type to determine if they are valid.
17961func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
17962	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
17963	if s.CertificateDomainName == nil {
17964		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
17965	}
17966	if s.CertificateName == nil {
17967		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
17968	}
17969	if s.LoadBalancerName == nil {
17970		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
17971	}
17972
17973	if invalidParams.Len() > 0 {
17974		return invalidParams
17975	}
17976	return nil
17977}
17978
17979// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
17980func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
17981	s.CertificateAlternativeNames = v
17982	return s
17983}
17984
17985// SetCertificateDomainName sets the CertificateDomainName field's value.
17986func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
17987	s.CertificateDomainName = &v
17988	return s
17989}
17990
17991// SetCertificateName sets the CertificateName field's value.
17992func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
17993	s.CertificateName = &v
17994	return s
17995}
17996
17997// SetLoadBalancerName sets the LoadBalancerName field's value.
17998func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
17999	s.LoadBalancerName = &v
18000	return s
18001}
18002
18003// SetTags sets the Tags field's value.
18004func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
18005	s.Tags = v
18006	return s
18007}
18008
18009type CreateLoadBalancerTlsCertificateOutput struct {
18010	_ struct{} `type:"structure"`
18011
18012	// An array of objects that describe the result of the action, such as the status
18013	// of the request, the timestamp of the request, and the resources affected
18014	// by the request.
18015	Operations []*Operation `locationName:"operations" type:"list"`
18016}
18017
18018// String returns the string representation
18019func (s CreateLoadBalancerTlsCertificateOutput) String() string {
18020	return awsutil.Prettify(s)
18021}
18022
18023// GoString returns the string representation
18024func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
18025	return s.String()
18026}
18027
18028// SetOperations sets the Operations field's value.
18029func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
18030	s.Operations = v
18031	return s
18032}
18033
18034type CreateRelationalDatabaseFromSnapshotInput struct {
18035	_ struct{} `type:"structure"`
18036
18037	// The Availability Zone in which to create your new database. Use the us-east-2a
18038	// case-sensitive format.
18039	//
18040	// You can get a list of Availability Zones by using the get regions operation.
18041	// Be sure to add the include relational database Availability Zones parameter
18042	// to your request.
18043	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
18044
18045	// Specifies the accessibility options for your new database. A value of true
18046	// specifies a database that is available to resources outside of your Lightsail
18047	// account. A value of false specifies a database that is available only to
18048	// your Lightsail resources in the same region as your database.
18049	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
18050
18051	// The bundle ID for your new database. A bundle describes the performance specifications
18052	// for your database.
18053	//
18054	// You can get a list of database bundle IDs by using the get relational database
18055	// bundles operation.
18056	//
18057	// When creating a new database from a snapshot, you cannot choose a bundle
18058	// that is smaller than the bundle of the source database.
18059	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
18060
18061	// The name to use for your new database.
18062	//
18063	// Constraints:
18064	//
18065	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
18066	//
18067	//    * The first and last character must be a letter or number.
18068	//
18069	// RelationalDatabaseName is a required field
18070	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18071
18072	// The name of the database snapshot from which to create your new database.
18073	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
18074
18075	// The date and time to restore your database from.
18076	//
18077	// Constraints:
18078	//
18079	//    * Must be before the latest restorable time for the database.
18080	//
18081	//    * Cannot be specified if the use latest restorable time parameter is true.
18082	//
18083	//    * Specified in Coordinated Universal Time (UTC).
18084	//
18085	//    * Specified in the Unix time format. For example, if you wish to use a
18086	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
18087	//    as the restore time.
18088	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
18089
18090	// The name of the source database.
18091	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
18092
18093	// The tag keys and optional values to add to the resource during create.
18094	//
18095	// Use the TagResource action to tag a resource after it's created.
18096	Tags []*Tag `locationName:"tags" type:"list"`
18097
18098	// Specifies whether your database is restored from the latest backup time.
18099	// A value of true restores from the latest backup time.
18100	//
18101	// Default: false
18102	//
18103	// Constraints: Cannot be specified if the restore time parameter is provided.
18104	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
18105}
18106
18107// String returns the string representation
18108func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
18109	return awsutil.Prettify(s)
18110}
18111
18112// GoString returns the string representation
18113func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
18114	return s.String()
18115}
18116
18117// Validate inspects the fields of the type to determine if they are valid.
18118func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
18119	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
18120	if s.RelationalDatabaseName == nil {
18121		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18122	}
18123
18124	if invalidParams.Len() > 0 {
18125		return invalidParams
18126	}
18127	return nil
18128}
18129
18130// SetAvailabilityZone sets the AvailabilityZone field's value.
18131func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
18132	s.AvailabilityZone = &v
18133	return s
18134}
18135
18136// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18137func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
18138	s.PubliclyAccessible = &v
18139	return s
18140}
18141
18142// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
18143func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
18144	s.RelationalDatabaseBundleId = &v
18145	return s
18146}
18147
18148// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18149func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
18150	s.RelationalDatabaseName = &v
18151	return s
18152}
18153
18154// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
18155func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
18156	s.RelationalDatabaseSnapshotName = &v
18157	return s
18158}
18159
18160// SetRestoreTime sets the RestoreTime field's value.
18161func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
18162	s.RestoreTime = &v
18163	return s
18164}
18165
18166// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
18167func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
18168	s.SourceRelationalDatabaseName = &v
18169	return s
18170}
18171
18172// SetTags sets the Tags field's value.
18173func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
18174	s.Tags = v
18175	return s
18176}
18177
18178// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
18179func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
18180	s.UseLatestRestorableTime = &v
18181	return s
18182}
18183
18184type CreateRelationalDatabaseFromSnapshotOutput struct {
18185	_ struct{} `type:"structure"`
18186
18187	// An array of objects that describe the result of the action, such as the status
18188	// of the request, the timestamp of the request, and the resources affected
18189	// by the request.
18190	Operations []*Operation `locationName:"operations" type:"list"`
18191}
18192
18193// String returns the string representation
18194func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
18195	return awsutil.Prettify(s)
18196}
18197
18198// GoString returns the string representation
18199func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
18200	return s.String()
18201}
18202
18203// SetOperations sets the Operations field's value.
18204func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
18205	s.Operations = v
18206	return s
18207}
18208
18209type CreateRelationalDatabaseInput struct {
18210	_ struct{} `type:"structure"`
18211
18212	// The Availability Zone in which to create your new database. Use the us-east-2a
18213	// case-sensitive format.
18214	//
18215	// You can get a list of Availability Zones by using the get regions operation.
18216	// Be sure to add the include relational database Availability Zones parameter
18217	// to your request.
18218	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
18219
18220	// The name of the master database created when the Lightsail database resource
18221	// is created.
18222	//
18223	// Constraints:
18224	//
18225	//    * Must contain from 1 to 64 alphanumeric characters.
18226	//
18227	//    * Cannot be a word reserved by the specified database engine
18228	//
18229	// MasterDatabaseName is a required field
18230	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
18231
18232	// The password for the master user of your new database. The password can include
18233	// any printable ASCII character except "/", """, or "@".
18234	//
18235	// Constraints: Must contain 8 to 41 characters.
18236	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
18237
18238	// The master user name for your new database.
18239	//
18240	// Constraints:
18241	//
18242	//    * Master user name is required.
18243	//
18244	//    * Must contain from 1 to 16 alphanumeric characters.
18245	//
18246	//    * The first character must be a letter.
18247	//
18248	//    * Cannot be a reserved word for the database engine you choose. For more
18249	//    information about reserved words in MySQL 5.6 or 5.7, see the Keywords
18250	//    and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html)
18251	//    or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively.
18252	//
18253	// MasterUsername is a required field
18254	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
18255
18256	// The daily time range during which automated backups are created for your
18257	// new database if automated backups are enabled.
18258	//
18259	// The default is a 30-minute window selected at random from an 8-hour block
18260	// of time for each AWS Region. For more information about the preferred backup
18261	// 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)
18262	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
18263	//
18264	// Constraints:
18265	//
18266	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
18267	//
18268	//    * Specified in Coordinated Universal Time (UTC).
18269	//
18270	//    * Must not conflict with the preferred maintenance window.
18271	//
18272	//    * Must be at least 30 minutes.
18273	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
18274
18275	// The weekly time range during which system maintenance can occur on your new
18276	// database.
18277	//
18278	// The default is a 30-minute window selected at random from an 8-hour block
18279	// of time for each AWS Region, occurring on a random day of the week.
18280	//
18281	// Constraints:
18282	//
18283	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
18284	//
18285	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
18286	//
18287	//    * Must be at least 30 minutes.
18288	//
18289	//    * Specified in Coordinated Universal Time (UTC).
18290	//
18291	//    * Example: Tue:17:00-Tue:17:30
18292	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
18293
18294	// Specifies the accessibility options for your new database. A value of true
18295	// specifies a database that is available to resources outside of your Lightsail
18296	// account. A value of false specifies a database that is available only to
18297	// your Lightsail resources in the same region as your database.
18298	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
18299
18300	// The blueprint ID for your new database. A blueprint describes the major engine
18301	// version of a database.
18302	//
18303	// You can get a list of database blueprints IDs by using the get relational
18304	// database blueprints operation.
18305	//
18306	// RelationalDatabaseBlueprintId is a required field
18307	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
18308
18309	// The bundle ID for your new database. A bundle describes the performance specifications
18310	// for your database.
18311	//
18312	// You can get a list of database bundle IDs by using the get relational database
18313	// bundles operation.
18314	//
18315	// RelationalDatabaseBundleId is a required field
18316	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
18317
18318	// The name to use for your new database.
18319	//
18320	// Constraints:
18321	//
18322	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
18323	//
18324	//    * The first and last character must be a letter or number.
18325	//
18326	// RelationalDatabaseName is a required field
18327	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18328
18329	// The tag keys and optional values to add to the resource during create.
18330	//
18331	// Use the TagResource action to tag a resource after it's created.
18332	Tags []*Tag `locationName:"tags" type:"list"`
18333}
18334
18335// String returns the string representation
18336func (s CreateRelationalDatabaseInput) String() string {
18337	return awsutil.Prettify(s)
18338}
18339
18340// GoString returns the string representation
18341func (s CreateRelationalDatabaseInput) GoString() string {
18342	return s.String()
18343}
18344
18345// Validate inspects the fields of the type to determine if they are valid.
18346func (s *CreateRelationalDatabaseInput) Validate() error {
18347	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
18348	if s.MasterDatabaseName == nil {
18349		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
18350	}
18351	if s.MasterUsername == nil {
18352		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
18353	}
18354	if s.RelationalDatabaseBlueprintId == nil {
18355		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
18356	}
18357	if s.RelationalDatabaseBundleId == nil {
18358		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
18359	}
18360	if s.RelationalDatabaseName == nil {
18361		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18362	}
18363
18364	if invalidParams.Len() > 0 {
18365		return invalidParams
18366	}
18367	return nil
18368}
18369
18370// SetAvailabilityZone sets the AvailabilityZone field's value.
18371func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
18372	s.AvailabilityZone = &v
18373	return s
18374}
18375
18376// SetMasterDatabaseName sets the MasterDatabaseName field's value.
18377func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
18378	s.MasterDatabaseName = &v
18379	return s
18380}
18381
18382// SetMasterUserPassword sets the MasterUserPassword field's value.
18383func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
18384	s.MasterUserPassword = &v
18385	return s
18386}
18387
18388// SetMasterUsername sets the MasterUsername field's value.
18389func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
18390	s.MasterUsername = &v
18391	return s
18392}
18393
18394// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
18395func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
18396	s.PreferredBackupWindow = &v
18397	return s
18398}
18399
18400// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
18401func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
18402	s.PreferredMaintenanceWindow = &v
18403	return s
18404}
18405
18406// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18407func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
18408	s.PubliclyAccessible = &v
18409	return s
18410}
18411
18412// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
18413func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
18414	s.RelationalDatabaseBlueprintId = &v
18415	return s
18416}
18417
18418// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
18419func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
18420	s.RelationalDatabaseBundleId = &v
18421	return s
18422}
18423
18424// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18425func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
18426	s.RelationalDatabaseName = &v
18427	return s
18428}
18429
18430// SetTags sets the Tags field's value.
18431func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
18432	s.Tags = v
18433	return s
18434}
18435
18436type CreateRelationalDatabaseOutput struct {
18437	_ struct{} `type:"structure"`
18438
18439	// An array of objects that describe the result of the action, such as the status
18440	// of the request, the timestamp of the request, and the resources affected
18441	// by the request.
18442	Operations []*Operation `locationName:"operations" type:"list"`
18443}
18444
18445// String returns the string representation
18446func (s CreateRelationalDatabaseOutput) String() string {
18447	return awsutil.Prettify(s)
18448}
18449
18450// GoString returns the string representation
18451func (s CreateRelationalDatabaseOutput) GoString() string {
18452	return s.String()
18453}
18454
18455// SetOperations sets the Operations field's value.
18456func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
18457	s.Operations = v
18458	return s
18459}
18460
18461type CreateRelationalDatabaseSnapshotInput struct {
18462	_ struct{} `type:"structure"`
18463
18464	// The name of the database on which to base your new snapshot.
18465	//
18466	// RelationalDatabaseName is a required field
18467	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
18468
18469	// The name for your new database snapshot.
18470	//
18471	// Constraints:
18472	//
18473	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
18474	//
18475	//    * The first and last character must be a letter or number.
18476	//
18477	// RelationalDatabaseSnapshotName is a required field
18478	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
18479
18480	// The tag keys and optional values to add to the resource during create.
18481	//
18482	// Use the TagResource action to tag a resource after it's created.
18483	Tags []*Tag `locationName:"tags" type:"list"`
18484}
18485
18486// String returns the string representation
18487func (s CreateRelationalDatabaseSnapshotInput) String() string {
18488	return awsutil.Prettify(s)
18489}
18490
18491// GoString returns the string representation
18492func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
18493	return s.String()
18494}
18495
18496// Validate inspects the fields of the type to determine if they are valid.
18497func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
18498	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
18499	if s.RelationalDatabaseName == nil {
18500		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
18501	}
18502	if s.RelationalDatabaseSnapshotName == nil {
18503		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
18504	}
18505
18506	if invalidParams.Len() > 0 {
18507		return invalidParams
18508	}
18509	return nil
18510}
18511
18512// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
18513func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
18514	s.RelationalDatabaseName = &v
18515	return s
18516}
18517
18518// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
18519func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
18520	s.RelationalDatabaseSnapshotName = &v
18521	return s
18522}
18523
18524// SetTags sets the Tags field's value.
18525func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
18526	s.Tags = v
18527	return s
18528}
18529
18530type CreateRelationalDatabaseSnapshotOutput struct {
18531	_ struct{} `type:"structure"`
18532
18533	// An array of objects that describe the result of the action, such as the status
18534	// of the request, the timestamp of the request, and the resources affected
18535	// by the request.
18536	Operations []*Operation `locationName:"operations" type:"list"`
18537}
18538
18539// String returns the string representation
18540func (s CreateRelationalDatabaseSnapshotOutput) String() string {
18541	return awsutil.Prettify(s)
18542}
18543
18544// GoString returns the string representation
18545func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
18546	return s.String()
18547}
18548
18549// SetOperations sets the Operations field's value.
18550func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
18551	s.Operations = v
18552	return s
18553}
18554
18555type DeleteAlarmInput struct {
18556	_ struct{} `type:"structure"`
18557
18558	// The name of the alarm to delete.
18559	//
18560	// AlarmName is a required field
18561	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
18562}
18563
18564// String returns the string representation
18565func (s DeleteAlarmInput) String() string {
18566	return awsutil.Prettify(s)
18567}
18568
18569// GoString returns the string representation
18570func (s DeleteAlarmInput) GoString() string {
18571	return s.String()
18572}
18573
18574// Validate inspects the fields of the type to determine if they are valid.
18575func (s *DeleteAlarmInput) Validate() error {
18576	invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"}
18577	if s.AlarmName == nil {
18578		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
18579	}
18580
18581	if invalidParams.Len() > 0 {
18582		return invalidParams
18583	}
18584	return nil
18585}
18586
18587// SetAlarmName sets the AlarmName field's value.
18588func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput {
18589	s.AlarmName = &v
18590	return s
18591}
18592
18593type DeleteAlarmOutput struct {
18594	_ struct{} `type:"structure"`
18595
18596	// An array of objects that describe the result of the action, such as the status
18597	// of the request, the timestamp of the request, and the resources affected
18598	// by the request.
18599	Operations []*Operation `locationName:"operations" type:"list"`
18600}
18601
18602// String returns the string representation
18603func (s DeleteAlarmOutput) String() string {
18604	return awsutil.Prettify(s)
18605}
18606
18607// GoString returns the string representation
18608func (s DeleteAlarmOutput) GoString() string {
18609	return s.String()
18610}
18611
18612// SetOperations sets the Operations field's value.
18613func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput {
18614	s.Operations = v
18615	return s
18616}
18617
18618type DeleteAutoSnapshotInput struct {
18619	_ struct{} `type:"structure"`
18620
18621	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
18622	// get auto snapshots operation to get the available automatic snapshots for
18623	// a resource.
18624	//
18625	// Date is a required field
18626	Date *string `locationName:"date" type:"string" required:"true"`
18627
18628	// The name of the source instance or disk from which to delete the automatic
18629	// snapshot.
18630	//
18631	// ResourceName is a required field
18632	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
18633}
18634
18635// String returns the string representation
18636func (s DeleteAutoSnapshotInput) String() string {
18637	return awsutil.Prettify(s)
18638}
18639
18640// GoString returns the string representation
18641func (s DeleteAutoSnapshotInput) GoString() string {
18642	return s.String()
18643}
18644
18645// Validate inspects the fields of the type to determine if they are valid.
18646func (s *DeleteAutoSnapshotInput) Validate() error {
18647	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
18648	if s.Date == nil {
18649		invalidParams.Add(request.NewErrParamRequired("Date"))
18650	}
18651	if s.ResourceName == nil {
18652		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
18653	}
18654
18655	if invalidParams.Len() > 0 {
18656		return invalidParams
18657	}
18658	return nil
18659}
18660
18661// SetDate sets the Date field's value.
18662func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
18663	s.Date = &v
18664	return s
18665}
18666
18667// SetResourceName sets the ResourceName field's value.
18668func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
18669	s.ResourceName = &v
18670	return s
18671}
18672
18673type DeleteAutoSnapshotOutput struct {
18674	_ struct{} `type:"structure"`
18675
18676	// An array of objects that describe the result of the action, such as the status
18677	// of the request, the timestamp of the request, and the resources affected
18678	// by the request.
18679	Operations []*Operation `locationName:"operations" type:"list"`
18680}
18681
18682// String returns the string representation
18683func (s DeleteAutoSnapshotOutput) String() string {
18684	return awsutil.Prettify(s)
18685}
18686
18687// GoString returns the string representation
18688func (s DeleteAutoSnapshotOutput) GoString() string {
18689	return s.String()
18690}
18691
18692// SetOperations sets the Operations field's value.
18693func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
18694	s.Operations = v
18695	return s
18696}
18697
18698type DeleteCertificateInput struct {
18699	_ struct{} `type:"structure"`
18700
18701	// The name of the certificate to delete.
18702	//
18703	// Use the GetCertificates action to get a list of certificate names that you
18704	// can specify.
18705	//
18706	// CertificateName is a required field
18707	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
18708}
18709
18710// String returns the string representation
18711func (s DeleteCertificateInput) String() string {
18712	return awsutil.Prettify(s)
18713}
18714
18715// GoString returns the string representation
18716func (s DeleteCertificateInput) GoString() string {
18717	return s.String()
18718}
18719
18720// Validate inspects the fields of the type to determine if they are valid.
18721func (s *DeleteCertificateInput) Validate() error {
18722	invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"}
18723	if s.CertificateName == nil {
18724		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
18725	}
18726
18727	if invalidParams.Len() > 0 {
18728		return invalidParams
18729	}
18730	return nil
18731}
18732
18733// SetCertificateName sets the CertificateName field's value.
18734func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput {
18735	s.CertificateName = &v
18736	return s
18737}
18738
18739type DeleteCertificateOutput struct {
18740	_ struct{} `type:"structure"`
18741
18742	// An array of objects that describe the result of the action, such as the status
18743	// of the request, the timestamp of the request, and the resources affected
18744	// by the request.
18745	Operations []*Operation `locationName:"operations" type:"list"`
18746}
18747
18748// String returns the string representation
18749func (s DeleteCertificateOutput) String() string {
18750	return awsutil.Prettify(s)
18751}
18752
18753// GoString returns the string representation
18754func (s DeleteCertificateOutput) GoString() string {
18755	return s.String()
18756}
18757
18758// SetOperations sets the Operations field's value.
18759func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput {
18760	s.Operations = v
18761	return s
18762}
18763
18764type DeleteContactMethodInput struct {
18765	_ struct{} `type:"structure"`
18766
18767	// The protocol that will be deleted, such as Email or SMS (text messaging).
18768	//
18769	// To delete an Email and an SMS contact method if you added both, you must
18770	// run separate DeleteContactMethod actions to delete each protocol.
18771	//
18772	// Protocol is a required field
18773	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"`
18774}
18775
18776// String returns the string representation
18777func (s DeleteContactMethodInput) String() string {
18778	return awsutil.Prettify(s)
18779}
18780
18781// GoString returns the string representation
18782func (s DeleteContactMethodInput) GoString() string {
18783	return s.String()
18784}
18785
18786// Validate inspects the fields of the type to determine if they are valid.
18787func (s *DeleteContactMethodInput) Validate() error {
18788	invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"}
18789	if s.Protocol == nil {
18790		invalidParams.Add(request.NewErrParamRequired("Protocol"))
18791	}
18792
18793	if invalidParams.Len() > 0 {
18794		return invalidParams
18795	}
18796	return nil
18797}
18798
18799// SetProtocol sets the Protocol field's value.
18800func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput {
18801	s.Protocol = &v
18802	return s
18803}
18804
18805type DeleteContactMethodOutput struct {
18806	_ struct{} `type:"structure"`
18807
18808	// An array of objects that describe the result of the action, such as the status
18809	// of the request, the timestamp of the request, and the resources affected
18810	// by the request.
18811	Operations []*Operation `locationName:"operations" type:"list"`
18812}
18813
18814// String returns the string representation
18815func (s DeleteContactMethodOutput) String() string {
18816	return awsutil.Prettify(s)
18817}
18818
18819// GoString returns the string representation
18820func (s DeleteContactMethodOutput) GoString() string {
18821	return s.String()
18822}
18823
18824// SetOperations sets the Operations field's value.
18825func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput {
18826	s.Operations = v
18827	return s
18828}
18829
18830type DeleteDiskInput struct {
18831	_ struct{} `type:"structure"`
18832
18833	// The unique name of the disk you want to delete (e.g., my-disk).
18834	//
18835	// DiskName is a required field
18836	DiskName *string `locationName:"diskName" type:"string" required:"true"`
18837
18838	// A Boolean value to indicate whether to delete the enabled add-ons for the
18839	// disk.
18840	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
18841}
18842
18843// String returns the string representation
18844func (s DeleteDiskInput) String() string {
18845	return awsutil.Prettify(s)
18846}
18847
18848// GoString returns the string representation
18849func (s DeleteDiskInput) GoString() string {
18850	return s.String()
18851}
18852
18853// Validate inspects the fields of the type to determine if they are valid.
18854func (s *DeleteDiskInput) Validate() error {
18855	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
18856	if s.DiskName == nil {
18857		invalidParams.Add(request.NewErrParamRequired("DiskName"))
18858	}
18859
18860	if invalidParams.Len() > 0 {
18861		return invalidParams
18862	}
18863	return nil
18864}
18865
18866// SetDiskName sets the DiskName field's value.
18867func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
18868	s.DiskName = &v
18869	return s
18870}
18871
18872// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
18873func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
18874	s.ForceDeleteAddOns = &v
18875	return s
18876}
18877
18878type DeleteDiskOutput struct {
18879	_ struct{} `type:"structure"`
18880
18881	// An array of objects that describe the result of the action, such as the status
18882	// of the request, the timestamp of the request, and the resources affected
18883	// by the request.
18884	Operations []*Operation `locationName:"operations" type:"list"`
18885}
18886
18887// String returns the string representation
18888func (s DeleteDiskOutput) String() string {
18889	return awsutil.Prettify(s)
18890}
18891
18892// GoString returns the string representation
18893func (s DeleteDiskOutput) GoString() string {
18894	return s.String()
18895}
18896
18897// SetOperations sets the Operations field's value.
18898func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
18899	s.Operations = v
18900	return s
18901}
18902
18903type DeleteDiskSnapshotInput struct {
18904	_ struct{} `type:"structure"`
18905
18906	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
18907	//
18908	// DiskSnapshotName is a required field
18909	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
18910}
18911
18912// String returns the string representation
18913func (s DeleteDiskSnapshotInput) String() string {
18914	return awsutil.Prettify(s)
18915}
18916
18917// GoString returns the string representation
18918func (s DeleteDiskSnapshotInput) GoString() string {
18919	return s.String()
18920}
18921
18922// Validate inspects the fields of the type to determine if they are valid.
18923func (s *DeleteDiskSnapshotInput) Validate() error {
18924	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
18925	if s.DiskSnapshotName == nil {
18926		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
18927	}
18928
18929	if invalidParams.Len() > 0 {
18930		return invalidParams
18931	}
18932	return nil
18933}
18934
18935// SetDiskSnapshotName sets the DiskSnapshotName field's value.
18936func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
18937	s.DiskSnapshotName = &v
18938	return s
18939}
18940
18941type DeleteDiskSnapshotOutput struct {
18942	_ struct{} `type:"structure"`
18943
18944	// An array of objects that describe the result of the action, such as the status
18945	// of the request, the timestamp of the request, and the resources affected
18946	// by the request.
18947	Operations []*Operation `locationName:"operations" type:"list"`
18948}
18949
18950// String returns the string representation
18951func (s DeleteDiskSnapshotOutput) String() string {
18952	return awsutil.Prettify(s)
18953}
18954
18955// GoString returns the string representation
18956func (s DeleteDiskSnapshotOutput) GoString() string {
18957	return s.String()
18958}
18959
18960// SetOperations sets the Operations field's value.
18961func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
18962	s.Operations = v
18963	return s
18964}
18965
18966type DeleteDistributionInput struct {
18967	_ struct{} `type:"structure"`
18968
18969	// The name of the distribution to delete.
18970	//
18971	// Use the GetDistributions action to get a list of distribution names that
18972	// you can specify.
18973	DistributionName *string `locationName:"distributionName" type:"string"`
18974}
18975
18976// String returns the string representation
18977func (s DeleteDistributionInput) String() string {
18978	return awsutil.Prettify(s)
18979}
18980
18981// GoString returns the string representation
18982func (s DeleteDistributionInput) GoString() string {
18983	return s.String()
18984}
18985
18986// SetDistributionName sets the DistributionName field's value.
18987func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput {
18988	s.DistributionName = &v
18989	return s
18990}
18991
18992type DeleteDistributionOutput struct {
18993	_ struct{} `type:"structure"`
18994
18995	// An object that describes the result of the action, such as the status of
18996	// the request, the timestamp of the request, and the resources affected by
18997	// the request.
18998	Operation *Operation `locationName:"operation" type:"structure"`
18999}
19000
19001// String returns the string representation
19002func (s DeleteDistributionOutput) String() string {
19003	return awsutil.Prettify(s)
19004}
19005
19006// GoString returns the string representation
19007func (s DeleteDistributionOutput) GoString() string {
19008	return s.String()
19009}
19010
19011// SetOperation sets the Operation field's value.
19012func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput {
19013	s.Operation = v
19014	return s
19015}
19016
19017type DeleteDomainEntryInput struct {
19018	_ struct{} `type:"structure"`
19019
19020	// An array of key-value pairs containing information about your domain entries.
19021	//
19022	// DomainEntry is a required field
19023	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
19024
19025	// The name of the domain entry to delete.
19026	//
19027	// DomainName is a required field
19028	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19029}
19030
19031// String returns the string representation
19032func (s DeleteDomainEntryInput) String() string {
19033	return awsutil.Prettify(s)
19034}
19035
19036// GoString returns the string representation
19037func (s DeleteDomainEntryInput) GoString() string {
19038	return s.String()
19039}
19040
19041// Validate inspects the fields of the type to determine if they are valid.
19042func (s *DeleteDomainEntryInput) Validate() error {
19043	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
19044	if s.DomainEntry == nil {
19045		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
19046	}
19047	if s.DomainName == nil {
19048		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19049	}
19050
19051	if invalidParams.Len() > 0 {
19052		return invalidParams
19053	}
19054	return nil
19055}
19056
19057// SetDomainEntry sets the DomainEntry field's value.
19058func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
19059	s.DomainEntry = v
19060	return s
19061}
19062
19063// SetDomainName sets the DomainName field's value.
19064func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
19065	s.DomainName = &v
19066	return s
19067}
19068
19069type DeleteDomainEntryOutput struct {
19070	_ struct{} `type:"structure"`
19071
19072	// An array of objects that describe the result of the action, such as the status
19073	// of the request, the timestamp of the request, and the resources affected
19074	// by the request.
19075	Operation *Operation `locationName:"operation" type:"structure"`
19076}
19077
19078// String returns the string representation
19079func (s DeleteDomainEntryOutput) String() string {
19080	return awsutil.Prettify(s)
19081}
19082
19083// GoString returns the string representation
19084func (s DeleteDomainEntryOutput) GoString() string {
19085	return s.String()
19086}
19087
19088// SetOperation sets the Operation field's value.
19089func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
19090	s.Operation = v
19091	return s
19092}
19093
19094type DeleteDomainInput struct {
19095	_ struct{} `type:"structure"`
19096
19097	// The specific domain name to delete.
19098	//
19099	// DomainName is a required field
19100	DomainName *string `locationName:"domainName" type:"string" required:"true"`
19101}
19102
19103// String returns the string representation
19104func (s DeleteDomainInput) String() string {
19105	return awsutil.Prettify(s)
19106}
19107
19108// GoString returns the string representation
19109func (s DeleteDomainInput) GoString() string {
19110	return s.String()
19111}
19112
19113// Validate inspects the fields of the type to determine if they are valid.
19114func (s *DeleteDomainInput) Validate() error {
19115	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
19116	if s.DomainName == nil {
19117		invalidParams.Add(request.NewErrParamRequired("DomainName"))
19118	}
19119
19120	if invalidParams.Len() > 0 {
19121		return invalidParams
19122	}
19123	return nil
19124}
19125
19126// SetDomainName sets the DomainName field's value.
19127func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
19128	s.DomainName = &v
19129	return s
19130}
19131
19132type DeleteDomainOutput struct {
19133	_ struct{} `type:"structure"`
19134
19135	// An array of objects that describe the result of the action, such as the status
19136	// of the request, the timestamp of the request, and the resources affected
19137	// by the request.
19138	Operation *Operation `locationName:"operation" type:"structure"`
19139}
19140
19141// String returns the string representation
19142func (s DeleteDomainOutput) String() string {
19143	return awsutil.Prettify(s)
19144}
19145
19146// GoString returns the string representation
19147func (s DeleteDomainOutput) GoString() string {
19148	return s.String()
19149}
19150
19151// SetOperation sets the Operation field's value.
19152func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
19153	s.Operation = v
19154	return s
19155}
19156
19157type DeleteInstanceInput struct {
19158	_ struct{} `type:"structure"`
19159
19160	// A Boolean value to indicate whether to delete the enabled add-ons for the
19161	// disk.
19162	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
19163
19164	// The name of the instance to delete.
19165	//
19166	// InstanceName is a required field
19167	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19168}
19169
19170// String returns the string representation
19171func (s DeleteInstanceInput) String() string {
19172	return awsutil.Prettify(s)
19173}
19174
19175// GoString returns the string representation
19176func (s DeleteInstanceInput) GoString() string {
19177	return s.String()
19178}
19179
19180// Validate inspects the fields of the type to determine if they are valid.
19181func (s *DeleteInstanceInput) Validate() error {
19182	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
19183	if s.InstanceName == nil {
19184		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19185	}
19186
19187	if invalidParams.Len() > 0 {
19188		return invalidParams
19189	}
19190	return nil
19191}
19192
19193// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
19194func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
19195	s.ForceDeleteAddOns = &v
19196	return s
19197}
19198
19199// SetInstanceName sets the InstanceName field's value.
19200func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
19201	s.InstanceName = &v
19202	return s
19203}
19204
19205type DeleteInstanceOutput struct {
19206	_ struct{} `type:"structure"`
19207
19208	// An array of objects that describe the result of the action, such as the status
19209	// of the request, the timestamp of the request, and the resources affected
19210	// by the request.
19211	Operations []*Operation `locationName:"operations" type:"list"`
19212}
19213
19214// String returns the string representation
19215func (s DeleteInstanceOutput) String() string {
19216	return awsutil.Prettify(s)
19217}
19218
19219// GoString returns the string representation
19220func (s DeleteInstanceOutput) GoString() string {
19221	return s.String()
19222}
19223
19224// SetOperations sets the Operations field's value.
19225func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
19226	s.Operations = v
19227	return s
19228}
19229
19230type DeleteInstanceSnapshotInput struct {
19231	_ struct{} `type:"structure"`
19232
19233	// The name of the snapshot to delete.
19234	//
19235	// InstanceSnapshotName is a required field
19236	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
19237}
19238
19239// String returns the string representation
19240func (s DeleteInstanceSnapshotInput) String() string {
19241	return awsutil.Prettify(s)
19242}
19243
19244// GoString returns the string representation
19245func (s DeleteInstanceSnapshotInput) GoString() string {
19246	return s.String()
19247}
19248
19249// Validate inspects the fields of the type to determine if they are valid.
19250func (s *DeleteInstanceSnapshotInput) Validate() error {
19251	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
19252	if s.InstanceSnapshotName == nil {
19253		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
19254	}
19255
19256	if invalidParams.Len() > 0 {
19257		return invalidParams
19258	}
19259	return nil
19260}
19261
19262// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
19263func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
19264	s.InstanceSnapshotName = &v
19265	return s
19266}
19267
19268type DeleteInstanceSnapshotOutput 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 DeleteInstanceSnapshotOutput) String() string {
19279	return awsutil.Prettify(s)
19280}
19281
19282// GoString returns the string representation
19283func (s DeleteInstanceSnapshotOutput) GoString() string {
19284	return s.String()
19285}
19286
19287// SetOperations sets the Operations field's value.
19288func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
19289	s.Operations = v
19290	return s
19291}
19292
19293type DeleteKeyPairInput struct {
19294	_ struct{} `type:"structure"`
19295
19296	// The name of the key pair to delete.
19297	//
19298	// KeyPairName is a required field
19299	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
19300}
19301
19302// String returns the string representation
19303func (s DeleteKeyPairInput) String() string {
19304	return awsutil.Prettify(s)
19305}
19306
19307// GoString returns the string representation
19308func (s DeleteKeyPairInput) GoString() string {
19309	return s.String()
19310}
19311
19312// Validate inspects the fields of the type to determine if they are valid.
19313func (s *DeleteKeyPairInput) Validate() error {
19314	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
19315	if s.KeyPairName == nil {
19316		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
19317	}
19318
19319	if invalidParams.Len() > 0 {
19320		return invalidParams
19321	}
19322	return nil
19323}
19324
19325// SetKeyPairName sets the KeyPairName field's value.
19326func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
19327	s.KeyPairName = &v
19328	return s
19329}
19330
19331type DeleteKeyPairOutput struct {
19332	_ struct{} `type:"structure"`
19333
19334	// An array of objects that describe the result of the action, such as the status
19335	// of the request, the timestamp of the request, and the resources affected
19336	// by the request.
19337	Operation *Operation `locationName:"operation" type:"structure"`
19338}
19339
19340// String returns the string representation
19341func (s DeleteKeyPairOutput) String() string {
19342	return awsutil.Prettify(s)
19343}
19344
19345// GoString returns the string representation
19346func (s DeleteKeyPairOutput) GoString() string {
19347	return s.String()
19348}
19349
19350// SetOperation sets the Operation field's value.
19351func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
19352	s.Operation = v
19353	return s
19354}
19355
19356type DeleteKnownHostKeysInput struct {
19357	_ struct{} `type:"structure"`
19358
19359	// The name of the instance for which you want to reset the host key or certificate.
19360	//
19361	// InstanceName is a required field
19362	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
19363}
19364
19365// String returns the string representation
19366func (s DeleteKnownHostKeysInput) String() string {
19367	return awsutil.Prettify(s)
19368}
19369
19370// GoString returns the string representation
19371func (s DeleteKnownHostKeysInput) GoString() string {
19372	return s.String()
19373}
19374
19375// Validate inspects the fields of the type to determine if they are valid.
19376func (s *DeleteKnownHostKeysInput) Validate() error {
19377	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
19378	if s.InstanceName == nil {
19379		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
19380	}
19381
19382	if invalidParams.Len() > 0 {
19383		return invalidParams
19384	}
19385	return nil
19386}
19387
19388// SetInstanceName sets the InstanceName field's value.
19389func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
19390	s.InstanceName = &v
19391	return s
19392}
19393
19394type DeleteKnownHostKeysOutput 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 DeleteKnownHostKeysOutput) String() string {
19405	return awsutil.Prettify(s)
19406}
19407
19408// GoString returns the string representation
19409func (s DeleteKnownHostKeysOutput) GoString() string {
19410	return s.String()
19411}
19412
19413// SetOperations sets the Operations field's value.
19414func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
19415	s.Operations = v
19416	return s
19417}
19418
19419type DeleteLoadBalancerInput struct {
19420	_ struct{} `type:"structure"`
19421
19422	// The name of the load balancer you want to delete.
19423	//
19424	// LoadBalancerName is a required field
19425	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
19426}
19427
19428// String returns the string representation
19429func (s DeleteLoadBalancerInput) String() string {
19430	return awsutil.Prettify(s)
19431}
19432
19433// GoString returns the string representation
19434func (s DeleteLoadBalancerInput) GoString() string {
19435	return s.String()
19436}
19437
19438// Validate inspects the fields of the type to determine if they are valid.
19439func (s *DeleteLoadBalancerInput) Validate() error {
19440	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
19441	if s.LoadBalancerName == nil {
19442		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
19443	}
19444
19445	if invalidParams.Len() > 0 {
19446		return invalidParams
19447	}
19448	return nil
19449}
19450
19451// SetLoadBalancerName sets the LoadBalancerName field's value.
19452func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
19453	s.LoadBalancerName = &v
19454	return s
19455}
19456
19457type DeleteLoadBalancerOutput struct {
19458	_ struct{} `type:"structure"`
19459
19460	// An array of objects that describe the result of the action, such as the status
19461	// of the request, the timestamp of the request, and the resources affected
19462	// by the request.
19463	Operations []*Operation `locationName:"operations" type:"list"`
19464}
19465
19466// String returns the string representation
19467func (s DeleteLoadBalancerOutput) String() string {
19468	return awsutil.Prettify(s)
19469}
19470
19471// GoString returns the string representation
19472func (s DeleteLoadBalancerOutput) GoString() string {
19473	return s.String()
19474}
19475
19476// SetOperations sets the Operations field's value.
19477func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
19478	s.Operations = v
19479	return s
19480}
19481
19482type DeleteLoadBalancerTlsCertificateInput struct {
19483	_ struct{} `type:"structure"`
19484
19485	// The SSL/TLS certificate name.
19486	//
19487	// CertificateName is a required field
19488	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
19489
19490	// When true, forces the deletion of an SSL/TLS certificate.
19491	//
19492	// There can be two certificates associated with a Lightsail load balancer:
19493	// the primary and the backup. The force parameter is required when the primary
19494	// SSL/TLS certificate is in use by an instance attached to the load balancer.
19495	Force *bool `locationName:"force" type:"boolean"`
19496
19497	// The load balancer name.
19498	//
19499	// LoadBalancerName is a required field
19500	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
19501}
19502
19503// String returns the string representation
19504func (s DeleteLoadBalancerTlsCertificateInput) String() string {
19505	return awsutil.Prettify(s)
19506}
19507
19508// GoString returns the string representation
19509func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
19510	return s.String()
19511}
19512
19513// Validate inspects the fields of the type to determine if they are valid.
19514func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
19515	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
19516	if s.CertificateName == nil {
19517		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
19518	}
19519	if s.LoadBalancerName == nil {
19520		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
19521	}
19522
19523	if invalidParams.Len() > 0 {
19524		return invalidParams
19525	}
19526	return nil
19527}
19528
19529// SetCertificateName sets the CertificateName field's value.
19530func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
19531	s.CertificateName = &v
19532	return s
19533}
19534
19535// SetForce sets the Force field's value.
19536func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
19537	s.Force = &v
19538	return s
19539}
19540
19541// SetLoadBalancerName sets the LoadBalancerName field's value.
19542func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
19543	s.LoadBalancerName = &v
19544	return s
19545}
19546
19547type DeleteLoadBalancerTlsCertificateOutput struct {
19548	_ struct{} `type:"structure"`
19549
19550	// An array of objects that describe the result of the action, such as the status
19551	// of the request, the timestamp of the request, and the resources affected
19552	// by the request.
19553	Operations []*Operation `locationName:"operations" type:"list"`
19554}
19555
19556// String returns the string representation
19557func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
19558	return awsutil.Prettify(s)
19559}
19560
19561// GoString returns the string representation
19562func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
19563	return s.String()
19564}
19565
19566// SetOperations sets the Operations field's value.
19567func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
19568	s.Operations = v
19569	return s
19570}
19571
19572type DeleteRelationalDatabaseInput struct {
19573	_ struct{} `type:"structure"`
19574
19575	// The name of the database snapshot created if skip final snapshot is false,
19576	// which is the default value for that parameter.
19577	//
19578	// Specifying this parameter and also specifying the skip final snapshot parameter
19579	// to true results in an error.
19580	//
19581	// Constraints:
19582	//
19583	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
19584	//
19585	//    * The first and last character must be a letter or number.
19586	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
19587
19588	// The name of the database that you are deleting.
19589	//
19590	// RelationalDatabaseName is a required field
19591	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19592
19593	// Determines whether a final database snapshot is created before your database
19594	// is deleted. If true is specified, no database snapshot is created. If false
19595	// is specified, a database snapshot is created before your database is deleted.
19596	//
19597	// You must specify the final relational database snapshot name parameter if
19598	// the skip final snapshot parameter is false.
19599	//
19600	// Default: false
19601	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
19602}
19603
19604// String returns the string representation
19605func (s DeleteRelationalDatabaseInput) String() string {
19606	return awsutil.Prettify(s)
19607}
19608
19609// GoString returns the string representation
19610func (s DeleteRelationalDatabaseInput) GoString() string {
19611	return s.String()
19612}
19613
19614// Validate inspects the fields of the type to determine if they are valid.
19615func (s *DeleteRelationalDatabaseInput) Validate() error {
19616	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
19617	if s.RelationalDatabaseName == nil {
19618		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19619	}
19620
19621	if invalidParams.Len() > 0 {
19622		return invalidParams
19623	}
19624	return nil
19625}
19626
19627// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
19628func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
19629	s.FinalRelationalDatabaseSnapshotName = &v
19630	return s
19631}
19632
19633// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19634func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
19635	s.RelationalDatabaseName = &v
19636	return s
19637}
19638
19639// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
19640func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
19641	s.SkipFinalSnapshot = &v
19642	return s
19643}
19644
19645type DeleteRelationalDatabaseOutput struct {
19646	_ struct{} `type:"structure"`
19647
19648	// An array of objects that describe the result of the action, such as the status
19649	// of the request, the timestamp of the request, and the resources affected
19650	// by the request.
19651	Operations []*Operation `locationName:"operations" type:"list"`
19652}
19653
19654// String returns the string representation
19655func (s DeleteRelationalDatabaseOutput) String() string {
19656	return awsutil.Prettify(s)
19657}
19658
19659// GoString returns the string representation
19660func (s DeleteRelationalDatabaseOutput) GoString() string {
19661	return s.String()
19662}
19663
19664// SetOperations sets the Operations field's value.
19665func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
19666	s.Operations = v
19667	return s
19668}
19669
19670type DeleteRelationalDatabaseSnapshotInput struct {
19671	_ struct{} `type:"structure"`
19672
19673	// The name of the database snapshot that you are deleting.
19674	//
19675	// RelationalDatabaseSnapshotName is a required field
19676	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
19677}
19678
19679// String returns the string representation
19680func (s DeleteRelationalDatabaseSnapshotInput) String() string {
19681	return awsutil.Prettify(s)
19682}
19683
19684// GoString returns the string representation
19685func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
19686	return s.String()
19687}
19688
19689// Validate inspects the fields of the type to determine if they are valid.
19690func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
19691	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
19692	if s.RelationalDatabaseSnapshotName == nil {
19693		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
19694	}
19695
19696	if invalidParams.Len() > 0 {
19697		return invalidParams
19698	}
19699	return nil
19700}
19701
19702// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
19703func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
19704	s.RelationalDatabaseSnapshotName = &v
19705	return s
19706}
19707
19708type DeleteRelationalDatabaseSnapshotOutput struct {
19709	_ struct{} `type:"structure"`
19710
19711	// An array of objects that describe the result of the action, such as the status
19712	// of the request, the timestamp of the request, and the resources affected
19713	// by the request.
19714	Operations []*Operation `locationName:"operations" type:"list"`
19715}
19716
19717// String returns the string representation
19718func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
19719	return awsutil.Prettify(s)
19720}
19721
19722// GoString returns the string representation
19723func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
19724	return s.String()
19725}
19726
19727// SetOperations sets the Operations field's value.
19728func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
19729	s.Operations = v
19730	return s
19731}
19732
19733// Describes the destination of a record.
19734type DestinationInfo struct {
19735	_ struct{} `type:"structure"`
19736
19737	// The ID of the resource created at the destination.
19738	Id *string `locationName:"id" type:"string"`
19739
19740	// The destination service of the record.
19741	Service *string `locationName:"service" type:"string"`
19742}
19743
19744// String returns the string representation
19745func (s DestinationInfo) String() string {
19746	return awsutil.Prettify(s)
19747}
19748
19749// GoString returns the string representation
19750func (s DestinationInfo) GoString() string {
19751	return s.String()
19752}
19753
19754// SetId sets the Id field's value.
19755func (s *DestinationInfo) SetId(v string) *DestinationInfo {
19756	s.Id = &v
19757	return s
19758}
19759
19760// SetService sets the Service field's value.
19761func (s *DestinationInfo) SetService(v string) *DestinationInfo {
19762	s.Service = &v
19763	return s
19764}
19765
19766type DetachCertificateFromDistributionInput struct {
19767	_ struct{} `type:"structure"`
19768
19769	// The name of the distribution from which to detach the certificate.
19770	//
19771	// Use the GetDistributions action to get a list of distribution names that
19772	// you can specify.
19773	//
19774	// DistributionName is a required field
19775	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
19776}
19777
19778// String returns the string representation
19779func (s DetachCertificateFromDistributionInput) String() string {
19780	return awsutil.Prettify(s)
19781}
19782
19783// GoString returns the string representation
19784func (s DetachCertificateFromDistributionInput) GoString() string {
19785	return s.String()
19786}
19787
19788// Validate inspects the fields of the type to determine if they are valid.
19789func (s *DetachCertificateFromDistributionInput) Validate() error {
19790	invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"}
19791	if s.DistributionName == nil {
19792		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
19793	}
19794
19795	if invalidParams.Len() > 0 {
19796		return invalidParams
19797	}
19798	return nil
19799}
19800
19801// SetDistributionName sets the DistributionName field's value.
19802func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput {
19803	s.DistributionName = &v
19804	return s
19805}
19806
19807type DetachCertificateFromDistributionOutput struct {
19808	_ struct{} `type:"structure"`
19809
19810	// An object that describes the result of the action, such as the status of
19811	// the request, the timestamp of the request, and the resources affected by
19812	// the request.
19813	Operation *Operation `locationName:"operation" type:"structure"`
19814}
19815
19816// String returns the string representation
19817func (s DetachCertificateFromDistributionOutput) String() string {
19818	return awsutil.Prettify(s)
19819}
19820
19821// GoString returns the string representation
19822func (s DetachCertificateFromDistributionOutput) GoString() string {
19823	return s.String()
19824}
19825
19826// SetOperation sets the Operation field's value.
19827func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput {
19828	s.Operation = v
19829	return s
19830}
19831
19832type DetachDiskInput struct {
19833	_ struct{} `type:"structure"`
19834
19835	// The unique name of the disk you want to detach from your instance (e.g.,
19836	// my-disk).
19837	//
19838	// DiskName is a required field
19839	DiskName *string `locationName:"diskName" type:"string" required:"true"`
19840}
19841
19842// String returns the string representation
19843func (s DetachDiskInput) String() string {
19844	return awsutil.Prettify(s)
19845}
19846
19847// GoString returns the string representation
19848func (s DetachDiskInput) GoString() string {
19849	return s.String()
19850}
19851
19852// Validate inspects the fields of the type to determine if they are valid.
19853func (s *DetachDiskInput) Validate() error {
19854	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
19855	if s.DiskName == nil {
19856		invalidParams.Add(request.NewErrParamRequired("DiskName"))
19857	}
19858
19859	if invalidParams.Len() > 0 {
19860		return invalidParams
19861	}
19862	return nil
19863}
19864
19865// SetDiskName sets the DiskName field's value.
19866func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
19867	s.DiskName = &v
19868	return s
19869}
19870
19871type DetachDiskOutput struct {
19872	_ struct{} `type:"structure"`
19873
19874	// An array of objects that describe the result of the action, such as the status
19875	// of the request, the timestamp of the request, and the resources affected
19876	// by the request.
19877	Operations []*Operation `locationName:"operations" type:"list"`
19878}
19879
19880// String returns the string representation
19881func (s DetachDiskOutput) String() string {
19882	return awsutil.Prettify(s)
19883}
19884
19885// GoString returns the string representation
19886func (s DetachDiskOutput) GoString() string {
19887	return s.String()
19888}
19889
19890// SetOperations sets the Operations field's value.
19891func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
19892	s.Operations = v
19893	return s
19894}
19895
19896type DetachInstancesFromLoadBalancerInput struct {
19897	_ struct{} `type:"structure"`
19898
19899	// An array of strings containing the names of the instances you want to detach
19900	// from the load balancer.
19901	//
19902	// InstanceNames is a required field
19903	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
19904
19905	// The name of the Lightsail load balancer.
19906	//
19907	// LoadBalancerName is a required field
19908	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
19909}
19910
19911// String returns the string representation
19912func (s DetachInstancesFromLoadBalancerInput) String() string {
19913	return awsutil.Prettify(s)
19914}
19915
19916// GoString returns the string representation
19917func (s DetachInstancesFromLoadBalancerInput) GoString() string {
19918	return s.String()
19919}
19920
19921// Validate inspects the fields of the type to determine if they are valid.
19922func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
19923	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
19924	if s.InstanceNames == nil {
19925		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
19926	}
19927	if s.LoadBalancerName == nil {
19928		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
19929	}
19930
19931	if invalidParams.Len() > 0 {
19932		return invalidParams
19933	}
19934	return nil
19935}
19936
19937// SetInstanceNames sets the InstanceNames field's value.
19938func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
19939	s.InstanceNames = v
19940	return s
19941}
19942
19943// SetLoadBalancerName sets the LoadBalancerName field's value.
19944func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
19945	s.LoadBalancerName = &v
19946	return s
19947}
19948
19949type DetachInstancesFromLoadBalancerOutput struct {
19950	_ struct{} `type:"structure"`
19951
19952	// An array of objects that describe the result of the action, such as the status
19953	// of the request, the timestamp of the request, and the resources affected
19954	// by the request.
19955	Operations []*Operation `locationName:"operations" type:"list"`
19956}
19957
19958// String returns the string representation
19959func (s DetachInstancesFromLoadBalancerOutput) String() string {
19960	return awsutil.Prettify(s)
19961}
19962
19963// GoString returns the string representation
19964func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
19965	return s.String()
19966}
19967
19968// SetOperations sets the Operations field's value.
19969func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
19970	s.Operations = v
19971	return s
19972}
19973
19974type DetachStaticIpInput struct {
19975	_ struct{} `type:"structure"`
19976
19977	// The name of the static IP to detach from the instance.
19978	//
19979	// StaticIpName is a required field
19980	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
19981}
19982
19983// String returns the string representation
19984func (s DetachStaticIpInput) String() string {
19985	return awsutil.Prettify(s)
19986}
19987
19988// GoString returns the string representation
19989func (s DetachStaticIpInput) GoString() string {
19990	return s.String()
19991}
19992
19993// Validate inspects the fields of the type to determine if they are valid.
19994func (s *DetachStaticIpInput) Validate() error {
19995	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
19996	if s.StaticIpName == nil {
19997		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
19998	}
19999
20000	if invalidParams.Len() > 0 {
20001		return invalidParams
20002	}
20003	return nil
20004}
20005
20006// SetStaticIpName sets the StaticIpName field's value.
20007func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
20008	s.StaticIpName = &v
20009	return s
20010}
20011
20012type DetachStaticIpOutput struct {
20013	_ struct{} `type:"structure"`
20014
20015	// An array of objects that describe the result of the action, such as the status
20016	// of the request, the timestamp of the request, and the resources affected
20017	// by the request.
20018	Operations []*Operation `locationName:"operations" type:"list"`
20019}
20020
20021// String returns the string representation
20022func (s DetachStaticIpOutput) String() string {
20023	return awsutil.Prettify(s)
20024}
20025
20026// GoString returns the string representation
20027func (s DetachStaticIpOutput) GoString() string {
20028	return s.String()
20029}
20030
20031// SetOperations sets the Operations field's value.
20032func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
20033	s.Operations = v
20034	return s
20035}
20036
20037type DisableAddOnInput struct {
20038	_ struct{} `type:"structure"`
20039
20040	// The add-on type to disable.
20041	//
20042	// AddOnType is a required field
20043	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
20044
20045	// The name of the source resource for which to disable the add-on.
20046	//
20047	// ResourceName is a required field
20048	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
20049}
20050
20051// String returns the string representation
20052func (s DisableAddOnInput) String() string {
20053	return awsutil.Prettify(s)
20054}
20055
20056// GoString returns the string representation
20057func (s DisableAddOnInput) GoString() string {
20058	return s.String()
20059}
20060
20061// Validate inspects the fields of the type to determine if they are valid.
20062func (s *DisableAddOnInput) Validate() error {
20063	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
20064	if s.AddOnType == nil {
20065		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
20066	}
20067	if s.ResourceName == nil {
20068		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
20069	}
20070
20071	if invalidParams.Len() > 0 {
20072		return invalidParams
20073	}
20074	return nil
20075}
20076
20077// SetAddOnType sets the AddOnType field's value.
20078func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
20079	s.AddOnType = &v
20080	return s
20081}
20082
20083// SetResourceName sets the ResourceName field's value.
20084func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
20085	s.ResourceName = &v
20086	return s
20087}
20088
20089type DisableAddOnOutput struct {
20090	_ struct{} `type:"structure"`
20091
20092	// An array of objects that describe the result of the action, such as the status
20093	// of the request, the timestamp of the request, and the resources affected
20094	// by the request.
20095	Operations []*Operation `locationName:"operations" type:"list"`
20096}
20097
20098// String returns the string representation
20099func (s DisableAddOnOutput) String() string {
20100	return awsutil.Prettify(s)
20101}
20102
20103// GoString returns the string representation
20104func (s DisableAddOnOutput) GoString() string {
20105	return s.String()
20106}
20107
20108// SetOperations sets the Operations field's value.
20109func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
20110	s.Operations = v
20111	return s
20112}
20113
20114// Describes a system disk or a block storage disk.
20115type Disk struct {
20116	_ struct{} `type:"structure"`
20117
20118	// An array of objects representing the add-ons enabled on the disk.
20119	AddOns []*AddOn `locationName:"addOns" type:"list"`
20120
20121	// The Amazon Resource Name (ARN) of the disk.
20122	Arn *string `locationName:"arn" type:"string"`
20123
20124	// The resources to which the disk is attached.
20125	AttachedTo *string `locationName:"attachedTo" type:"string"`
20126
20127	// (Deprecated) The attachment state of the disk.
20128	//
20129	// In releases prior to November 14, 2017, this parameter returned attached
20130	// for system disks in the API response. It is now deprecated, but still included
20131	// in the response. Use isAttached instead.
20132	//
20133	// Deprecated: AttachmentState has been deprecated
20134	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
20135
20136	// The date when the disk was created.
20137	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20138
20139	// (Deprecated) The number of GB in use by the disk.
20140	//
20141	// In releases prior to November 14, 2017, this parameter was not included in
20142	// the API response. It is now deprecated.
20143	//
20144	// Deprecated: GbInUse has been deprecated
20145	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
20146
20147	// The input/output operations per second (IOPS) of the disk.
20148	Iops *int64 `locationName:"iops" type:"integer"`
20149
20150	// A Boolean value indicating whether the disk is attached.
20151	IsAttached *bool `locationName:"isAttached" type:"boolean"`
20152
20153	// A Boolean value indicating whether this disk is a system disk (has an operating
20154	// system loaded on it).
20155	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
20156
20157	// The AWS Region and Availability Zone where the disk is located.
20158	Location *ResourceLocation `locationName:"location" type:"structure"`
20159
20160	// The unique name of the disk.
20161	Name *string `locationName:"name" type:"string"`
20162
20163	// The disk path.
20164	Path *string `locationName:"path" type:"string"`
20165
20166	// The Lightsail resource type (e.g., Disk).
20167	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20168
20169	// The size of the disk in GB.
20170	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
20171
20172	// Describes the status of the disk.
20173	State *string `locationName:"state" type:"string" enum:"DiskState"`
20174
20175	// The support code. Include this code in your email to support when you have
20176	// questions about an instance or another resource in Lightsail. This code enables
20177	// our support team to look up your Lightsail information more easily.
20178	SupportCode *string `locationName:"supportCode" type:"string"`
20179
20180	// The tag keys and optional values for the resource. For more information about
20181	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20182	Tags []*Tag `locationName:"tags" type:"list"`
20183}
20184
20185// String returns the string representation
20186func (s Disk) String() string {
20187	return awsutil.Prettify(s)
20188}
20189
20190// GoString returns the string representation
20191func (s Disk) GoString() string {
20192	return s.String()
20193}
20194
20195// SetAddOns sets the AddOns field's value.
20196func (s *Disk) SetAddOns(v []*AddOn) *Disk {
20197	s.AddOns = v
20198	return s
20199}
20200
20201// SetArn sets the Arn field's value.
20202func (s *Disk) SetArn(v string) *Disk {
20203	s.Arn = &v
20204	return s
20205}
20206
20207// SetAttachedTo sets the AttachedTo field's value.
20208func (s *Disk) SetAttachedTo(v string) *Disk {
20209	s.AttachedTo = &v
20210	return s
20211}
20212
20213// SetAttachmentState sets the AttachmentState field's value.
20214func (s *Disk) SetAttachmentState(v string) *Disk {
20215	s.AttachmentState = &v
20216	return s
20217}
20218
20219// SetCreatedAt sets the CreatedAt field's value.
20220func (s *Disk) SetCreatedAt(v time.Time) *Disk {
20221	s.CreatedAt = &v
20222	return s
20223}
20224
20225// SetGbInUse sets the GbInUse field's value.
20226func (s *Disk) SetGbInUse(v int64) *Disk {
20227	s.GbInUse = &v
20228	return s
20229}
20230
20231// SetIops sets the Iops field's value.
20232func (s *Disk) SetIops(v int64) *Disk {
20233	s.Iops = &v
20234	return s
20235}
20236
20237// SetIsAttached sets the IsAttached field's value.
20238func (s *Disk) SetIsAttached(v bool) *Disk {
20239	s.IsAttached = &v
20240	return s
20241}
20242
20243// SetIsSystemDisk sets the IsSystemDisk field's value.
20244func (s *Disk) SetIsSystemDisk(v bool) *Disk {
20245	s.IsSystemDisk = &v
20246	return s
20247}
20248
20249// SetLocation sets the Location field's value.
20250func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
20251	s.Location = v
20252	return s
20253}
20254
20255// SetName sets the Name field's value.
20256func (s *Disk) SetName(v string) *Disk {
20257	s.Name = &v
20258	return s
20259}
20260
20261// SetPath sets the Path field's value.
20262func (s *Disk) SetPath(v string) *Disk {
20263	s.Path = &v
20264	return s
20265}
20266
20267// SetResourceType sets the ResourceType field's value.
20268func (s *Disk) SetResourceType(v string) *Disk {
20269	s.ResourceType = &v
20270	return s
20271}
20272
20273// SetSizeInGb sets the SizeInGb field's value.
20274func (s *Disk) SetSizeInGb(v int64) *Disk {
20275	s.SizeInGb = &v
20276	return s
20277}
20278
20279// SetState sets the State field's value.
20280func (s *Disk) SetState(v string) *Disk {
20281	s.State = &v
20282	return s
20283}
20284
20285// SetSupportCode sets the SupportCode field's value.
20286func (s *Disk) SetSupportCode(v string) *Disk {
20287	s.SupportCode = &v
20288	return s
20289}
20290
20291// SetTags sets the Tags field's value.
20292func (s *Disk) SetTags(v []*Tag) *Disk {
20293	s.Tags = v
20294	return s
20295}
20296
20297// Describes a disk.
20298type DiskInfo struct {
20299	_ struct{} `type:"structure"`
20300
20301	// A Boolean value indicating whether this disk is a system disk (has an operating
20302	// system loaded on it).
20303	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
20304
20305	// The disk name.
20306	Name *string `locationName:"name" type:"string"`
20307
20308	// The disk path.
20309	Path *string `locationName:"path" type:"string"`
20310
20311	// The size of the disk in GB (e.g., 32).
20312	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
20313}
20314
20315// String returns the string representation
20316func (s DiskInfo) String() string {
20317	return awsutil.Prettify(s)
20318}
20319
20320// GoString returns the string representation
20321func (s DiskInfo) GoString() string {
20322	return s.String()
20323}
20324
20325// SetIsSystemDisk sets the IsSystemDisk field's value.
20326func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
20327	s.IsSystemDisk = &v
20328	return s
20329}
20330
20331// SetName sets the Name field's value.
20332func (s *DiskInfo) SetName(v string) *DiskInfo {
20333	s.Name = &v
20334	return s
20335}
20336
20337// SetPath sets the Path field's value.
20338func (s *DiskInfo) SetPath(v string) *DiskInfo {
20339	s.Path = &v
20340	return s
20341}
20342
20343// SetSizeInGb sets the SizeInGb field's value.
20344func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
20345	s.SizeInGb = &v
20346	return s
20347}
20348
20349// Describes a block storage disk mapping.
20350type DiskMap struct {
20351	_ struct{} `type:"structure"`
20352
20353	// The new disk name (e.g., my-new-disk).
20354	NewDiskName *string `locationName:"newDiskName" type:"string"`
20355
20356	// The original disk path exposed to the instance (for example, /dev/sdh).
20357	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
20358}
20359
20360// String returns the string representation
20361func (s DiskMap) String() string {
20362	return awsutil.Prettify(s)
20363}
20364
20365// GoString returns the string representation
20366func (s DiskMap) GoString() string {
20367	return s.String()
20368}
20369
20370// SetNewDiskName sets the NewDiskName field's value.
20371func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
20372	s.NewDiskName = &v
20373	return s
20374}
20375
20376// SetOriginalDiskPath sets the OriginalDiskPath field's value.
20377func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
20378	s.OriginalDiskPath = &v
20379	return s
20380}
20381
20382// Describes a block storage disk snapshot.
20383type DiskSnapshot struct {
20384	_ struct{} `type:"structure"`
20385
20386	// The Amazon Resource Name (ARN) of the disk snapshot.
20387	Arn *string `locationName:"arn" type:"string"`
20388
20389	// The date when the disk snapshot was created.
20390	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20391
20392	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
20393	// was created.
20394	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
20395
20396	// The unique name of the source disk from which the disk snapshot was created.
20397	FromDiskName *string `locationName:"fromDiskName" type:"string"`
20398
20399	// The Amazon Resource Name (ARN) of the source instance from which the disk
20400	// (system volume) snapshot was created.
20401	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
20402
20403	// The unique name of the source instance from which the disk (system volume)
20404	// snapshot was created.
20405	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
20406
20407	// A Boolean value indicating whether the snapshot was created from an automatic
20408	// snapshot.
20409	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
20410
20411	// The AWS Region and Availability Zone where the disk snapshot was created.
20412	Location *ResourceLocation `locationName:"location" type:"structure"`
20413
20414	// The name of the disk snapshot (e.g., my-disk-snapshot).
20415	Name *string `locationName:"name" type:"string"`
20416
20417	// The progress of the disk snapshot operation.
20418	Progress *string `locationName:"progress" type:"string"`
20419
20420	// The Lightsail resource type (e.g., DiskSnapshot).
20421	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20422
20423	// The size of the disk in GB.
20424	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
20425
20426	// The status of the disk snapshot operation.
20427	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
20428
20429	// The support code. Include this code in your email to support when you have
20430	// questions about an instance or another resource in Lightsail. This code enables
20431	// our support team to look up your Lightsail information more easily.
20432	SupportCode *string `locationName:"supportCode" type:"string"`
20433
20434	// The tag keys and optional values for the resource. For more information about
20435	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20436	Tags []*Tag `locationName:"tags" type:"list"`
20437}
20438
20439// String returns the string representation
20440func (s DiskSnapshot) String() string {
20441	return awsutil.Prettify(s)
20442}
20443
20444// GoString returns the string representation
20445func (s DiskSnapshot) GoString() string {
20446	return s.String()
20447}
20448
20449// SetArn sets the Arn field's value.
20450func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
20451	s.Arn = &v
20452	return s
20453}
20454
20455// SetCreatedAt sets the CreatedAt field's value.
20456func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
20457	s.CreatedAt = &v
20458	return s
20459}
20460
20461// SetFromDiskArn sets the FromDiskArn field's value.
20462func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
20463	s.FromDiskArn = &v
20464	return s
20465}
20466
20467// SetFromDiskName sets the FromDiskName field's value.
20468func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
20469	s.FromDiskName = &v
20470	return s
20471}
20472
20473// SetFromInstanceArn sets the FromInstanceArn field's value.
20474func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
20475	s.FromInstanceArn = &v
20476	return s
20477}
20478
20479// SetFromInstanceName sets the FromInstanceName field's value.
20480func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
20481	s.FromInstanceName = &v
20482	return s
20483}
20484
20485// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
20486func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
20487	s.IsFromAutoSnapshot = &v
20488	return s
20489}
20490
20491// SetLocation sets the Location field's value.
20492func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
20493	s.Location = v
20494	return s
20495}
20496
20497// SetName sets the Name field's value.
20498func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
20499	s.Name = &v
20500	return s
20501}
20502
20503// SetProgress sets the Progress field's value.
20504func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
20505	s.Progress = &v
20506	return s
20507}
20508
20509// SetResourceType sets the ResourceType field's value.
20510func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
20511	s.ResourceType = &v
20512	return s
20513}
20514
20515// SetSizeInGb sets the SizeInGb field's value.
20516func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
20517	s.SizeInGb = &v
20518	return s
20519}
20520
20521// SetState sets the State field's value.
20522func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
20523	s.State = &v
20524	return s
20525}
20526
20527// SetSupportCode sets the SupportCode field's value.
20528func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
20529	s.SupportCode = &v
20530	return s
20531}
20532
20533// SetTags sets the Tags field's value.
20534func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
20535	s.Tags = v
20536	return s
20537}
20538
20539// Describes a disk snapshot.
20540type DiskSnapshotInfo struct {
20541	_ struct{} `type:"structure"`
20542
20543	// The size of the disk in GB (e.g., 32).
20544	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
20545}
20546
20547// String returns the string representation
20548func (s DiskSnapshotInfo) String() string {
20549	return awsutil.Prettify(s)
20550}
20551
20552// GoString returns the string representation
20553func (s DiskSnapshotInfo) GoString() string {
20554	return s.String()
20555}
20556
20557// SetSizeInGb sets the SizeInGb field's value.
20558func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
20559	s.SizeInGb = &v
20560	return s
20561}
20562
20563// Describes the specifications of a distribution bundle.
20564type DistributionBundle struct {
20565	_ struct{} `type:"structure"`
20566
20567	// The ID of the bundle.
20568	BundleId *string `locationName:"bundleId" type:"string"`
20569
20570	// Indicates whether the bundle is active, and can be specified for a new distribution.
20571	IsActive *bool `locationName:"isActive" type:"boolean"`
20572
20573	// The name of the distribution bundle.
20574	Name *string `locationName:"name" type:"string"`
20575
20576	// The monthly price, in US dollars, of the bundle.
20577	Price *float64 `locationName:"price" type:"float"`
20578
20579	// The monthly network transfer quota of the bundle.
20580	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
20581}
20582
20583// String returns the string representation
20584func (s DistributionBundle) String() string {
20585	return awsutil.Prettify(s)
20586}
20587
20588// GoString returns the string representation
20589func (s DistributionBundle) GoString() string {
20590	return s.String()
20591}
20592
20593// SetBundleId sets the BundleId field's value.
20594func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle {
20595	s.BundleId = &v
20596	return s
20597}
20598
20599// SetIsActive sets the IsActive field's value.
20600func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle {
20601	s.IsActive = &v
20602	return s
20603}
20604
20605// SetName sets the Name field's value.
20606func (s *DistributionBundle) SetName(v string) *DistributionBundle {
20607	s.Name = &v
20608	return s
20609}
20610
20611// SetPrice sets the Price field's value.
20612func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle {
20613	s.Price = &v
20614	return s
20615}
20616
20617// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
20618func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle {
20619	s.TransferPerMonthInGb = &v
20620	return s
20621}
20622
20623// Describes a domain where you are storing recordsets in Lightsail.
20624type Domain struct {
20625	_ struct{} `type:"structure"`
20626
20627	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
20628	Arn *string `locationName:"arn" type:"string"`
20629
20630	// The date when the domain recordset was created.
20631	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20632
20633	// An array of key-value pairs containing information about the domain entries.
20634	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
20635
20636	// The AWS Region and Availability Zones where the domain recordset was created.
20637	Location *ResourceLocation `locationName:"location" type:"structure"`
20638
20639	// The name of the domain.
20640	Name *string `locationName:"name" type:"string"`
20641
20642	// The resource type.
20643	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20644
20645	// The support code. Include this code in your email to support when you have
20646	// questions about an instance or another resource in Lightsail. This code enables
20647	// our support team to look up your Lightsail information more easily.
20648	SupportCode *string `locationName:"supportCode" type:"string"`
20649
20650	// The tag keys and optional values for the resource. For more information about
20651	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20652	Tags []*Tag `locationName:"tags" type:"list"`
20653}
20654
20655// String returns the string representation
20656func (s Domain) String() string {
20657	return awsutil.Prettify(s)
20658}
20659
20660// GoString returns the string representation
20661func (s Domain) GoString() string {
20662	return s.String()
20663}
20664
20665// SetArn sets the Arn field's value.
20666func (s *Domain) SetArn(v string) *Domain {
20667	s.Arn = &v
20668	return s
20669}
20670
20671// SetCreatedAt sets the CreatedAt field's value.
20672func (s *Domain) SetCreatedAt(v time.Time) *Domain {
20673	s.CreatedAt = &v
20674	return s
20675}
20676
20677// SetDomainEntries sets the DomainEntries field's value.
20678func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
20679	s.DomainEntries = v
20680	return s
20681}
20682
20683// SetLocation sets the Location field's value.
20684func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
20685	s.Location = v
20686	return s
20687}
20688
20689// SetName sets the Name field's value.
20690func (s *Domain) SetName(v string) *Domain {
20691	s.Name = &v
20692	return s
20693}
20694
20695// SetResourceType sets the ResourceType field's value.
20696func (s *Domain) SetResourceType(v string) *Domain {
20697	s.ResourceType = &v
20698	return s
20699}
20700
20701// SetSupportCode sets the SupportCode field's value.
20702func (s *Domain) SetSupportCode(v string) *Domain {
20703	s.SupportCode = &v
20704	return s
20705}
20706
20707// SetTags sets the Tags field's value.
20708func (s *Domain) SetTags(v []*Tag) *Domain {
20709	s.Tags = v
20710	return s
20711}
20712
20713// Describes a domain recordset entry.
20714type DomainEntry struct {
20715	_ struct{} `type:"structure"`
20716
20717	// The ID of the domain recordset entry.
20718	Id *string `locationName:"id" type:"string"`
20719
20720	// When true, specifies whether the domain entry is an alias used by the Lightsail
20721	// load balancer. You can include an alias (A type) record in your request,
20722	// which points to a load balancer DNS name and routes traffic to your load
20723	// balancer
20724	IsAlias *bool `locationName:"isAlias" type:"boolean"`
20725
20726	// The name of the domain.
20727	Name *string `locationName:"name" type:"string"`
20728
20729	// (Deprecated) The options for the domain entry.
20730	//
20731	// In releases prior to November 29, 2017, this parameter was not included in
20732	// the API response. It is now deprecated.
20733	//
20734	// Deprecated: Options has been deprecated
20735	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
20736
20737	// The target AWS name server (e.g., ns-111.awsdns-22.com.).
20738	//
20739	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
20740	// Be sure to also set isAlias to true when setting up an A record for a load
20741	// balancer.
20742	Target *string `locationName:"target" type:"string"`
20743
20744	// The type of domain entry, such as address (A), canonical name (CNAME), mail
20745	// exchanger (MX), name server (NS), start of authority (SOA), service locator
20746	// (SRV), or text (TXT).
20747	//
20748	// The following domain entry types can be used:
20749	//
20750	//    * A
20751	//
20752	//    * CNAME
20753	//
20754	//    * MX
20755	//
20756	//    * NS
20757	//
20758	//    * SOA
20759	//
20760	//    * SRV
20761	//
20762	//    * TXT
20763	Type *string `locationName:"type" type:"string"`
20764}
20765
20766// String returns the string representation
20767func (s DomainEntry) String() string {
20768	return awsutil.Prettify(s)
20769}
20770
20771// GoString returns the string representation
20772func (s DomainEntry) GoString() string {
20773	return s.String()
20774}
20775
20776// SetId sets the Id field's value.
20777func (s *DomainEntry) SetId(v string) *DomainEntry {
20778	s.Id = &v
20779	return s
20780}
20781
20782// SetIsAlias sets the IsAlias field's value.
20783func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
20784	s.IsAlias = &v
20785	return s
20786}
20787
20788// SetName sets the Name field's value.
20789func (s *DomainEntry) SetName(v string) *DomainEntry {
20790	s.Name = &v
20791	return s
20792}
20793
20794// SetOptions sets the Options field's value.
20795func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
20796	s.Options = v
20797	return s
20798}
20799
20800// SetTarget sets the Target field's value.
20801func (s *DomainEntry) SetTarget(v string) *DomainEntry {
20802	s.Target = &v
20803	return s
20804}
20805
20806// SetType sets the Type field's value.
20807func (s *DomainEntry) SetType(v string) *DomainEntry {
20808	s.Type = &v
20809	return s
20810}
20811
20812// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate.
20813type DomainValidationRecord struct {
20814	_ struct{} `type:"structure"`
20815
20816	// The domain name of the certificate validation record. For example, example.com
20817	// or www.example.com.
20818	DomainName *string `locationName:"domainName" type:"string"`
20819
20820	// An object that describes the DNS records to add to your domain's DNS to validate
20821	// it for the certificate.
20822	ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"`
20823}
20824
20825// String returns the string representation
20826func (s DomainValidationRecord) String() string {
20827	return awsutil.Prettify(s)
20828}
20829
20830// GoString returns the string representation
20831func (s DomainValidationRecord) GoString() string {
20832	return s.String()
20833}
20834
20835// SetDomainName sets the DomainName field's value.
20836func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord {
20837	s.DomainName = &v
20838	return s
20839}
20840
20841// SetResourceRecord sets the ResourceRecord field's value.
20842func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord {
20843	s.ResourceRecord = v
20844	return s
20845}
20846
20847type DownloadDefaultKeyPairInput struct {
20848	_ struct{} `type:"structure"`
20849}
20850
20851// String returns the string representation
20852func (s DownloadDefaultKeyPairInput) String() string {
20853	return awsutil.Prettify(s)
20854}
20855
20856// GoString returns the string representation
20857func (s DownloadDefaultKeyPairInput) GoString() string {
20858	return s.String()
20859}
20860
20861type DownloadDefaultKeyPairOutput struct {
20862	_ struct{} `type:"structure"`
20863
20864	// A base64-encoded RSA private key.
20865	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
20866
20867	// A base64-encoded public key of the ssh-rsa type.
20868	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
20869}
20870
20871// String returns the string representation
20872func (s DownloadDefaultKeyPairOutput) String() string {
20873	return awsutil.Prettify(s)
20874}
20875
20876// GoString returns the string representation
20877func (s DownloadDefaultKeyPairOutput) GoString() string {
20878	return s.String()
20879}
20880
20881// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
20882func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
20883	s.PrivateKeyBase64 = &v
20884	return s
20885}
20886
20887// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
20888func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
20889	s.PublicKeyBase64 = &v
20890	return s
20891}
20892
20893type EnableAddOnInput struct {
20894	_ struct{} `type:"structure"`
20895
20896	// An array of strings representing the add-on to enable or modify.
20897	//
20898	// AddOnRequest is a required field
20899	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
20900
20901	// The name of the source resource for which to enable or modify the add-on.
20902	//
20903	// ResourceName is a required field
20904	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
20905}
20906
20907// String returns the string representation
20908func (s EnableAddOnInput) String() string {
20909	return awsutil.Prettify(s)
20910}
20911
20912// GoString returns the string representation
20913func (s EnableAddOnInput) GoString() string {
20914	return s.String()
20915}
20916
20917// Validate inspects the fields of the type to determine if they are valid.
20918func (s *EnableAddOnInput) Validate() error {
20919	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
20920	if s.AddOnRequest == nil {
20921		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
20922	}
20923	if s.ResourceName == nil {
20924		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
20925	}
20926	if s.AddOnRequest != nil {
20927		if err := s.AddOnRequest.Validate(); err != nil {
20928			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
20929		}
20930	}
20931
20932	if invalidParams.Len() > 0 {
20933		return invalidParams
20934	}
20935	return nil
20936}
20937
20938// SetAddOnRequest sets the AddOnRequest field's value.
20939func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
20940	s.AddOnRequest = v
20941	return s
20942}
20943
20944// SetResourceName sets the ResourceName field's value.
20945func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
20946	s.ResourceName = &v
20947	return s
20948}
20949
20950type EnableAddOnOutput struct {
20951	_ struct{} `type:"structure"`
20952
20953	// An array of objects that describe the result of the action, such as the status
20954	// of the request, the timestamp of the request, and the resources affected
20955	// by the request.
20956	Operations []*Operation `locationName:"operations" type:"list"`
20957}
20958
20959// String returns the string representation
20960func (s EnableAddOnOutput) String() string {
20961	return awsutil.Prettify(s)
20962}
20963
20964// GoString returns the string representation
20965func (s EnableAddOnOutput) GoString() string {
20966	return s.String()
20967}
20968
20969// SetOperations sets the Operations field's value.
20970func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
20971	s.Operations = v
20972	return s
20973}
20974
20975type ExportSnapshotInput struct {
20976	_ struct{} `type:"structure"`
20977
20978	// The name of the instance or disk snapshot to be exported to Amazon EC2.
20979	//
20980	// SourceSnapshotName is a required field
20981	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
20982}
20983
20984// String returns the string representation
20985func (s ExportSnapshotInput) String() string {
20986	return awsutil.Prettify(s)
20987}
20988
20989// GoString returns the string representation
20990func (s ExportSnapshotInput) GoString() string {
20991	return s.String()
20992}
20993
20994// Validate inspects the fields of the type to determine if they are valid.
20995func (s *ExportSnapshotInput) Validate() error {
20996	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
20997	if s.SourceSnapshotName == nil {
20998		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
20999	}
21000
21001	if invalidParams.Len() > 0 {
21002		return invalidParams
21003	}
21004	return nil
21005}
21006
21007// SetSourceSnapshotName sets the SourceSnapshotName field's value.
21008func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
21009	s.SourceSnapshotName = &v
21010	return s
21011}
21012
21013type ExportSnapshotOutput struct {
21014	_ struct{} `type:"structure"`
21015
21016	// An array of objects that describe the result of the action, such as the status
21017	// of the request, the timestamp of the request, and the resources affected
21018	// by the request.
21019	Operations []*Operation `locationName:"operations" type:"list"`
21020}
21021
21022// String returns the string representation
21023func (s ExportSnapshotOutput) String() string {
21024	return awsutil.Prettify(s)
21025}
21026
21027// GoString returns the string representation
21028func (s ExportSnapshotOutput) GoString() string {
21029	return s.String()
21030}
21031
21032// SetOperations sets the Operations field's value.
21033func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
21034	s.Operations = v
21035	return s
21036}
21037
21038// Describes an export snapshot record.
21039type ExportSnapshotRecord struct {
21040	_ struct{} `type:"structure"`
21041
21042	// The Amazon Resource Name (ARN) of the export snapshot record.
21043	Arn *string `locationName:"arn" type:"string"`
21044
21045	// The date when the export snapshot record was created.
21046	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21047
21048	// A list of objects describing the destination of the export snapshot record.
21049	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
21050
21051	// The AWS Region and Availability Zone where the export snapshot record is
21052	// located.
21053	Location *ResourceLocation `locationName:"location" type:"structure"`
21054
21055	// The export snapshot record name.
21056	Name *string `locationName:"name" type:"string"`
21057
21058	// The Lightsail resource type (e.g., ExportSnapshotRecord).
21059	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21060
21061	// A list of objects describing the source of the export snapshot record.
21062	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
21063
21064	// The state of the export snapshot record.
21065	State *string `locationName:"state" type:"string" enum:"RecordState"`
21066}
21067
21068// String returns the string representation
21069func (s ExportSnapshotRecord) String() string {
21070	return awsutil.Prettify(s)
21071}
21072
21073// GoString returns the string representation
21074func (s ExportSnapshotRecord) GoString() string {
21075	return s.String()
21076}
21077
21078// SetArn sets the Arn field's value.
21079func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
21080	s.Arn = &v
21081	return s
21082}
21083
21084// SetCreatedAt sets the CreatedAt field's value.
21085func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
21086	s.CreatedAt = &v
21087	return s
21088}
21089
21090// SetDestinationInfo sets the DestinationInfo field's value.
21091func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
21092	s.DestinationInfo = v
21093	return s
21094}
21095
21096// SetLocation sets the Location field's value.
21097func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
21098	s.Location = v
21099	return s
21100}
21101
21102// SetName sets the Name field's value.
21103func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
21104	s.Name = &v
21105	return s
21106}
21107
21108// SetResourceType sets the ResourceType field's value.
21109func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
21110	s.ResourceType = &v
21111	return s
21112}
21113
21114// SetSourceInfo sets the SourceInfo field's value.
21115func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
21116	s.SourceInfo = v
21117	return s
21118}
21119
21120// SetState sets the State field's value.
21121func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
21122	s.State = &v
21123	return s
21124}
21125
21126// Describes the source of an export snapshot record.
21127type ExportSnapshotRecordSourceInfo struct {
21128	_ struct{} `type:"structure"`
21129
21130	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
21131	Arn *string `locationName:"arn" type:"string"`
21132
21133	// The date when the source instance or disk snapshot was created.
21134	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21135
21136	// A list of objects describing a disk snapshot.
21137	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
21138
21139	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
21140	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
21141
21142	// The name of the snapshot's source instance or disk.
21143	FromResourceName *string `locationName:"fromResourceName" type:"string"`
21144
21145	// A list of objects describing an instance snapshot.
21146	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
21147
21148	// The name of the source instance or disk snapshot.
21149	Name *string `locationName:"name" type:"string"`
21150
21151	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
21152	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
21153}
21154
21155// String returns the string representation
21156func (s ExportSnapshotRecordSourceInfo) String() string {
21157	return awsutil.Prettify(s)
21158}
21159
21160// GoString returns the string representation
21161func (s ExportSnapshotRecordSourceInfo) GoString() string {
21162	return s.String()
21163}
21164
21165// SetArn sets the Arn field's value.
21166func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
21167	s.Arn = &v
21168	return s
21169}
21170
21171// SetCreatedAt sets the CreatedAt field's value.
21172func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
21173	s.CreatedAt = &v
21174	return s
21175}
21176
21177// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
21178func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
21179	s.DiskSnapshotInfo = v
21180	return s
21181}
21182
21183// SetFromResourceArn sets the FromResourceArn field's value.
21184func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
21185	s.FromResourceArn = &v
21186	return s
21187}
21188
21189// SetFromResourceName sets the FromResourceName field's value.
21190func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
21191	s.FromResourceName = &v
21192	return s
21193}
21194
21195// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
21196func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
21197	s.InstanceSnapshotInfo = v
21198	return s
21199}
21200
21201// SetName sets the Name field's value.
21202func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
21203	s.Name = &v
21204	return s
21205}
21206
21207// SetResourceType sets the ResourceType field's value.
21208func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
21209	s.ResourceType = &v
21210	return s
21211}
21212
21213type GetActiveNamesInput struct {
21214	_ struct{} `type:"structure"`
21215
21216	// The token to advance to the next page of results from your request.
21217	//
21218	// To get a page token, perform an initial GetActiveNames request. If your results
21219	// are paginated, the response will return a next page token that you can specify
21220	// as the page token in a subsequent request.
21221	PageToken *string `locationName:"pageToken" type:"string"`
21222}
21223
21224// String returns the string representation
21225func (s GetActiveNamesInput) String() string {
21226	return awsutil.Prettify(s)
21227}
21228
21229// GoString returns the string representation
21230func (s GetActiveNamesInput) GoString() string {
21231	return s.String()
21232}
21233
21234// SetPageToken sets the PageToken field's value.
21235func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
21236	s.PageToken = &v
21237	return s
21238}
21239
21240type GetActiveNamesOutput struct {
21241	_ struct{} `type:"structure"`
21242
21243	// The list of active names returned by the get active names request.
21244	ActiveNames []*string `locationName:"activeNames" type:"list"`
21245
21246	// The token to advance to the next page of resutls from your request.
21247	//
21248	// A next page token is not returned if there are no more results to display.
21249	//
21250	// To get the next page of results, perform another GetActiveNames request and
21251	// specify the next page token using the pageToken parameter.
21252	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21253}
21254
21255// String returns the string representation
21256func (s GetActiveNamesOutput) String() string {
21257	return awsutil.Prettify(s)
21258}
21259
21260// GoString returns the string representation
21261func (s GetActiveNamesOutput) GoString() string {
21262	return s.String()
21263}
21264
21265// SetActiveNames sets the ActiveNames field's value.
21266func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
21267	s.ActiveNames = v
21268	return s
21269}
21270
21271// SetNextPageToken sets the NextPageToken field's value.
21272func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
21273	s.NextPageToken = &v
21274	return s
21275}
21276
21277type GetAlarmsInput struct {
21278	_ struct{} `type:"structure"`
21279
21280	// The name of the alarm.
21281	//
21282	// Specify an alarm name to return information about a specific alarm.
21283	AlarmName *string `locationName:"alarmName" type:"string"`
21284
21285	// The name of the Lightsail resource being monitored by the alarm.
21286	//
21287	// Specify a monitored resource name to return information about all alarms
21288	// for a specific resource.
21289	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"`
21290
21291	// The token to advance to the next page of results from your request.
21292	//
21293	// To get a page token, perform an initial GetAlarms request. If your results
21294	// are paginated, the response will return a next page token that you can specify
21295	// as the page token in a subsequent request.
21296	PageToken *string `locationName:"pageToken" type:"string"`
21297}
21298
21299// String returns the string representation
21300func (s GetAlarmsInput) String() string {
21301	return awsutil.Prettify(s)
21302}
21303
21304// GoString returns the string representation
21305func (s GetAlarmsInput) GoString() string {
21306	return s.String()
21307}
21308
21309// SetAlarmName sets the AlarmName field's value.
21310func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput {
21311	s.AlarmName = &v
21312	return s
21313}
21314
21315// SetMonitoredResourceName sets the MonitoredResourceName field's value.
21316func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput {
21317	s.MonitoredResourceName = &v
21318	return s
21319}
21320
21321// SetPageToken sets the PageToken field's value.
21322func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput {
21323	s.PageToken = &v
21324	return s
21325}
21326
21327type GetAlarmsOutput struct {
21328	_ struct{} `type:"structure"`
21329
21330	// An array of objects that describe the alarms.
21331	Alarms []*Alarm `locationName:"alarms" type:"list"`
21332
21333	// The token to advance to the next page of resutls from your request.
21334	//
21335	// A next page token is not returned if there are no more results to display.
21336	//
21337	// To get the next page of results, perform another GetAlarms request and specify
21338	// the next page token using the pageToken parameter.
21339	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21340}
21341
21342// String returns the string representation
21343func (s GetAlarmsOutput) String() string {
21344	return awsutil.Prettify(s)
21345}
21346
21347// GoString returns the string representation
21348func (s GetAlarmsOutput) GoString() string {
21349	return s.String()
21350}
21351
21352// SetAlarms sets the Alarms field's value.
21353func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput {
21354	s.Alarms = v
21355	return s
21356}
21357
21358// SetNextPageToken sets the NextPageToken field's value.
21359func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput {
21360	s.NextPageToken = &v
21361	return s
21362}
21363
21364type GetAutoSnapshotsInput struct {
21365	_ struct{} `type:"structure"`
21366
21367	// The name of the source instance or disk from which to get automatic snapshot
21368	// information.
21369	//
21370	// ResourceName is a required field
21371	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
21372}
21373
21374// String returns the string representation
21375func (s GetAutoSnapshotsInput) String() string {
21376	return awsutil.Prettify(s)
21377}
21378
21379// GoString returns the string representation
21380func (s GetAutoSnapshotsInput) GoString() string {
21381	return s.String()
21382}
21383
21384// Validate inspects the fields of the type to determine if they are valid.
21385func (s *GetAutoSnapshotsInput) Validate() error {
21386	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
21387	if s.ResourceName == nil {
21388		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
21389	}
21390
21391	if invalidParams.Len() > 0 {
21392		return invalidParams
21393	}
21394	return nil
21395}
21396
21397// SetResourceName sets the ResourceName field's value.
21398func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
21399	s.ResourceName = &v
21400	return s
21401}
21402
21403type GetAutoSnapshotsOutput struct {
21404	_ struct{} `type:"structure"`
21405
21406	// An array of objects that describe the automatic snapshots that are available
21407	// for the specified source instance or disk.
21408	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
21409
21410	// The name of the source instance or disk for the automatic snapshots.
21411	ResourceName *string `locationName:"resourceName" type:"string"`
21412
21413	// The resource type (e.g., Instance or Disk).
21414	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21415}
21416
21417// String returns the string representation
21418func (s GetAutoSnapshotsOutput) String() string {
21419	return awsutil.Prettify(s)
21420}
21421
21422// GoString returns the string representation
21423func (s GetAutoSnapshotsOutput) GoString() string {
21424	return s.String()
21425}
21426
21427// SetAutoSnapshots sets the AutoSnapshots field's value.
21428func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
21429	s.AutoSnapshots = v
21430	return s
21431}
21432
21433// SetResourceName sets the ResourceName field's value.
21434func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
21435	s.ResourceName = &v
21436	return s
21437}
21438
21439// SetResourceType sets the ResourceType field's value.
21440func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
21441	s.ResourceType = &v
21442	return s
21443}
21444
21445type GetBlueprintsInput struct {
21446	_ struct{} `type:"structure"`
21447
21448	// A Boolean value indicating whether to include inactive results in your request.
21449	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
21450
21451	// The token to advance to the next page of results from your request.
21452	//
21453	// To get a page token, perform an initial GetBlueprints request. If your results
21454	// are paginated, the response will return a next page token that you can specify
21455	// as the page token in a subsequent request.
21456	PageToken *string `locationName:"pageToken" type:"string"`
21457}
21458
21459// String returns the string representation
21460func (s GetBlueprintsInput) String() string {
21461	return awsutil.Prettify(s)
21462}
21463
21464// GoString returns the string representation
21465func (s GetBlueprintsInput) GoString() string {
21466	return s.String()
21467}
21468
21469// SetIncludeInactive sets the IncludeInactive field's value.
21470func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
21471	s.IncludeInactive = &v
21472	return s
21473}
21474
21475// SetPageToken sets the PageToken field's value.
21476func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
21477	s.PageToken = &v
21478	return s
21479}
21480
21481type GetBlueprintsOutput struct {
21482	_ struct{} `type:"structure"`
21483
21484	// An array of key-value pairs that contains information about the available
21485	// blueprints.
21486	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
21487
21488	// The token to advance to the next page of resutls from your request.
21489	//
21490	// A next page token is not returned if there are no more results to display.
21491	//
21492	// To get the next page of results, perform another GetBlueprints request and
21493	// specify the next page token using the pageToken parameter.
21494	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21495}
21496
21497// String returns the string representation
21498func (s GetBlueprintsOutput) String() string {
21499	return awsutil.Prettify(s)
21500}
21501
21502// GoString returns the string representation
21503func (s GetBlueprintsOutput) GoString() string {
21504	return s.String()
21505}
21506
21507// SetBlueprints sets the Blueprints field's value.
21508func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
21509	s.Blueprints = v
21510	return s
21511}
21512
21513// SetNextPageToken sets the NextPageToken field's value.
21514func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
21515	s.NextPageToken = &v
21516	return s
21517}
21518
21519type GetBundlesInput struct {
21520	_ struct{} `type:"structure"`
21521
21522	// A Boolean value that indicates whether to include inactive bundle results
21523	// in your request.
21524	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
21525
21526	// The token to advance to the next page of results from your request.
21527	//
21528	// To get a page token, perform an initial GetBundles request. If your results
21529	// are paginated, the response will return a next page token that you can specify
21530	// as the page token in a subsequent request.
21531	PageToken *string `locationName:"pageToken" type:"string"`
21532}
21533
21534// String returns the string representation
21535func (s GetBundlesInput) String() string {
21536	return awsutil.Prettify(s)
21537}
21538
21539// GoString returns the string representation
21540func (s GetBundlesInput) GoString() string {
21541	return s.String()
21542}
21543
21544// SetIncludeInactive sets the IncludeInactive field's value.
21545func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
21546	s.IncludeInactive = &v
21547	return s
21548}
21549
21550// SetPageToken sets the PageToken field's value.
21551func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
21552	s.PageToken = &v
21553	return s
21554}
21555
21556type GetBundlesOutput struct {
21557	_ struct{} `type:"structure"`
21558
21559	// An array of key-value pairs that contains information about the available
21560	// bundles.
21561	Bundles []*Bundle `locationName:"bundles" type:"list"`
21562
21563	// The token to advance to the next page of resutls from your request.
21564	//
21565	// A next page token is not returned if there are no more results to display.
21566	//
21567	// To get the next page of results, perform another GetBundles request and specify
21568	// the next page token using the pageToken parameter.
21569	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21570}
21571
21572// String returns the string representation
21573func (s GetBundlesOutput) String() string {
21574	return awsutil.Prettify(s)
21575}
21576
21577// GoString returns the string representation
21578func (s GetBundlesOutput) GoString() string {
21579	return s.String()
21580}
21581
21582// SetBundles sets the Bundles field's value.
21583func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
21584	s.Bundles = v
21585	return s
21586}
21587
21588// SetNextPageToken sets the NextPageToken field's value.
21589func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
21590	s.NextPageToken = &v
21591	return s
21592}
21593
21594type GetCertificatesInput struct {
21595	_ struct{} `type:"structure"`
21596
21597	// The name for the certificate for which to return information.
21598	//
21599	// When omitted, the response includes all of your certificates in the AWS region
21600	// where the request is made.
21601	CertificateName *string `locationName:"certificateName" type:"string"`
21602
21603	// The status of the certificates for which to return information.
21604	//
21605	// For example, specify ISSUED to return only certificates with an ISSUED status.
21606	//
21607	// When omitted, the response includes all of your certificates in the AWS region
21608	// where the request is made, regardless of their current status.
21609	CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"`
21610
21611	// Indicates whether to include detailed information about the certificates
21612	// in the response.
21613	//
21614	// When omitted, the response includes only the certificate names, Amazon Resource
21615	// Names (ARNs), domain names, and tags.
21616	IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"`
21617}
21618
21619// String returns the string representation
21620func (s GetCertificatesInput) String() string {
21621	return awsutil.Prettify(s)
21622}
21623
21624// GoString returns the string representation
21625func (s GetCertificatesInput) GoString() string {
21626	return s.String()
21627}
21628
21629// SetCertificateName sets the CertificateName field's value.
21630func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput {
21631	s.CertificateName = &v
21632	return s
21633}
21634
21635// SetCertificateStatuses sets the CertificateStatuses field's value.
21636func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput {
21637	s.CertificateStatuses = v
21638	return s
21639}
21640
21641// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value.
21642func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput {
21643	s.IncludeCertificateDetails = &v
21644	return s
21645}
21646
21647type GetCertificatesOutput struct {
21648	_ struct{} `type:"structure"`
21649
21650	// An object that describes certificates.
21651	Certificates []*CertificateSummary `locationName:"certificates" type:"list"`
21652}
21653
21654// String returns the string representation
21655func (s GetCertificatesOutput) String() string {
21656	return awsutil.Prettify(s)
21657}
21658
21659// GoString returns the string representation
21660func (s GetCertificatesOutput) GoString() string {
21661	return s.String()
21662}
21663
21664// SetCertificates sets the Certificates field's value.
21665func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput {
21666	s.Certificates = v
21667	return s
21668}
21669
21670type GetCloudFormationStackRecordsInput struct {
21671	_ struct{} `type:"structure"`
21672
21673	// The token to advance to the next page of results from your request.
21674	//
21675	// To get a page token, perform an initial GetClouFormationStackRecords request.
21676	// If your results are paginated, the response will return a next page token
21677	// that you can specify as the page token in a subsequent request.
21678	PageToken *string `locationName:"pageToken" type:"string"`
21679}
21680
21681// String returns the string representation
21682func (s GetCloudFormationStackRecordsInput) String() string {
21683	return awsutil.Prettify(s)
21684}
21685
21686// GoString returns the string representation
21687func (s GetCloudFormationStackRecordsInput) GoString() string {
21688	return s.String()
21689}
21690
21691// SetPageToken sets the PageToken field's value.
21692func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
21693	s.PageToken = &v
21694	return s
21695}
21696
21697type GetCloudFormationStackRecordsOutput struct {
21698	_ struct{} `type:"structure"`
21699
21700	// A list of objects describing the CloudFormation stack records.
21701	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
21702
21703	// The token to advance to the next page of resutls from your request.
21704	//
21705	// A next page token is not returned if there are no more results to display.
21706	//
21707	// To get the next page of results, perform another GetCloudFormationStackRecords
21708	// request and specify the next page token using the pageToken parameter.
21709	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21710}
21711
21712// String returns the string representation
21713func (s GetCloudFormationStackRecordsOutput) String() string {
21714	return awsutil.Prettify(s)
21715}
21716
21717// GoString returns the string representation
21718func (s GetCloudFormationStackRecordsOutput) GoString() string {
21719	return s.String()
21720}
21721
21722// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
21723func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
21724	s.CloudFormationStackRecords = v
21725	return s
21726}
21727
21728// SetNextPageToken sets the NextPageToken field's value.
21729func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
21730	s.NextPageToken = &v
21731	return s
21732}
21733
21734type GetContactMethodsInput struct {
21735	_ struct{} `type:"structure"`
21736
21737	// The protocols used to send notifications, such as Email, or SMS (text messaging).
21738	//
21739	// Specify a protocol in your request to return information about a specific
21740	// contact method protocol.
21741	Protocols []*string `locationName:"protocols" type:"list"`
21742}
21743
21744// String returns the string representation
21745func (s GetContactMethodsInput) String() string {
21746	return awsutil.Prettify(s)
21747}
21748
21749// GoString returns the string representation
21750func (s GetContactMethodsInput) GoString() string {
21751	return s.String()
21752}
21753
21754// SetProtocols sets the Protocols field's value.
21755func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput {
21756	s.Protocols = v
21757	return s
21758}
21759
21760type GetContactMethodsOutput struct {
21761	_ struct{} `type:"structure"`
21762
21763	// An array of objects that describe the contact methods.
21764	ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"`
21765}
21766
21767// String returns the string representation
21768func (s GetContactMethodsOutput) String() string {
21769	return awsutil.Prettify(s)
21770}
21771
21772// GoString returns the string representation
21773func (s GetContactMethodsOutput) GoString() string {
21774	return s.String()
21775}
21776
21777// SetContactMethods sets the ContactMethods field's value.
21778func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput {
21779	s.ContactMethods = v
21780	return s
21781}
21782
21783type GetDiskInput struct {
21784	_ struct{} `type:"structure"`
21785
21786	// The name of the disk (e.g., my-disk).
21787	//
21788	// DiskName is a required field
21789	DiskName *string `locationName:"diskName" type:"string" required:"true"`
21790}
21791
21792// String returns the string representation
21793func (s GetDiskInput) String() string {
21794	return awsutil.Prettify(s)
21795}
21796
21797// GoString returns the string representation
21798func (s GetDiskInput) GoString() string {
21799	return s.String()
21800}
21801
21802// Validate inspects the fields of the type to determine if they are valid.
21803func (s *GetDiskInput) Validate() error {
21804	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
21805	if s.DiskName == nil {
21806		invalidParams.Add(request.NewErrParamRequired("DiskName"))
21807	}
21808
21809	if invalidParams.Len() > 0 {
21810		return invalidParams
21811	}
21812	return nil
21813}
21814
21815// SetDiskName sets the DiskName field's value.
21816func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
21817	s.DiskName = &v
21818	return s
21819}
21820
21821type GetDiskOutput struct {
21822	_ struct{} `type:"structure"`
21823
21824	// An object containing information about the disk.
21825	Disk *Disk `locationName:"disk" type:"structure"`
21826}
21827
21828// String returns the string representation
21829func (s GetDiskOutput) String() string {
21830	return awsutil.Prettify(s)
21831}
21832
21833// GoString returns the string representation
21834func (s GetDiskOutput) GoString() string {
21835	return s.String()
21836}
21837
21838// SetDisk sets the Disk field's value.
21839func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
21840	s.Disk = v
21841	return s
21842}
21843
21844type GetDiskSnapshotInput struct {
21845	_ struct{} `type:"structure"`
21846
21847	// The name of the disk snapshot (e.g., my-disk-snapshot).
21848	//
21849	// DiskSnapshotName is a required field
21850	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
21851}
21852
21853// String returns the string representation
21854func (s GetDiskSnapshotInput) String() string {
21855	return awsutil.Prettify(s)
21856}
21857
21858// GoString returns the string representation
21859func (s GetDiskSnapshotInput) GoString() string {
21860	return s.String()
21861}
21862
21863// Validate inspects the fields of the type to determine if they are valid.
21864func (s *GetDiskSnapshotInput) Validate() error {
21865	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
21866	if s.DiskSnapshotName == nil {
21867		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
21868	}
21869
21870	if invalidParams.Len() > 0 {
21871		return invalidParams
21872	}
21873	return nil
21874}
21875
21876// SetDiskSnapshotName sets the DiskSnapshotName field's value.
21877func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
21878	s.DiskSnapshotName = &v
21879	return s
21880}
21881
21882type GetDiskSnapshotOutput struct {
21883	_ struct{} `type:"structure"`
21884
21885	// An object containing information about the disk snapshot.
21886	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
21887}
21888
21889// String returns the string representation
21890func (s GetDiskSnapshotOutput) String() string {
21891	return awsutil.Prettify(s)
21892}
21893
21894// GoString returns the string representation
21895func (s GetDiskSnapshotOutput) GoString() string {
21896	return s.String()
21897}
21898
21899// SetDiskSnapshot sets the DiskSnapshot field's value.
21900func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
21901	s.DiskSnapshot = v
21902	return s
21903}
21904
21905type GetDiskSnapshotsInput struct {
21906	_ struct{} `type:"structure"`
21907
21908	// The token to advance to the next page of results from your request.
21909	//
21910	// To get a page token, perform an initial GetDiskSnapshots request. If your
21911	// results are paginated, the response will return a next page token that you
21912	// can specify as the page token in a subsequent request.
21913	PageToken *string `locationName:"pageToken" type:"string"`
21914}
21915
21916// String returns the string representation
21917func (s GetDiskSnapshotsInput) String() string {
21918	return awsutil.Prettify(s)
21919}
21920
21921// GoString returns the string representation
21922func (s GetDiskSnapshotsInput) GoString() string {
21923	return s.String()
21924}
21925
21926// SetPageToken sets the PageToken field's value.
21927func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
21928	s.PageToken = &v
21929	return s
21930}
21931
21932type GetDiskSnapshotsOutput struct {
21933	_ struct{} `type:"structure"`
21934
21935	// An array of objects containing information about all block storage disk snapshots.
21936	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
21937
21938	// The token to advance to the next page of resutls from your request.
21939	//
21940	// A next page token is not returned if there are no more results to display.
21941	//
21942	// To get the next page of results, perform another GetDiskSnapshots request
21943	// and specify the next page token using the pageToken parameter.
21944	NextPageToken *string `locationName:"nextPageToken" type:"string"`
21945}
21946
21947// String returns the string representation
21948func (s GetDiskSnapshotsOutput) String() string {
21949	return awsutil.Prettify(s)
21950}
21951
21952// GoString returns the string representation
21953func (s GetDiskSnapshotsOutput) GoString() string {
21954	return s.String()
21955}
21956
21957// SetDiskSnapshots sets the DiskSnapshots field's value.
21958func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
21959	s.DiskSnapshots = v
21960	return s
21961}
21962
21963// SetNextPageToken sets the NextPageToken field's value.
21964func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
21965	s.NextPageToken = &v
21966	return s
21967}
21968
21969type GetDisksInput struct {
21970	_ struct{} `type:"structure"`
21971
21972	// The token to advance to the next page of results from your request.
21973	//
21974	// To get a page token, perform an initial GetDisks request. If your results
21975	// are paginated, the response will return a next page token that you can specify
21976	// as the page token in a subsequent request.
21977	PageToken *string `locationName:"pageToken" type:"string"`
21978}
21979
21980// String returns the string representation
21981func (s GetDisksInput) String() string {
21982	return awsutil.Prettify(s)
21983}
21984
21985// GoString returns the string representation
21986func (s GetDisksInput) GoString() string {
21987	return s.String()
21988}
21989
21990// SetPageToken sets the PageToken field's value.
21991func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
21992	s.PageToken = &v
21993	return s
21994}
21995
21996type GetDisksOutput struct {
21997	_ struct{} `type:"structure"`
21998
21999	// An array of objects containing information about all block storage disks.
22000	Disks []*Disk `locationName:"disks" type:"list"`
22001
22002	// The token to advance to the next page of resutls from your request.
22003	//
22004	// A next page token is not returned if there are no more results to display.
22005	//
22006	// To get the next page of results, perform another GetDisks request and specify
22007	// the next page token using the pageToken parameter.
22008	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22009}
22010
22011// String returns the string representation
22012func (s GetDisksOutput) String() string {
22013	return awsutil.Prettify(s)
22014}
22015
22016// GoString returns the string representation
22017func (s GetDisksOutput) GoString() string {
22018	return s.String()
22019}
22020
22021// SetDisks sets the Disks field's value.
22022func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
22023	s.Disks = v
22024	return s
22025}
22026
22027// SetNextPageToken sets the NextPageToken field's value.
22028func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
22029	s.NextPageToken = &v
22030	return s
22031}
22032
22033type GetDistributionBundlesInput struct {
22034	_ struct{} `type:"structure"`
22035}
22036
22037// String returns the string representation
22038func (s GetDistributionBundlesInput) String() string {
22039	return awsutil.Prettify(s)
22040}
22041
22042// GoString returns the string representation
22043func (s GetDistributionBundlesInput) GoString() string {
22044	return s.String()
22045}
22046
22047type GetDistributionBundlesOutput struct {
22048	_ struct{} `type:"structure"`
22049
22050	// An object that describes a distribution bundle.
22051	Bundles []*DistributionBundle `locationName:"bundles" type:"list"`
22052}
22053
22054// String returns the string representation
22055func (s GetDistributionBundlesOutput) String() string {
22056	return awsutil.Prettify(s)
22057}
22058
22059// GoString returns the string representation
22060func (s GetDistributionBundlesOutput) GoString() string {
22061	return s.String()
22062}
22063
22064// SetBundles sets the Bundles field's value.
22065func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput {
22066	s.Bundles = v
22067	return s
22068}
22069
22070type GetDistributionLatestCacheResetInput struct {
22071	_ struct{} `type:"structure"`
22072
22073	// The name of the distribution for which to return the timestamp of the last
22074	// cache reset.
22075	//
22076	// Use the GetDistributions action to get a list of distribution names that
22077	// you can specify.
22078	//
22079	// When omitted, the response includes the latest cache reset timestamp of all
22080	// your distributions.
22081	DistributionName *string `locationName:"distributionName" type:"string"`
22082}
22083
22084// String returns the string representation
22085func (s GetDistributionLatestCacheResetInput) String() string {
22086	return awsutil.Prettify(s)
22087}
22088
22089// GoString returns the string representation
22090func (s GetDistributionLatestCacheResetInput) GoString() string {
22091	return s.String()
22092}
22093
22094// SetDistributionName sets the DistributionName field's value.
22095func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput {
22096	s.DistributionName = &v
22097	return s
22098}
22099
22100type GetDistributionLatestCacheResetOutput struct {
22101	_ struct{} `type:"structure"`
22102
22103	// The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time
22104	// format.
22105	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
22106
22107	// The status of the last cache reset.
22108	Status *string `locationName:"status" type:"string"`
22109}
22110
22111// String returns the string representation
22112func (s GetDistributionLatestCacheResetOutput) String() string {
22113	return awsutil.Prettify(s)
22114}
22115
22116// GoString returns the string representation
22117func (s GetDistributionLatestCacheResetOutput) GoString() string {
22118	return s.String()
22119}
22120
22121// SetCreateTime sets the CreateTime field's value.
22122func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput {
22123	s.CreateTime = &v
22124	return s
22125}
22126
22127// SetStatus sets the Status field's value.
22128func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput {
22129	s.Status = &v
22130	return s
22131}
22132
22133type GetDistributionMetricDataInput struct {
22134	_ struct{} `type:"structure"`
22135
22136	// The name of the distribution for which to get metric data.
22137	//
22138	// Use the GetDistributions action to get a list of distribution names that
22139	// you can specify.
22140	//
22141	// DistributionName is a required field
22142	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
22143
22144	// The end of the time interval for which to get metric data.
22145	//
22146	// Constraints:
22147	//
22148	//    * Specified in Coordinated Universal Time (UTC).
22149	//
22150	//    * Specified in the Unix time format. For example, if you wish to use an
22151	//    end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end
22152	//    time.
22153	//
22154	// You can convert a human-friendly time to Unix time format using a converter
22155	// like Epoch converter (https://www.epochconverter.com/).
22156	//
22157	// EndTime is a required field
22158	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
22159
22160	// The metric for which you want to return information.
22161	//
22162	// Valid distribution metric names are listed below, along with the most useful
22163	// statistics to include in your request, and the published unit value.
22164	//
22165	//    * Requests - The total number of viewer requests received by your Lightsail
22166	//    distribution, for all HTTP methods, and for both HTTP and HTTPS requests.
22167	//    Statistics: The most useful statistic is Sum. Unit: The published unit
22168	//    is None.
22169	//
22170	//    * BytesDownloaded - The number of bytes downloaded by viewers for GET,
22171	//    HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum.
22172	//    Unit: The published unit is None.
22173	//
22174	//    * BytesUploaded - The number of bytes uploaded to your origin by your
22175	//    Lightsail distribution, using POST and PUT requests. Statistics: The most
22176	//    useful statistic is Sum. Unit: The published unit is None.
22177	//
22178	//    * TotalErrorRate - The percentage of all viewer requests for which the
22179	//    response's HTTP status code was 4xx or 5xx. Statistics: The most useful
22180	//    statistic is Average. Unit: The published unit is Percent.
22181	//
22182	//    * 4xxErrorRate - The percentage of all viewer requests for which the response's
22183	//    HTTP status cod was 4xx. In these cases, the client or client viewer may
22184	//    have made an error. For example, a status code of 404 (Not Found) means
22185	//    that the client requested an object that could not be found. Statistics:
22186	//    The most useful statistic is Average. Unit: The published unit is Percent.
22187	//
22188	//    * 5xxErrorRate - The percentage of all viewer requests for which the response's
22189	//    HTTP status code was 5xx. In these cases, the origin server did not satisfy
22190	//    the requests. For example, a status code of 503 (Service Unavailable)
22191	//    means that the origin server is currently unavailable. Statistics: The
22192	//    most useful statistic is Average. Unit: The published unit is Percent.
22193	//
22194	// MetricName is a required field
22195	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"`
22196
22197	// The granularity, in seconds, for the metric data points that will be returned.
22198	//
22199	// Period is a required field
22200	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
22201
22202	// The start of the time interval for which to get metric data.
22203	//
22204	// Constraints:
22205	//
22206	//    * Specified in Coordinated Universal Time (UTC).
22207	//
22208	//    * Specified in the Unix time format. For example, if you wish to use a
22209	//    start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the
22210	//    start time.
22211	//
22212	// You can convert a human-friendly time to Unix time format using a converter
22213	// like Epoch converter (https://www.epochconverter.com/).
22214	//
22215	// StartTime is a required field
22216	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
22217
22218	// The statistic for the metric.
22219	//
22220	// The following statistics are available:
22221	//
22222	//    * Minimum - The lowest value observed during the specified period. Use
22223	//    this value to determine low volumes of activity for your application.
22224	//
22225	//    * Maximum - The highest value observed during the specified period. Use
22226	//    this value to determine high volumes of activity for your application.
22227	//
22228	//    * Sum - All values submitted for the matching metric added together. You
22229	//    can use this statistic to determine the total volume of a metric.
22230	//
22231	//    * Average - The value of Sum / SampleCount during the specified period.
22232	//    By comparing this statistic with the Minimum and Maximum values, you can
22233	//    determine the full scope of a metric and how close the average use is
22234	//    to the Minimum and Maximum values. This comparison helps you to know when
22235	//    to increase or decrease your resources.
22236	//
22237	//    * SampleCount - The count, or number, of data points used for the statistical
22238	//    calculation.
22239	//
22240	// Statistics is a required field
22241	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
22242
22243	// The unit for the metric data request.
22244	//
22245	// Valid units depend on the metric data being requested. For the valid units
22246	// with each available metric, see the metricName parameter.
22247	//
22248	// Unit is a required field
22249	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
22250}
22251
22252// String returns the string representation
22253func (s GetDistributionMetricDataInput) String() string {
22254	return awsutil.Prettify(s)
22255}
22256
22257// GoString returns the string representation
22258func (s GetDistributionMetricDataInput) GoString() string {
22259	return s.String()
22260}
22261
22262// Validate inspects the fields of the type to determine if they are valid.
22263func (s *GetDistributionMetricDataInput) Validate() error {
22264	invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"}
22265	if s.DistributionName == nil {
22266		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
22267	}
22268	if s.EndTime == nil {
22269		invalidParams.Add(request.NewErrParamRequired("EndTime"))
22270	}
22271	if s.MetricName == nil {
22272		invalidParams.Add(request.NewErrParamRequired("MetricName"))
22273	}
22274	if s.Period == nil {
22275		invalidParams.Add(request.NewErrParamRequired("Period"))
22276	}
22277	if s.Period != nil && *s.Period < 60 {
22278		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
22279	}
22280	if s.StartTime == nil {
22281		invalidParams.Add(request.NewErrParamRequired("StartTime"))
22282	}
22283	if s.Statistics == nil {
22284		invalidParams.Add(request.NewErrParamRequired("Statistics"))
22285	}
22286	if s.Unit == nil {
22287		invalidParams.Add(request.NewErrParamRequired("Unit"))
22288	}
22289
22290	if invalidParams.Len() > 0 {
22291		return invalidParams
22292	}
22293	return nil
22294}
22295
22296// SetDistributionName sets the DistributionName field's value.
22297func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput {
22298	s.DistributionName = &v
22299	return s
22300}
22301
22302// SetEndTime sets the EndTime field's value.
22303func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput {
22304	s.EndTime = &v
22305	return s
22306}
22307
22308// SetMetricName sets the MetricName field's value.
22309func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput {
22310	s.MetricName = &v
22311	return s
22312}
22313
22314// SetPeriod sets the Period field's value.
22315func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput {
22316	s.Period = &v
22317	return s
22318}
22319
22320// SetStartTime sets the StartTime field's value.
22321func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput {
22322	s.StartTime = &v
22323	return s
22324}
22325
22326// SetStatistics sets the Statistics field's value.
22327func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput {
22328	s.Statistics = v
22329	return s
22330}
22331
22332// SetUnit sets the Unit field's value.
22333func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput {
22334	s.Unit = &v
22335	return s
22336}
22337
22338type GetDistributionMetricDataOutput struct {
22339	_ struct{} `type:"structure"`
22340
22341	// An array of objects that describe the metric data returned.
22342	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
22343
22344	// The name of the metric returned.
22345	MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"`
22346}
22347
22348// String returns the string representation
22349func (s GetDistributionMetricDataOutput) String() string {
22350	return awsutil.Prettify(s)
22351}
22352
22353// GoString returns the string representation
22354func (s GetDistributionMetricDataOutput) GoString() string {
22355	return s.String()
22356}
22357
22358// SetMetricData sets the MetricData field's value.
22359func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput {
22360	s.MetricData = v
22361	return s
22362}
22363
22364// SetMetricName sets the MetricName field's value.
22365func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput {
22366	s.MetricName = &v
22367	return s
22368}
22369
22370type GetDistributionsInput struct {
22371	_ struct{} `type:"structure"`
22372
22373	// The name of the distribution for which to return information.
22374	//
22375	// Use the GetDistributions action to get a list of distribution names that
22376	// you can specify.
22377	//
22378	// When omitted, the response includes all of your distributions in the AWS
22379	// Region where the request is made.
22380	DistributionName *string `locationName:"distributionName" type:"string"`
22381
22382	// The token to advance to the next page of results from your request.
22383	//
22384	// To get a page token, perform an initial GetDistributions request. If your
22385	// results are paginated, the response will return a next page token that you
22386	// can specify as the page token in a subsequent request.
22387	PageToken *string `locationName:"pageToken" type:"string"`
22388}
22389
22390// String returns the string representation
22391func (s GetDistributionsInput) String() string {
22392	return awsutil.Prettify(s)
22393}
22394
22395// GoString returns the string representation
22396func (s GetDistributionsInput) GoString() string {
22397	return s.String()
22398}
22399
22400// SetDistributionName sets the DistributionName field's value.
22401func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput {
22402	s.DistributionName = &v
22403	return s
22404}
22405
22406// SetPageToken sets the PageToken field's value.
22407func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput {
22408	s.PageToken = &v
22409	return s
22410}
22411
22412type GetDistributionsOutput struct {
22413	_ struct{} `type:"structure"`
22414
22415	// An array of objects that describe your distributions.
22416	Distributions []*LightsailDistribution `locationName:"distributions" type:"list"`
22417
22418	// The token to advance to the next page of results from your request.
22419	//
22420	// A next page token is not returned if there are no more results to display.
22421	//
22422	// To get the next page of results, perform another GetDistributions request
22423	// and specify the next page token using the pageToken parameter.
22424	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22425}
22426
22427// String returns the string representation
22428func (s GetDistributionsOutput) String() string {
22429	return awsutil.Prettify(s)
22430}
22431
22432// GoString returns the string representation
22433func (s GetDistributionsOutput) GoString() string {
22434	return s.String()
22435}
22436
22437// SetDistributions sets the Distributions field's value.
22438func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput {
22439	s.Distributions = v
22440	return s
22441}
22442
22443// SetNextPageToken sets the NextPageToken field's value.
22444func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput {
22445	s.NextPageToken = &v
22446	return s
22447}
22448
22449type GetDomainInput struct {
22450	_ struct{} `type:"structure"`
22451
22452	// The domain name for which your want to return information about.
22453	//
22454	// DomainName is a required field
22455	DomainName *string `locationName:"domainName" type:"string" required:"true"`
22456}
22457
22458// String returns the string representation
22459func (s GetDomainInput) String() string {
22460	return awsutil.Prettify(s)
22461}
22462
22463// GoString returns the string representation
22464func (s GetDomainInput) GoString() string {
22465	return s.String()
22466}
22467
22468// Validate inspects the fields of the type to determine if they are valid.
22469func (s *GetDomainInput) Validate() error {
22470	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
22471	if s.DomainName == nil {
22472		invalidParams.Add(request.NewErrParamRequired("DomainName"))
22473	}
22474
22475	if invalidParams.Len() > 0 {
22476		return invalidParams
22477	}
22478	return nil
22479}
22480
22481// SetDomainName sets the DomainName field's value.
22482func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
22483	s.DomainName = &v
22484	return s
22485}
22486
22487type GetDomainOutput struct {
22488	_ struct{} `type:"structure"`
22489
22490	// An array of key-value pairs containing information about your get domain
22491	// request.
22492	Domain *Domain `locationName:"domain" type:"structure"`
22493}
22494
22495// String returns the string representation
22496func (s GetDomainOutput) String() string {
22497	return awsutil.Prettify(s)
22498}
22499
22500// GoString returns the string representation
22501func (s GetDomainOutput) GoString() string {
22502	return s.String()
22503}
22504
22505// SetDomain sets the Domain field's value.
22506func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
22507	s.Domain = v
22508	return s
22509}
22510
22511type GetDomainsInput struct {
22512	_ struct{} `type:"structure"`
22513
22514	// The token to advance to the next page of results from your request.
22515	//
22516	// To get a page token, perform an initial GetDomains request. If your results
22517	// are paginated, the response will return a next page token that you can specify
22518	// as the page token in a subsequent request.
22519	PageToken *string `locationName:"pageToken" type:"string"`
22520}
22521
22522// String returns the string representation
22523func (s GetDomainsInput) String() string {
22524	return awsutil.Prettify(s)
22525}
22526
22527// GoString returns the string representation
22528func (s GetDomainsInput) GoString() string {
22529	return s.String()
22530}
22531
22532// SetPageToken sets the PageToken field's value.
22533func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
22534	s.PageToken = &v
22535	return s
22536}
22537
22538type GetDomainsOutput struct {
22539	_ struct{} `type:"structure"`
22540
22541	// An array of key-value pairs containing information about each of the domain
22542	// entries in the user's account.
22543	Domains []*Domain `locationName:"domains" type:"list"`
22544
22545	// The token to advance to the next page of resutls from your request.
22546	//
22547	// A next page token is not returned if there are no more results to display.
22548	//
22549	// To get the next page of results, perform another GetDomains request and specify
22550	// the next page token using the pageToken parameter.
22551	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22552}
22553
22554// String returns the string representation
22555func (s GetDomainsOutput) String() string {
22556	return awsutil.Prettify(s)
22557}
22558
22559// GoString returns the string representation
22560func (s GetDomainsOutput) GoString() string {
22561	return s.String()
22562}
22563
22564// SetDomains sets the Domains field's value.
22565func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
22566	s.Domains = v
22567	return s
22568}
22569
22570// SetNextPageToken sets the NextPageToken field's value.
22571func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
22572	s.NextPageToken = &v
22573	return s
22574}
22575
22576type GetExportSnapshotRecordsInput struct {
22577	_ struct{} `type:"structure"`
22578
22579	// The token to advance to the next page of results from your request.
22580	//
22581	// To get a page token, perform an initial GetExportSnapshotRecords request.
22582	// If your results are paginated, the response will return a next page token
22583	// that you can specify as the page token in a subsequent request.
22584	PageToken *string `locationName:"pageToken" type:"string"`
22585}
22586
22587// String returns the string representation
22588func (s GetExportSnapshotRecordsInput) String() string {
22589	return awsutil.Prettify(s)
22590}
22591
22592// GoString returns the string representation
22593func (s GetExportSnapshotRecordsInput) GoString() string {
22594	return s.String()
22595}
22596
22597// SetPageToken sets the PageToken field's value.
22598func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
22599	s.PageToken = &v
22600	return s
22601}
22602
22603type GetExportSnapshotRecordsOutput struct {
22604	_ struct{} `type:"structure"`
22605
22606	// A list of objects describing the export snapshot records.
22607	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
22608
22609	// The token to advance to the next page of resutls from your request.
22610	//
22611	// A next page token is not returned if there are no more results to display.
22612	//
22613	// To get the next page of results, perform another GetExportSnapshotRecords
22614	// request and specify the next page token using the pageToken parameter.
22615	NextPageToken *string `locationName:"nextPageToken" type:"string"`
22616}
22617
22618// String returns the string representation
22619func (s GetExportSnapshotRecordsOutput) String() string {
22620	return awsutil.Prettify(s)
22621}
22622
22623// GoString returns the string representation
22624func (s GetExportSnapshotRecordsOutput) GoString() string {
22625	return s.String()
22626}
22627
22628// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
22629func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
22630	s.ExportSnapshotRecords = v
22631	return s
22632}
22633
22634// SetNextPageToken sets the NextPageToken field's value.
22635func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
22636	s.NextPageToken = &v
22637	return s
22638}
22639
22640type GetInstanceAccessDetailsInput struct {
22641	_ struct{} `type:"structure"`
22642
22643	// The name of the instance to access.
22644	//
22645	// InstanceName is a required field
22646	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22647
22648	// The protocol to use to connect to your instance. Defaults to ssh.
22649	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
22650}
22651
22652// String returns the string representation
22653func (s GetInstanceAccessDetailsInput) String() string {
22654	return awsutil.Prettify(s)
22655}
22656
22657// GoString returns the string representation
22658func (s GetInstanceAccessDetailsInput) GoString() string {
22659	return s.String()
22660}
22661
22662// Validate inspects the fields of the type to determine if they are valid.
22663func (s *GetInstanceAccessDetailsInput) Validate() error {
22664	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
22665	if s.InstanceName == nil {
22666		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22667	}
22668
22669	if invalidParams.Len() > 0 {
22670		return invalidParams
22671	}
22672	return nil
22673}
22674
22675// SetInstanceName sets the InstanceName field's value.
22676func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
22677	s.InstanceName = &v
22678	return s
22679}
22680
22681// SetProtocol sets the Protocol field's value.
22682func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
22683	s.Protocol = &v
22684	return s
22685}
22686
22687type GetInstanceAccessDetailsOutput struct {
22688	_ struct{} `type:"structure"`
22689
22690	// An array of key-value pairs containing information about a get instance access
22691	// request.
22692	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
22693}
22694
22695// String returns the string representation
22696func (s GetInstanceAccessDetailsOutput) String() string {
22697	return awsutil.Prettify(s)
22698}
22699
22700// GoString returns the string representation
22701func (s GetInstanceAccessDetailsOutput) GoString() string {
22702	return s.String()
22703}
22704
22705// SetAccessDetails sets the AccessDetails field's value.
22706func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
22707	s.AccessDetails = v
22708	return s
22709}
22710
22711type GetInstanceInput struct {
22712	_ struct{} `type:"structure"`
22713
22714	// The name of the instance.
22715	//
22716	// InstanceName is a required field
22717	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22718}
22719
22720// String returns the string representation
22721func (s GetInstanceInput) String() string {
22722	return awsutil.Prettify(s)
22723}
22724
22725// GoString returns the string representation
22726func (s GetInstanceInput) GoString() string {
22727	return s.String()
22728}
22729
22730// Validate inspects the fields of the type to determine if they are valid.
22731func (s *GetInstanceInput) Validate() error {
22732	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
22733	if s.InstanceName == nil {
22734		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22735	}
22736
22737	if invalidParams.Len() > 0 {
22738		return invalidParams
22739	}
22740	return nil
22741}
22742
22743// SetInstanceName sets the InstanceName field's value.
22744func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
22745	s.InstanceName = &v
22746	return s
22747}
22748
22749type GetInstanceMetricDataInput struct {
22750	_ struct{} `type:"structure"`
22751
22752	// The end time of the time period.
22753	//
22754	// EndTime is a required field
22755	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
22756
22757	// The name of the instance for which you want to get metrics data.
22758	//
22759	// InstanceName is a required field
22760	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22761
22762	// The metric for which you want to return information.
22763	//
22764	// Valid instance metric names are listed below, along with the most useful
22765	// statistics to include in your request, and the published unit value.
22766	//
22767	//    * BurstCapacityPercentage - The percentage of CPU performance available
22768	//    for your instance to burst above its baseline. Your instance continuously
22769	//    accrues and consumes burst capacity. Burst capacity stops accruing when
22770	//    your instance's BurstCapacityPercentage reaches 100%. For more information,
22771	//    see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
22772	//    Statistics: The most useful statistics are Maximum and Average. Unit:
22773	//    The published unit is Percent.
22774	//
22775	//    * BurstCapacityTime - The available amount of time for your instance to
22776	//    burst at 100% CPU utilization. Your instance continuously accrues and
22777	//    consumes burst capacity. Burst capacity time stops accruing when your
22778	//    instance's BurstCapacityPercentage metric reaches 100%. Burst capacity
22779	//    time is consumed at the full rate only when your instance operates at
22780	//    100% CPU utilization. For example, if your instance operates at 50% CPU
22781	//    utilization in the burstable zone for a 5-minute period, then it consumes
22782	//    CPU burst capacity minutes at a 50% rate in that period. Your instance
22783	//    consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the
22784	//    5-minute period. For more information, see Viewing instance burst capacity
22785	//    in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity).
22786	//    Statistics: The most useful statistics are Maximum and Average. Unit:
22787	//    The published unit is Seconds.
22788	//
22789	//    * CPUUtilization - The percentage of allocated compute units that are
22790	//    currently in use on the instance. This metric identifies the processing
22791	//    power to run the applications on the instance. Tools in your operating
22792	//    system can show a lower percentage than Lightsail when the instance is
22793	//    not allocated a full processor core. Statistics: The most useful statistics
22794	//    are Maximum and Average. Unit: The published unit is Percent.
22795	//
22796	//    * NetworkIn - The number of bytes received on all network interfaces by
22797	//    the instance. This metric identifies the volume of incoming network traffic
22798	//    to the instance. The number reported is the number of bytes received during
22799	//    the period. Because this metric is reported in 5-minute intervals, divide
22800	//    the reported number by 300 to find Bytes/second. Statistics: The most
22801	//    useful statistic is Sum. Unit: The published unit is Bytes.
22802	//
22803	//    * NetworkOut - The number of bytes sent out on all network interfaces
22804	//    by the instance. This metric identifies the volume of outgoing network
22805	//    traffic from the instance. The number reported is the number of bytes
22806	//    sent during the period. Because this metric is reported in 5-minute intervals,
22807	//    divide the reported number by 300 to find Bytes/second. Statistics: The
22808	//    most useful statistic is Sum. Unit: The published unit is Bytes.
22809	//
22810	//    * StatusCheckFailed - Reports whether the instance passed or failed both
22811	//    the instance status check and the system status check. This metric can
22812	//    be either 0 (passed) or 1 (failed). This metric data is available in 1-minute
22813	//    (60 seconds) granularity. Statistics: The most useful statistic is Sum.
22814	//    Unit: The published unit is Count.
22815	//
22816	//    * StatusCheckFailed_Instance - Reports whether the instance passed or
22817	//    failed the instance status check. This metric can be either 0 (passed)
22818	//    or 1 (failed). This metric data is available in 1-minute (60 seconds)
22819	//    granularity. Statistics: The most useful statistic is Sum. Unit: The published
22820	//    unit is Count.
22821	//
22822	//    * StatusCheckFailed_System - Reports whether the instance passed or failed
22823	//    the system status check. This metric can be either 0 (passed) or 1 (failed).
22824	//    This metric data is available in 1-minute (60 seconds) granularity. Statistics:
22825	//    The most useful statistic is Sum. Unit: The published unit is Count.
22826	//
22827	// MetricName is a required field
22828	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
22829
22830	// The granularity, in seconds, of the returned data points.
22831	//
22832	// The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System
22833	// instance metric data is available in 1-minute (60 seconds) granularity. All
22834	// other instance metric data is available in 5-minute (300 seconds) granularity.
22835	//
22836	// Period is a required field
22837	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
22838
22839	// The start time of the time period.
22840	//
22841	// StartTime is a required field
22842	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
22843
22844	// The statistic for the metric.
22845	//
22846	// The following statistics are available:
22847	//
22848	//    * Minimum - The lowest value observed during the specified period. Use
22849	//    this value to determine low volumes of activity for your application.
22850	//
22851	//    * Maximum - The highest value observed during the specified period. Use
22852	//    this value to determine high volumes of activity for your application.
22853	//
22854	//    * Sum - All values submitted for the matching metric added together. You
22855	//    can use this statistic to determine the total volume of a metric.
22856	//
22857	//    * Average - The value of Sum / SampleCount during the specified period.
22858	//    By comparing this statistic with the Minimum and Maximum values, you can
22859	//    determine the full scope of a metric and how close the average use is
22860	//    to the Minimum and Maximum values. This comparison helps you to know when
22861	//    to increase or decrease your resources.
22862	//
22863	//    * SampleCount - The count, or number, of data points used for the statistical
22864	//    calculation.
22865	//
22866	// Statistics is a required field
22867	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
22868
22869	// The unit for the metric data request. Valid units depend on the metric data
22870	// being requested. For the valid units to specify with each available metric,
22871	// see the metricName parameter.
22872	//
22873	// Unit is a required field
22874	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
22875}
22876
22877// String returns the string representation
22878func (s GetInstanceMetricDataInput) String() string {
22879	return awsutil.Prettify(s)
22880}
22881
22882// GoString returns the string representation
22883func (s GetInstanceMetricDataInput) GoString() string {
22884	return s.String()
22885}
22886
22887// Validate inspects the fields of the type to determine if they are valid.
22888func (s *GetInstanceMetricDataInput) Validate() error {
22889	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
22890	if s.EndTime == nil {
22891		invalidParams.Add(request.NewErrParamRequired("EndTime"))
22892	}
22893	if s.InstanceName == nil {
22894		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22895	}
22896	if s.MetricName == nil {
22897		invalidParams.Add(request.NewErrParamRequired("MetricName"))
22898	}
22899	if s.Period == nil {
22900		invalidParams.Add(request.NewErrParamRequired("Period"))
22901	}
22902	if s.Period != nil && *s.Period < 60 {
22903		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
22904	}
22905	if s.StartTime == nil {
22906		invalidParams.Add(request.NewErrParamRequired("StartTime"))
22907	}
22908	if s.Statistics == nil {
22909		invalidParams.Add(request.NewErrParamRequired("Statistics"))
22910	}
22911	if s.Unit == nil {
22912		invalidParams.Add(request.NewErrParamRequired("Unit"))
22913	}
22914
22915	if invalidParams.Len() > 0 {
22916		return invalidParams
22917	}
22918	return nil
22919}
22920
22921// SetEndTime sets the EndTime field's value.
22922func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
22923	s.EndTime = &v
22924	return s
22925}
22926
22927// SetInstanceName sets the InstanceName field's value.
22928func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
22929	s.InstanceName = &v
22930	return s
22931}
22932
22933// SetMetricName sets the MetricName field's value.
22934func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
22935	s.MetricName = &v
22936	return s
22937}
22938
22939// SetPeriod sets the Period field's value.
22940func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
22941	s.Period = &v
22942	return s
22943}
22944
22945// SetStartTime sets the StartTime field's value.
22946func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
22947	s.StartTime = &v
22948	return s
22949}
22950
22951// SetStatistics sets the Statistics field's value.
22952func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
22953	s.Statistics = v
22954	return s
22955}
22956
22957// SetUnit sets the Unit field's value.
22958func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
22959	s.Unit = &v
22960	return s
22961}
22962
22963type GetInstanceMetricDataOutput struct {
22964	_ struct{} `type:"structure"`
22965
22966	// An array of objects that describe the metric data returned.
22967	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
22968
22969	// The name of the metric returned.
22970	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
22971}
22972
22973// String returns the string representation
22974func (s GetInstanceMetricDataOutput) String() string {
22975	return awsutil.Prettify(s)
22976}
22977
22978// GoString returns the string representation
22979func (s GetInstanceMetricDataOutput) GoString() string {
22980	return s.String()
22981}
22982
22983// SetMetricData sets the MetricData field's value.
22984func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
22985	s.MetricData = v
22986	return s
22987}
22988
22989// SetMetricName sets the MetricName field's value.
22990func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
22991	s.MetricName = &v
22992	return s
22993}
22994
22995type GetInstanceOutput struct {
22996	_ struct{} `type:"structure"`
22997
22998	// An array of key-value pairs containing information about the specified instance.
22999	Instance *Instance `locationName:"instance" type:"structure"`
23000}
23001
23002// String returns the string representation
23003func (s GetInstanceOutput) String() string {
23004	return awsutil.Prettify(s)
23005}
23006
23007// GoString returns the string representation
23008func (s GetInstanceOutput) GoString() string {
23009	return s.String()
23010}
23011
23012// SetInstance sets the Instance field's value.
23013func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
23014	s.Instance = v
23015	return s
23016}
23017
23018type GetInstancePortStatesInput struct {
23019	_ struct{} `type:"structure"`
23020
23021	// The name of the instance for which to return firewall port states.
23022	//
23023	// InstanceName is a required field
23024	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
23025}
23026
23027// String returns the string representation
23028func (s GetInstancePortStatesInput) String() string {
23029	return awsutil.Prettify(s)
23030}
23031
23032// GoString returns the string representation
23033func (s GetInstancePortStatesInput) GoString() string {
23034	return s.String()
23035}
23036
23037// Validate inspects the fields of the type to determine if they are valid.
23038func (s *GetInstancePortStatesInput) Validate() error {
23039	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
23040	if s.InstanceName == nil {
23041		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
23042	}
23043
23044	if invalidParams.Len() > 0 {
23045		return invalidParams
23046	}
23047	return nil
23048}
23049
23050// SetInstanceName sets the InstanceName field's value.
23051func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
23052	s.InstanceName = &v
23053	return s
23054}
23055
23056type GetInstancePortStatesOutput struct {
23057	_ struct{} `type:"structure"`
23058
23059	// An array of objects that describe the firewall port states for the specified
23060	// instance.
23061	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
23062}
23063
23064// String returns the string representation
23065func (s GetInstancePortStatesOutput) String() string {
23066	return awsutil.Prettify(s)
23067}
23068
23069// GoString returns the string representation
23070func (s GetInstancePortStatesOutput) GoString() string {
23071	return s.String()
23072}
23073
23074// SetPortStates sets the PortStates field's value.
23075func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
23076	s.PortStates = v
23077	return s
23078}
23079
23080type GetInstanceSnapshotInput struct {
23081	_ struct{} `type:"structure"`
23082
23083	// The name of the snapshot for which you are requesting information.
23084	//
23085	// InstanceSnapshotName is a required field
23086	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
23087}
23088
23089// String returns the string representation
23090func (s GetInstanceSnapshotInput) String() string {
23091	return awsutil.Prettify(s)
23092}
23093
23094// GoString returns the string representation
23095func (s GetInstanceSnapshotInput) GoString() string {
23096	return s.String()
23097}
23098
23099// Validate inspects the fields of the type to determine if they are valid.
23100func (s *GetInstanceSnapshotInput) Validate() error {
23101	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
23102	if s.InstanceSnapshotName == nil {
23103		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
23104	}
23105
23106	if invalidParams.Len() > 0 {
23107		return invalidParams
23108	}
23109	return nil
23110}
23111
23112// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
23113func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
23114	s.InstanceSnapshotName = &v
23115	return s
23116}
23117
23118type GetInstanceSnapshotOutput struct {
23119	_ struct{} `type:"structure"`
23120
23121	// An array of key-value pairs containing information about the results of your
23122	// get instance snapshot request.
23123	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
23124}
23125
23126// String returns the string representation
23127func (s GetInstanceSnapshotOutput) String() string {
23128	return awsutil.Prettify(s)
23129}
23130
23131// GoString returns the string representation
23132func (s GetInstanceSnapshotOutput) GoString() string {
23133	return s.String()
23134}
23135
23136// SetInstanceSnapshot sets the InstanceSnapshot field's value.
23137func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
23138	s.InstanceSnapshot = v
23139	return s
23140}
23141
23142type GetInstanceSnapshotsInput struct {
23143	_ struct{} `type:"structure"`
23144
23145	// The token to advance to the next page of results from your request.
23146	//
23147	// To get a page token, perform an initial GetInstanceSnapshots request. If
23148	// your results are paginated, the response will return a next page token that
23149	// you can specify as the page token in a subsequent request.
23150	PageToken *string `locationName:"pageToken" type:"string"`
23151}
23152
23153// String returns the string representation
23154func (s GetInstanceSnapshotsInput) String() string {
23155	return awsutil.Prettify(s)
23156}
23157
23158// GoString returns the string representation
23159func (s GetInstanceSnapshotsInput) GoString() string {
23160	return s.String()
23161}
23162
23163// SetPageToken sets the PageToken field's value.
23164func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
23165	s.PageToken = &v
23166	return s
23167}
23168
23169type GetInstanceSnapshotsOutput struct {
23170	_ struct{} `type:"structure"`
23171
23172	// An array of key-value pairs containing information about the results of your
23173	// get instance snapshots request.
23174	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
23175
23176	// The token to advance to the next page of resutls from your request.
23177	//
23178	// A next page token is not returned if there are no more results to display.
23179	//
23180	// To get the next page of results, perform another GetInstanceSnapshots request
23181	// and specify the next page token using the pageToken parameter.
23182	NextPageToken *string `locationName:"nextPageToken" type:"string"`
23183}
23184
23185// String returns the string representation
23186func (s GetInstanceSnapshotsOutput) String() string {
23187	return awsutil.Prettify(s)
23188}
23189
23190// GoString returns the string representation
23191func (s GetInstanceSnapshotsOutput) GoString() string {
23192	return s.String()
23193}
23194
23195// SetInstanceSnapshots sets the InstanceSnapshots field's value.
23196func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
23197	s.InstanceSnapshots = v
23198	return s
23199}
23200
23201// SetNextPageToken sets the NextPageToken field's value.
23202func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
23203	s.NextPageToken = &v
23204	return s
23205}
23206
23207type GetInstanceStateInput struct {
23208	_ struct{} `type:"structure"`
23209
23210	// The name of the instance to get state information about.
23211	//
23212	// InstanceName is a required field
23213	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
23214}
23215
23216// String returns the string representation
23217func (s GetInstanceStateInput) String() string {
23218	return awsutil.Prettify(s)
23219}
23220
23221// GoString returns the string representation
23222func (s GetInstanceStateInput) GoString() string {
23223	return s.String()
23224}
23225
23226// Validate inspects the fields of the type to determine if they are valid.
23227func (s *GetInstanceStateInput) Validate() error {
23228	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
23229	if s.InstanceName == nil {
23230		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
23231	}
23232
23233	if invalidParams.Len() > 0 {
23234		return invalidParams
23235	}
23236	return nil
23237}
23238
23239// SetInstanceName sets the InstanceName field's value.
23240func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
23241	s.InstanceName = &v
23242	return s
23243}
23244
23245type GetInstanceStateOutput struct {
23246	_ struct{} `type:"structure"`
23247
23248	// The state of the instance.
23249	State *InstanceState `locationName:"state" type:"structure"`
23250}
23251
23252// String returns the string representation
23253func (s GetInstanceStateOutput) String() string {
23254	return awsutil.Prettify(s)
23255}
23256
23257// GoString returns the string representation
23258func (s GetInstanceStateOutput) GoString() string {
23259	return s.String()
23260}
23261
23262// SetState sets the State field's value.
23263func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
23264	s.State = v
23265	return s
23266}
23267
23268type GetInstancesInput struct {
23269	_ struct{} `type:"structure"`
23270
23271	// The token to advance to the next page of results from your request.
23272	//
23273	// To get a page token, perform an initial GetInstances request. If your results
23274	// are paginated, the response will return a next page token that you can specify
23275	// as the page token in a subsequent request.
23276	PageToken *string `locationName:"pageToken" type:"string"`
23277}
23278
23279// String returns the string representation
23280func (s GetInstancesInput) String() string {
23281	return awsutil.Prettify(s)
23282}
23283
23284// GoString returns the string representation
23285func (s GetInstancesInput) GoString() string {
23286	return s.String()
23287}
23288
23289// SetPageToken sets the PageToken field's value.
23290func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
23291	s.PageToken = &v
23292	return s
23293}
23294
23295type GetInstancesOutput struct {
23296	_ struct{} `type:"structure"`
23297
23298	// An array of key-value pairs containing information about your instances.
23299	Instances []*Instance `locationName:"instances" type:"list"`
23300
23301	// The token to advance to the next page of resutls from your request.
23302	//
23303	// A next page token is not returned if there are no more results to display.
23304	//
23305	// To get the next page of results, perform another GetInstances request and
23306	// specify the next page token using the pageToken parameter.
23307	NextPageToken *string `locationName:"nextPageToken" type:"string"`
23308}
23309
23310// String returns the string representation
23311func (s GetInstancesOutput) String() string {
23312	return awsutil.Prettify(s)
23313}
23314
23315// GoString returns the string representation
23316func (s GetInstancesOutput) GoString() string {
23317	return s.String()
23318}
23319
23320// SetInstances sets the Instances field's value.
23321func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
23322	s.Instances = v
23323	return s
23324}
23325
23326// SetNextPageToken sets the NextPageToken field's value.
23327func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
23328	s.NextPageToken = &v
23329	return s
23330}
23331
23332type GetKeyPairInput struct {
23333	_ struct{} `type:"structure"`
23334
23335	// The name of the key pair for which you are requesting information.
23336	//
23337	// KeyPairName is a required field
23338	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
23339}
23340
23341// String returns the string representation
23342func (s GetKeyPairInput) String() string {
23343	return awsutil.Prettify(s)
23344}
23345
23346// GoString returns the string representation
23347func (s GetKeyPairInput) GoString() string {
23348	return s.String()
23349}
23350
23351// Validate inspects the fields of the type to determine if they are valid.
23352func (s *GetKeyPairInput) Validate() error {
23353	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
23354	if s.KeyPairName == nil {
23355		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
23356	}
23357
23358	if invalidParams.Len() > 0 {
23359		return invalidParams
23360	}
23361	return nil
23362}
23363
23364// SetKeyPairName sets the KeyPairName field's value.
23365func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
23366	s.KeyPairName = &v
23367	return s
23368}
23369
23370type GetKeyPairOutput struct {
23371	_ struct{} `type:"structure"`
23372
23373	// An array of key-value pairs containing information about the key pair.
23374	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
23375}
23376
23377// String returns the string representation
23378func (s GetKeyPairOutput) String() string {
23379	return awsutil.Prettify(s)
23380}
23381
23382// GoString returns the string representation
23383func (s GetKeyPairOutput) GoString() string {
23384	return s.String()
23385}
23386
23387// SetKeyPair sets the KeyPair field's value.
23388func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
23389	s.KeyPair = v
23390	return s
23391}
23392
23393type GetKeyPairsInput struct {
23394	_ struct{} `type:"structure"`
23395
23396	// The token to advance to the next page of results from your request.
23397	//
23398	// To get a page token, perform an initial GetKeyPairs request. If your results
23399	// are paginated, the response will return a next page token that you can specify
23400	// as the page token in a subsequent request.
23401	PageToken *string `locationName:"pageToken" type:"string"`
23402}
23403
23404// String returns the string representation
23405func (s GetKeyPairsInput) String() string {
23406	return awsutil.Prettify(s)
23407}
23408
23409// GoString returns the string representation
23410func (s GetKeyPairsInput) GoString() string {
23411	return s.String()
23412}
23413
23414// SetPageToken sets the PageToken field's value.
23415func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
23416	s.PageToken = &v
23417	return s
23418}
23419
23420type GetKeyPairsOutput struct {
23421	_ struct{} `type:"structure"`
23422
23423	// An array of key-value pairs containing information about the key pairs.
23424	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
23425
23426	// The token to advance to the next page of resutls from your request.
23427	//
23428	// A next page token is not returned if there are no more results to display.
23429	//
23430	// To get the next page of results, perform another GetKeyPairs request and
23431	// specify the next page token using the pageToken parameter.
23432	NextPageToken *string `locationName:"nextPageToken" type:"string"`
23433}
23434
23435// String returns the string representation
23436func (s GetKeyPairsOutput) String() string {
23437	return awsutil.Prettify(s)
23438}
23439
23440// GoString returns the string representation
23441func (s GetKeyPairsOutput) GoString() string {
23442	return s.String()
23443}
23444
23445// SetKeyPairs sets the KeyPairs field's value.
23446func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
23447	s.KeyPairs = v
23448	return s
23449}
23450
23451// SetNextPageToken sets the NextPageToken field's value.
23452func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
23453	s.NextPageToken = &v
23454	return s
23455}
23456
23457type GetLoadBalancerInput struct {
23458	_ struct{} `type:"structure"`
23459
23460	// The name of the load balancer.
23461	//
23462	// LoadBalancerName is a required field
23463	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23464}
23465
23466// String returns the string representation
23467func (s GetLoadBalancerInput) String() string {
23468	return awsutil.Prettify(s)
23469}
23470
23471// GoString returns the string representation
23472func (s GetLoadBalancerInput) GoString() string {
23473	return s.String()
23474}
23475
23476// Validate inspects the fields of the type to determine if they are valid.
23477func (s *GetLoadBalancerInput) Validate() error {
23478	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
23479	if s.LoadBalancerName == nil {
23480		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23481	}
23482
23483	if invalidParams.Len() > 0 {
23484		return invalidParams
23485	}
23486	return nil
23487}
23488
23489// SetLoadBalancerName sets the LoadBalancerName field's value.
23490func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
23491	s.LoadBalancerName = &v
23492	return s
23493}
23494
23495type GetLoadBalancerMetricDataInput struct {
23496	_ struct{} `type:"structure"`
23497
23498	// The end time of the period.
23499	//
23500	// EndTime is a required field
23501	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
23502
23503	// The name of the load balancer.
23504	//
23505	// LoadBalancerName is a required field
23506	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23507
23508	// The metric for which you want to return information.
23509	//
23510	// Valid load balancer metric names are listed below, along with the most useful
23511	// statistics to include in your request, and the published unit value.
23512	//
23513	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
23514	//    by the client that did not establish a session with the load balancer
23515	//    due to a TLS error generated by the load balancer. Possible causes include
23516	//    a mismatch of ciphers or protocols. Statistics: The most useful statistic
23517	//    is Sum. Unit: The published unit is Count.
23518	//
23519	//    * HealthyHostCount - The number of target instances that are considered
23520	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
23521	//    Maximum. Unit: The published unit is Count.
23522	//
23523	//    * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes
23524	//    generated by the target instances. This does not include any response
23525	//    codes generated by the load balancer. Statistics: The most useful statistic
23526	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
23527	//    published unit is Count.
23528	//
23529	//    * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes
23530	//    generated by the target instances. This does not include any response
23531	//    codes generated by the load balancer. Statistics: The most useful statistic
23532	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
23533	//    published unit is Count.
23534	//
23535	//    * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes
23536	//    generated by the target instances. This does not include any response
23537	//    codes generated by the load balancer. Statistics: The most useful statistic
23538	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
23539	//    published unit is Count.
23540	//
23541	//    * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes
23542	//    generated by the target instances. This does not include any response
23543	//    codes generated by the load balancer. Statistics: The most useful statistic
23544	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The
23545	//    published unit is Count.
23546	//
23547	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
23548	//    originated from the load balancer. Client errors are generated when requests
23549	//    are malformed or incomplete. These requests were not received by the target
23550	//    instance. This count does not include response codes generated by the
23551	//    target instances. Statistics: The most useful statistic is Sum. Note that
23552	//    Minimum, Maximum, and Average all return 1. Unit: The published unit is
23553	//    Count.
23554	//
23555	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
23556	//    originated from the load balancer. This does not include any response
23557	//    codes generated by the target instance. This metric is reported if there
23558	//    are no healthy instances attached to the load balancer, or if the request
23559	//    rate exceeds the capacity of the instances (spillover) or the load balancer.
23560	//    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum,
23561	//    and Average all return 1. Unit: The published unit is Count.
23562	//
23563	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
23564	//    leaves the load balancer until a response from the target instance is
23565	//    received. Statistics: The most useful statistic is Average. Unit: The
23566	//    published unit is Seconds.
23567	//
23568	//    * RejectedConnectionCount - The number of connections that were rejected
23569	//    because the load balancer had reached its maximum number of connections.
23570	//    Statistics: The most useful statistic is Sum. Unit: The published unit
23571	//    is Count.
23572	//
23573	//    * RequestCount - The number of requests processed over IPv4. This count
23574	//    includes only the requests with a response generated by a target instance
23575	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
23576	//    that Minimum, Maximum, and Average all return 1. Unit: The published unit
23577	//    is Count.
23578	//
23579	//    * UnhealthyHostCount - The number of target instances that are considered
23580	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
23581	//    and Maximum. Unit: The published unit is Count.
23582	//
23583	// MetricName is a required field
23584	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
23585
23586	// The granularity, in seconds, of the returned data points.
23587	//
23588	// Period is a required field
23589	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
23590
23591	// The start time of the period.
23592	//
23593	// StartTime is a required field
23594	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
23595
23596	// The statistic for the metric.
23597	//
23598	// The following statistics are available:
23599	//
23600	//    * Minimum - The lowest value observed during the specified period. Use
23601	//    this value to determine low volumes of activity for your application.
23602	//
23603	//    * Maximum - The highest value observed during the specified period. Use
23604	//    this value to determine high volumes of activity for your application.
23605	//
23606	//    * Sum - All values submitted for the matching metric added together. You
23607	//    can use this statistic to determine the total volume of a metric.
23608	//
23609	//    * Average - The value of Sum / SampleCount during the specified period.
23610	//    By comparing this statistic with the Minimum and Maximum values, you can
23611	//    determine the full scope of a metric and how close the average use is
23612	//    to the Minimum and Maximum values. This comparison helps you to know when
23613	//    to increase or decrease your resources.
23614	//
23615	//    * SampleCount - The count, or number, of data points used for the statistical
23616	//    calculation.
23617	//
23618	// Statistics is a required field
23619	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
23620
23621	// The unit for the metric data request. Valid units depend on the metric data
23622	// being requested. For the valid units with each available metric, see the
23623	// metricName parameter.
23624	//
23625	// Unit is a required field
23626	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
23627}
23628
23629// String returns the string representation
23630func (s GetLoadBalancerMetricDataInput) String() string {
23631	return awsutil.Prettify(s)
23632}
23633
23634// GoString returns the string representation
23635func (s GetLoadBalancerMetricDataInput) GoString() string {
23636	return s.String()
23637}
23638
23639// Validate inspects the fields of the type to determine if they are valid.
23640func (s *GetLoadBalancerMetricDataInput) Validate() error {
23641	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
23642	if s.EndTime == nil {
23643		invalidParams.Add(request.NewErrParamRequired("EndTime"))
23644	}
23645	if s.LoadBalancerName == nil {
23646		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23647	}
23648	if s.MetricName == nil {
23649		invalidParams.Add(request.NewErrParamRequired("MetricName"))
23650	}
23651	if s.Period == nil {
23652		invalidParams.Add(request.NewErrParamRequired("Period"))
23653	}
23654	if s.Period != nil && *s.Period < 60 {
23655		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
23656	}
23657	if s.StartTime == nil {
23658		invalidParams.Add(request.NewErrParamRequired("StartTime"))
23659	}
23660	if s.Statistics == nil {
23661		invalidParams.Add(request.NewErrParamRequired("Statistics"))
23662	}
23663	if s.Unit == nil {
23664		invalidParams.Add(request.NewErrParamRequired("Unit"))
23665	}
23666
23667	if invalidParams.Len() > 0 {
23668		return invalidParams
23669	}
23670	return nil
23671}
23672
23673// SetEndTime sets the EndTime field's value.
23674func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
23675	s.EndTime = &v
23676	return s
23677}
23678
23679// SetLoadBalancerName sets the LoadBalancerName field's value.
23680func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
23681	s.LoadBalancerName = &v
23682	return s
23683}
23684
23685// SetMetricName sets the MetricName field's value.
23686func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
23687	s.MetricName = &v
23688	return s
23689}
23690
23691// SetPeriod sets the Period field's value.
23692func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
23693	s.Period = &v
23694	return s
23695}
23696
23697// SetStartTime sets the StartTime field's value.
23698func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
23699	s.StartTime = &v
23700	return s
23701}
23702
23703// SetStatistics sets the Statistics field's value.
23704func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
23705	s.Statistics = v
23706	return s
23707}
23708
23709// SetUnit sets the Unit field's value.
23710func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
23711	s.Unit = &v
23712	return s
23713}
23714
23715type GetLoadBalancerMetricDataOutput struct {
23716	_ struct{} `type:"structure"`
23717
23718	// An array of objects that describe the metric data returned.
23719	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
23720
23721	// The name of the metric returned.
23722	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
23723}
23724
23725// String returns the string representation
23726func (s GetLoadBalancerMetricDataOutput) String() string {
23727	return awsutil.Prettify(s)
23728}
23729
23730// GoString returns the string representation
23731func (s GetLoadBalancerMetricDataOutput) GoString() string {
23732	return s.String()
23733}
23734
23735// SetMetricData sets the MetricData field's value.
23736func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
23737	s.MetricData = v
23738	return s
23739}
23740
23741// SetMetricName sets the MetricName field's value.
23742func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
23743	s.MetricName = &v
23744	return s
23745}
23746
23747type GetLoadBalancerOutput struct {
23748	_ struct{} `type:"structure"`
23749
23750	// An object containing information about your load balancer.
23751	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
23752}
23753
23754// String returns the string representation
23755func (s GetLoadBalancerOutput) String() string {
23756	return awsutil.Prettify(s)
23757}
23758
23759// GoString returns the string representation
23760func (s GetLoadBalancerOutput) GoString() string {
23761	return s.String()
23762}
23763
23764// SetLoadBalancer sets the LoadBalancer field's value.
23765func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
23766	s.LoadBalancer = v
23767	return s
23768}
23769
23770type GetLoadBalancerTlsCertificatesInput struct {
23771	_ struct{} `type:"structure"`
23772
23773	// The name of the load balancer you associated with your SSL/TLS certificate.
23774	//
23775	// LoadBalancerName is a required field
23776	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
23777}
23778
23779// String returns the string representation
23780func (s GetLoadBalancerTlsCertificatesInput) String() string {
23781	return awsutil.Prettify(s)
23782}
23783
23784// GoString returns the string representation
23785func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
23786	return s.String()
23787}
23788
23789// Validate inspects the fields of the type to determine if they are valid.
23790func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
23791	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
23792	if s.LoadBalancerName == nil {
23793		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
23794	}
23795
23796	if invalidParams.Len() > 0 {
23797		return invalidParams
23798	}
23799	return nil
23800}
23801
23802// SetLoadBalancerName sets the LoadBalancerName field's value.
23803func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
23804	s.LoadBalancerName = &v
23805	return s
23806}
23807
23808type GetLoadBalancerTlsCertificatesOutput struct {
23809	_ struct{} `type:"structure"`
23810
23811	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
23812	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
23813}
23814
23815// String returns the string representation
23816func (s GetLoadBalancerTlsCertificatesOutput) String() string {
23817	return awsutil.Prettify(s)
23818}
23819
23820// GoString returns the string representation
23821func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
23822	return s.String()
23823}
23824
23825// SetTlsCertificates sets the TlsCertificates field's value.
23826func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
23827	s.TlsCertificates = v
23828	return s
23829}
23830
23831type GetLoadBalancersInput struct {
23832	_ struct{} `type:"structure"`
23833
23834	// The token to advance to the next page of results from your request.
23835	//
23836	// To get a page token, perform an initial GetLoadBalancers request. If your
23837	// results are paginated, the response will return a next page token that you
23838	// can specify as the page token in a subsequent request.
23839	PageToken *string `locationName:"pageToken" type:"string"`
23840}
23841
23842// String returns the string representation
23843func (s GetLoadBalancersInput) String() string {
23844	return awsutil.Prettify(s)
23845}
23846
23847// GoString returns the string representation
23848func (s GetLoadBalancersInput) GoString() string {
23849	return s.String()
23850}
23851
23852// SetPageToken sets the PageToken field's value.
23853func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
23854	s.PageToken = &v
23855	return s
23856}
23857
23858type GetLoadBalancersOutput struct {
23859	_ struct{} `type:"structure"`
23860
23861	// An array of LoadBalancer objects describing your load balancers.
23862	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
23863
23864	// The token to advance to the next page of resutls from your request.
23865	//
23866	// A next page token is not returned if there are no more results to display.
23867	//
23868	// To get the next page of results, perform another GetLoadBalancers request
23869	// and specify the next page token using the pageToken parameter.
23870	NextPageToken *string `locationName:"nextPageToken" type:"string"`
23871}
23872
23873// String returns the string representation
23874func (s GetLoadBalancersOutput) String() string {
23875	return awsutil.Prettify(s)
23876}
23877
23878// GoString returns the string representation
23879func (s GetLoadBalancersOutput) GoString() string {
23880	return s.String()
23881}
23882
23883// SetLoadBalancers sets the LoadBalancers field's value.
23884func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
23885	s.LoadBalancers = v
23886	return s
23887}
23888
23889// SetNextPageToken sets the NextPageToken field's value.
23890func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
23891	s.NextPageToken = &v
23892	return s
23893}
23894
23895type GetOperationInput struct {
23896	_ struct{} `type:"structure"`
23897
23898	// A GUID used to identify the operation.
23899	//
23900	// OperationId is a required field
23901	OperationId *string `locationName:"operationId" type:"string" required:"true"`
23902}
23903
23904// String returns the string representation
23905func (s GetOperationInput) String() string {
23906	return awsutil.Prettify(s)
23907}
23908
23909// GoString returns the string representation
23910func (s GetOperationInput) GoString() string {
23911	return s.String()
23912}
23913
23914// Validate inspects the fields of the type to determine if they are valid.
23915func (s *GetOperationInput) Validate() error {
23916	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
23917	if s.OperationId == nil {
23918		invalidParams.Add(request.NewErrParamRequired("OperationId"))
23919	}
23920
23921	if invalidParams.Len() > 0 {
23922		return invalidParams
23923	}
23924	return nil
23925}
23926
23927// SetOperationId sets the OperationId field's value.
23928func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
23929	s.OperationId = &v
23930	return s
23931}
23932
23933type GetOperationOutput struct {
23934	_ struct{} `type:"structure"`
23935
23936	// An array of objects that describe the result of the action, such as the status
23937	// of the request, the timestamp of the request, and the resources affected
23938	// by the request.
23939	Operation *Operation `locationName:"operation" type:"structure"`
23940}
23941
23942// String returns the string representation
23943func (s GetOperationOutput) String() string {
23944	return awsutil.Prettify(s)
23945}
23946
23947// GoString returns the string representation
23948func (s GetOperationOutput) GoString() string {
23949	return s.String()
23950}
23951
23952// SetOperation sets the Operation field's value.
23953func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
23954	s.Operation = v
23955	return s
23956}
23957
23958type GetOperationsForResourceInput struct {
23959	_ struct{} `type:"structure"`
23960
23961	// The token to advance to the next page of results from your request.
23962	//
23963	// To get a page token, perform an initial GetOperationsForResource request.
23964	// If your results are paginated, the response will return a next page token
23965	// that you can specify as the page token in a subsequent request.
23966	PageToken *string `locationName:"pageToken" type:"string"`
23967
23968	// The name of the resource for which you are requesting information.
23969	//
23970	// ResourceName is a required field
23971	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
23972}
23973
23974// String returns the string representation
23975func (s GetOperationsForResourceInput) String() string {
23976	return awsutil.Prettify(s)
23977}
23978
23979// GoString returns the string representation
23980func (s GetOperationsForResourceInput) GoString() string {
23981	return s.String()
23982}
23983
23984// Validate inspects the fields of the type to determine if they are valid.
23985func (s *GetOperationsForResourceInput) Validate() error {
23986	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
23987	if s.ResourceName == nil {
23988		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
23989	}
23990
23991	if invalidParams.Len() > 0 {
23992		return invalidParams
23993	}
23994	return nil
23995}
23996
23997// SetPageToken sets the PageToken field's value.
23998func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
23999	s.PageToken = &v
24000	return s
24001}
24002
24003// SetResourceName sets the ResourceName field's value.
24004func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
24005	s.ResourceName = &v
24006	return s
24007}
24008
24009type GetOperationsForResourceOutput struct {
24010	_ struct{} `type:"structure"`
24011
24012	// (Deprecated) Returns the number of pages of results that remain.
24013	//
24014	// In releases prior to June 12, 2017, this parameter returned null by the API.
24015	// It is now deprecated, and the API returns the next page token parameter instead.
24016	//
24017	// Deprecated: NextPageCount has been deprecated
24018	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
24019
24020	// The token to advance to the next page of resutls from your request.
24021	//
24022	// A next page token is not returned if there are no more results to display.
24023	//
24024	// To get the next page of results, perform another GetOperationsForResource
24025	// request and specify the next page token using the pageToken parameter.
24026	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24027
24028	// An array of objects that describe the result of the action, such as the status
24029	// of the request, the timestamp of the request, and the resources affected
24030	// by the request.
24031	Operations []*Operation `locationName:"operations" type:"list"`
24032}
24033
24034// String returns the string representation
24035func (s GetOperationsForResourceOutput) String() string {
24036	return awsutil.Prettify(s)
24037}
24038
24039// GoString returns the string representation
24040func (s GetOperationsForResourceOutput) GoString() string {
24041	return s.String()
24042}
24043
24044// SetNextPageCount sets the NextPageCount field's value.
24045func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
24046	s.NextPageCount = &v
24047	return s
24048}
24049
24050// SetNextPageToken sets the NextPageToken field's value.
24051func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
24052	s.NextPageToken = &v
24053	return s
24054}
24055
24056// SetOperations sets the Operations field's value.
24057func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
24058	s.Operations = v
24059	return s
24060}
24061
24062type GetOperationsInput struct {
24063	_ struct{} `type:"structure"`
24064
24065	// The token to advance to the next page of results from your request.
24066	//
24067	// To get a page token, perform an initial GetOperations request. If your results
24068	// are paginated, the response will return a next page token that you can specify
24069	// as the page token in a subsequent request.
24070	PageToken *string `locationName:"pageToken" type:"string"`
24071}
24072
24073// String returns the string representation
24074func (s GetOperationsInput) String() string {
24075	return awsutil.Prettify(s)
24076}
24077
24078// GoString returns the string representation
24079func (s GetOperationsInput) GoString() string {
24080	return s.String()
24081}
24082
24083// SetPageToken sets the PageToken field's value.
24084func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
24085	s.PageToken = &v
24086	return s
24087}
24088
24089type GetOperationsOutput struct {
24090	_ struct{} `type:"structure"`
24091
24092	// The token to advance to the next page of resutls from your request.
24093	//
24094	// A next page token is not returned if there are no more results to display.
24095	//
24096	// To get the next page of results, perform another GetOperations request and
24097	// specify the next page token using the pageToken parameter.
24098	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24099
24100	// An array of objects that describe the result of the action, such as the status
24101	// of the request, the timestamp of the request, and the resources affected
24102	// by the request.
24103	Operations []*Operation `locationName:"operations" type:"list"`
24104}
24105
24106// String returns the string representation
24107func (s GetOperationsOutput) String() string {
24108	return awsutil.Prettify(s)
24109}
24110
24111// GoString returns the string representation
24112func (s GetOperationsOutput) GoString() string {
24113	return s.String()
24114}
24115
24116// SetNextPageToken sets the NextPageToken field's value.
24117func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
24118	s.NextPageToken = &v
24119	return s
24120}
24121
24122// SetOperations sets the Operations field's value.
24123func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
24124	s.Operations = v
24125	return s
24126}
24127
24128type GetRegionsInput struct {
24129	_ struct{} `type:"structure"`
24130
24131	// A Boolean value indicating whether to also include Availability Zones in
24132	// your get regions request. Availability Zones are indicated with a letter:
24133	// e.g., us-east-2a.
24134	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
24135
24136	// >A Boolean value indicating whether to also include Availability Zones for
24137	// databases in your get regions request. Availability Zones are indicated with
24138	// a letter (e.g., us-east-2a).
24139	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
24140}
24141
24142// String returns the string representation
24143func (s GetRegionsInput) String() string {
24144	return awsutil.Prettify(s)
24145}
24146
24147// GoString returns the string representation
24148func (s GetRegionsInput) GoString() string {
24149	return s.String()
24150}
24151
24152// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
24153func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
24154	s.IncludeAvailabilityZones = &v
24155	return s
24156}
24157
24158// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
24159func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
24160	s.IncludeRelationalDatabaseAvailabilityZones = &v
24161	return s
24162}
24163
24164type GetRegionsOutput struct {
24165	_ struct{} `type:"structure"`
24166
24167	// An array of key-value pairs containing information about your get regions
24168	// request.
24169	Regions []*Region `locationName:"regions" type:"list"`
24170}
24171
24172// String returns the string representation
24173func (s GetRegionsOutput) String() string {
24174	return awsutil.Prettify(s)
24175}
24176
24177// GoString returns the string representation
24178func (s GetRegionsOutput) GoString() string {
24179	return s.String()
24180}
24181
24182// SetRegions sets the Regions field's value.
24183func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
24184	s.Regions = v
24185	return s
24186}
24187
24188type GetRelationalDatabaseBlueprintsInput struct {
24189	_ struct{} `type:"structure"`
24190
24191	// The token to advance to the next page of results from your request.
24192	//
24193	// To get a page token, perform an initial GetRelationalDatabaseBlueprints request.
24194	// If your results are paginated, the response will return a next page token
24195	// that you can specify as the page token in a subsequent request.
24196	PageToken *string `locationName:"pageToken" type:"string"`
24197}
24198
24199// String returns the string representation
24200func (s GetRelationalDatabaseBlueprintsInput) String() string {
24201	return awsutil.Prettify(s)
24202}
24203
24204// GoString returns the string representation
24205func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
24206	return s.String()
24207}
24208
24209// SetPageToken sets the PageToken field's value.
24210func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
24211	s.PageToken = &v
24212	return s
24213}
24214
24215type GetRelationalDatabaseBlueprintsOutput struct {
24216	_ struct{} `type:"structure"`
24217
24218	// An object describing the result of your get relational database blueprints
24219	// request.
24220	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
24221
24222	// The token to advance to the next page of resutls from your request.
24223	//
24224	// A next page token is not returned if there are no more results to display.
24225	//
24226	// To get the next page of results, perform another GetRelationalDatabaseBlueprints
24227	// request and specify the next page token using the pageToken parameter.
24228	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24229}
24230
24231// String returns the string representation
24232func (s GetRelationalDatabaseBlueprintsOutput) String() string {
24233	return awsutil.Prettify(s)
24234}
24235
24236// GoString returns the string representation
24237func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
24238	return s.String()
24239}
24240
24241// SetBlueprints sets the Blueprints field's value.
24242func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
24243	s.Blueprints = v
24244	return s
24245}
24246
24247// SetNextPageToken sets the NextPageToken field's value.
24248func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
24249	s.NextPageToken = &v
24250	return s
24251}
24252
24253type GetRelationalDatabaseBundlesInput struct {
24254	_ struct{} `type:"structure"`
24255
24256	// The token to advance to the next page of results from your request.
24257	//
24258	// To get a page token, perform an initial GetRelationalDatabaseBundles request.
24259	// If your results are paginated, the response will return a next page token
24260	// that you can specify as the page token in a subsequent request.
24261	PageToken *string `locationName:"pageToken" type:"string"`
24262}
24263
24264// String returns the string representation
24265func (s GetRelationalDatabaseBundlesInput) String() string {
24266	return awsutil.Prettify(s)
24267}
24268
24269// GoString returns the string representation
24270func (s GetRelationalDatabaseBundlesInput) GoString() string {
24271	return s.String()
24272}
24273
24274// SetPageToken sets the PageToken field's value.
24275func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
24276	s.PageToken = &v
24277	return s
24278}
24279
24280type GetRelationalDatabaseBundlesOutput struct {
24281	_ struct{} `type:"structure"`
24282
24283	// An object describing the result of your get relational database bundles request.
24284	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
24285
24286	// The token to advance to the next page of resutls from your request.
24287	//
24288	// A next page token is not returned if there are no more results to display.
24289	//
24290	// To get the next page of results, perform another GetRelationalDatabaseBundles
24291	// request and specify the next page token using the pageToken parameter.
24292	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24293}
24294
24295// String returns the string representation
24296func (s GetRelationalDatabaseBundlesOutput) String() string {
24297	return awsutil.Prettify(s)
24298}
24299
24300// GoString returns the string representation
24301func (s GetRelationalDatabaseBundlesOutput) GoString() string {
24302	return s.String()
24303}
24304
24305// SetBundles sets the Bundles field's value.
24306func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
24307	s.Bundles = v
24308	return s
24309}
24310
24311// SetNextPageToken sets the NextPageToken field's value.
24312func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
24313	s.NextPageToken = &v
24314	return s
24315}
24316
24317type GetRelationalDatabaseEventsInput struct {
24318	_ struct{} `type:"structure"`
24319
24320	// The number of minutes in the past from which to retrieve events. For example,
24321	// to get all events from the past 2 hours, enter 120.
24322	//
24323	// Default: 60
24324	//
24325	// The minimum is 1 and the maximum is 14 days (20160 minutes).
24326	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
24327
24328	// The token to advance to the next page of results from your request.
24329	//
24330	// To get a page token, perform an initial GetRelationalDatabaseEvents request.
24331	// If your results are paginated, the response will return a next page token
24332	// that you can specify as the page token in a subsequent request.
24333	PageToken *string `locationName:"pageToken" type:"string"`
24334
24335	// The name of the database from which to get events.
24336	//
24337	// RelationalDatabaseName is a required field
24338	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24339}
24340
24341// String returns the string representation
24342func (s GetRelationalDatabaseEventsInput) String() string {
24343	return awsutil.Prettify(s)
24344}
24345
24346// GoString returns the string representation
24347func (s GetRelationalDatabaseEventsInput) GoString() string {
24348	return s.String()
24349}
24350
24351// Validate inspects the fields of the type to determine if they are valid.
24352func (s *GetRelationalDatabaseEventsInput) Validate() error {
24353	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
24354	if s.RelationalDatabaseName == nil {
24355		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24356	}
24357
24358	if invalidParams.Len() > 0 {
24359		return invalidParams
24360	}
24361	return nil
24362}
24363
24364// SetDurationInMinutes sets the DurationInMinutes field's value.
24365func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
24366	s.DurationInMinutes = &v
24367	return s
24368}
24369
24370// SetPageToken sets the PageToken field's value.
24371func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
24372	s.PageToken = &v
24373	return s
24374}
24375
24376// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24377func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
24378	s.RelationalDatabaseName = &v
24379	return s
24380}
24381
24382type GetRelationalDatabaseEventsOutput struct {
24383	_ struct{} `type:"structure"`
24384
24385	// The token to advance to the next page of resutls from your request.
24386	//
24387	// A next page token is not returned if there are no more results to display.
24388	//
24389	// To get the next page of results, perform another GetRelationalDatabaseEvents
24390	// request and specify the next page token using the pageToken parameter.
24391	NextPageToken *string `locationName:"nextPageToken" type:"string"`
24392
24393	// An object describing the result of your get relational database events request.
24394	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
24395}
24396
24397// String returns the string representation
24398func (s GetRelationalDatabaseEventsOutput) String() string {
24399	return awsutil.Prettify(s)
24400}
24401
24402// GoString returns the string representation
24403func (s GetRelationalDatabaseEventsOutput) GoString() string {
24404	return s.String()
24405}
24406
24407// SetNextPageToken sets the NextPageToken field's value.
24408func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
24409	s.NextPageToken = &v
24410	return s
24411}
24412
24413// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
24414func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
24415	s.RelationalDatabaseEvents = v
24416	return s
24417}
24418
24419type GetRelationalDatabaseInput struct {
24420	_ struct{} `type:"structure"`
24421
24422	// The name of the database that you are looking up.
24423	//
24424	// RelationalDatabaseName is a required field
24425	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24426}
24427
24428// String returns the string representation
24429func (s GetRelationalDatabaseInput) String() string {
24430	return awsutil.Prettify(s)
24431}
24432
24433// GoString returns the string representation
24434func (s GetRelationalDatabaseInput) GoString() string {
24435	return s.String()
24436}
24437
24438// Validate inspects the fields of the type to determine if they are valid.
24439func (s *GetRelationalDatabaseInput) Validate() error {
24440	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
24441	if s.RelationalDatabaseName == nil {
24442		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24443	}
24444
24445	if invalidParams.Len() > 0 {
24446		return invalidParams
24447	}
24448	return nil
24449}
24450
24451// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24452func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
24453	s.RelationalDatabaseName = &v
24454	return s
24455}
24456
24457type GetRelationalDatabaseLogEventsInput struct {
24458	_ struct{} `type:"structure"`
24459
24460	// The end of the time interval from which to get log events.
24461	//
24462	// Constraints:
24463	//
24464	//    * Specified in Coordinated Universal Time (UTC).
24465	//
24466	//    * Specified in the Unix time format. For example, if you wish to use an
24467	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
24468	//    the end time.
24469	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
24470
24471	// The name of the log stream.
24472	//
24473	// Use the get relational database log streams operation to get a list of available
24474	// log streams.
24475	//
24476	// LogStreamName is a required field
24477	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
24478
24479	// The token to advance to the next or previous page of results from your request.
24480	//
24481	// To get a page token, perform an initial GetRelationalDatabaseLogEvents request.
24482	// If your results are paginated, the response will return a next forward token
24483	// and/or next backward token that you can specify as the page token in a subsequent
24484	// request.
24485	PageToken *string `locationName:"pageToken" type:"string"`
24486
24487	// The name of your database for which to get log events.
24488	//
24489	// RelationalDatabaseName is a required field
24490	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24491
24492	// Parameter to specify if the log should start from head or tail. If true is
24493	// specified, the log event starts from the head of the log. If false is specified,
24494	// the log event starts from the tail of the log.
24495	//
24496	// For PostgreSQL, the default value of false is the only option available.
24497	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
24498
24499	// The start of the time interval from which to get log events.
24500	//
24501	// Constraints:
24502	//
24503	//    * Specified in Coordinated Universal Time (UTC).
24504	//
24505	//    * Specified in the Unix time format. For example, if you wish to use a
24506	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
24507	//    as the start time.
24508	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
24509}
24510
24511// String returns the string representation
24512func (s GetRelationalDatabaseLogEventsInput) String() string {
24513	return awsutil.Prettify(s)
24514}
24515
24516// GoString returns the string representation
24517func (s GetRelationalDatabaseLogEventsInput) GoString() string {
24518	return s.String()
24519}
24520
24521// Validate inspects the fields of the type to determine if they are valid.
24522func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
24523	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
24524	if s.LogStreamName == nil {
24525		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
24526	}
24527	if s.RelationalDatabaseName == nil {
24528		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24529	}
24530
24531	if invalidParams.Len() > 0 {
24532		return invalidParams
24533	}
24534	return nil
24535}
24536
24537// SetEndTime sets the EndTime field's value.
24538func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
24539	s.EndTime = &v
24540	return s
24541}
24542
24543// SetLogStreamName sets the LogStreamName field's value.
24544func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
24545	s.LogStreamName = &v
24546	return s
24547}
24548
24549// SetPageToken sets the PageToken field's value.
24550func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
24551	s.PageToken = &v
24552	return s
24553}
24554
24555// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24556func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
24557	s.RelationalDatabaseName = &v
24558	return s
24559}
24560
24561// SetStartFromHead sets the StartFromHead field's value.
24562func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
24563	s.StartFromHead = &v
24564	return s
24565}
24566
24567// SetStartTime sets the StartTime field's value.
24568func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
24569	s.StartTime = &v
24570	return s
24571}
24572
24573type GetRelationalDatabaseLogEventsOutput struct {
24574	_ struct{} `type:"structure"`
24575
24576	// A token used for advancing to the previous page of results from your get
24577	// relational database log events request.
24578	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
24579
24580	// A token used for advancing to the next page of results from your get relational
24581	// database log events request.
24582	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
24583
24584	// An object describing the result of your get relational database log events
24585	// request.
24586	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
24587}
24588
24589// String returns the string representation
24590func (s GetRelationalDatabaseLogEventsOutput) String() string {
24591	return awsutil.Prettify(s)
24592}
24593
24594// GoString returns the string representation
24595func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
24596	return s.String()
24597}
24598
24599// SetNextBackwardToken sets the NextBackwardToken field's value.
24600func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
24601	s.NextBackwardToken = &v
24602	return s
24603}
24604
24605// SetNextForwardToken sets the NextForwardToken field's value.
24606func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
24607	s.NextForwardToken = &v
24608	return s
24609}
24610
24611// SetResourceLogEvents sets the ResourceLogEvents field's value.
24612func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
24613	s.ResourceLogEvents = v
24614	return s
24615}
24616
24617type GetRelationalDatabaseLogStreamsInput struct {
24618	_ struct{} `type:"structure"`
24619
24620	// The name of your database for which to get log streams.
24621	//
24622	// RelationalDatabaseName is a required field
24623	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24624}
24625
24626// String returns the string representation
24627func (s GetRelationalDatabaseLogStreamsInput) String() string {
24628	return awsutil.Prettify(s)
24629}
24630
24631// GoString returns the string representation
24632func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
24633	return s.String()
24634}
24635
24636// Validate inspects the fields of the type to determine if they are valid.
24637func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
24638	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
24639	if s.RelationalDatabaseName == nil {
24640		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24641	}
24642
24643	if invalidParams.Len() > 0 {
24644		return invalidParams
24645	}
24646	return nil
24647}
24648
24649// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24650func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
24651	s.RelationalDatabaseName = &v
24652	return s
24653}
24654
24655type GetRelationalDatabaseLogStreamsOutput struct {
24656	_ struct{} `type:"structure"`
24657
24658	// An object describing the result of your get relational database log streams
24659	// request.
24660	LogStreams []*string `locationName:"logStreams" type:"list"`
24661}
24662
24663// String returns the string representation
24664func (s GetRelationalDatabaseLogStreamsOutput) String() string {
24665	return awsutil.Prettify(s)
24666}
24667
24668// GoString returns the string representation
24669func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
24670	return s.String()
24671}
24672
24673// SetLogStreams sets the LogStreams field's value.
24674func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
24675	s.LogStreams = v
24676	return s
24677}
24678
24679type GetRelationalDatabaseMasterUserPasswordInput struct {
24680	_ struct{} `type:"structure"`
24681
24682	// The password version to return.
24683	//
24684	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
24685	// respectively. Specifying PENDING returns the newest version of the password
24686	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
24687	// the PENDING password is no longer available.
24688	//
24689	// Default: CURRENT
24690	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
24691
24692	// The name of your database for which to get the master user password.
24693	//
24694	// RelationalDatabaseName is a required field
24695	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24696}
24697
24698// String returns the string representation
24699func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
24700	return awsutil.Prettify(s)
24701}
24702
24703// GoString returns the string representation
24704func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
24705	return s.String()
24706}
24707
24708// Validate inspects the fields of the type to determine if they are valid.
24709func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
24710	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
24711	if s.RelationalDatabaseName == nil {
24712		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24713	}
24714
24715	if invalidParams.Len() > 0 {
24716		return invalidParams
24717	}
24718	return nil
24719}
24720
24721// SetPasswordVersion sets the PasswordVersion field's value.
24722func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
24723	s.PasswordVersion = &v
24724	return s
24725}
24726
24727// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24728func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
24729	s.RelationalDatabaseName = &v
24730	return s
24731}
24732
24733type GetRelationalDatabaseMasterUserPasswordOutput struct {
24734	_ struct{} `type:"structure"`
24735
24736	// The timestamp when the specified version of the master user password was
24737	// created.
24738	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
24739
24740	// The master user password for the password version specified.
24741	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
24742}
24743
24744// String returns the string representation
24745func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
24746	return awsutil.Prettify(s)
24747}
24748
24749// GoString returns the string representation
24750func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
24751	return s.String()
24752}
24753
24754// SetCreatedAt sets the CreatedAt field's value.
24755func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
24756	s.CreatedAt = &v
24757	return s
24758}
24759
24760// SetMasterUserPassword sets the MasterUserPassword field's value.
24761func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
24762	s.MasterUserPassword = &v
24763	return s
24764}
24765
24766type GetRelationalDatabaseMetricDataInput struct {
24767	_ struct{} `type:"structure"`
24768
24769	// The end of the time interval from which to get metric data.
24770	//
24771	// Constraints:
24772	//
24773	//    * Specified in Coordinated Universal Time (UTC).
24774	//
24775	//    * Specified in the Unix time format. For example, if you wish to use an
24776	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
24777	//    the end time.
24778	//
24779	// EndTime is a required field
24780	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
24781
24782	// The metric for which you want to return information.
24783	//
24784	// Valid relational database metric names are listed below, along with the most
24785	// useful statistics to include in your request, and the published unit value.
24786	// All relational database metric data is available in 1-minute (60 seconds)
24787	// granularity.
24788	//
24789	//    * CPUUtilization - The percentage of CPU utilization currently in use
24790	//    on the database. Statistics: The most useful statistics are Maximum and
24791	//    Average. Unit: The published unit is Percent.
24792	//
24793	//    * DatabaseConnections - The number of database connections in use. Statistics:
24794	//    The most useful statistics are Maximum and Sum. Unit: The published unit
24795	//    is Count.
24796	//
24797	//    * DiskQueueDepth - The number of outstanding IOs (read/write requests)
24798	//    that are waiting to access the disk. Statistics: The most useful statistic
24799	//    is Sum. Unit: The published unit is Count.
24800	//
24801	//    * FreeStorageSpace - The amount of available storage space. Statistics:
24802	//    The most useful statistic is Sum. Unit: The published unit is Bytes.
24803	//
24804	//    * NetworkReceiveThroughput - The incoming (Receive) network traffic on
24805	//    the database, including both customer database traffic and AWS traffic
24806	//    used for monitoring and replication. Statistics: The most useful statistic
24807	//    is Average. Unit: The published unit is Bytes/Second.
24808	//
24809	//    * NetworkTransmitThroughput - The outgoing (Transmit) network traffic
24810	//    on the database, including both customer database traffic and AWS traffic
24811	//    used for monitoring and replication. Statistics: The most useful statistic
24812	//    is Average. Unit: The published unit is Bytes/Second.
24813	//
24814	// MetricName is a required field
24815	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
24816
24817	// The granularity, in seconds, of the returned data points.
24818	//
24819	// All relational database metric data is available in 1-minute (60 seconds)
24820	// granularity.
24821	//
24822	// Period is a required field
24823	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
24824
24825	// The name of your database from which to get metric data.
24826	//
24827	// RelationalDatabaseName is a required field
24828	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24829
24830	// The start of the time interval from which to get metric data.
24831	//
24832	// Constraints:
24833	//
24834	//    * Specified in Coordinated Universal Time (UTC).
24835	//
24836	//    * Specified in the Unix time format. For example, if you wish to use a
24837	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
24838	//    as the start time.
24839	//
24840	// StartTime is a required field
24841	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
24842
24843	// The statistic for the metric.
24844	//
24845	// The following statistics are available:
24846	//
24847	//    * Minimum - The lowest value observed during the specified period. Use
24848	//    this value to determine low volumes of activity for your application.
24849	//
24850	//    * Maximum - The highest value observed during the specified period. Use
24851	//    this value to determine high volumes of activity for your application.
24852	//
24853	//    * Sum - All values submitted for the matching metric added together. You
24854	//    can use this statistic to determine the total volume of a metric.
24855	//
24856	//    * Average - The value of Sum / SampleCount during the specified period.
24857	//    By comparing this statistic with the Minimum and Maximum values, you can
24858	//    determine the full scope of a metric and how close the average use is
24859	//    to the Minimum and Maximum values. This comparison helps you to know when
24860	//    to increase or decrease your resources.
24861	//
24862	//    * SampleCount - The count, or number, of data points used for the statistical
24863	//    calculation.
24864	//
24865	// Statistics is a required field
24866	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
24867
24868	// The unit for the metric data request. Valid units depend on the metric data
24869	// being requested. For the valid units with each available metric, see the
24870	// metricName parameter.
24871	//
24872	// Unit is a required field
24873	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
24874}
24875
24876// String returns the string representation
24877func (s GetRelationalDatabaseMetricDataInput) String() string {
24878	return awsutil.Prettify(s)
24879}
24880
24881// GoString returns the string representation
24882func (s GetRelationalDatabaseMetricDataInput) GoString() string {
24883	return s.String()
24884}
24885
24886// Validate inspects the fields of the type to determine if they are valid.
24887func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
24888	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
24889	if s.EndTime == nil {
24890		invalidParams.Add(request.NewErrParamRequired("EndTime"))
24891	}
24892	if s.MetricName == nil {
24893		invalidParams.Add(request.NewErrParamRequired("MetricName"))
24894	}
24895	if s.Period == nil {
24896		invalidParams.Add(request.NewErrParamRequired("Period"))
24897	}
24898	if s.Period != nil && *s.Period < 60 {
24899		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
24900	}
24901	if s.RelationalDatabaseName == nil {
24902		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24903	}
24904	if s.StartTime == nil {
24905		invalidParams.Add(request.NewErrParamRequired("StartTime"))
24906	}
24907	if s.Statistics == nil {
24908		invalidParams.Add(request.NewErrParamRequired("Statistics"))
24909	}
24910	if s.Unit == nil {
24911		invalidParams.Add(request.NewErrParamRequired("Unit"))
24912	}
24913
24914	if invalidParams.Len() > 0 {
24915		return invalidParams
24916	}
24917	return nil
24918}
24919
24920// SetEndTime sets the EndTime field's value.
24921func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
24922	s.EndTime = &v
24923	return s
24924}
24925
24926// SetMetricName sets the MetricName field's value.
24927func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
24928	s.MetricName = &v
24929	return s
24930}
24931
24932// SetPeriod sets the Period field's value.
24933func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
24934	s.Period = &v
24935	return s
24936}
24937
24938// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24939func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
24940	s.RelationalDatabaseName = &v
24941	return s
24942}
24943
24944// SetStartTime sets the StartTime field's value.
24945func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
24946	s.StartTime = &v
24947	return s
24948}
24949
24950// SetStatistics sets the Statistics field's value.
24951func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
24952	s.Statistics = v
24953	return s
24954}
24955
24956// SetUnit sets the Unit field's value.
24957func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
24958	s.Unit = &v
24959	return s
24960}
24961
24962type GetRelationalDatabaseMetricDataOutput struct {
24963	_ struct{} `type:"structure"`
24964
24965	// An array of objects that describe the metric data returned.
24966	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
24967
24968	// The name of the metric returned.
24969	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
24970}
24971
24972// String returns the string representation
24973func (s GetRelationalDatabaseMetricDataOutput) String() string {
24974	return awsutil.Prettify(s)
24975}
24976
24977// GoString returns the string representation
24978func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
24979	return s.String()
24980}
24981
24982// SetMetricData sets the MetricData field's value.
24983func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
24984	s.MetricData = v
24985	return s
24986}
24987
24988// SetMetricName sets the MetricName field's value.
24989func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
24990	s.MetricName = &v
24991	return s
24992}
24993
24994type GetRelationalDatabaseOutput struct {
24995	_ struct{} `type:"structure"`
24996
24997	// An object describing the specified database.
24998	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
24999}
25000
25001// String returns the string representation
25002func (s GetRelationalDatabaseOutput) String() string {
25003	return awsutil.Prettify(s)
25004}
25005
25006// GoString returns the string representation
25007func (s GetRelationalDatabaseOutput) GoString() string {
25008	return s.String()
25009}
25010
25011// SetRelationalDatabase sets the RelationalDatabase field's value.
25012func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
25013	s.RelationalDatabase = v
25014	return s
25015}
25016
25017type GetRelationalDatabaseParametersInput struct {
25018	_ struct{} `type:"structure"`
25019
25020	// The token to advance to the next page of results from your request.
25021	//
25022	// To get a page token, perform an initial GetRelationalDatabaseParameters request.
25023	// If your results are paginated, the response will return a next page token
25024	// that you can specify as the page token in a subsequent request.
25025	PageToken *string `locationName:"pageToken" type:"string"`
25026
25027	// The name of your database for which to get parameters.
25028	//
25029	// RelationalDatabaseName is a required field
25030	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
25031}
25032
25033// String returns the string representation
25034func (s GetRelationalDatabaseParametersInput) String() string {
25035	return awsutil.Prettify(s)
25036}
25037
25038// GoString returns the string representation
25039func (s GetRelationalDatabaseParametersInput) GoString() string {
25040	return s.String()
25041}
25042
25043// Validate inspects the fields of the type to determine if they are valid.
25044func (s *GetRelationalDatabaseParametersInput) Validate() error {
25045	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
25046	if s.RelationalDatabaseName == nil {
25047		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
25048	}
25049
25050	if invalidParams.Len() > 0 {
25051		return invalidParams
25052	}
25053	return nil
25054}
25055
25056// SetPageToken sets the PageToken field's value.
25057func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
25058	s.PageToken = &v
25059	return s
25060}
25061
25062// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
25063func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
25064	s.RelationalDatabaseName = &v
25065	return s
25066}
25067
25068type GetRelationalDatabaseParametersOutput struct {
25069	_ struct{} `type:"structure"`
25070
25071	// The token to advance to the next page of resutls from your request.
25072	//
25073	// A next page token is not returned if there are no more results to display.
25074	//
25075	// To get the next page of results, perform another GetRelationalDatabaseParameters
25076	// request and specify the next page token using the pageToken parameter.
25077	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25078
25079	// An object describing the result of your get relational database parameters
25080	// request.
25081	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
25082}
25083
25084// String returns the string representation
25085func (s GetRelationalDatabaseParametersOutput) String() string {
25086	return awsutil.Prettify(s)
25087}
25088
25089// GoString returns the string representation
25090func (s GetRelationalDatabaseParametersOutput) GoString() string {
25091	return s.String()
25092}
25093
25094// SetNextPageToken sets the NextPageToken field's value.
25095func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
25096	s.NextPageToken = &v
25097	return s
25098}
25099
25100// SetParameters sets the Parameters field's value.
25101func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
25102	s.Parameters = v
25103	return s
25104}
25105
25106type GetRelationalDatabaseSnapshotInput struct {
25107	_ struct{} `type:"structure"`
25108
25109	// The name of the database snapshot for which to get information.
25110	//
25111	// RelationalDatabaseSnapshotName is a required field
25112	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
25113}
25114
25115// String returns the string representation
25116func (s GetRelationalDatabaseSnapshotInput) String() string {
25117	return awsutil.Prettify(s)
25118}
25119
25120// GoString returns the string representation
25121func (s GetRelationalDatabaseSnapshotInput) GoString() string {
25122	return s.String()
25123}
25124
25125// Validate inspects the fields of the type to determine if they are valid.
25126func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
25127	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
25128	if s.RelationalDatabaseSnapshotName == nil {
25129		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
25130	}
25131
25132	if invalidParams.Len() > 0 {
25133		return invalidParams
25134	}
25135	return nil
25136}
25137
25138// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
25139func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
25140	s.RelationalDatabaseSnapshotName = &v
25141	return s
25142}
25143
25144type GetRelationalDatabaseSnapshotOutput struct {
25145	_ struct{} `type:"structure"`
25146
25147	// An object describing the specified database snapshot.
25148	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
25149}
25150
25151// String returns the string representation
25152func (s GetRelationalDatabaseSnapshotOutput) String() string {
25153	return awsutil.Prettify(s)
25154}
25155
25156// GoString returns the string representation
25157func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
25158	return s.String()
25159}
25160
25161// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
25162func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
25163	s.RelationalDatabaseSnapshot = v
25164	return s
25165}
25166
25167type GetRelationalDatabaseSnapshotsInput struct {
25168	_ struct{} `type:"structure"`
25169
25170	// The token to advance to the next page of results from your request.
25171	//
25172	// To get a page token, perform an initial GetRelationalDatabaseSnapshots request.
25173	// If your results are paginated, the response will return a next page token
25174	// that you can specify as the page token in a subsequent request.
25175	PageToken *string `locationName:"pageToken" type:"string"`
25176}
25177
25178// String returns the string representation
25179func (s GetRelationalDatabaseSnapshotsInput) String() string {
25180	return awsutil.Prettify(s)
25181}
25182
25183// GoString returns the string representation
25184func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
25185	return s.String()
25186}
25187
25188// SetPageToken sets the PageToken field's value.
25189func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
25190	s.PageToken = &v
25191	return s
25192}
25193
25194type GetRelationalDatabaseSnapshotsOutput struct {
25195	_ struct{} `type:"structure"`
25196
25197	// The token to advance to the next page of resutls from your request.
25198	//
25199	// A next page token is not returned if there are no more results to display.
25200	//
25201	// To get the next page of results, perform another GetRelationalDatabaseSnapshots
25202	// request and specify the next page token using the pageToken parameter.
25203	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25204
25205	// An object describing the result of your get relational database snapshots
25206	// request.
25207	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
25208}
25209
25210// String returns the string representation
25211func (s GetRelationalDatabaseSnapshotsOutput) String() string {
25212	return awsutil.Prettify(s)
25213}
25214
25215// GoString returns the string representation
25216func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
25217	return s.String()
25218}
25219
25220// SetNextPageToken sets the NextPageToken field's value.
25221func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
25222	s.NextPageToken = &v
25223	return s
25224}
25225
25226// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
25227func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
25228	s.RelationalDatabaseSnapshots = v
25229	return s
25230}
25231
25232type GetRelationalDatabasesInput struct {
25233	_ struct{} `type:"structure"`
25234
25235	// The token to advance to the next page of results from your request.
25236	//
25237	// To get a page token, perform an initial GetRelationalDatabases request. If
25238	// your results are paginated, the response will return a next page token that
25239	// you can specify as the page token in a subsequent request.
25240	PageToken *string `locationName:"pageToken" type:"string"`
25241}
25242
25243// String returns the string representation
25244func (s GetRelationalDatabasesInput) String() string {
25245	return awsutil.Prettify(s)
25246}
25247
25248// GoString returns the string representation
25249func (s GetRelationalDatabasesInput) GoString() string {
25250	return s.String()
25251}
25252
25253// SetPageToken sets the PageToken field's value.
25254func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
25255	s.PageToken = &v
25256	return s
25257}
25258
25259type GetRelationalDatabasesOutput struct {
25260	_ struct{} `type:"structure"`
25261
25262	// The token to advance to the next page of resutls from your request.
25263	//
25264	// A next page token is not returned if there are no more results to display.
25265	//
25266	// To get the next page of results, perform another GetRelationalDatabases request
25267	// and specify the next page token using the pageToken parameter.
25268	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25269
25270	// An object describing the result of your get relational databases request.
25271	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
25272}
25273
25274// String returns the string representation
25275func (s GetRelationalDatabasesOutput) String() string {
25276	return awsutil.Prettify(s)
25277}
25278
25279// GoString returns the string representation
25280func (s GetRelationalDatabasesOutput) GoString() string {
25281	return s.String()
25282}
25283
25284// SetNextPageToken sets the NextPageToken field's value.
25285func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
25286	s.NextPageToken = &v
25287	return s
25288}
25289
25290// SetRelationalDatabases sets the RelationalDatabases field's value.
25291func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
25292	s.RelationalDatabases = v
25293	return s
25294}
25295
25296type GetStaticIpInput struct {
25297	_ struct{} `type:"structure"`
25298
25299	// The name of the static IP in Lightsail.
25300	//
25301	// StaticIpName is a required field
25302	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
25303}
25304
25305// String returns the string representation
25306func (s GetStaticIpInput) String() string {
25307	return awsutil.Prettify(s)
25308}
25309
25310// GoString returns the string representation
25311func (s GetStaticIpInput) GoString() string {
25312	return s.String()
25313}
25314
25315// Validate inspects the fields of the type to determine if they are valid.
25316func (s *GetStaticIpInput) Validate() error {
25317	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
25318	if s.StaticIpName == nil {
25319		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
25320	}
25321
25322	if invalidParams.Len() > 0 {
25323		return invalidParams
25324	}
25325	return nil
25326}
25327
25328// SetStaticIpName sets the StaticIpName field's value.
25329func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
25330	s.StaticIpName = &v
25331	return s
25332}
25333
25334type GetStaticIpOutput struct {
25335	_ struct{} `type:"structure"`
25336
25337	// An array of key-value pairs containing information about the requested static
25338	// IP.
25339	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
25340}
25341
25342// String returns the string representation
25343func (s GetStaticIpOutput) String() string {
25344	return awsutil.Prettify(s)
25345}
25346
25347// GoString returns the string representation
25348func (s GetStaticIpOutput) GoString() string {
25349	return s.String()
25350}
25351
25352// SetStaticIp sets the StaticIp field's value.
25353func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
25354	s.StaticIp = v
25355	return s
25356}
25357
25358type GetStaticIpsInput struct {
25359	_ struct{} `type:"structure"`
25360
25361	// The token to advance to the next page of results from your request.
25362	//
25363	// To get a page token, perform an initial GetStaticIps request. If your results
25364	// are paginated, the response will return a next page token that you can specify
25365	// as the page token in a subsequent request.
25366	PageToken *string `locationName:"pageToken" type:"string"`
25367}
25368
25369// String returns the string representation
25370func (s GetStaticIpsInput) String() string {
25371	return awsutil.Prettify(s)
25372}
25373
25374// GoString returns the string representation
25375func (s GetStaticIpsInput) GoString() string {
25376	return s.String()
25377}
25378
25379// SetPageToken sets the PageToken field's value.
25380func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
25381	s.PageToken = &v
25382	return s
25383}
25384
25385type GetStaticIpsOutput struct {
25386	_ struct{} `type:"structure"`
25387
25388	// The token to advance to the next page of resutls from your request.
25389	//
25390	// A next page token is not returned if there are no more results to display.
25391	//
25392	// To get the next page of results, perform another GetStaticIps request and
25393	// specify the next page token using the pageToken parameter.
25394	NextPageToken *string `locationName:"nextPageToken" type:"string"`
25395
25396	// An array of key-value pairs containing information about your get static
25397	// IPs request.
25398	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
25399}
25400
25401// String returns the string representation
25402func (s GetStaticIpsOutput) String() string {
25403	return awsutil.Prettify(s)
25404}
25405
25406// GoString returns the string representation
25407func (s GetStaticIpsOutput) GoString() string {
25408	return s.String()
25409}
25410
25411// SetNextPageToken sets the NextPageToken field's value.
25412func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
25413	s.NextPageToken = &v
25414	return s
25415}
25416
25417// SetStaticIps sets the StaticIps field's value.
25418func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
25419	s.StaticIps = v
25420	return s
25421}
25422
25423// Describes the request headers that a Lightsail distribution bases caching
25424// on.
25425//
25426// For the headers that you specify, your distribution caches separate versions
25427// of the specified content based on the header values in viewer requests. For
25428// example, suppose viewer requests for logo.jpg contain a custom product header
25429// that has a value of either acme or apex, and you configure your distribution
25430// to cache your content based on values in the product header. Your distribution
25431// forwards the product header to the origin and caches the response from the
25432// origin once for each header value.
25433type HeaderObject struct {
25434	_ struct{} `type:"structure"`
25435
25436	// The specific headers to forward to your distribution's origin.
25437	HeadersAllowList []*string `locationName:"headersAllowList" type:"list"`
25438
25439	// The headers that you want your distribution to forward to your origin and
25440	// base caching on.
25441	//
25442	// You can configure your distribution to do one of the following:
25443	//
25444	//    * all - Forward all headers to your origin.
25445	//
25446	//    * none - Forward only the default headers.
25447	//
25448	//    * allow-list - Forward only the headers you specify using the headersAllowList
25449	//    parameter.
25450	Option *string `locationName:"option" type:"string" enum:"ForwardValues"`
25451}
25452
25453// String returns the string representation
25454func (s HeaderObject) String() string {
25455	return awsutil.Prettify(s)
25456}
25457
25458// GoString returns the string representation
25459func (s HeaderObject) GoString() string {
25460	return s.String()
25461}
25462
25463// SetHeadersAllowList sets the HeadersAllowList field's value.
25464func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject {
25465	s.HeadersAllowList = v
25466	return s
25467}
25468
25469// SetOption sets the Option field's value.
25470func (s *HeaderObject) SetOption(v string) *HeaderObject {
25471	s.Option = &v
25472	return s
25473}
25474
25475// Describes the public SSH host keys or the RDP certificate.
25476type HostKeyAttributes struct {
25477	_ struct{} `type:"structure"`
25478
25479	// The SSH host key algorithm or the RDP certificate format.
25480	//
25481	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
25482	// etc. For RDP certificates, the algorithm is always x509-cert.
25483	Algorithm *string `locationName:"algorithm" type:"string"`
25484
25485	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
25486	//
25487	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
25488	//
25489	//    * 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
25490	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
25491
25492	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
25493	//
25494	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
25495	//
25496	//    * 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
25497	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
25498
25499	// The returned RDP certificate is not valid after this point in time.
25500	//
25501	// This value is listed only for RDP certificates.
25502	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
25503
25504	// The returned RDP certificate is valid after this point in time.
25505	//
25506	// This value is listed only for RDP certificates.
25507	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
25508
25509	// The public SSH host key or the RDP certificate.
25510	PublicKey *string `locationName:"publicKey" type:"string"`
25511
25512	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
25513	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
25514}
25515
25516// String returns the string representation
25517func (s HostKeyAttributes) String() string {
25518	return awsutil.Prettify(s)
25519}
25520
25521// GoString returns the string representation
25522func (s HostKeyAttributes) GoString() string {
25523	return s.String()
25524}
25525
25526// SetAlgorithm sets the Algorithm field's value.
25527func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
25528	s.Algorithm = &v
25529	return s
25530}
25531
25532// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
25533func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
25534	s.FingerprintSHA1 = &v
25535	return s
25536}
25537
25538// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
25539func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
25540	s.FingerprintSHA256 = &v
25541	return s
25542}
25543
25544// SetNotValidAfter sets the NotValidAfter field's value.
25545func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
25546	s.NotValidAfter = &v
25547	return s
25548}
25549
25550// SetNotValidBefore sets the NotValidBefore field's value.
25551func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
25552	s.NotValidBefore = &v
25553	return s
25554}
25555
25556// SetPublicKey sets the PublicKey field's value.
25557func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
25558	s.PublicKey = &v
25559	return s
25560}
25561
25562// SetWitnessedAt sets the WitnessedAt field's value.
25563func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
25564	s.WitnessedAt = &v
25565	return s
25566}
25567
25568type ImportKeyPairInput struct {
25569	_ struct{} `type:"structure"`
25570
25571	// The name of the key pair for which you want to import the public key.
25572	//
25573	// KeyPairName is a required field
25574	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
25575
25576	// A base64-encoded public key of the ssh-rsa type.
25577	//
25578	// PublicKeyBase64 is a required field
25579	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
25580}
25581
25582// String returns the string representation
25583func (s ImportKeyPairInput) String() string {
25584	return awsutil.Prettify(s)
25585}
25586
25587// GoString returns the string representation
25588func (s ImportKeyPairInput) GoString() string {
25589	return s.String()
25590}
25591
25592// Validate inspects the fields of the type to determine if they are valid.
25593func (s *ImportKeyPairInput) Validate() error {
25594	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
25595	if s.KeyPairName == nil {
25596		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
25597	}
25598	if s.PublicKeyBase64 == nil {
25599		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
25600	}
25601
25602	if invalidParams.Len() > 0 {
25603		return invalidParams
25604	}
25605	return nil
25606}
25607
25608// SetKeyPairName sets the KeyPairName field's value.
25609func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
25610	s.KeyPairName = &v
25611	return s
25612}
25613
25614// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
25615func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
25616	s.PublicKeyBase64 = &v
25617	return s
25618}
25619
25620type ImportKeyPairOutput struct {
25621	_ struct{} `type:"structure"`
25622
25623	// An array of objects that describe the result of the action, such as the status
25624	// of the request, the timestamp of the request, and the resources affected
25625	// by the request.
25626	Operation *Operation `locationName:"operation" type:"structure"`
25627}
25628
25629// String returns the string representation
25630func (s ImportKeyPairOutput) String() string {
25631	return awsutil.Prettify(s)
25632}
25633
25634// GoString returns the string representation
25635func (s ImportKeyPairOutput) GoString() string {
25636	return s.String()
25637}
25638
25639// SetOperation sets the Operation field's value.
25640func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
25641	s.Operation = v
25642	return s
25643}
25644
25645// Describes the origin resource of an Amazon Lightsail content delivery network
25646// (CDN) distribution.
25647//
25648// An origin can be a Lightsail instance or load balancer. A distribution pulls
25649// content from an origin, caches it, and serves it to viewers via a worldwide
25650// network of edge servers.
25651type InputOrigin struct {
25652	_ struct{} `type:"structure"`
25653
25654	// The name of the origin resource.
25655	Name *string `locationName:"name" type:"string"`
25656
25657	// The protocol that your Amazon Lightsail distribution uses when establishing
25658	// a connection with your origin to pull content.
25659	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
25660
25661	// The AWS Region name of the origin resource.
25662	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
25663}
25664
25665// String returns the string representation
25666func (s InputOrigin) String() string {
25667	return awsutil.Prettify(s)
25668}
25669
25670// GoString returns the string representation
25671func (s InputOrigin) GoString() string {
25672	return s.String()
25673}
25674
25675// SetName sets the Name field's value.
25676func (s *InputOrigin) SetName(v string) *InputOrigin {
25677	s.Name = &v
25678	return s
25679}
25680
25681// SetProtocolPolicy sets the ProtocolPolicy field's value.
25682func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin {
25683	s.ProtocolPolicy = &v
25684	return s
25685}
25686
25687// SetRegionName sets the RegionName field's value.
25688func (s *InputOrigin) SetRegionName(v string) *InputOrigin {
25689	s.RegionName = &v
25690	return s
25691}
25692
25693// Describes an instance (a virtual private server).
25694type Instance struct {
25695	_ struct{} `type:"structure"`
25696
25697	// An array of objects representing the add-ons enabled on the instance.
25698	AddOns []*AddOn `locationName:"addOns" type:"list"`
25699
25700	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
25701	Arn *string `locationName:"arn" type:"string"`
25702
25703	// The blueprint ID (e.g., os_amlinux_2016_03).
25704	BlueprintId *string `locationName:"blueprintId" type:"string"`
25705
25706	// The friendly name of the blueprint (e.g., Amazon Linux).
25707	BlueprintName *string `locationName:"blueprintName" type:"string"`
25708
25709	// The bundle for the instance (e.g., micro_1_0).
25710	BundleId *string `locationName:"bundleId" type:"string"`
25711
25712	// The timestamp when the instance was created (e.g., 1479734909.17) in Unix
25713	// time format.
25714	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
25715
25716	// The size of the vCPU and the amount of RAM for the instance.
25717	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
25718
25719	// The IPv6 address of the instance.
25720	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
25721
25722	// A Boolean value indicating whether this instance has a static IP assigned
25723	// to it.
25724	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
25725
25726	// The region name and Availability Zone where the instance is located.
25727	Location *ResourceLocation `locationName:"location" type:"structure"`
25728
25729	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
25730	Name *string `locationName:"name" type:"string"`
25731
25732	// Information about the public ports and monthly data transfer rates for the
25733	// instance.
25734	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
25735
25736	// The private IP address of the instance.
25737	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
25738
25739	// The public IP address of the instance.
25740	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
25741
25742	// The type of resource (usually Instance).
25743	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
25744
25745	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
25746	SshKeyName *string `locationName:"sshKeyName" type:"string"`
25747
25748	// The status code and the state (e.g., running) for the instance.
25749	State *InstanceState `locationName:"state" type:"structure"`
25750
25751	// The support code. Include this code in your email to support when you have
25752	// questions about an instance or another resource in Lightsail. This code enables
25753	// our support team to look up your Lightsail information more easily.
25754	SupportCode *string `locationName:"supportCode" type:"string"`
25755
25756	// The tag keys and optional values for the resource. For more information about
25757	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
25758	Tags []*Tag `locationName:"tags" type:"list"`
25759
25760	// The user name for connecting to the instance (e.g., ec2-user).
25761	Username *string `locationName:"username" type:"string"`
25762}
25763
25764// String returns the string representation
25765func (s Instance) String() string {
25766	return awsutil.Prettify(s)
25767}
25768
25769// GoString returns the string representation
25770func (s Instance) GoString() string {
25771	return s.String()
25772}
25773
25774// SetAddOns sets the AddOns field's value.
25775func (s *Instance) SetAddOns(v []*AddOn) *Instance {
25776	s.AddOns = v
25777	return s
25778}
25779
25780// SetArn sets the Arn field's value.
25781func (s *Instance) SetArn(v string) *Instance {
25782	s.Arn = &v
25783	return s
25784}
25785
25786// SetBlueprintId sets the BlueprintId field's value.
25787func (s *Instance) SetBlueprintId(v string) *Instance {
25788	s.BlueprintId = &v
25789	return s
25790}
25791
25792// SetBlueprintName sets the BlueprintName field's value.
25793func (s *Instance) SetBlueprintName(v string) *Instance {
25794	s.BlueprintName = &v
25795	return s
25796}
25797
25798// SetBundleId sets the BundleId field's value.
25799func (s *Instance) SetBundleId(v string) *Instance {
25800	s.BundleId = &v
25801	return s
25802}
25803
25804// SetCreatedAt sets the CreatedAt field's value.
25805func (s *Instance) SetCreatedAt(v time.Time) *Instance {
25806	s.CreatedAt = &v
25807	return s
25808}
25809
25810// SetHardware sets the Hardware field's value.
25811func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
25812	s.Hardware = v
25813	return s
25814}
25815
25816// SetIpv6Address sets the Ipv6Address field's value.
25817func (s *Instance) SetIpv6Address(v string) *Instance {
25818	s.Ipv6Address = &v
25819	return s
25820}
25821
25822// SetIsStaticIp sets the IsStaticIp field's value.
25823func (s *Instance) SetIsStaticIp(v bool) *Instance {
25824	s.IsStaticIp = &v
25825	return s
25826}
25827
25828// SetLocation sets the Location field's value.
25829func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
25830	s.Location = v
25831	return s
25832}
25833
25834// SetName sets the Name field's value.
25835func (s *Instance) SetName(v string) *Instance {
25836	s.Name = &v
25837	return s
25838}
25839
25840// SetNetworking sets the Networking field's value.
25841func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
25842	s.Networking = v
25843	return s
25844}
25845
25846// SetPrivateIpAddress sets the PrivateIpAddress field's value.
25847func (s *Instance) SetPrivateIpAddress(v string) *Instance {
25848	s.PrivateIpAddress = &v
25849	return s
25850}
25851
25852// SetPublicIpAddress sets the PublicIpAddress field's value.
25853func (s *Instance) SetPublicIpAddress(v string) *Instance {
25854	s.PublicIpAddress = &v
25855	return s
25856}
25857
25858// SetResourceType sets the ResourceType field's value.
25859func (s *Instance) SetResourceType(v string) *Instance {
25860	s.ResourceType = &v
25861	return s
25862}
25863
25864// SetSshKeyName sets the SshKeyName field's value.
25865func (s *Instance) SetSshKeyName(v string) *Instance {
25866	s.SshKeyName = &v
25867	return s
25868}
25869
25870// SetState sets the State field's value.
25871func (s *Instance) SetState(v *InstanceState) *Instance {
25872	s.State = v
25873	return s
25874}
25875
25876// SetSupportCode sets the SupportCode field's value.
25877func (s *Instance) SetSupportCode(v string) *Instance {
25878	s.SupportCode = &v
25879	return s
25880}
25881
25882// SetTags sets the Tags field's value.
25883func (s *Instance) SetTags(v []*Tag) *Instance {
25884	s.Tags = v
25885	return s
25886}
25887
25888// SetUsername sets the Username field's value.
25889func (s *Instance) SetUsername(v string) *Instance {
25890	s.Username = &v
25891	return s
25892}
25893
25894// The parameters for gaining temporary access to one of your Amazon Lightsail
25895// instances.
25896type InstanceAccessDetails struct {
25897	_ struct{} `type:"structure"`
25898
25899	// For SSH access, the public key to use when accessing your instance For OpenSSH
25900	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
25901	CertKey *string `locationName:"certKey" type:"string"`
25902
25903	// For SSH access, the date on which the temporary keys expire.
25904	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
25905
25906	// Describes the public SSH host keys or the RDP certificate.
25907	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
25908
25909	// The name of this Amazon Lightsail instance.
25910	InstanceName *string `locationName:"instanceName" type:"string"`
25911
25912	// The public IP address of the Amazon Lightsail instance.
25913	IpAddress *string `locationName:"ipAddress" type:"string"`
25914
25915	// For RDP access, the password for your Amazon Lightsail instance. Password
25916	// will be an empty string if the password for your new instance is not ready
25917	// yet. When you create an instance, it can take up to 15 minutes for the instance
25918	// to be ready.
25919	//
25920	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
25921	// password will always be an empty string.
25922	//
25923	// If you change the Administrator password on the instance, Lightsail will
25924	// continue to return the original password value. When accessing the instance
25925	// using RDP, you need to manually enter the Administrator password after changing
25926	// it from the default.
25927	Password *string `locationName:"password" type:"string"`
25928
25929	// For a Windows Server-based instance, an object with the data you can use
25930	// to retrieve your password. This is only needed if password is empty and the
25931	// instance is not new (and therefore the password is not ready yet). When you
25932	// create an instance, it can take up to 15 minutes for the instance to be ready.
25933	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
25934
25935	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
25936	// line SSH), you should save this value to tempkey).
25937	PrivateKey *string `locationName:"privateKey" type:"string"`
25938
25939	// The protocol for these Amazon Lightsail instance access details.
25940	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
25941
25942	// The user name to use when logging in to the Amazon Lightsail instance.
25943	Username *string `locationName:"username" type:"string"`
25944}
25945
25946// String returns the string representation
25947func (s InstanceAccessDetails) String() string {
25948	return awsutil.Prettify(s)
25949}
25950
25951// GoString returns the string representation
25952func (s InstanceAccessDetails) GoString() string {
25953	return s.String()
25954}
25955
25956// SetCertKey sets the CertKey field's value.
25957func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
25958	s.CertKey = &v
25959	return s
25960}
25961
25962// SetExpiresAt sets the ExpiresAt field's value.
25963func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
25964	s.ExpiresAt = &v
25965	return s
25966}
25967
25968// SetHostKeys sets the HostKeys field's value.
25969func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
25970	s.HostKeys = v
25971	return s
25972}
25973
25974// SetInstanceName sets the InstanceName field's value.
25975func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
25976	s.InstanceName = &v
25977	return s
25978}
25979
25980// SetIpAddress sets the IpAddress field's value.
25981func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
25982	s.IpAddress = &v
25983	return s
25984}
25985
25986// SetPassword sets the Password field's value.
25987func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
25988	s.Password = &v
25989	return s
25990}
25991
25992// SetPasswordData sets the PasswordData field's value.
25993func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
25994	s.PasswordData = v
25995	return s
25996}
25997
25998// SetPrivateKey sets the PrivateKey field's value.
25999func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
26000	s.PrivateKey = &v
26001	return s
26002}
26003
26004// SetProtocol sets the Protocol field's value.
26005func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
26006	s.Protocol = &v
26007	return s
26008}
26009
26010// SetUsername sets the Username field's value.
26011func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
26012	s.Username = &v
26013	return s
26014}
26015
26016// Describes the Amazon Elastic Compute Cloud instance and related resources
26017// to be created using the create cloud formation stack operation.
26018type InstanceEntry struct {
26019	_ struct{} `type:"structure"`
26020
26021	// The Availability Zone for the new Amazon EC2 instance.
26022	//
26023	// AvailabilityZone is a required field
26024	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
26025
26026	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
26027	//
26028	// InstanceType is a required field
26029	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
26030
26031	// The port configuration to use for the new Amazon EC2 instance.
26032	//
26033	// The following configuration options are available:
26034	//
26035	//    * DEFAULT - Use the default firewall settings from the Lightsail instance
26036	//    blueprint.
26037	//
26038	//    * INSTANCE - Use the configured firewall settings from the source Lightsail
26039	//    instance.
26040	//
26041	//    * NONE - Use the default Amazon EC2 security group.
26042	//
26043	//    * CLOSED - All ports closed.
26044	//
26045	// If you configured lightsail-connect as a cidrListAliases on your instance,
26046	// or if you chose to allow the Lightsail browser-based SSH or RDP clients to
26047	// connect to your instance, that configuration is not carried over to your
26048	// new Amazon EC2 instance.
26049	//
26050	// PortInfoSource is a required field
26051	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
26052
26053	// The name of the export snapshot record, which contains the exported Lightsail
26054	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
26055	//
26056	// Use the get export snapshot records operation to get a list of export snapshot
26057	// records that you can use to create a CloudFormation stack.
26058	//
26059	// SourceName is a required field
26060	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
26061
26062	// A launch script you can create that configures a server with additional user
26063	// data. For example, you might want to run apt-get -y update.
26064	//
26065	// Depending on the machine image you choose, the command to get software on
26066	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
26067	// use apt-get, and FreeBSD uses pkg.
26068	UserData *string `locationName:"userData" type:"string"`
26069}
26070
26071// String returns the string representation
26072func (s InstanceEntry) String() string {
26073	return awsutil.Prettify(s)
26074}
26075
26076// GoString returns the string representation
26077func (s InstanceEntry) GoString() string {
26078	return s.String()
26079}
26080
26081// Validate inspects the fields of the type to determine if they are valid.
26082func (s *InstanceEntry) Validate() error {
26083	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
26084	if s.AvailabilityZone == nil {
26085		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
26086	}
26087	if s.InstanceType == nil {
26088		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
26089	}
26090	if s.PortInfoSource == nil {
26091		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
26092	}
26093	if s.SourceName == nil {
26094		invalidParams.Add(request.NewErrParamRequired("SourceName"))
26095	}
26096
26097	if invalidParams.Len() > 0 {
26098		return invalidParams
26099	}
26100	return nil
26101}
26102
26103// SetAvailabilityZone sets the AvailabilityZone field's value.
26104func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
26105	s.AvailabilityZone = &v
26106	return s
26107}
26108
26109// SetInstanceType sets the InstanceType field's value.
26110func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
26111	s.InstanceType = &v
26112	return s
26113}
26114
26115// SetPortInfoSource sets the PortInfoSource field's value.
26116func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
26117	s.PortInfoSource = &v
26118	return s
26119}
26120
26121// SetSourceName sets the SourceName field's value.
26122func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
26123	s.SourceName = &v
26124	return s
26125}
26126
26127// SetUserData sets the UserData field's value.
26128func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
26129	s.UserData = &v
26130	return s
26131}
26132
26133// Describes the hardware for the instance.
26134type InstanceHardware struct {
26135	_ struct{} `type:"structure"`
26136
26137	// The number of vCPUs the instance has.
26138	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
26139
26140	// The disks attached to the instance.
26141	Disks []*Disk `locationName:"disks" type:"list"`
26142
26143	// The amount of RAM in GB on the instance (e.g., 1.0).
26144	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
26145}
26146
26147// String returns the string representation
26148func (s InstanceHardware) String() string {
26149	return awsutil.Prettify(s)
26150}
26151
26152// GoString returns the string representation
26153func (s InstanceHardware) GoString() string {
26154	return s.String()
26155}
26156
26157// SetCpuCount sets the CpuCount field's value.
26158func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
26159	s.CpuCount = &v
26160	return s
26161}
26162
26163// SetDisks sets the Disks field's value.
26164func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
26165	s.Disks = v
26166	return s
26167}
26168
26169// SetRamSizeInGb sets the RamSizeInGb field's value.
26170func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
26171	s.RamSizeInGb = &v
26172	return s
26173}
26174
26175// Describes information about the health of the instance.
26176type InstanceHealthSummary struct {
26177	_ struct{} `type:"structure"`
26178
26179	// Describes the overall instance health. Valid values are below.
26180	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
26181
26182	// More information about the instance health. If the instanceHealth is healthy,
26183	// then an instanceHealthReason value is not provided.
26184	//
26185	// If instanceHealth is initial, the instanceHealthReason value can be one of
26186	// the following:
26187	//
26188	//    * Lb.RegistrationInProgress - The target instance is in the process of
26189	//    being registered with the load balancer.
26190	//
26191	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
26192	//    the target instance the minimum number of health checks required to determine
26193	//    its health status.
26194	//
26195	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
26196	// of the following:
26197	//
26198	//    * Instance.ResponseCodeMismatch - The health checks did not return an
26199	//    expected HTTP code.
26200	//
26201	//    * Instance.Timeout - The health check requests timed out.
26202	//
26203	//    * Instance.FailedHealthChecks - The health checks failed because the connection
26204	//    to the target instance timed out, the target instance response was malformed,
26205	//    or the target instance failed the health check for an unknown reason.
26206	//
26207	//    * Lb.InternalError - The health checks failed due to an internal error.
26208	//
26209	// If instanceHealth is unused, the instanceHealthReason value can be one of
26210	// the following:
26211	//
26212	//    * Instance.NotRegistered - The target instance is not registered with
26213	//    the target group.
26214	//
26215	//    * Instance.NotInUse - The target group is not used by any load balancer,
26216	//    or the target instance is in an Availability Zone that is not enabled
26217	//    for its load balancer.
26218	//
26219	//    * Instance.IpUnusable - The target IP address is reserved for use by a
26220	//    Lightsail load balancer.
26221	//
26222	//    * Instance.InvalidState - The target is in the stopped or terminated state.
26223	//
26224	// If instanceHealth is draining, the instanceHealthReason value can be one
26225	// of the following:
26226	//
26227	//    * Instance.DeregistrationInProgress - The target instance is in the process
26228	//    of being deregistered and the deregistration delay period has not expired.
26229	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
26230
26231	// The name of the Lightsail instance for which you are requesting health check
26232	// data.
26233	InstanceName *string `locationName:"instanceName" type:"string"`
26234}
26235
26236// String returns the string representation
26237func (s InstanceHealthSummary) String() string {
26238	return awsutil.Prettify(s)
26239}
26240
26241// GoString returns the string representation
26242func (s InstanceHealthSummary) GoString() string {
26243	return s.String()
26244}
26245
26246// SetInstanceHealth sets the InstanceHealth field's value.
26247func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
26248	s.InstanceHealth = &v
26249	return s
26250}
26251
26252// SetInstanceHealthReason sets the InstanceHealthReason field's value.
26253func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
26254	s.InstanceHealthReason = &v
26255	return s
26256}
26257
26258// SetInstanceName sets the InstanceName field's value.
26259func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
26260	s.InstanceName = &v
26261	return s
26262}
26263
26264// Describes monthly data transfer rates and port information for an instance.
26265type InstanceNetworking struct {
26266	_ struct{} `type:"structure"`
26267
26268	// The amount of data in GB allocated for monthly data transfers.
26269	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
26270
26271	// An array of key-value pairs containing information about the ports on the
26272	// instance.
26273	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
26274}
26275
26276// String returns the string representation
26277func (s InstanceNetworking) String() string {
26278	return awsutil.Prettify(s)
26279}
26280
26281// GoString returns the string representation
26282func (s InstanceNetworking) GoString() string {
26283	return s.String()
26284}
26285
26286// SetMonthlyTransfer sets the MonthlyTransfer field's value.
26287func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
26288	s.MonthlyTransfer = v
26289	return s
26290}
26291
26292// SetPorts sets the Ports field's value.
26293func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
26294	s.Ports = v
26295	return s
26296}
26297
26298// Describes information about ports for an Amazon Lightsail instance.
26299type InstancePortInfo struct {
26300	_ struct{} `type:"structure"`
26301
26302	// The access direction (inbound or outbound).
26303	//
26304	// Lightsail currently supports only inbound access direction.
26305	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
26306
26307	// The location from which access is allowed. For example, Anywhere (0.0.0.0/0),
26308	// or Custom if a specific IP address or range of IP addresses is allowed.
26309	AccessFrom *string `locationName:"accessFrom" type:"string"`
26310
26311	// The type of access (Public or Private).
26312	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
26313
26314	// An alias that defines access for a preconfigured range of IP addresses.
26315	//
26316	// The only alias currently supported is lightsail-connect, which allows IP
26317	// addresses of the browser-based RDP/SSH client in the Lightsail console to
26318	// connect to your instance.
26319	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
26320
26321	// The IP address, or range of IP addresses in CIDR notation, that are allowed
26322	// to connect to an instance through the ports, and the protocol. Lightsail
26323	// supports IPv4 addresses.
26324	//
26325	// For more information about CIDR block notation, see Classless Inter-Domain
26326	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
26327	// on Wikipedia.
26328	Cidrs []*string `locationName:"cidrs" type:"list"`
26329
26330	// The common name of the port information.
26331	CommonName *string `locationName:"commonName" type:"string"`
26332
26333	// The first port in a range of open ports on an instance.
26334	//
26335	// Allowed ports:
26336	//
26337	//    * TCP and UDP - 0 to 65535
26338	//
26339	//    * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type),
26340	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
26341	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
26342	//    on Wikipedia.
26343	FromPort *int64 `locationName:"fromPort" type:"integer"`
26344
26345	// The IP protocol name.
26346	//
26347	// The name can be one of the following:
26348	//
26349	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
26350	//    and error-checked delivery of streamed data between applications running
26351	//    on hosts communicating by an IP network. If you have an application that
26352	//    doesn't require reliable data stream service, use UDP instead.
26353	//
26354	//    * all - All transport layer protocol types. For more general information,
26355	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
26356	//    Wikipedia.
26357	//
26358	//    * udp - With User Datagram Protocol (UDP), computer applications can send
26359	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
26360	//    Prior communications are not required to set up transmission channels
26361	//    or data paths. Applications that don't require reliable data stream service
26362	//    can use UDP, which provides a connectionless datagram service that emphasizes
26363	//    reduced latency over reliability. If you do require reliable data stream
26364	//    service, use TCP instead.
26365	//
26366	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
26367	//    messages and operational information indicating success or failure when
26368	//    communicating with an instance. For example, an error is indicated when
26369	//    an instance could not be reached. When you specify icmp as the protocol,
26370	//    you must specify the ICMP type using the fromPort parameter, and ICMP
26371	//    code using the toPort parameter.
26372	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
26373
26374	// The last port in a range of open ports on an instance.
26375	//
26376	// Allowed ports:
26377	//
26378	//    * TCP and UDP - 0 to 65535
26379	//
26380	//    * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type),
26381	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
26382	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
26383	//    on Wikipedia.
26384	ToPort *int64 `locationName:"toPort" type:"integer"`
26385}
26386
26387// String returns the string representation
26388func (s InstancePortInfo) String() string {
26389	return awsutil.Prettify(s)
26390}
26391
26392// GoString returns the string representation
26393func (s InstancePortInfo) GoString() string {
26394	return s.String()
26395}
26396
26397// SetAccessDirection sets the AccessDirection field's value.
26398func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
26399	s.AccessDirection = &v
26400	return s
26401}
26402
26403// SetAccessFrom sets the AccessFrom field's value.
26404func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
26405	s.AccessFrom = &v
26406	return s
26407}
26408
26409// SetAccessType sets the AccessType field's value.
26410func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
26411	s.AccessType = &v
26412	return s
26413}
26414
26415// SetCidrListAliases sets the CidrListAliases field's value.
26416func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo {
26417	s.CidrListAliases = v
26418	return s
26419}
26420
26421// SetCidrs sets the Cidrs field's value.
26422func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo {
26423	s.Cidrs = v
26424	return s
26425}
26426
26427// SetCommonName sets the CommonName field's value.
26428func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
26429	s.CommonName = &v
26430	return s
26431}
26432
26433// SetFromPort sets the FromPort field's value.
26434func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
26435	s.FromPort = &v
26436	return s
26437}
26438
26439// SetProtocol sets the Protocol field's value.
26440func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
26441	s.Protocol = &v
26442	return s
26443}
26444
26445// SetToPort sets the ToPort field's value.
26446func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
26447	s.ToPort = &v
26448	return s
26449}
26450
26451// Describes open ports on an instance, the IP addresses allowed to connect
26452// to the instance through the ports, and the protocol.
26453type InstancePortState struct {
26454	_ struct{} `type:"structure"`
26455
26456	// An alias that defines access for a preconfigured range of IP addresses.
26457	//
26458	// The only alias currently supported is lightsail-connect, which allows IP
26459	// addresses of the browser-based RDP/SSH client in the Lightsail console to
26460	// connect to your instance.
26461	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
26462
26463	// The IP address, or range of IP addresses in CIDR notation, that are allowed
26464	// to connect to an instance through the ports, and the protocol. Lightsail
26465	// supports IPv4 addresses.
26466	//
26467	// For more information about CIDR block notation, see Classless Inter-Domain
26468	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
26469	// on Wikipedia.
26470	Cidrs []*string `locationName:"cidrs" type:"list"`
26471
26472	// The first port in a range of open ports on an instance.
26473	//
26474	// Allowed ports:
26475	//
26476	//    * TCP and UDP - 0 to 65535
26477	//
26478	//    * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type),
26479	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
26480	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
26481	//    on Wikipedia.
26482	FromPort *int64 `locationName:"fromPort" type:"integer"`
26483
26484	// The IP protocol name.
26485	//
26486	// The name can be one of the following:
26487	//
26488	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
26489	//    and error-checked delivery of streamed data between applications running
26490	//    on hosts communicating by an IP network. If you have an application that
26491	//    doesn't require reliable data stream service, use UDP instead.
26492	//
26493	//    * all - All transport layer protocol types. For more general information,
26494	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
26495	//    Wikipedia.
26496	//
26497	//    * udp - With User Datagram Protocol (UDP), computer applications can send
26498	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
26499	//    Prior communications are not required to set up transmission channels
26500	//    or data paths. Applications that don't require reliable data stream service
26501	//    can use UDP, which provides a connectionless datagram service that emphasizes
26502	//    reduced latency over reliability. If you do require reliable data stream
26503	//    service, use TCP instead.
26504	//
26505	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
26506	//    messages and operational information indicating success or failure when
26507	//    communicating with an instance. For example, an error is indicated when
26508	//    an instance could not be reached. When you specify icmp as the protocol,
26509	//    you must specify the ICMP type using the fromPort parameter, and ICMP
26510	//    code using the toPort parameter.
26511	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
26512
26513	// Specifies whether the instance port is open or closed.
26514	//
26515	// The port state for Lightsail instances is always open.
26516	State *string `locationName:"state" type:"string" enum:"PortState"`
26517
26518	// The last port in a range of open ports on an instance.
26519	//
26520	// Allowed ports:
26521	//
26522	//    * TCP and UDP - 0 to 65535
26523	//
26524	//    * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type),
26525	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
26526	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
26527	//    on Wikipedia.
26528	ToPort *int64 `locationName:"toPort" type:"integer"`
26529}
26530
26531// String returns the string representation
26532func (s InstancePortState) String() string {
26533	return awsutil.Prettify(s)
26534}
26535
26536// GoString returns the string representation
26537func (s InstancePortState) GoString() string {
26538	return s.String()
26539}
26540
26541// SetCidrListAliases sets the CidrListAliases field's value.
26542func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState {
26543	s.CidrListAliases = v
26544	return s
26545}
26546
26547// SetCidrs sets the Cidrs field's value.
26548func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState {
26549	s.Cidrs = v
26550	return s
26551}
26552
26553// SetFromPort sets the FromPort field's value.
26554func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
26555	s.FromPort = &v
26556	return s
26557}
26558
26559// SetProtocol sets the Protocol field's value.
26560func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
26561	s.Protocol = &v
26562	return s
26563}
26564
26565// SetState sets the State field's value.
26566func (s *InstancePortState) SetState(v string) *InstancePortState {
26567	s.State = &v
26568	return s
26569}
26570
26571// SetToPort sets the ToPort field's value.
26572func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
26573	s.ToPort = &v
26574	return s
26575}
26576
26577// Describes an instance snapshot.
26578type InstanceSnapshot struct {
26579	_ struct{} `type:"structure"`
26580
26581	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
26582	Arn *string `locationName:"arn" type:"string"`
26583
26584	// The timestamp when the snapshot was created (e.g., 1479907467.024).
26585	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26586
26587	// An array of disk objects containing information about all block storage disks.
26588	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
26589
26590	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
26591	// A blueprint is a virtual private server (or instance) image used to create
26592	// instances quickly.
26593	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
26594
26595	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
26596	FromBundleId *string `locationName:"fromBundleId" type:"string"`
26597
26598	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
26599	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
26600	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
26601
26602	// The instance from which the snapshot was created.
26603	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
26604
26605	// A Boolean value indicating whether the snapshot was created from an automatic
26606	// snapshot.
26607	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
26608
26609	// The region name and Availability Zone where you created the snapshot.
26610	Location *ResourceLocation `locationName:"location" type:"structure"`
26611
26612	// The name of the snapshot.
26613	Name *string `locationName:"name" type:"string"`
26614
26615	// The progress of the snapshot.
26616	Progress *string `locationName:"progress" type:"string"`
26617
26618	// The type of resource (usually InstanceSnapshot).
26619	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26620
26621	// The size in GB of the SSD.
26622	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
26623
26624	// The state the snapshot is in.
26625	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
26626
26627	// The support code. Include this code in your email to support when you have
26628	// questions about an instance or another resource in Lightsail. This code enables
26629	// our support team to look up your Lightsail information more easily.
26630	SupportCode *string `locationName:"supportCode" type:"string"`
26631
26632	// The tag keys and optional values for the resource. For more information about
26633	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
26634	Tags []*Tag `locationName:"tags" type:"list"`
26635}
26636
26637// String returns the string representation
26638func (s InstanceSnapshot) String() string {
26639	return awsutil.Prettify(s)
26640}
26641
26642// GoString returns the string representation
26643func (s InstanceSnapshot) GoString() string {
26644	return s.String()
26645}
26646
26647// SetArn sets the Arn field's value.
26648func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
26649	s.Arn = &v
26650	return s
26651}
26652
26653// SetCreatedAt sets the CreatedAt field's value.
26654func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
26655	s.CreatedAt = &v
26656	return s
26657}
26658
26659// SetFromAttachedDisks sets the FromAttachedDisks field's value.
26660func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
26661	s.FromAttachedDisks = v
26662	return s
26663}
26664
26665// SetFromBlueprintId sets the FromBlueprintId field's value.
26666func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
26667	s.FromBlueprintId = &v
26668	return s
26669}
26670
26671// SetFromBundleId sets the FromBundleId field's value.
26672func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
26673	s.FromBundleId = &v
26674	return s
26675}
26676
26677// SetFromInstanceArn sets the FromInstanceArn field's value.
26678func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
26679	s.FromInstanceArn = &v
26680	return s
26681}
26682
26683// SetFromInstanceName sets the FromInstanceName field's value.
26684func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
26685	s.FromInstanceName = &v
26686	return s
26687}
26688
26689// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
26690func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
26691	s.IsFromAutoSnapshot = &v
26692	return s
26693}
26694
26695// SetLocation sets the Location field's value.
26696func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
26697	s.Location = v
26698	return s
26699}
26700
26701// SetName sets the Name field's value.
26702func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
26703	s.Name = &v
26704	return s
26705}
26706
26707// SetProgress sets the Progress field's value.
26708func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
26709	s.Progress = &v
26710	return s
26711}
26712
26713// SetResourceType sets the ResourceType field's value.
26714func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
26715	s.ResourceType = &v
26716	return s
26717}
26718
26719// SetSizeInGb sets the SizeInGb field's value.
26720func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
26721	s.SizeInGb = &v
26722	return s
26723}
26724
26725// SetState sets the State field's value.
26726func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
26727	s.State = &v
26728	return s
26729}
26730
26731// SetSupportCode sets the SupportCode field's value.
26732func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
26733	s.SupportCode = &v
26734	return s
26735}
26736
26737// SetTags sets the Tags field's value.
26738func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
26739	s.Tags = v
26740	return s
26741}
26742
26743// Describes an instance snapshot.
26744type InstanceSnapshotInfo struct {
26745	_ struct{} `type:"structure"`
26746
26747	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
26748	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
26749
26750	// The bundle ID from which the source instance was created (e.g., micro_1_0).
26751	FromBundleId *string `locationName:"fromBundleId" type:"string"`
26752
26753	// A list of objects describing the disks that were attached to the source instance.
26754	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
26755}
26756
26757// String returns the string representation
26758func (s InstanceSnapshotInfo) String() string {
26759	return awsutil.Prettify(s)
26760}
26761
26762// GoString returns the string representation
26763func (s InstanceSnapshotInfo) GoString() string {
26764	return s.String()
26765}
26766
26767// SetFromBlueprintId sets the FromBlueprintId field's value.
26768func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
26769	s.FromBlueprintId = &v
26770	return s
26771}
26772
26773// SetFromBundleId sets the FromBundleId field's value.
26774func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
26775	s.FromBundleId = &v
26776	return s
26777}
26778
26779// SetFromDiskInfo sets the FromDiskInfo field's value.
26780func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
26781	s.FromDiskInfo = v
26782	return s
26783}
26784
26785// Describes the virtual private server (or instance) status.
26786type InstanceState struct {
26787	_ struct{} `type:"structure"`
26788
26789	// The status code for the instance.
26790	Code *int64 `locationName:"code" type:"integer"`
26791
26792	// The state of the instance (e.g., running or pending).
26793	Name *string `locationName:"name" type:"string"`
26794}
26795
26796// String returns the string representation
26797func (s InstanceState) String() string {
26798	return awsutil.Prettify(s)
26799}
26800
26801// GoString returns the string representation
26802func (s InstanceState) GoString() string {
26803	return s.String()
26804}
26805
26806// SetCode sets the Code field's value.
26807func (s *InstanceState) SetCode(v int64) *InstanceState {
26808	s.Code = &v
26809	return s
26810}
26811
26812// SetName sets the Name field's value.
26813func (s *InstanceState) SetName(v string) *InstanceState {
26814	s.Name = &v
26815	return s
26816}
26817
26818// Lightsail throws this exception when user input does not conform to the validation
26819// rules of an input field.
26820//
26821// Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
26822// Please set your AWS Region configuration to us-east-1 to create, view, or
26823// edit these resources.
26824type InvalidInputException struct {
26825	_            struct{}                  `type:"structure"`
26826	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26827
26828	Code_ *string `locationName:"code" type:"string"`
26829
26830	Docs *string `locationName:"docs" type:"string"`
26831
26832	Message_ *string `locationName:"message" type:"string"`
26833
26834	Tip *string `locationName:"tip" type:"string"`
26835}
26836
26837// String returns the string representation
26838func (s InvalidInputException) String() string {
26839	return awsutil.Prettify(s)
26840}
26841
26842// GoString returns the string representation
26843func (s InvalidInputException) GoString() string {
26844	return s.String()
26845}
26846
26847func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
26848	return &InvalidInputException{
26849		RespMetadata: v,
26850	}
26851}
26852
26853// Code returns the exception type name.
26854func (s *InvalidInputException) Code() string {
26855	return "InvalidInputException"
26856}
26857
26858// Message returns the exception's message.
26859func (s *InvalidInputException) Message() string {
26860	if s.Message_ != nil {
26861		return *s.Message_
26862	}
26863	return ""
26864}
26865
26866// OrigErr always returns nil, satisfies awserr.Error interface.
26867func (s *InvalidInputException) OrigErr() error {
26868	return nil
26869}
26870
26871func (s *InvalidInputException) Error() string {
26872	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26873}
26874
26875// Status code returns the HTTP status code for the request's response error.
26876func (s *InvalidInputException) StatusCode() int {
26877	return s.RespMetadata.StatusCode
26878}
26879
26880// RequestID returns the service's response RequestID for request.
26881func (s *InvalidInputException) RequestID() string {
26882	return s.RespMetadata.RequestID
26883}
26884
26885type IsVpcPeeredInput struct {
26886	_ struct{} `type:"structure"`
26887}
26888
26889// String returns the string representation
26890func (s IsVpcPeeredInput) String() string {
26891	return awsutil.Prettify(s)
26892}
26893
26894// GoString returns the string representation
26895func (s IsVpcPeeredInput) GoString() string {
26896	return s.String()
26897}
26898
26899type IsVpcPeeredOutput struct {
26900	_ struct{} `type:"structure"`
26901
26902	// Returns true if the Lightsail VPC is peered; otherwise, false.
26903	IsPeered *bool `locationName:"isPeered" type:"boolean"`
26904}
26905
26906// String returns the string representation
26907func (s IsVpcPeeredOutput) String() string {
26908	return awsutil.Prettify(s)
26909}
26910
26911// GoString returns the string representation
26912func (s IsVpcPeeredOutput) GoString() string {
26913	return s.String()
26914}
26915
26916// SetIsPeered sets the IsPeered field's value.
26917func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
26918	s.IsPeered = &v
26919	return s
26920}
26921
26922// Describes the SSH key pair.
26923type KeyPair struct {
26924	_ struct{} `type:"structure"`
26925
26926	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
26927	Arn *string `locationName:"arn" type:"string"`
26928
26929	// The timestamp when the key pair was created (e.g., 1479816991.349).
26930	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
26931
26932	// The RSA fingerprint of the key pair.
26933	Fingerprint *string `locationName:"fingerprint" type:"string"`
26934
26935	// The region name and Availability Zone where the key pair was created.
26936	Location *ResourceLocation `locationName:"location" type:"structure"`
26937
26938	// The friendly name of the SSH key pair.
26939	Name *string `locationName:"name" type:"string"`
26940
26941	// The resource type (usually KeyPair).
26942	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
26943
26944	// The support code. Include this code in your email to support when you have
26945	// questions about an instance or another resource in Lightsail. This code enables
26946	// our support team to look up your Lightsail information more easily.
26947	SupportCode *string `locationName:"supportCode" type:"string"`
26948
26949	// The tag keys and optional values for the resource. For more information about
26950	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
26951	Tags []*Tag `locationName:"tags" type:"list"`
26952}
26953
26954// String returns the string representation
26955func (s KeyPair) String() string {
26956	return awsutil.Prettify(s)
26957}
26958
26959// GoString returns the string representation
26960func (s KeyPair) GoString() string {
26961	return s.String()
26962}
26963
26964// SetArn sets the Arn field's value.
26965func (s *KeyPair) SetArn(v string) *KeyPair {
26966	s.Arn = &v
26967	return s
26968}
26969
26970// SetCreatedAt sets the CreatedAt field's value.
26971func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
26972	s.CreatedAt = &v
26973	return s
26974}
26975
26976// SetFingerprint sets the Fingerprint field's value.
26977func (s *KeyPair) SetFingerprint(v string) *KeyPair {
26978	s.Fingerprint = &v
26979	return s
26980}
26981
26982// SetLocation sets the Location field's value.
26983func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
26984	s.Location = v
26985	return s
26986}
26987
26988// SetName sets the Name field's value.
26989func (s *KeyPair) SetName(v string) *KeyPair {
26990	s.Name = &v
26991	return s
26992}
26993
26994// SetResourceType sets the ResourceType field's value.
26995func (s *KeyPair) SetResourceType(v string) *KeyPair {
26996	s.ResourceType = &v
26997	return s
26998}
26999
27000// SetSupportCode sets the SupportCode field's value.
27001func (s *KeyPair) SetSupportCode(v string) *KeyPair {
27002	s.SupportCode = &v
27003	return s
27004}
27005
27006// SetTags sets the Tags field's value.
27007func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
27008	s.Tags = v
27009	return s
27010}
27011
27012// Describes an Amazon Lightsail content delivery network (CDN) distribution.
27013type LightsailDistribution struct {
27014	_ struct{} `type:"structure"`
27015
27016	// Indicates whether the bundle that is currently applied to your distribution,
27017	// specified using the distributionName parameter, can be changed to another
27018	// bundle.
27019	//
27020	// Use the UpdateDistributionBundle action to change your distribution's bundle.
27021	AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"`
27022
27023	// The alternate domain names of the distribution.
27024	AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"`
27025
27026	// The Amazon Resource Name (ARN) of the distribution.
27027	Arn *string `locationName:"arn" type:"string"`
27028
27029	// The ID of the bundle currently applied to the distribution.
27030	BundleId *string `locationName:"bundleId" type:"string"`
27031
27032	// An object that describes the cache behavior settings of the distribution.
27033	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
27034
27035	// An array of objects that describe the per-path cache behavior of the distribution.
27036	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
27037
27038	// The name of the SSL/TLS certificate attached to the distribution, if any.
27039	CertificateName *string `locationName:"certificateName" type:"string"`
27040
27041	// The timestamp when the distribution was created.
27042	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27043
27044	// An object that describes the default cache behavior of the distribution.
27045	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
27046
27047	// The domain name of the distribution.
27048	DomainName *string `locationName:"domainName" type:"string"`
27049
27050	// Indicates whether the distribution is enabled.
27051	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
27052
27053	// An object that describes the location of the distribution, such as the AWS
27054	// Region and Availability Zone.
27055	//
27056	// Lightsail distributions are global resources that can reference an origin
27057	// in any AWS Region, and distribute its content globally. However, all distributions
27058	// are located in the us-east-1 Region.
27059	Location *ResourceLocation `locationName:"location" type:"structure"`
27060
27061	// The name of the distribution.
27062	Name *string `locationName:"name" type:"string"`
27063
27064	// An object that describes the origin resource of the distribution, such as
27065	// a Lightsail instance or load balancer.
27066	//
27067	// The distribution pulls, caches, and serves content from the origin.
27068	Origin *Origin `locationName:"origin" type:"structure"`
27069
27070	// The public DNS of the origin.
27071	OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"`
27072
27073	// The Lightsail resource type (e.g., Distribution).
27074	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
27075
27076	// The status of the distribution.
27077	Status *string `locationName:"status" type:"string"`
27078
27079	// The support code. Include this code in your email to support when you have
27080	// questions about your Lightsail distribution. This code enables our support
27081	// team to look up your Lightsail information more easily.
27082	SupportCode *string `locationName:"supportCode" type:"string"`
27083
27084	// The tag keys and optional values for the resource. For more information about
27085	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
27086	Tags []*Tag `locationName:"tags" type:"list"`
27087}
27088
27089// String returns the string representation
27090func (s LightsailDistribution) String() string {
27091	return awsutil.Prettify(s)
27092}
27093
27094// GoString returns the string representation
27095func (s LightsailDistribution) GoString() string {
27096	return s.String()
27097}
27098
27099// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value.
27100func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution {
27101	s.AbleToUpdateBundle = &v
27102	return s
27103}
27104
27105// SetAlternativeDomainNames sets the AlternativeDomainNames field's value.
27106func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution {
27107	s.AlternativeDomainNames = v
27108	return s
27109}
27110
27111// SetArn sets the Arn field's value.
27112func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution {
27113	s.Arn = &v
27114	return s
27115}
27116
27117// SetBundleId sets the BundleId field's value.
27118func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution {
27119	s.BundleId = &v
27120	return s
27121}
27122
27123// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
27124func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution {
27125	s.CacheBehaviorSettings = v
27126	return s
27127}
27128
27129// SetCacheBehaviors sets the CacheBehaviors field's value.
27130func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution {
27131	s.CacheBehaviors = v
27132	return s
27133}
27134
27135// SetCertificateName sets the CertificateName field's value.
27136func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution {
27137	s.CertificateName = &v
27138	return s
27139}
27140
27141// SetCreatedAt sets the CreatedAt field's value.
27142func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution {
27143	s.CreatedAt = &v
27144	return s
27145}
27146
27147// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
27148func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution {
27149	s.DefaultCacheBehavior = v
27150	return s
27151}
27152
27153// SetDomainName sets the DomainName field's value.
27154func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution {
27155	s.DomainName = &v
27156	return s
27157}
27158
27159// SetIsEnabled sets the IsEnabled field's value.
27160func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution {
27161	s.IsEnabled = &v
27162	return s
27163}
27164
27165// SetLocation sets the Location field's value.
27166func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution {
27167	s.Location = v
27168	return s
27169}
27170
27171// SetName sets the Name field's value.
27172func (s *LightsailDistribution) SetName(v string) *LightsailDistribution {
27173	s.Name = &v
27174	return s
27175}
27176
27177// SetOrigin sets the Origin field's value.
27178func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution {
27179	s.Origin = v
27180	return s
27181}
27182
27183// SetOriginPublicDNS sets the OriginPublicDNS field's value.
27184func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution {
27185	s.OriginPublicDNS = &v
27186	return s
27187}
27188
27189// SetResourceType sets the ResourceType field's value.
27190func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution {
27191	s.ResourceType = &v
27192	return s
27193}
27194
27195// SetStatus sets the Status field's value.
27196func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution {
27197	s.Status = &v
27198	return s
27199}
27200
27201// SetSupportCode sets the SupportCode field's value.
27202func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution {
27203	s.SupportCode = &v
27204	return s
27205}
27206
27207// SetTags sets the Tags field's value.
27208func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution {
27209	s.Tags = v
27210	return s
27211}
27212
27213// Describes the Lightsail load balancer.
27214type LoadBalancer struct {
27215	_ struct{} `type:"structure"`
27216
27217	// The Amazon Resource Name (ARN) of the load balancer.
27218	Arn *string `locationName:"arn" type:"string"`
27219
27220	// A string to string map of the configuration options for your load balancer.
27221	// Valid values are listed below.
27222	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
27223
27224	// The date when your load balancer was created.
27225	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27226
27227	// The DNS name of your Lightsail load balancer.
27228	DnsName *string `locationName:"dnsName" type:"string"`
27229
27230	// The path you specified to perform your health checks. If no path is specified,
27231	// the load balancer tries to make a request to the default (root) page.
27232	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
27233
27234	// An array of InstanceHealthSummary objects describing the health of the load
27235	// balancer.
27236	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
27237
27238	// The port where the load balancer will direct traffic to your Lightsail instances.
27239	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
27240	InstancePort *int64 `locationName:"instancePort" type:"integer"`
27241
27242	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
27243	// automatically creates your load balancer across Availability Zones.
27244	Location *ResourceLocation `locationName:"location" type:"structure"`
27245
27246	// The name of the load balancer (e.g., my-load-balancer).
27247	Name *string `locationName:"name" type:"string"`
27248
27249	// The protocol you have enabled for your load balancer. Valid values are below.
27250	//
27251	// You can't just have HTTP_HTTPS, but you can have just HTTP.
27252	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
27253
27254	// An array of public port settings for your load balancer. For HTTP, use port
27255	// 80. For HTTPS, use port 443.
27256	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
27257
27258	// The resource type (e.g., LoadBalancer.
27259	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
27260
27261	// The status of your load balancer. Valid values are below.
27262	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
27263
27264	// The support code. Include this code in your email to support when you have
27265	// questions about your Lightsail load balancer. This code enables our support
27266	// team to look up your Lightsail information more easily.
27267	SupportCode *string `locationName:"supportCode" type:"string"`
27268
27269	// The tag keys and optional values for the resource. For more information about
27270	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
27271	Tags []*Tag `locationName:"tags" type:"list"`
27272
27273	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
27274	// information about the SSL/TLS certificates. For example, if true, the certificate
27275	// is attached to the load balancer.
27276	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
27277}
27278
27279// String returns the string representation
27280func (s LoadBalancer) String() string {
27281	return awsutil.Prettify(s)
27282}
27283
27284// GoString returns the string representation
27285func (s LoadBalancer) GoString() string {
27286	return s.String()
27287}
27288
27289// SetArn sets the Arn field's value.
27290func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
27291	s.Arn = &v
27292	return s
27293}
27294
27295// SetConfigurationOptions sets the ConfigurationOptions field's value.
27296func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
27297	s.ConfigurationOptions = v
27298	return s
27299}
27300
27301// SetCreatedAt sets the CreatedAt field's value.
27302func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
27303	s.CreatedAt = &v
27304	return s
27305}
27306
27307// SetDnsName sets the DnsName field's value.
27308func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
27309	s.DnsName = &v
27310	return s
27311}
27312
27313// SetHealthCheckPath sets the HealthCheckPath field's value.
27314func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
27315	s.HealthCheckPath = &v
27316	return s
27317}
27318
27319// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
27320func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
27321	s.InstanceHealthSummary = v
27322	return s
27323}
27324
27325// SetInstancePort sets the InstancePort field's value.
27326func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
27327	s.InstancePort = &v
27328	return s
27329}
27330
27331// SetLocation sets the Location field's value.
27332func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
27333	s.Location = v
27334	return s
27335}
27336
27337// SetName sets the Name field's value.
27338func (s *LoadBalancer) SetName(v string) *LoadBalancer {
27339	s.Name = &v
27340	return s
27341}
27342
27343// SetProtocol sets the Protocol field's value.
27344func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
27345	s.Protocol = &v
27346	return s
27347}
27348
27349// SetPublicPorts sets the PublicPorts field's value.
27350func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
27351	s.PublicPorts = v
27352	return s
27353}
27354
27355// SetResourceType sets the ResourceType field's value.
27356func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
27357	s.ResourceType = &v
27358	return s
27359}
27360
27361// SetState sets the State field's value.
27362func (s *LoadBalancer) SetState(v string) *LoadBalancer {
27363	s.State = &v
27364	return s
27365}
27366
27367// SetSupportCode sets the SupportCode field's value.
27368func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
27369	s.SupportCode = &v
27370	return s
27371}
27372
27373// SetTags sets the Tags field's value.
27374func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
27375	s.Tags = v
27376	return s
27377}
27378
27379// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
27380func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
27381	s.TlsCertificateSummaries = v
27382	return s
27383}
27384
27385// Describes a load balancer SSL/TLS certificate.
27386//
27387// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
27388type LoadBalancerTlsCertificate struct {
27389	_ struct{} `type:"structure"`
27390
27391	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
27392	Arn *string `locationName:"arn" type:"string"`
27393
27394	// The time when you created your SSL/TLS certificate.
27395	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27396
27397	// The domain name for your SSL/TLS certificate.
27398	DomainName *string `locationName:"domainName" type:"string"`
27399
27400	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
27401	// the records.
27402	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
27403
27404	// The validation failure reason, if any, of the certificate.
27405	//
27406	// The following failure reasons are possible:
27407	//
27408	//    * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which
27409	//    is not available for Lightsail certificates.
27410	//
27411	//    * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information
27412	//    to process this certificate request. This can happen as a fraud-protection
27413	//    measure, such as when the domain ranks within the Alexa top 1000 websites.
27414	//    To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home)
27415	//    to contact AWS Support. You cannot request a certificate for Amazon-owned
27416	//    domain names such as those ending in amazonaws.com, cloudfront.net, or
27417	//    elasticbeanstalk.com.
27418	//
27419	//    * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate
27420	//    request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url).
27421	//    To correct the problem, search for your domain name on the VirusTotal
27422	//    (https://www.virustotal.com/gui/home/url) website. If your domain is reported
27423	//    as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en)
27424	//    to learn what you can do. If you believe that the result is a false positive,
27425	//    notify the organization that is reporting the domain. VirusTotal is an
27426	//    aggregate of several antivirus and URL scanners and cannot remove your
27427	//    domain from a block list itself. After you correct the problem and the
27428	//    VirusTotal registry has been updated, request a new certificate. If you
27429	//    see this error and your domain is not included in the VirusTotal list,
27430	//    visit the AWS Support Center (https://console.aws.amazon.com/support/home)
27431	//    and create a case.
27432	//
27433	//    * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate
27434	//    request is not valid. Typically, this is because a domain name in the
27435	//    request is not a valid top-level domain. Try to request a certificate
27436	//    again, correcting any spelling errors or typos that were in the failed
27437	//    request, and ensure that all domain names in the request are for valid
27438	//    top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain
27439	//    because invalidpublicdomain is not a valid top-level domain.
27440	//
27441	//    * OTHER - Typically, this failure occurs when there is a typographical
27442	//    error in one or more of the domain names in the certificate request. Try
27443	//    to request a certificate again, correcting any spelling errors or typos
27444	//    that were in the failed request.
27445	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
27446
27447	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
27448	IsAttached *bool `locationName:"isAttached" type:"boolean"`
27449
27450	// The time when the SSL/TLS certificate was issued.
27451	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
27452
27453	// The issuer of the certificate.
27454	Issuer *string `locationName:"issuer" type:"string"`
27455
27456	// The algorithm used to generate the key pair (the public and private key).
27457	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
27458
27459	// The load balancer name where your SSL/TLS certificate is attached.
27460	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
27461
27462	// The AWS Region and Availability Zone where you created your certificate.
27463	Location *ResourceLocation `locationName:"location" type:"structure"`
27464
27465	// The name of the SSL/TLS certificate (e.g., my-certificate).
27466	Name *string `locationName:"name" type:"string"`
27467
27468	// The timestamp when the SSL/TLS certificate expires.
27469	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
27470
27471	// The timestamp when the SSL/TLS certificate is first valid.
27472	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
27473
27474	// An object that describes the status of the certificate renewal managed by
27475	// Lightsail.
27476	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
27477
27478	// The resource type (e.g., LoadBalancerTlsCertificate).
27479	//
27480	//    * Instance - A Lightsail instance (a virtual private server)
27481	//
27482	//    * StaticIp - A static IP address
27483	//
27484	//    * KeyPair - The key pair used to connect to a Lightsail instance
27485	//
27486	//    * InstanceSnapshot - A Lightsail instance snapshot
27487	//
27488	//    * Domain - A DNS zone
27489	//
27490	//    * PeeredVpc - A peered VPC
27491	//
27492	//    * LoadBalancer - A Lightsail load balancer
27493	//
27494	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
27495	//    a Lightsail load balancer
27496	//
27497	//    * Disk - A Lightsail block storage disk
27498	//
27499	//    * DiskSnapshot - A block storage disk snapshot
27500	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
27501
27502	// The reason the certificate was revoked. This value is present only when the
27503	// certificate status is REVOKED.
27504	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
27505
27506	// The timestamp when the certificate was revoked. This value is present only
27507	// when the certificate status is REVOKED.
27508	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
27509
27510	// The serial number of the certificate.
27511	Serial *string `locationName:"serial" type:"string"`
27512
27513	// The algorithm that was used to sign the certificate.
27514	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
27515
27516	// The validation status of the SSL/TLS certificate. Valid values are below.
27517	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
27518
27519	// The name of the entity that is associated with the public key contained in
27520	// the certificate.
27521	Subject *string `locationName:"subject" type:"string"`
27522
27523	// An array of strings that specify the alternate domains (e.g., example2.com)
27524	// and subdomains (e.g., blog.example.com) for the certificate.
27525	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
27526
27527	// The support code. Include this code in your email to support when you have
27528	// questions about your Lightsail load balancer or SSL/TLS certificate. This
27529	// code enables our support team to look up your Lightsail information more
27530	// easily.
27531	SupportCode *string `locationName:"supportCode" type:"string"`
27532
27533	// The tag keys and optional values for the resource. For more information about
27534	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
27535	Tags []*Tag `locationName:"tags" type:"list"`
27536}
27537
27538// String returns the string representation
27539func (s LoadBalancerTlsCertificate) String() string {
27540	return awsutil.Prettify(s)
27541}
27542
27543// GoString returns the string representation
27544func (s LoadBalancerTlsCertificate) GoString() string {
27545	return s.String()
27546}
27547
27548// SetArn sets the Arn field's value.
27549func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
27550	s.Arn = &v
27551	return s
27552}
27553
27554// SetCreatedAt sets the CreatedAt field's value.
27555func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
27556	s.CreatedAt = &v
27557	return s
27558}
27559
27560// SetDomainName sets the DomainName field's value.
27561func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
27562	s.DomainName = &v
27563	return s
27564}
27565
27566// SetDomainValidationRecords sets the DomainValidationRecords field's value.
27567func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
27568	s.DomainValidationRecords = v
27569	return s
27570}
27571
27572// SetFailureReason sets the FailureReason field's value.
27573func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
27574	s.FailureReason = &v
27575	return s
27576}
27577
27578// SetIsAttached sets the IsAttached field's value.
27579func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
27580	s.IsAttached = &v
27581	return s
27582}
27583
27584// SetIssuedAt sets the IssuedAt field's value.
27585func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
27586	s.IssuedAt = &v
27587	return s
27588}
27589
27590// SetIssuer sets the Issuer field's value.
27591func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
27592	s.Issuer = &v
27593	return s
27594}
27595
27596// SetKeyAlgorithm sets the KeyAlgorithm field's value.
27597func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
27598	s.KeyAlgorithm = &v
27599	return s
27600}
27601
27602// SetLoadBalancerName sets the LoadBalancerName field's value.
27603func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
27604	s.LoadBalancerName = &v
27605	return s
27606}
27607
27608// SetLocation sets the Location field's value.
27609func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
27610	s.Location = v
27611	return s
27612}
27613
27614// SetName sets the Name field's value.
27615func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
27616	s.Name = &v
27617	return s
27618}
27619
27620// SetNotAfter sets the NotAfter field's value.
27621func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
27622	s.NotAfter = &v
27623	return s
27624}
27625
27626// SetNotBefore sets the NotBefore field's value.
27627func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
27628	s.NotBefore = &v
27629	return s
27630}
27631
27632// SetRenewalSummary sets the RenewalSummary field's value.
27633func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
27634	s.RenewalSummary = v
27635	return s
27636}
27637
27638// SetResourceType sets the ResourceType field's value.
27639func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
27640	s.ResourceType = &v
27641	return s
27642}
27643
27644// SetRevocationReason sets the RevocationReason field's value.
27645func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
27646	s.RevocationReason = &v
27647	return s
27648}
27649
27650// SetRevokedAt sets the RevokedAt field's value.
27651func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
27652	s.RevokedAt = &v
27653	return s
27654}
27655
27656// SetSerial sets the Serial field's value.
27657func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
27658	s.Serial = &v
27659	return s
27660}
27661
27662// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
27663func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
27664	s.SignatureAlgorithm = &v
27665	return s
27666}
27667
27668// SetStatus sets the Status field's value.
27669func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
27670	s.Status = &v
27671	return s
27672}
27673
27674// SetSubject sets the Subject field's value.
27675func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
27676	s.Subject = &v
27677	return s
27678}
27679
27680// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
27681func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
27682	s.SubjectAlternativeNames = v
27683	return s
27684}
27685
27686// SetSupportCode sets the SupportCode field's value.
27687func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
27688	s.SupportCode = &v
27689	return s
27690}
27691
27692// SetTags sets the Tags field's value.
27693func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
27694	s.Tags = v
27695	return s
27696}
27697
27698// Contains information about the domain names on an SSL/TLS certificate that
27699// you will use to validate domain ownership.
27700type LoadBalancerTlsCertificateDomainValidationOption struct {
27701	_ struct{} `type:"structure"`
27702
27703	// The fully qualified domain name in the certificate request.
27704	DomainName *string `locationName:"domainName" type:"string"`
27705
27706	// The status of the domain validation. Valid values are listed below.
27707	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
27708}
27709
27710// String returns the string representation
27711func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
27712	return awsutil.Prettify(s)
27713}
27714
27715// GoString returns the string representation
27716func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
27717	return s.String()
27718}
27719
27720// SetDomainName sets the DomainName field's value.
27721func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
27722	s.DomainName = &v
27723	return s
27724}
27725
27726// SetValidationStatus sets the ValidationStatus field's value.
27727func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
27728	s.ValidationStatus = &v
27729	return s
27730}
27731
27732// Describes the validation record of each domain name in the SSL/TLS certificate.
27733type LoadBalancerTlsCertificateDomainValidationRecord struct {
27734	_ struct{} `type:"structure"`
27735
27736	// The domain name against which your SSL/TLS certificate was validated.
27737	DomainName *string `locationName:"domainName" type:"string"`
27738
27739	// A fully qualified domain name in the certificate. For example, example.com.
27740	Name *string `locationName:"name" type:"string"`
27741
27742	// The type of validation record. For example, CNAME for domain validation.
27743	Type *string `locationName:"type" type:"string"`
27744
27745	// The validation status. Valid values are listed below.
27746	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
27747
27748	// The value for that type.
27749	Value *string `locationName:"value" type:"string"`
27750}
27751
27752// String returns the string representation
27753func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
27754	return awsutil.Prettify(s)
27755}
27756
27757// GoString returns the string representation
27758func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
27759	return s.String()
27760}
27761
27762// SetDomainName sets the DomainName field's value.
27763func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
27764	s.DomainName = &v
27765	return s
27766}
27767
27768// SetName sets the Name field's value.
27769func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
27770	s.Name = &v
27771	return s
27772}
27773
27774// SetType sets the Type field's value.
27775func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
27776	s.Type = &v
27777	return s
27778}
27779
27780// SetValidationStatus sets the ValidationStatus field's value.
27781func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
27782	s.ValidationStatus = &v
27783	return s
27784}
27785
27786// SetValue sets the Value field's value.
27787func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
27788	s.Value = &v
27789	return s
27790}
27791
27792// Contains information about the status of Lightsail's managed renewal for
27793// the certificate.
27794//
27795// The renewal status of the certificate.
27796//
27797// The following renewal status are possible:
27798//
27799//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
27800//    the domain names in the certificate. No further action is required.
27801//
27802//    * PendingValidation - Lightsail couldn't automatically validate one or
27803//    more domain names in the certificate. You must take action to validate
27804//    these domain names or the certificate won't be renewed. If you used DNS
27805//    validation, check to make sure your certificate's domain validation records
27806//    exist in your domain's DNS, and that your certificate remains in use.
27807//
27808//    * Success - All domain names in the certificate are validated, and Lightsail
27809//    renewed the certificate. No further action is required.
27810//
27811//    * Failed - One or more domain names were not validated before the certificate
27812//    expired, and Lightsail did not renew the certificate. You can request
27813//    a new certificate using the CreateCertificate action.
27814type LoadBalancerTlsCertificateRenewalSummary struct {
27815	_ struct{} `type:"structure"`
27816
27817	// Contains information about the validation of each domain name in the certificate,
27818	// as it pertains to Lightsail's managed renewal. This is different from the
27819	// initial validation that occurs as a result of the RequestCertificate request.
27820	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
27821
27822	// The renewal status of the certificate.
27823	//
27824	// The following renewal status are possible:
27825	//
27826	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
27827	//    the domain names of the certificate. No further action is required.
27828	//
27829	//    * PendingValidation - Lightsail couldn't automatically validate one or
27830	//    more domain names of the certificate. You must take action to validate
27831	//    these domain names or the certificate won't be renewed. Check to make
27832	//    sure your certificate's domain validation records exist in your domain's
27833	//    DNS, and that your certificate remains in use.
27834	//
27835	//    * Success - All domain names in the certificate are validated, and Lightsail
27836	//    renewed the certificate. No further action is required.
27837	//
27838	//    * Failed - One or more domain names were not validated before the certificate
27839	//    expired, and Lightsail did not renew the certificate. You can request
27840	//    a new certificate using the CreateCertificate action.
27841	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
27842}
27843
27844// String returns the string representation
27845func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
27846	return awsutil.Prettify(s)
27847}
27848
27849// GoString returns the string representation
27850func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
27851	return s.String()
27852}
27853
27854// SetDomainValidationOptions sets the DomainValidationOptions field's value.
27855func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
27856	s.DomainValidationOptions = v
27857	return s
27858}
27859
27860// SetRenewalStatus sets the RenewalStatus field's value.
27861func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
27862	s.RenewalStatus = &v
27863	return s
27864}
27865
27866// Provides a summary of SSL/TLS certificate metadata.
27867type LoadBalancerTlsCertificateSummary struct {
27868	_ struct{} `type:"structure"`
27869
27870	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
27871	IsAttached *bool `locationName:"isAttached" type:"boolean"`
27872
27873	// The name of the SSL/TLS certificate.
27874	Name *string `locationName:"name" type:"string"`
27875}
27876
27877// String returns the string representation
27878func (s LoadBalancerTlsCertificateSummary) String() string {
27879	return awsutil.Prettify(s)
27880}
27881
27882// GoString returns the string representation
27883func (s LoadBalancerTlsCertificateSummary) GoString() string {
27884	return s.String()
27885}
27886
27887// SetIsAttached sets the IsAttached field's value.
27888func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
27889	s.IsAttached = &v
27890	return s
27891}
27892
27893// SetName sets the Name field's value.
27894func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
27895	s.Name = &v
27896	return s
27897}
27898
27899// Describes a database log event.
27900type LogEvent struct {
27901	_ struct{} `type:"structure"`
27902
27903	// The timestamp when the database log event was created.
27904	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
27905
27906	// The message of the database log event.
27907	Message *string `locationName:"message" type:"string"`
27908}
27909
27910// String returns the string representation
27911func (s LogEvent) String() string {
27912	return awsutil.Prettify(s)
27913}
27914
27915// GoString returns the string representation
27916func (s LogEvent) GoString() string {
27917	return s.String()
27918}
27919
27920// SetCreatedAt sets the CreatedAt field's value.
27921func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
27922	s.CreatedAt = &v
27923	return s
27924}
27925
27926// SetMessage sets the Message field's value.
27927func (s *LogEvent) SetMessage(v string) *LogEvent {
27928	s.Message = &v
27929	return s
27930}
27931
27932// Describes the metric data point.
27933type MetricDatapoint struct {
27934	_ struct{} `type:"structure"`
27935
27936	// The average.
27937	Average *float64 `locationName:"average" type:"double"`
27938
27939	// The maximum.
27940	Maximum *float64 `locationName:"maximum" type:"double"`
27941
27942	// The minimum.
27943	Minimum *float64 `locationName:"minimum" type:"double"`
27944
27945	// The sample count.
27946	SampleCount *float64 `locationName:"sampleCount" type:"double"`
27947
27948	// The sum.
27949	Sum *float64 `locationName:"sum" type:"double"`
27950
27951	// The timestamp (e.g., 1479816991.349).
27952	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
27953
27954	// The unit.
27955	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
27956}
27957
27958// String returns the string representation
27959func (s MetricDatapoint) String() string {
27960	return awsutil.Prettify(s)
27961}
27962
27963// GoString returns the string representation
27964func (s MetricDatapoint) GoString() string {
27965	return s.String()
27966}
27967
27968// SetAverage sets the Average field's value.
27969func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
27970	s.Average = &v
27971	return s
27972}
27973
27974// SetMaximum sets the Maximum field's value.
27975func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
27976	s.Maximum = &v
27977	return s
27978}
27979
27980// SetMinimum sets the Minimum field's value.
27981func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
27982	s.Minimum = &v
27983	return s
27984}
27985
27986// SetSampleCount sets the SampleCount field's value.
27987func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
27988	s.SampleCount = &v
27989	return s
27990}
27991
27992// SetSum sets the Sum field's value.
27993func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
27994	s.Sum = &v
27995	return s
27996}
27997
27998// SetTimestamp sets the Timestamp field's value.
27999func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
28000	s.Timestamp = &v
28001	return s
28002}
28003
28004// SetUnit sets the Unit field's value.
28005func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
28006	s.Unit = &v
28007	return s
28008}
28009
28010// Describes resource being monitored by an alarm.
28011//
28012// An alarm is a way to monitor your Amazon Lightsail resource metrics. For
28013// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms).
28014type MonitoredResourceInfo struct {
28015	_ struct{} `type:"structure"`
28016
28017	// The Amazon Resource Name (ARN) of the resource being monitored.
28018	Arn *string `locationName:"arn" type:"string"`
28019
28020	// The name of the Lightsail resource being monitored.
28021	Name *string `locationName:"name" type:"string"`
28022
28023	// The Lightsail resource type of the resource being monitored.
28024	//
28025	// Instances, load balancers, and relational databases are the only Lightsail
28026	// resources that can currently be monitored by alarms.
28027	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
28028}
28029
28030// String returns the string representation
28031func (s MonitoredResourceInfo) String() string {
28032	return awsutil.Prettify(s)
28033}
28034
28035// GoString returns the string representation
28036func (s MonitoredResourceInfo) GoString() string {
28037	return s.String()
28038}
28039
28040// SetArn sets the Arn field's value.
28041func (s *MonitoredResourceInfo) SetArn(v string) *MonitoredResourceInfo {
28042	s.Arn = &v
28043	return s
28044}
28045
28046// SetName sets the Name field's value.
28047func (s *MonitoredResourceInfo) SetName(v string) *MonitoredResourceInfo {
28048	s.Name = &v
28049	return s
28050}
28051
28052// SetResourceType sets the ResourceType field's value.
28053func (s *MonitoredResourceInfo) SetResourceType(v string) *MonitoredResourceInfo {
28054	s.ResourceType = &v
28055	return s
28056}
28057
28058// Describes the monthly data transfer in and out of your virtual private server
28059// (or instance).
28060type MonthlyTransfer struct {
28061	_ struct{} `type:"structure"`
28062
28063	// The amount allocated per month (in GB).
28064	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
28065}
28066
28067// String returns the string representation
28068func (s MonthlyTransfer) String() string {
28069	return awsutil.Prettify(s)
28070}
28071
28072// GoString returns the string representation
28073func (s MonthlyTransfer) GoString() string {
28074	return s.String()
28075}
28076
28077// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
28078func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
28079	s.GbPerMonthAllocated = &v
28080	return s
28081}
28082
28083// Lightsail throws this exception when it cannot find a resource.
28084type NotFoundException struct {
28085	_            struct{}                  `type:"structure"`
28086	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28087
28088	Code_ *string `locationName:"code" type:"string"`
28089
28090	Docs *string `locationName:"docs" type:"string"`
28091
28092	Message_ *string `locationName:"message" type:"string"`
28093
28094	Tip *string `locationName:"tip" type:"string"`
28095}
28096
28097// String returns the string representation
28098func (s NotFoundException) String() string {
28099	return awsutil.Prettify(s)
28100}
28101
28102// GoString returns the string representation
28103func (s NotFoundException) GoString() string {
28104	return s.String()
28105}
28106
28107func newErrorNotFoundException(v protocol.ResponseMetadata) error {
28108	return &NotFoundException{
28109		RespMetadata: v,
28110	}
28111}
28112
28113// Code returns the exception type name.
28114func (s *NotFoundException) Code() string {
28115	return "NotFoundException"
28116}
28117
28118// Message returns the exception's message.
28119func (s *NotFoundException) Message() string {
28120	if s.Message_ != nil {
28121		return *s.Message_
28122	}
28123	return ""
28124}
28125
28126// OrigErr always returns nil, satisfies awserr.Error interface.
28127func (s *NotFoundException) OrigErr() error {
28128	return nil
28129}
28130
28131func (s *NotFoundException) Error() string {
28132	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28133}
28134
28135// Status code returns the HTTP status code for the request's response error.
28136func (s *NotFoundException) StatusCode() int {
28137	return s.RespMetadata.StatusCode
28138}
28139
28140// RequestID returns the service's response RequestID for request.
28141func (s *NotFoundException) RequestID() string {
28142	return s.RespMetadata.RequestID
28143}
28144
28145type OpenInstancePublicPortsInput struct {
28146	_ struct{} `type:"structure"`
28147
28148	// The name of the instance for which to open ports.
28149	//
28150	// InstanceName is a required field
28151	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
28152
28153	// An object to describe the ports to open for the specified instance.
28154	//
28155	// PortInfo is a required field
28156	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
28157}
28158
28159// String returns the string representation
28160func (s OpenInstancePublicPortsInput) String() string {
28161	return awsutil.Prettify(s)
28162}
28163
28164// GoString returns the string representation
28165func (s OpenInstancePublicPortsInput) GoString() string {
28166	return s.String()
28167}
28168
28169// Validate inspects the fields of the type to determine if they are valid.
28170func (s *OpenInstancePublicPortsInput) Validate() error {
28171	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
28172	if s.InstanceName == nil {
28173		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
28174	}
28175	if s.PortInfo == nil {
28176		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
28177	}
28178	if s.PortInfo != nil {
28179		if err := s.PortInfo.Validate(); err != nil {
28180			invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams))
28181		}
28182	}
28183
28184	if invalidParams.Len() > 0 {
28185		return invalidParams
28186	}
28187	return nil
28188}
28189
28190// SetInstanceName sets the InstanceName field's value.
28191func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
28192	s.InstanceName = &v
28193	return s
28194}
28195
28196// SetPortInfo sets the PortInfo field's value.
28197func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
28198	s.PortInfo = v
28199	return s
28200}
28201
28202type OpenInstancePublicPortsOutput struct {
28203	_ struct{} `type:"structure"`
28204
28205	// An array of objects that describe the result of the action, such as the status
28206	// of the request, the timestamp of the request, and the resources affected
28207	// by the request.
28208	Operation *Operation `locationName:"operation" type:"structure"`
28209}
28210
28211// String returns the string representation
28212func (s OpenInstancePublicPortsOutput) String() string {
28213	return awsutil.Prettify(s)
28214}
28215
28216// GoString returns the string representation
28217func (s OpenInstancePublicPortsOutput) GoString() string {
28218	return s.String()
28219}
28220
28221// SetOperation sets the Operation field's value.
28222func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
28223	s.Operation = v
28224	return s
28225}
28226
28227// Describes the API operation.
28228type Operation struct {
28229	_ struct{} `type:"structure"`
28230
28231	// The timestamp when the operation was initialized (e.g., 1479816991.349).
28232	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
28233
28234	// The error code.
28235	ErrorCode *string `locationName:"errorCode" type:"string"`
28236
28237	// The error details.
28238	ErrorDetails *string `locationName:"errorDetails" type:"string"`
28239
28240	// The ID of the operation.
28241	Id *string `locationName:"id" type:"string"`
28242
28243	// A Boolean value indicating whether the operation is terminal.
28244	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
28245
28246	// The AWS Region and Availability Zone.
28247	Location *ResourceLocation `locationName:"location" type:"structure"`
28248
28249	// Details about the operation (e.g., Debian-1GB-Ohio-1).
28250	OperationDetails *string `locationName:"operationDetails" type:"string"`
28251
28252	// The type of operation.
28253	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
28254
28255	// The resource name.
28256	ResourceName *string `locationName:"resourceName" type:"string"`
28257
28258	// The resource type.
28259	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
28260
28261	// The status of the operation.
28262	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
28263
28264	// The timestamp when the status was changed (e.g., 1479816991.349).
28265	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
28266}
28267
28268// String returns the string representation
28269func (s Operation) String() string {
28270	return awsutil.Prettify(s)
28271}
28272
28273// GoString returns the string representation
28274func (s Operation) GoString() string {
28275	return s.String()
28276}
28277
28278// SetCreatedAt sets the CreatedAt field's value.
28279func (s *Operation) SetCreatedAt(v time.Time) *Operation {
28280	s.CreatedAt = &v
28281	return s
28282}
28283
28284// SetErrorCode sets the ErrorCode field's value.
28285func (s *Operation) SetErrorCode(v string) *Operation {
28286	s.ErrorCode = &v
28287	return s
28288}
28289
28290// SetErrorDetails sets the ErrorDetails field's value.
28291func (s *Operation) SetErrorDetails(v string) *Operation {
28292	s.ErrorDetails = &v
28293	return s
28294}
28295
28296// SetId sets the Id field's value.
28297func (s *Operation) SetId(v string) *Operation {
28298	s.Id = &v
28299	return s
28300}
28301
28302// SetIsTerminal sets the IsTerminal field's value.
28303func (s *Operation) SetIsTerminal(v bool) *Operation {
28304	s.IsTerminal = &v
28305	return s
28306}
28307
28308// SetLocation sets the Location field's value.
28309func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
28310	s.Location = v
28311	return s
28312}
28313
28314// SetOperationDetails sets the OperationDetails field's value.
28315func (s *Operation) SetOperationDetails(v string) *Operation {
28316	s.OperationDetails = &v
28317	return s
28318}
28319
28320// SetOperationType sets the OperationType field's value.
28321func (s *Operation) SetOperationType(v string) *Operation {
28322	s.OperationType = &v
28323	return s
28324}
28325
28326// SetResourceName sets the ResourceName field's value.
28327func (s *Operation) SetResourceName(v string) *Operation {
28328	s.ResourceName = &v
28329	return s
28330}
28331
28332// SetResourceType sets the ResourceType field's value.
28333func (s *Operation) SetResourceType(v string) *Operation {
28334	s.ResourceType = &v
28335	return s
28336}
28337
28338// SetStatus sets the Status field's value.
28339func (s *Operation) SetStatus(v string) *Operation {
28340	s.Status = &v
28341	return s
28342}
28343
28344// SetStatusChangedAt sets the StatusChangedAt field's value.
28345func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
28346	s.StatusChangedAt = &v
28347	return s
28348}
28349
28350// Lightsail throws this exception when an operation fails to execute.
28351type OperationFailureException struct {
28352	_            struct{}                  `type:"structure"`
28353	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28354
28355	Code_ *string `locationName:"code" type:"string"`
28356
28357	Docs *string `locationName:"docs" type:"string"`
28358
28359	Message_ *string `locationName:"message" type:"string"`
28360
28361	Tip *string `locationName:"tip" type:"string"`
28362}
28363
28364// String returns the string representation
28365func (s OperationFailureException) String() string {
28366	return awsutil.Prettify(s)
28367}
28368
28369// GoString returns the string representation
28370func (s OperationFailureException) GoString() string {
28371	return s.String()
28372}
28373
28374func newErrorOperationFailureException(v protocol.ResponseMetadata) error {
28375	return &OperationFailureException{
28376		RespMetadata: v,
28377	}
28378}
28379
28380// Code returns the exception type name.
28381func (s *OperationFailureException) Code() string {
28382	return "OperationFailureException"
28383}
28384
28385// Message returns the exception's message.
28386func (s *OperationFailureException) Message() string {
28387	if s.Message_ != nil {
28388		return *s.Message_
28389	}
28390	return ""
28391}
28392
28393// OrigErr always returns nil, satisfies awserr.Error interface.
28394func (s *OperationFailureException) OrigErr() error {
28395	return nil
28396}
28397
28398func (s *OperationFailureException) Error() string {
28399	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28400}
28401
28402// Status code returns the HTTP status code for the request's response error.
28403func (s *OperationFailureException) StatusCode() int {
28404	return s.RespMetadata.StatusCode
28405}
28406
28407// RequestID returns the service's response RequestID for request.
28408func (s *OperationFailureException) RequestID() string {
28409	return s.RespMetadata.RequestID
28410}
28411
28412// Describes the origin resource of an Amazon Lightsail content delivery network
28413// (CDN) distribution.
28414//
28415// An origin can be a Lightsail instance or load balancer. A distribution pulls
28416// content from an origin, caches it, and serves it to viewers via a worldwide
28417// network of edge servers.
28418type Origin struct {
28419	_ struct{} `type:"structure"`
28420
28421	// The name of the origin resource.
28422	Name *string `locationName:"name" type:"string"`
28423
28424	// The protocol that your Amazon Lightsail distribution uses when establishing
28425	// a connection with your origin to pull content.
28426	ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"`
28427
28428	// The AWS Region name of the origin resource.
28429	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
28430
28431	// The resource type of the origin resource (e.g., Instance).
28432	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
28433}
28434
28435// String returns the string representation
28436func (s Origin) String() string {
28437	return awsutil.Prettify(s)
28438}
28439
28440// GoString returns the string representation
28441func (s Origin) GoString() string {
28442	return s.String()
28443}
28444
28445// SetName sets the Name field's value.
28446func (s *Origin) SetName(v string) *Origin {
28447	s.Name = &v
28448	return s
28449}
28450
28451// SetProtocolPolicy sets the ProtocolPolicy field's value.
28452func (s *Origin) SetProtocolPolicy(v string) *Origin {
28453	s.ProtocolPolicy = &v
28454	return s
28455}
28456
28457// SetRegionName sets the RegionName field's value.
28458func (s *Origin) SetRegionName(v string) *Origin {
28459	s.RegionName = &v
28460	return s
28461}
28462
28463// SetResourceType sets the ResourceType field's value.
28464func (s *Origin) SetResourceType(v string) *Origin {
28465	s.ResourceType = &v
28466	return s
28467}
28468
28469// The password data for the Windows Server-based instance, including the ciphertext
28470// and the key pair name.
28471type PasswordData struct {
28472	_ struct{} `type:"structure"`
28473
28474	// The encrypted password. Ciphertext will be an empty string if access to your
28475	// new instance is not ready yet. When you create an instance, it can take up
28476	// to 15 minutes for the instance to be ready.
28477	//
28478	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
28479	// password will be available in the password field.
28480	//
28481	// If you are using a custom key pair, you need to use your own means of decryption.
28482	//
28483	// If you change the Administrator password on the instance, Lightsail will
28484	// continue to return the original ciphertext value. When accessing the instance
28485	// using RDP, you need to manually enter the Administrator password after changing
28486	// it from the default.
28487	Ciphertext *string `locationName:"ciphertext" type:"string"`
28488
28489	// The name of the key pair that you used when creating your instance. If no
28490	// key pair name was specified when creating the instance, Lightsail uses the
28491	// default key pair (LightsailDefaultKeyPair).
28492	//
28493	// If you are using a custom key pair, you need to use your own means of decrypting
28494	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
28495	// your password with the public key part of this key pair.
28496	KeyPairName *string `locationName:"keyPairName" type:"string"`
28497}
28498
28499// String returns the string representation
28500func (s PasswordData) String() string {
28501	return awsutil.Prettify(s)
28502}
28503
28504// GoString returns the string representation
28505func (s PasswordData) GoString() string {
28506	return s.String()
28507}
28508
28509// SetCiphertext sets the Ciphertext field's value.
28510func (s *PasswordData) SetCiphertext(v string) *PasswordData {
28511	s.Ciphertext = &v
28512	return s
28513}
28514
28515// SetKeyPairName sets the KeyPairName field's value.
28516func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
28517	s.KeyPairName = &v
28518	return s
28519}
28520
28521type PeerVpcInput struct {
28522	_ struct{} `type:"structure"`
28523}
28524
28525// String returns the string representation
28526func (s PeerVpcInput) String() string {
28527	return awsutil.Prettify(s)
28528}
28529
28530// GoString returns the string representation
28531func (s PeerVpcInput) GoString() string {
28532	return s.String()
28533}
28534
28535type PeerVpcOutput struct {
28536	_ struct{} `type:"structure"`
28537
28538	// An array of objects that describe the result of the action, such as the status
28539	// of the request, the timestamp of the request, and the resources affected
28540	// by the request.
28541	Operation *Operation `locationName:"operation" type:"structure"`
28542}
28543
28544// String returns the string representation
28545func (s PeerVpcOutput) String() string {
28546	return awsutil.Prettify(s)
28547}
28548
28549// GoString returns the string representation
28550func (s PeerVpcOutput) GoString() string {
28551	return s.String()
28552}
28553
28554// SetOperation sets the Operation field's value.
28555func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
28556	s.Operation = v
28557	return s
28558}
28559
28560// Describes a pending database maintenance action.
28561type PendingMaintenanceAction struct {
28562	_ struct{} `type:"structure"`
28563
28564	// The type of pending database maintenance action.
28565	Action *string `locationName:"action" type:"string"`
28566
28567	// The effective date of the pending database maintenance action.
28568	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
28569
28570	// Additional detail about the pending database maintenance action.
28571	Description *string `locationName:"description" type:"string"`
28572}
28573
28574// String returns the string representation
28575func (s PendingMaintenanceAction) String() string {
28576	return awsutil.Prettify(s)
28577}
28578
28579// GoString returns the string representation
28580func (s PendingMaintenanceAction) GoString() string {
28581	return s.String()
28582}
28583
28584// SetAction sets the Action field's value.
28585func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
28586	s.Action = &v
28587	return s
28588}
28589
28590// SetCurrentApplyDate sets the CurrentApplyDate field's value.
28591func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
28592	s.CurrentApplyDate = &v
28593	return s
28594}
28595
28596// SetDescription sets the Description field's value.
28597func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
28598	s.Description = &v
28599	return s
28600}
28601
28602// Describes a pending database value modification.
28603type PendingModifiedRelationalDatabaseValues struct {
28604	_ struct{} `type:"structure"`
28605
28606	// A Boolean value indicating whether automated backup retention is enabled.
28607	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
28608
28609	// The database engine version.
28610	EngineVersion *string `locationName:"engineVersion" type:"string"`
28611
28612	// The password for the master user of the database.
28613	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
28614}
28615
28616// String returns the string representation
28617func (s PendingModifiedRelationalDatabaseValues) String() string {
28618	return awsutil.Prettify(s)
28619}
28620
28621// GoString returns the string representation
28622func (s PendingModifiedRelationalDatabaseValues) GoString() string {
28623	return s.String()
28624}
28625
28626// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
28627func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
28628	s.BackupRetentionEnabled = &v
28629	return s
28630}
28631
28632// SetEngineVersion sets the EngineVersion field's value.
28633func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
28634	s.EngineVersion = &v
28635	return s
28636}
28637
28638// SetMasterUserPassword sets the MasterUserPassword field's value.
28639func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
28640	s.MasterUserPassword = &v
28641	return s
28642}
28643
28644// Describes ports to open on an instance, the IP addresses allowed to connect
28645// to the instance through the ports, and the protocol.
28646type PortInfo struct {
28647	_ struct{} `type:"structure"`
28648
28649	// An alias that defines access for a preconfigured range of IP addresses.
28650	//
28651	// The only alias currently supported is lightsail-connect, which allows IP
28652	// addresses of the browser-based RDP/SSH client in the Lightsail console to
28653	// connect to your instance.
28654	CidrListAliases []*string `locationName:"cidrListAliases" type:"list"`
28655
28656	// The IP address, or range of IP addresses in CIDR notation, that are allowed
28657	// to connect to an instance through the ports, and the protocol. Lightsail
28658	// supports IPv4 addresses.
28659	//
28660	// Examples:
28661	//
28662	//    * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.
28663	//
28664	//    * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.
28665	//
28666	// For more information about CIDR block notation, see Classless Inter-Domain
28667	// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
28668	// on Wikipedia.
28669	Cidrs []*string `locationName:"cidrs" type:"list"`
28670
28671	// The first port in a range of open ports on an instance.
28672	//
28673	// Allowed ports:
28674	//
28675	//    * TCP and UDP - 0 to 65535
28676	//
28677	//    * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type),
28678	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
28679	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
28680	//    on Wikipedia.
28681	FromPort *int64 `locationName:"fromPort" type:"integer"`
28682
28683	// The IP protocol name.
28684	//
28685	// The name can be one of the following:
28686	//
28687	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
28688	//    and error-checked delivery of streamed data between applications running
28689	//    on hosts communicating by an IP network. If you have an application that
28690	//    doesn't require reliable data stream service, use UDP instead.
28691	//
28692	//    * all - All transport layer protocol types. For more general information,
28693	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
28694	//    Wikipedia.
28695	//
28696	//    * udp - With User Datagram Protocol (UDP), computer applications can send
28697	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
28698	//    Prior communications are not required to set up transmission channels
28699	//    or data paths. Applications that don't require reliable data stream service
28700	//    can use UDP, which provides a connectionless datagram service that emphasizes
28701	//    reduced latency over reliability. If you do require reliable data stream
28702	//    service, use TCP instead.
28703	//
28704	//    * icmp - Internet Control Message Protocol (ICMP) is used to send error
28705	//    messages and operational information indicating success or failure when
28706	//    communicating with an instance. For example, an error is indicated when
28707	//    an instance could not be reached. When you specify icmp as the protocol,
28708	//    you must specify the ICMP type using the fromPort parameter, and ICMP
28709	//    code using the toPort parameter.
28710	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
28711
28712	// The last port in a range of open ports on an instance.
28713	//
28714	// Allowed ports:
28715	//
28716	//    * TCP and UDP - 0 to 65535
28717	//
28718	//    * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type),
28719	//    and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information,
28720	//    see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
28721	//    on Wikipedia.
28722	ToPort *int64 `locationName:"toPort" type:"integer"`
28723}
28724
28725// String returns the string representation
28726func (s PortInfo) String() string {
28727	return awsutil.Prettify(s)
28728}
28729
28730// GoString returns the string representation
28731func (s PortInfo) GoString() string {
28732	return s.String()
28733}
28734
28735// Validate inspects the fields of the type to determine if they are valid.
28736func (s *PortInfo) Validate() error {
28737	invalidParams := request.ErrInvalidParams{Context: "PortInfo"}
28738	if s.FromPort != nil && *s.FromPort < -1 {
28739		invalidParams.Add(request.NewErrParamMinValue("FromPort", -1))
28740	}
28741	if s.ToPort != nil && *s.ToPort < -1 {
28742		invalidParams.Add(request.NewErrParamMinValue("ToPort", -1))
28743	}
28744
28745	if invalidParams.Len() > 0 {
28746		return invalidParams
28747	}
28748	return nil
28749}
28750
28751// SetCidrListAliases sets the CidrListAliases field's value.
28752func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo {
28753	s.CidrListAliases = v
28754	return s
28755}
28756
28757// SetCidrs sets the Cidrs field's value.
28758func (s *PortInfo) SetCidrs(v []*string) *PortInfo {
28759	s.Cidrs = v
28760	return s
28761}
28762
28763// SetFromPort sets the FromPort field's value.
28764func (s *PortInfo) SetFromPort(v int64) *PortInfo {
28765	s.FromPort = &v
28766	return s
28767}
28768
28769// SetProtocol sets the Protocol field's value.
28770func (s *PortInfo) SetProtocol(v string) *PortInfo {
28771	s.Protocol = &v
28772	return s
28773}
28774
28775// SetToPort sets the ToPort field's value.
28776func (s *PortInfo) SetToPort(v int64) *PortInfo {
28777	s.ToPort = &v
28778	return s
28779}
28780
28781type PutAlarmInput struct {
28782	_ struct{} `type:"structure"`
28783
28784	// The name for the alarm. Specify the name of an existing alarm to update,
28785	// and overwrite the previous configuration of the alarm.
28786	//
28787	// AlarmName is a required field
28788	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
28789
28790	// The arithmetic operation to use when comparing the specified statistic to
28791	// the threshold. The specified statistic value is used as the first operand.
28792	//
28793	// ComparisonOperator is a required field
28794	ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"`
28795
28796	// The contact protocols to use for the alarm, such as Email, SMS (text messaging),
28797	// or both.
28798	//
28799	// A notification is sent via the specified contact protocol if notifications
28800	// are enabled for the alarm, and when the alarm is triggered.
28801	//
28802	// A notification is not sent if a contact protocol is not specified, if the
28803	// specified contact protocol is not configured in the AWS Region, or if notifications
28804	// are not enabled for the alarm using the notificationEnabled paramater.
28805	//
28806	// Use the CreateContactMethod action to configure a contact protocol in an
28807	// AWS Region.
28808	ContactProtocols []*string `locationName:"contactProtocols" type:"list"`
28809
28810	// The number of data points that must be not within the specified threshold
28811	// to trigger the alarm. If you are setting an "M out of N" alarm, this value
28812	// (datapointsToAlarm) is the M.
28813	DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"`
28814
28815	// The number of most recent periods over which data is compared to the specified
28816	// threshold. If you are setting an "M out of N" alarm, this value (evaluationPeriods)
28817	// is the N.
28818	//
28819	// If you are setting an alarm that requires that a number of consecutive data
28820	// points be breaching to trigger the alarm, this value specifies the rolling
28821	// period of time in which data points are evaluated.
28822	//
28823	// Each evaluation period is five minutes long. For example, specify an evaluation
28824	// period of 24 to evaluate a metric over a rolling period of two hours.
28825	//
28826	// You can specify a minimum valuation period of 1 (5 minutes), and a maximum
28827	// evaluation period of 288 (24 hours).
28828	//
28829	// EvaluationPeriods is a required field
28830	EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer" required:"true"`
28831
28832	// The name of the metric to associate with the alarm.
28833	//
28834	// You can configure up to two alarms per metric.
28835	//
28836	// The following metrics are available for each resource type:
28837	//
28838	//    * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization,
28839	//    NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance,
28840	//    and StatusCheckFailed_System.
28841	//
28842	//    * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount,
28843	//    HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count,
28844	//    HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count,
28845	//    InstanceResponseTime, RejectedConnectionCount, and RequestCount.
28846	//
28847	//    * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth,
28848	//    FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.
28849	//
28850	// For more information about these metrics, see Metrics available in Lightsail
28851	// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics).
28852	//
28853	// MetricName is a required field
28854	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"`
28855
28856	// The name of the Lightsail resource that will be monitored.
28857	//
28858	// Instances, load balancers, and relational databases are the only Lightsail
28859	// resources that can currently be monitored by alarms.
28860	//
28861	// MonitoredResourceName is a required field
28862	MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string" required:"true"`
28863
28864	// Indicates whether the alarm is enabled.
28865	//
28866	// Notifications are enabled by default if you don't specify this parameter.
28867	NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"`
28868
28869	// The alarm states that trigger a notification.
28870	//
28871	// An alarm has the following possible states:
28872	//
28873	//    * ALARM - The metric is outside of the defined threshold.
28874	//
28875	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
28876	//    or not enough data is available for the metric to determine the alarm
28877	//    state.
28878	//
28879	//    * OK - The metric is within the defined threshold.
28880	//
28881	// When you specify a notification trigger, the ALARM state must be specified.
28882	// The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM
28883	// state.
28884	//
28885	//    * If you specify OK as an alarm trigger, a notification is sent when the
28886	//    alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK
28887	//    state. This can be thought of as an all clear alarm notification.
28888	//
28889	//    * If you specify INSUFFICIENT_DATA as the alarm trigger, a notification
28890	//    is sent when the alarm switches from an OK or ALARM alarm state to an
28891	//    INSUFFICIENT_DATA state.
28892	//
28893	// The notification trigger defaults to ALARM if you don't specify this parameter.
28894	NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"`
28895
28896	// The value against which the specified statistic is compared.
28897	//
28898	// Threshold is a required field
28899	Threshold *float64 `locationName:"threshold" type:"double" required:"true"`
28900
28901	// Sets how this alarm will handle missing data points.
28902	//
28903	// An alarm can treat missing data in the following ways:
28904	//
28905	//    * breaching - Assume the missing data is not within the threshold. Missing
28906	//    data counts towards the number of times the metric is not within the threshold.
28907	//
28908	//    * notBreaching - Assume the missing data is within the threshold. Missing
28909	//    data does not count towards the number of times the metric is not within
28910	//    the threshold.
28911	//
28912	//    * ignore - Ignore the missing data. Maintains the current alarm state.
28913	//
28914	//    * missing - Missing data is treated as missing.
28915	//
28916	// If treatMissingData is not specified, the default behavior of missing is
28917	// used.
28918	TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"`
28919}
28920
28921// String returns the string representation
28922func (s PutAlarmInput) String() string {
28923	return awsutil.Prettify(s)
28924}
28925
28926// GoString returns the string representation
28927func (s PutAlarmInput) GoString() string {
28928	return s.String()
28929}
28930
28931// Validate inspects the fields of the type to determine if they are valid.
28932func (s *PutAlarmInput) Validate() error {
28933	invalidParams := request.ErrInvalidParams{Context: "PutAlarmInput"}
28934	if s.AlarmName == nil {
28935		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
28936	}
28937	if s.ComparisonOperator == nil {
28938		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
28939	}
28940	if s.EvaluationPeriods == nil {
28941		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
28942	}
28943	if s.MetricName == nil {
28944		invalidParams.Add(request.NewErrParamRequired("MetricName"))
28945	}
28946	if s.MonitoredResourceName == nil {
28947		invalidParams.Add(request.NewErrParamRequired("MonitoredResourceName"))
28948	}
28949	if s.Threshold == nil {
28950		invalidParams.Add(request.NewErrParamRequired("Threshold"))
28951	}
28952
28953	if invalidParams.Len() > 0 {
28954		return invalidParams
28955	}
28956	return nil
28957}
28958
28959// SetAlarmName sets the AlarmName field's value.
28960func (s *PutAlarmInput) SetAlarmName(v string) *PutAlarmInput {
28961	s.AlarmName = &v
28962	return s
28963}
28964
28965// SetComparisonOperator sets the ComparisonOperator field's value.
28966func (s *PutAlarmInput) SetComparisonOperator(v string) *PutAlarmInput {
28967	s.ComparisonOperator = &v
28968	return s
28969}
28970
28971// SetContactProtocols sets the ContactProtocols field's value.
28972func (s *PutAlarmInput) SetContactProtocols(v []*string) *PutAlarmInput {
28973	s.ContactProtocols = v
28974	return s
28975}
28976
28977// SetDatapointsToAlarm sets the DatapointsToAlarm field's value.
28978func (s *PutAlarmInput) SetDatapointsToAlarm(v int64) *PutAlarmInput {
28979	s.DatapointsToAlarm = &v
28980	return s
28981}
28982
28983// SetEvaluationPeriods sets the EvaluationPeriods field's value.
28984func (s *PutAlarmInput) SetEvaluationPeriods(v int64) *PutAlarmInput {
28985	s.EvaluationPeriods = &v
28986	return s
28987}
28988
28989// SetMetricName sets the MetricName field's value.
28990func (s *PutAlarmInput) SetMetricName(v string) *PutAlarmInput {
28991	s.MetricName = &v
28992	return s
28993}
28994
28995// SetMonitoredResourceName sets the MonitoredResourceName field's value.
28996func (s *PutAlarmInput) SetMonitoredResourceName(v string) *PutAlarmInput {
28997	s.MonitoredResourceName = &v
28998	return s
28999}
29000
29001// SetNotificationEnabled sets the NotificationEnabled field's value.
29002func (s *PutAlarmInput) SetNotificationEnabled(v bool) *PutAlarmInput {
29003	s.NotificationEnabled = &v
29004	return s
29005}
29006
29007// SetNotificationTriggers sets the NotificationTriggers field's value.
29008func (s *PutAlarmInput) SetNotificationTriggers(v []*string) *PutAlarmInput {
29009	s.NotificationTriggers = v
29010	return s
29011}
29012
29013// SetThreshold sets the Threshold field's value.
29014func (s *PutAlarmInput) SetThreshold(v float64) *PutAlarmInput {
29015	s.Threshold = &v
29016	return s
29017}
29018
29019// SetTreatMissingData sets the TreatMissingData field's value.
29020func (s *PutAlarmInput) SetTreatMissingData(v string) *PutAlarmInput {
29021	s.TreatMissingData = &v
29022	return s
29023}
29024
29025type PutAlarmOutput struct {
29026	_ struct{} `type:"structure"`
29027
29028	// An array of objects that describe the result of the action, such as the status
29029	// of the request, the timestamp of the request, and the resources affected
29030	// by the request.
29031	Operations []*Operation `locationName:"operations" type:"list"`
29032}
29033
29034// String returns the string representation
29035func (s PutAlarmOutput) String() string {
29036	return awsutil.Prettify(s)
29037}
29038
29039// GoString returns the string representation
29040func (s PutAlarmOutput) GoString() string {
29041	return s.String()
29042}
29043
29044// SetOperations sets the Operations field's value.
29045func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput {
29046	s.Operations = v
29047	return s
29048}
29049
29050type PutInstancePublicPortsInput struct {
29051	_ struct{} `type:"structure"`
29052
29053	// The name of the instance for which to open ports.
29054	//
29055	// InstanceName is a required field
29056	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
29057
29058	// An array of objects to describe the ports to open for the specified instance.
29059	//
29060	// PortInfos is a required field
29061	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
29062}
29063
29064// String returns the string representation
29065func (s PutInstancePublicPortsInput) String() string {
29066	return awsutil.Prettify(s)
29067}
29068
29069// GoString returns the string representation
29070func (s PutInstancePublicPortsInput) GoString() string {
29071	return s.String()
29072}
29073
29074// Validate inspects the fields of the type to determine if they are valid.
29075func (s *PutInstancePublicPortsInput) Validate() error {
29076	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
29077	if s.InstanceName == nil {
29078		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
29079	}
29080	if s.PortInfos == nil {
29081		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
29082	}
29083	if s.PortInfos != nil {
29084		for i, v := range s.PortInfos {
29085			if v == nil {
29086				continue
29087			}
29088			if err := v.Validate(); err != nil {
29089				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams))
29090			}
29091		}
29092	}
29093
29094	if invalidParams.Len() > 0 {
29095		return invalidParams
29096	}
29097	return nil
29098}
29099
29100// SetInstanceName sets the InstanceName field's value.
29101func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
29102	s.InstanceName = &v
29103	return s
29104}
29105
29106// SetPortInfos sets the PortInfos field's value.
29107func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
29108	s.PortInfos = v
29109	return s
29110}
29111
29112type PutInstancePublicPortsOutput struct {
29113	_ struct{} `type:"structure"`
29114
29115	// An array of objects that describe the result of the action, such as the status
29116	// of the request, the timestamp of the request, and the resources affected
29117	// by the request.
29118	Operation *Operation `locationName:"operation" type:"structure"`
29119}
29120
29121// String returns the string representation
29122func (s PutInstancePublicPortsOutput) String() string {
29123	return awsutil.Prettify(s)
29124}
29125
29126// GoString returns the string representation
29127func (s PutInstancePublicPortsOutput) GoString() string {
29128	return s.String()
29129}
29130
29131// SetOperation sets the Operation field's value.
29132func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
29133	s.Operation = v
29134	return s
29135}
29136
29137// Describes the query string parameters that an Amazon Lightsail content delivery
29138// network (CDN) distribution to bases caching on.
29139//
29140// For the query strings that you specify, your distribution caches separate
29141// versions of the specified content based on the query string values in viewer
29142// requests.
29143type QueryStringObject struct {
29144	_ struct{} `type:"structure"`
29145
29146	// Indicates whether the distribution forwards and caches based on query strings.
29147	Option *bool `locationName:"option" type:"boolean"`
29148
29149	// The specific query strings that the distribution forwards to the origin.
29150	//
29151	// Your distribution will cache content based on the specified query strings.
29152	//
29153	// If the option parameter is true, then your distribution forwards all query
29154	// strings, regardless of what you specify using the queryStringsAllowList parameter.
29155	QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"`
29156}
29157
29158// String returns the string representation
29159func (s QueryStringObject) String() string {
29160	return awsutil.Prettify(s)
29161}
29162
29163// GoString returns the string representation
29164func (s QueryStringObject) GoString() string {
29165	return s.String()
29166}
29167
29168// SetOption sets the Option field's value.
29169func (s *QueryStringObject) SetOption(v bool) *QueryStringObject {
29170	s.Option = &v
29171	return s
29172}
29173
29174// SetQueryStringsAllowList sets the QueryStringsAllowList field's value.
29175func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject {
29176	s.QueryStringsAllowList = v
29177	return s
29178}
29179
29180type RebootInstanceInput struct {
29181	_ struct{} `type:"structure"`
29182
29183	// The name of the instance to reboot.
29184	//
29185	// InstanceName is a required field
29186	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
29187}
29188
29189// String returns the string representation
29190func (s RebootInstanceInput) String() string {
29191	return awsutil.Prettify(s)
29192}
29193
29194// GoString returns the string representation
29195func (s RebootInstanceInput) GoString() string {
29196	return s.String()
29197}
29198
29199// Validate inspects the fields of the type to determine if they are valid.
29200func (s *RebootInstanceInput) Validate() error {
29201	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
29202	if s.InstanceName == nil {
29203		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
29204	}
29205
29206	if invalidParams.Len() > 0 {
29207		return invalidParams
29208	}
29209	return nil
29210}
29211
29212// SetInstanceName sets the InstanceName field's value.
29213func (s *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
29214	s.InstanceName = &v
29215	return s
29216}
29217
29218type RebootInstanceOutput struct {
29219	_ struct{} `type:"structure"`
29220
29221	// An array of objects that describe the result of the action, such as the status
29222	// of the request, the timestamp of the request, and the resources affected
29223	// by the request.
29224	Operations []*Operation `locationName:"operations" type:"list"`
29225}
29226
29227// String returns the string representation
29228func (s RebootInstanceOutput) String() string {
29229	return awsutil.Prettify(s)
29230}
29231
29232// GoString returns the string representation
29233func (s RebootInstanceOutput) GoString() string {
29234	return s.String()
29235}
29236
29237// SetOperations sets the Operations field's value.
29238func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
29239	s.Operations = v
29240	return s
29241}
29242
29243type RebootRelationalDatabaseInput struct {
29244	_ struct{} `type:"structure"`
29245
29246	// The name of your database to reboot.
29247	//
29248	// RelationalDatabaseName is a required field
29249	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
29250}
29251
29252// String returns the string representation
29253func (s RebootRelationalDatabaseInput) String() string {
29254	return awsutil.Prettify(s)
29255}
29256
29257// GoString returns the string representation
29258func (s RebootRelationalDatabaseInput) GoString() string {
29259	return s.String()
29260}
29261
29262// Validate inspects the fields of the type to determine if they are valid.
29263func (s *RebootRelationalDatabaseInput) Validate() error {
29264	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
29265	if s.RelationalDatabaseName == nil {
29266		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
29267	}
29268
29269	if invalidParams.Len() > 0 {
29270		return invalidParams
29271	}
29272	return nil
29273}
29274
29275// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
29276func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
29277	s.RelationalDatabaseName = &v
29278	return s
29279}
29280
29281type RebootRelationalDatabaseOutput struct {
29282	_ struct{} `type:"structure"`
29283
29284	// An array of objects that describe the result of the action, such as the status
29285	// of the request, the timestamp of the request, and the resources affected
29286	// by the request.
29287	Operations []*Operation `locationName:"operations" type:"list"`
29288}
29289
29290// String returns the string representation
29291func (s RebootRelationalDatabaseOutput) String() string {
29292	return awsutil.Prettify(s)
29293}
29294
29295// GoString returns the string representation
29296func (s RebootRelationalDatabaseOutput) GoString() string {
29297	return s.String()
29298}
29299
29300// SetOperations sets the Operations field's value.
29301func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
29302	s.Operations = v
29303	return s
29304}
29305
29306// Describes the AWS Region.
29307type Region struct {
29308	_ struct{} `type:"structure"`
29309
29310	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
29311	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
29312
29313	// The continent code (e.g., NA, meaning North America).
29314	ContinentCode *string `locationName:"continentCode" type:"string"`
29315
29316	// The description of the AWS Region (e.g., This region is recommended to serve
29317	// users in the eastern United States and eastern Canada).
29318	Description *string `locationName:"description" type:"string"`
29319
29320	// The display name (e.g., Ohio).
29321	DisplayName *string `locationName:"displayName" type:"string"`
29322
29323	// The region name (e.g., us-east-2).
29324	Name *string `locationName:"name" type:"string" enum:"RegionName"`
29325
29326	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
29327	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
29328}
29329
29330// String returns the string representation
29331func (s Region) String() string {
29332	return awsutil.Prettify(s)
29333}
29334
29335// GoString returns the string representation
29336func (s Region) GoString() string {
29337	return s.String()
29338}
29339
29340// SetAvailabilityZones sets the AvailabilityZones field's value.
29341func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
29342	s.AvailabilityZones = v
29343	return s
29344}
29345
29346// SetContinentCode sets the ContinentCode field's value.
29347func (s *Region) SetContinentCode(v string) *Region {
29348	s.ContinentCode = &v
29349	return s
29350}
29351
29352// SetDescription sets the Description field's value.
29353func (s *Region) SetDescription(v string) *Region {
29354	s.Description = &v
29355	return s
29356}
29357
29358// SetDisplayName sets the DisplayName field's value.
29359func (s *Region) SetDisplayName(v string) *Region {
29360	s.DisplayName = &v
29361	return s
29362}
29363
29364// SetName sets the Name field's value.
29365func (s *Region) SetName(v string) *Region {
29366	s.Name = &v
29367	return s
29368}
29369
29370// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
29371func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
29372	s.RelationalDatabaseAvailabilityZones = v
29373	return s
29374}
29375
29376// Describes a database.
29377type RelationalDatabase struct {
29378	_ struct{} `type:"structure"`
29379
29380	// The Amazon Resource Name (ARN) of the database.
29381	Arn *string `locationName:"arn" type:"string"`
29382
29383	// A Boolean value indicating whether automated backup retention is enabled
29384	// for the database.
29385	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
29386
29387	// The certificate associated with the database.
29388	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
29389
29390	// The timestamp when the database was created. Formatted in Unix time.
29391	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
29392
29393	// The database software (for example, MySQL).
29394	Engine *string `locationName:"engine" type:"string"`
29395
29396	// The database engine version (for example, 5.7.23).
29397	EngineVersion *string `locationName:"engineVersion" type:"string"`
29398
29399	// Describes the hardware of the database.
29400	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
29401
29402	// The latest point in time to which the database can be restored. Formatted
29403	// in Unix time.
29404	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
29405
29406	// The Region name and Availability Zone where the database is located.
29407	Location *ResourceLocation `locationName:"location" type:"structure"`
29408
29409	// The name of the master database created when the Lightsail database resource
29410	// is created.
29411	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
29412
29413	// The master endpoint for the database.
29414	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
29415
29416	// The master user name of the database.
29417	MasterUsername *string `locationName:"masterUsername" type:"string"`
29418
29419	// The unique name of the database resource in Lightsail.
29420	Name *string `locationName:"name" type:"string"`
29421
29422	// The status of parameter updates for the database.
29423	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
29424
29425	// Describes the pending maintenance actions for the database.
29426	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
29427
29428	// Describes pending database value modifications.
29429	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
29430
29431	// The daily time range during which automated backups are created for the database
29432	// (for example, 16:00-16:30).
29433	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
29434
29435	// The weekly time range during which system maintenance can occur on the database.
29436	//
29437	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
29438	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
29439
29440	// A Boolean value indicating whether the database is publicly accessible.
29441	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
29442
29443	// The blueprint ID for the database. A blueprint describes the major engine
29444	// version of a database.
29445	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
29446
29447	// The bundle ID for the database. A bundle describes the performance specifications
29448	// for your database.
29449	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
29450
29451	// The Lightsail resource type for the database (for example, RelationalDatabase).
29452	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
29453
29454	// Describes the secondary Availability Zone of a high availability database.
29455	//
29456	// The secondary database is used for failover support of a high availability
29457	// database.
29458	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
29459
29460	// Describes the current state of the database.
29461	State *string `locationName:"state" type:"string"`
29462
29463	// The support code for the database. Include this code in your email to support
29464	// when you have questions about a database in Lightsail. This code enables
29465	// our support team to look up your Lightsail information more easily.
29466	SupportCode *string `locationName:"supportCode" type:"string"`
29467
29468	// The tag keys and optional values for the resource. For more information about
29469	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
29470	Tags []*Tag `locationName:"tags" type:"list"`
29471}
29472
29473// String returns the string representation
29474func (s RelationalDatabase) String() string {
29475	return awsutil.Prettify(s)
29476}
29477
29478// GoString returns the string representation
29479func (s RelationalDatabase) GoString() string {
29480	return s.String()
29481}
29482
29483// SetArn sets the Arn field's value.
29484func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
29485	s.Arn = &v
29486	return s
29487}
29488
29489// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
29490func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
29491	s.BackupRetentionEnabled = &v
29492	return s
29493}
29494
29495// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
29496func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
29497	s.CaCertificateIdentifier = &v
29498	return s
29499}
29500
29501// SetCreatedAt sets the CreatedAt field's value.
29502func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
29503	s.CreatedAt = &v
29504	return s
29505}
29506
29507// SetEngine sets the Engine field's value.
29508func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
29509	s.Engine = &v
29510	return s
29511}
29512
29513// SetEngineVersion sets the EngineVersion field's value.
29514func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
29515	s.EngineVersion = &v
29516	return s
29517}
29518
29519// SetHardware sets the Hardware field's value.
29520func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
29521	s.Hardware = v
29522	return s
29523}
29524
29525// SetLatestRestorableTime sets the LatestRestorableTime field's value.
29526func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
29527	s.LatestRestorableTime = &v
29528	return s
29529}
29530
29531// SetLocation sets the Location field's value.
29532func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
29533	s.Location = v
29534	return s
29535}
29536
29537// SetMasterDatabaseName sets the MasterDatabaseName field's value.
29538func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
29539	s.MasterDatabaseName = &v
29540	return s
29541}
29542
29543// SetMasterEndpoint sets the MasterEndpoint field's value.
29544func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
29545	s.MasterEndpoint = v
29546	return s
29547}
29548
29549// SetMasterUsername sets the MasterUsername field's value.
29550func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
29551	s.MasterUsername = &v
29552	return s
29553}
29554
29555// SetName sets the Name field's value.
29556func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
29557	s.Name = &v
29558	return s
29559}
29560
29561// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
29562func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
29563	s.ParameterApplyStatus = &v
29564	return s
29565}
29566
29567// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
29568func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
29569	s.PendingMaintenanceActions = v
29570	return s
29571}
29572
29573// SetPendingModifiedValues sets the PendingModifiedValues field's value.
29574func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
29575	s.PendingModifiedValues = v
29576	return s
29577}
29578
29579// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
29580func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
29581	s.PreferredBackupWindow = &v
29582	return s
29583}
29584
29585// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
29586func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
29587	s.PreferredMaintenanceWindow = &v
29588	return s
29589}
29590
29591// SetPubliclyAccessible sets the PubliclyAccessible field's value.
29592func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
29593	s.PubliclyAccessible = &v
29594	return s
29595}
29596
29597// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
29598func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
29599	s.RelationalDatabaseBlueprintId = &v
29600	return s
29601}
29602
29603// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
29604func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
29605	s.RelationalDatabaseBundleId = &v
29606	return s
29607}
29608
29609// SetResourceType sets the ResourceType field's value.
29610func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
29611	s.ResourceType = &v
29612	return s
29613}
29614
29615// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
29616func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
29617	s.SecondaryAvailabilityZone = &v
29618	return s
29619}
29620
29621// SetState sets the State field's value.
29622func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
29623	s.State = &v
29624	return s
29625}
29626
29627// SetSupportCode sets the SupportCode field's value.
29628func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
29629	s.SupportCode = &v
29630	return s
29631}
29632
29633// SetTags sets the Tags field's value.
29634func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
29635	s.Tags = v
29636	return s
29637}
29638
29639// Describes a database image, or blueprint. A blueprint describes the major
29640// engine version of a database.
29641type RelationalDatabaseBlueprint struct {
29642	_ struct{} `type:"structure"`
29643
29644	// The ID for the database blueprint.
29645	BlueprintId *string `locationName:"blueprintId" type:"string"`
29646
29647	// The database software of the database blueprint (for example, MySQL).
29648	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
29649
29650	// The description of the database engine for the database blueprint.
29651	EngineDescription *string `locationName:"engineDescription" type:"string"`
29652
29653	// The database engine version for the database blueprint (for example, 5.7.23).
29654	EngineVersion *string `locationName:"engineVersion" type:"string"`
29655
29656	// The description of the database engine version for the database blueprint.
29657	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
29658
29659	// A Boolean value indicating whether the engine version is the default for
29660	// the database blueprint.
29661	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
29662}
29663
29664// String returns the string representation
29665func (s RelationalDatabaseBlueprint) String() string {
29666	return awsutil.Prettify(s)
29667}
29668
29669// GoString returns the string representation
29670func (s RelationalDatabaseBlueprint) GoString() string {
29671	return s.String()
29672}
29673
29674// SetBlueprintId sets the BlueprintId field's value.
29675func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
29676	s.BlueprintId = &v
29677	return s
29678}
29679
29680// SetEngine sets the Engine field's value.
29681func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
29682	s.Engine = &v
29683	return s
29684}
29685
29686// SetEngineDescription sets the EngineDescription field's value.
29687func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
29688	s.EngineDescription = &v
29689	return s
29690}
29691
29692// SetEngineVersion sets the EngineVersion field's value.
29693func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
29694	s.EngineVersion = &v
29695	return s
29696}
29697
29698// SetEngineVersionDescription sets the EngineVersionDescription field's value.
29699func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
29700	s.EngineVersionDescription = &v
29701	return s
29702}
29703
29704// SetIsEngineDefault sets the IsEngineDefault field's value.
29705func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
29706	s.IsEngineDefault = &v
29707	return s
29708}
29709
29710// Describes a database bundle. A bundle describes the performance specifications
29711// of the database.
29712type RelationalDatabaseBundle struct {
29713	_ struct{} `type:"structure"`
29714
29715	// The ID for the database bundle.
29716	BundleId *string `locationName:"bundleId" type:"string"`
29717
29718	// The number of virtual CPUs (vCPUs) for the database bundle.
29719	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
29720
29721	// The size of the disk for the database bundle.
29722	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
29723
29724	// A Boolean value indicating whether the database bundle is active.
29725	IsActive *bool `locationName:"isActive" type:"boolean"`
29726
29727	// A Boolean value indicating whether the database bundle is encrypted.
29728	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
29729
29730	// The name for the database bundle.
29731	Name *string `locationName:"name" type:"string"`
29732
29733	// The cost of the database bundle in US currency.
29734	Price *float64 `locationName:"price" type:"float"`
29735
29736	// The amount of RAM in GB (for example, 2.0) for the database bundle.
29737	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
29738
29739	// The data transfer rate per month in GB for the database bundle.
29740	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
29741}
29742
29743// String returns the string representation
29744func (s RelationalDatabaseBundle) String() string {
29745	return awsutil.Prettify(s)
29746}
29747
29748// GoString returns the string representation
29749func (s RelationalDatabaseBundle) GoString() string {
29750	return s.String()
29751}
29752
29753// SetBundleId sets the BundleId field's value.
29754func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
29755	s.BundleId = &v
29756	return s
29757}
29758
29759// SetCpuCount sets the CpuCount field's value.
29760func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
29761	s.CpuCount = &v
29762	return s
29763}
29764
29765// SetDiskSizeInGb sets the DiskSizeInGb field's value.
29766func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
29767	s.DiskSizeInGb = &v
29768	return s
29769}
29770
29771// SetIsActive sets the IsActive field's value.
29772func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
29773	s.IsActive = &v
29774	return s
29775}
29776
29777// SetIsEncrypted sets the IsEncrypted field's value.
29778func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
29779	s.IsEncrypted = &v
29780	return s
29781}
29782
29783// SetName sets the Name field's value.
29784func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
29785	s.Name = &v
29786	return s
29787}
29788
29789// SetPrice sets the Price field's value.
29790func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
29791	s.Price = &v
29792	return s
29793}
29794
29795// SetRamSizeInGb sets the RamSizeInGb field's value.
29796func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
29797	s.RamSizeInGb = &v
29798	return s
29799}
29800
29801// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
29802func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
29803	s.TransferPerMonthInGb = &v
29804	return s
29805}
29806
29807// Describes an endpoint for a database.
29808type RelationalDatabaseEndpoint struct {
29809	_ struct{} `type:"structure"`
29810
29811	// Specifies the DNS address of the database.
29812	Address *string `locationName:"address" type:"string"`
29813
29814	// Specifies the port that the database is listening on.
29815	Port *int64 `locationName:"port" type:"integer"`
29816}
29817
29818// String returns the string representation
29819func (s RelationalDatabaseEndpoint) String() string {
29820	return awsutil.Prettify(s)
29821}
29822
29823// GoString returns the string representation
29824func (s RelationalDatabaseEndpoint) GoString() string {
29825	return s.String()
29826}
29827
29828// SetAddress sets the Address field's value.
29829func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
29830	s.Address = &v
29831	return s
29832}
29833
29834// SetPort sets the Port field's value.
29835func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
29836	s.Port = &v
29837	return s
29838}
29839
29840// Describes an event for a database.
29841type RelationalDatabaseEvent struct {
29842	_ struct{} `type:"structure"`
29843
29844	// The timestamp when the database event was created.
29845	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
29846
29847	// The category that the database event belongs to.
29848	EventCategories []*string `locationName:"eventCategories" type:"list"`
29849
29850	// The message of the database event.
29851	Message *string `locationName:"message" type:"string"`
29852
29853	// The database that the database event relates to.
29854	Resource *string `locationName:"resource" type:"string"`
29855}
29856
29857// String returns the string representation
29858func (s RelationalDatabaseEvent) String() string {
29859	return awsutil.Prettify(s)
29860}
29861
29862// GoString returns the string representation
29863func (s RelationalDatabaseEvent) GoString() string {
29864	return s.String()
29865}
29866
29867// SetCreatedAt sets the CreatedAt field's value.
29868func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
29869	s.CreatedAt = &v
29870	return s
29871}
29872
29873// SetEventCategories sets the EventCategories field's value.
29874func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
29875	s.EventCategories = v
29876	return s
29877}
29878
29879// SetMessage sets the Message field's value.
29880func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
29881	s.Message = &v
29882	return s
29883}
29884
29885// SetResource sets the Resource field's value.
29886func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
29887	s.Resource = &v
29888	return s
29889}
29890
29891// Describes the hardware of a database.
29892type RelationalDatabaseHardware struct {
29893	_ struct{} `type:"structure"`
29894
29895	// The number of vCPUs for the database.
29896	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
29897
29898	// The size of the disk for the database.
29899	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
29900
29901	// The amount of RAM in GB for the database.
29902	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
29903}
29904
29905// String returns the string representation
29906func (s RelationalDatabaseHardware) String() string {
29907	return awsutil.Prettify(s)
29908}
29909
29910// GoString returns the string representation
29911func (s RelationalDatabaseHardware) GoString() string {
29912	return s.String()
29913}
29914
29915// SetCpuCount sets the CpuCount field's value.
29916func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
29917	s.CpuCount = &v
29918	return s
29919}
29920
29921// SetDiskSizeInGb sets the DiskSizeInGb field's value.
29922func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
29923	s.DiskSizeInGb = &v
29924	return s
29925}
29926
29927// SetRamSizeInGb sets the RamSizeInGb field's value.
29928func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
29929	s.RamSizeInGb = &v
29930	return s
29931}
29932
29933// Describes the parameters of a database.
29934type RelationalDatabaseParameter struct {
29935	_ struct{} `type:"structure"`
29936
29937	// Specifies the valid range of values for the parameter.
29938	AllowedValues *string `locationName:"allowedValues" type:"string"`
29939
29940	// Indicates when parameter updates are applied.
29941	//
29942	// Can be immediate or pending-reboot.
29943	ApplyMethod *string `locationName:"applyMethod" type:"string"`
29944
29945	// Specifies the engine-specific parameter type.
29946	ApplyType *string `locationName:"applyType" type:"string"`
29947
29948	// Specifies the valid data type for the parameter.
29949	DataType *string `locationName:"dataType" type:"string"`
29950
29951	// Provides a description of the parameter.
29952	Description *string `locationName:"description" type:"string"`
29953
29954	// A Boolean value indicating whether the parameter can be modified.
29955	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
29956
29957	// Specifies the name of the parameter.
29958	ParameterName *string `locationName:"parameterName" type:"string"`
29959
29960	// Specifies the value of the parameter.
29961	ParameterValue *string `locationName:"parameterValue" type:"string"`
29962}
29963
29964// String returns the string representation
29965func (s RelationalDatabaseParameter) String() string {
29966	return awsutil.Prettify(s)
29967}
29968
29969// GoString returns the string representation
29970func (s RelationalDatabaseParameter) GoString() string {
29971	return s.String()
29972}
29973
29974// SetAllowedValues sets the AllowedValues field's value.
29975func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
29976	s.AllowedValues = &v
29977	return s
29978}
29979
29980// SetApplyMethod sets the ApplyMethod field's value.
29981func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
29982	s.ApplyMethod = &v
29983	return s
29984}
29985
29986// SetApplyType sets the ApplyType field's value.
29987func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
29988	s.ApplyType = &v
29989	return s
29990}
29991
29992// SetDataType sets the DataType field's value.
29993func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
29994	s.DataType = &v
29995	return s
29996}
29997
29998// SetDescription sets the Description field's value.
29999func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
30000	s.Description = &v
30001	return s
30002}
30003
30004// SetIsModifiable sets the IsModifiable field's value.
30005func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
30006	s.IsModifiable = &v
30007	return s
30008}
30009
30010// SetParameterName sets the ParameterName field's value.
30011func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
30012	s.ParameterName = &v
30013	return s
30014}
30015
30016// SetParameterValue sets the ParameterValue field's value.
30017func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
30018	s.ParameterValue = &v
30019	return s
30020}
30021
30022// Describes a database snapshot.
30023type RelationalDatabaseSnapshot struct {
30024	_ struct{} `type:"structure"`
30025
30026	// The Amazon Resource Name (ARN) of the database snapshot.
30027	Arn *string `locationName:"arn" type:"string"`
30028
30029	// The timestamp when the database snapshot was created.
30030	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30031
30032	// The software of the database snapshot (for example, MySQL)
30033	Engine *string `locationName:"engine" type:"string"`
30034
30035	// The database engine version for the database snapshot (for example, 5.7.23).
30036	EngineVersion *string `locationName:"engineVersion" type:"string"`
30037
30038	// The Amazon Resource Name (ARN) of the database from which the database snapshot
30039	// was created.
30040	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
30041
30042	// The blueprint ID of the database from which the database snapshot was created.
30043	// A blueprint describes the major engine version of a database.
30044	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
30045
30046	// The bundle ID of the database from which the database snapshot was created.
30047	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
30048
30049	// The name of the source database from which the database snapshot was created.
30050	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
30051
30052	// The Region name and Availability Zone where the database snapshot is located.
30053	Location *ResourceLocation `locationName:"location" type:"structure"`
30054
30055	// The name of the database snapshot.
30056	Name *string `locationName:"name" type:"string"`
30057
30058	// The Lightsail resource type.
30059	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30060
30061	// The size of the disk in GB (for example, 32) for the database snapshot.
30062	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
30063
30064	// The state of the database snapshot.
30065	State *string `locationName:"state" type:"string"`
30066
30067	// The support code for the database snapshot. Include this code in your email
30068	// to support when you have questions about a database snapshot in Lightsail.
30069	// This code enables our support team to look up your Lightsail information
30070	// more easily.
30071	SupportCode *string `locationName:"supportCode" type:"string"`
30072
30073	// The tag keys and optional values for the resource. For more information about
30074	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30075	Tags []*Tag `locationName:"tags" type:"list"`
30076}
30077
30078// String returns the string representation
30079func (s RelationalDatabaseSnapshot) String() string {
30080	return awsutil.Prettify(s)
30081}
30082
30083// GoString returns the string representation
30084func (s RelationalDatabaseSnapshot) GoString() string {
30085	return s.String()
30086}
30087
30088// SetArn sets the Arn field's value.
30089func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
30090	s.Arn = &v
30091	return s
30092}
30093
30094// SetCreatedAt sets the CreatedAt field's value.
30095func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
30096	s.CreatedAt = &v
30097	return s
30098}
30099
30100// SetEngine sets the Engine field's value.
30101func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
30102	s.Engine = &v
30103	return s
30104}
30105
30106// SetEngineVersion sets the EngineVersion field's value.
30107func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
30108	s.EngineVersion = &v
30109	return s
30110}
30111
30112// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
30113func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
30114	s.FromRelationalDatabaseArn = &v
30115	return s
30116}
30117
30118// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
30119func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
30120	s.FromRelationalDatabaseBlueprintId = &v
30121	return s
30122}
30123
30124// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
30125func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
30126	s.FromRelationalDatabaseBundleId = &v
30127	return s
30128}
30129
30130// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
30131func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
30132	s.FromRelationalDatabaseName = &v
30133	return s
30134}
30135
30136// SetLocation sets the Location field's value.
30137func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
30138	s.Location = v
30139	return s
30140}
30141
30142// SetName sets the Name field's value.
30143func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
30144	s.Name = &v
30145	return s
30146}
30147
30148// SetResourceType sets the ResourceType field's value.
30149func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
30150	s.ResourceType = &v
30151	return s
30152}
30153
30154// SetSizeInGb sets the SizeInGb field's value.
30155func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
30156	s.SizeInGb = &v
30157	return s
30158}
30159
30160// SetState sets the State field's value.
30161func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
30162	s.State = &v
30163	return s
30164}
30165
30166// SetSupportCode sets the SupportCode field's value.
30167func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
30168	s.SupportCode = &v
30169	return s
30170}
30171
30172// SetTags sets the Tags field's value.
30173func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
30174	s.Tags = v
30175	return s
30176}
30177
30178type ReleaseStaticIpInput struct {
30179	_ struct{} `type:"structure"`
30180
30181	// The name of the static IP to delete.
30182	//
30183	// StaticIpName is a required field
30184	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
30185}
30186
30187// String returns the string representation
30188func (s ReleaseStaticIpInput) String() string {
30189	return awsutil.Prettify(s)
30190}
30191
30192// GoString returns the string representation
30193func (s ReleaseStaticIpInput) GoString() string {
30194	return s.String()
30195}
30196
30197// Validate inspects the fields of the type to determine if they are valid.
30198func (s *ReleaseStaticIpInput) Validate() error {
30199	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
30200	if s.StaticIpName == nil {
30201		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
30202	}
30203
30204	if invalidParams.Len() > 0 {
30205		return invalidParams
30206	}
30207	return nil
30208}
30209
30210// SetStaticIpName sets the StaticIpName field's value.
30211func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
30212	s.StaticIpName = &v
30213	return s
30214}
30215
30216type ReleaseStaticIpOutput struct {
30217	_ struct{} `type:"structure"`
30218
30219	// An array of objects that describe the result of the action, such as the status
30220	// of the request, the timestamp of the request, and the resources affected
30221	// by the request.
30222	Operations []*Operation `locationName:"operations" type:"list"`
30223}
30224
30225// String returns the string representation
30226func (s ReleaseStaticIpOutput) String() string {
30227	return awsutil.Prettify(s)
30228}
30229
30230// GoString returns the string representation
30231func (s ReleaseStaticIpOutput) GoString() string {
30232	return s.String()
30233}
30234
30235// SetOperations sets the Operations field's value.
30236func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
30237	s.Operations = v
30238	return s
30239}
30240
30241// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail.
30242type RenewalSummary struct {
30243	_ struct{} `type:"structure"`
30244
30245	// An array of objects that describe the domain validation records of the certificate.
30246	DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
30247
30248	// The renewal status of the certificate.
30249	//
30250	// The following renewal status are possible:
30251	//
30252	//    * PendingAutoRenewal - Lightsail is attempting to automatically validate
30253	//    the domain names of the certificate. No further action is required.
30254	//
30255	//    * PendingValidation - Lightsail couldn't automatically validate one or
30256	//    more domain names of the certificate. You must take action to validate
30257	//    these domain names or the certificate won't be renewed. Check to make
30258	//    sure your certificate's domain validation records exist in your domain's
30259	//    DNS, and that your certificate remains in use.
30260	//
30261	//    * Success - All domain names in the certificate are validated, and Lightsail
30262	//    renewed the certificate. No further action is required.
30263	//
30264	//    * Failed - One or more domain names were not validated before the certificate
30265	//    expired, and Lightsail did not renew the certificate. You can request
30266	//    a new certificate using the CreateCertificate action.
30267	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"`
30268
30269	// The reason for the renewal status of the certificate.
30270	RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"`
30271
30272	// The timestamp when the certificate was last updated.
30273	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
30274}
30275
30276// String returns the string representation
30277func (s RenewalSummary) String() string {
30278	return awsutil.Prettify(s)
30279}
30280
30281// GoString returns the string representation
30282func (s RenewalSummary) GoString() string {
30283	return s.String()
30284}
30285
30286// SetDomainValidationRecords sets the DomainValidationRecords field's value.
30287func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary {
30288	s.DomainValidationRecords = v
30289	return s
30290}
30291
30292// SetRenewalStatus sets the RenewalStatus field's value.
30293func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary {
30294	s.RenewalStatus = &v
30295	return s
30296}
30297
30298// SetRenewalStatusReason sets the RenewalStatusReason field's value.
30299func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary {
30300	s.RenewalStatusReason = &v
30301	return s
30302}
30303
30304// SetUpdatedAt sets the UpdatedAt field's value.
30305func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary {
30306	s.UpdatedAt = &v
30307	return s
30308}
30309
30310type ResetDistributionCacheInput struct {
30311	_ struct{} `type:"structure"`
30312
30313	// The name of the distribution for which to reset cache.
30314	//
30315	// Use the GetDistributions action to get a list of distribution names that
30316	// you can specify.
30317	DistributionName *string `locationName:"distributionName" type:"string"`
30318}
30319
30320// String returns the string representation
30321func (s ResetDistributionCacheInput) String() string {
30322	return awsutil.Prettify(s)
30323}
30324
30325// GoString returns the string representation
30326func (s ResetDistributionCacheInput) GoString() string {
30327	return s.String()
30328}
30329
30330// SetDistributionName sets the DistributionName field's value.
30331func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput {
30332	s.DistributionName = &v
30333	return s
30334}
30335
30336type ResetDistributionCacheOutput struct {
30337	_ struct{} `type:"structure"`
30338
30339	// The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time
30340	// format.
30341	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
30342
30343	// An array of objects that describe the result of the action, such as the status
30344	// of the request, the timestamp of the request, and the resources affected
30345	// by the request.
30346	Operation *Operation `locationName:"operation" type:"structure"`
30347
30348	// The status of the reset cache request.
30349	Status *string `locationName:"status" type:"string"`
30350}
30351
30352// String returns the string representation
30353func (s ResetDistributionCacheOutput) String() string {
30354	return awsutil.Prettify(s)
30355}
30356
30357// GoString returns the string representation
30358func (s ResetDistributionCacheOutput) GoString() string {
30359	return s.String()
30360}
30361
30362// SetCreateTime sets the CreateTime field's value.
30363func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput {
30364	s.CreateTime = &v
30365	return s
30366}
30367
30368// SetOperation sets the Operation field's value.
30369func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput {
30370	s.Operation = v
30371	return s
30372}
30373
30374// SetStatus sets the Status field's value.
30375func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput {
30376	s.Status = &v
30377	return s
30378}
30379
30380// Describes the resource location.
30381type ResourceLocation struct {
30382	_ struct{} `type:"structure"`
30383
30384	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
30385	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
30386
30387	// The AWS Region name.
30388	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
30389}
30390
30391// String returns the string representation
30392func (s ResourceLocation) String() string {
30393	return awsutil.Prettify(s)
30394}
30395
30396// GoString returns the string representation
30397func (s ResourceLocation) GoString() string {
30398	return s.String()
30399}
30400
30401// SetAvailabilityZone sets the AvailabilityZone field's value.
30402func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
30403	s.AvailabilityZone = &v
30404	return s
30405}
30406
30407// SetRegionName sets the RegionName field's value.
30408func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
30409	s.RegionName = &v
30410	return s
30411}
30412
30413// Describes the domain name system (DNS) records to add to your domain's DNS
30414// to validate it for an Amazon Lightsail certificate.
30415type ResourceRecord struct {
30416	_ struct{} `type:"structure"`
30417
30418	// The name of the record.
30419	Name *string `locationName:"name" type:"string"`
30420
30421	// The DNS record type.
30422	Type *string `locationName:"type" type:"string"`
30423
30424	// The value for the DNS record.
30425	Value *string `locationName:"value" type:"string"`
30426}
30427
30428// String returns the string representation
30429func (s ResourceRecord) String() string {
30430	return awsutil.Prettify(s)
30431}
30432
30433// GoString returns the string representation
30434func (s ResourceRecord) GoString() string {
30435	return s.String()
30436}
30437
30438// SetName sets the Name field's value.
30439func (s *ResourceRecord) SetName(v string) *ResourceRecord {
30440	s.Name = &v
30441	return s
30442}
30443
30444// SetType sets the Type field's value.
30445func (s *ResourceRecord) SetType(v string) *ResourceRecord {
30446	s.Type = &v
30447	return s
30448}
30449
30450// SetValue sets the Value field's value.
30451func (s *ResourceRecord) SetValue(v string) *ResourceRecord {
30452	s.Value = &v
30453	return s
30454}
30455
30456type SendContactMethodVerificationInput struct {
30457	_ struct{} `type:"structure"`
30458
30459	// The protocol to verify, such as Email or SMS (text messaging).
30460	//
30461	// Protocol is a required field
30462	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactMethodVerificationProtocol"`
30463}
30464
30465// String returns the string representation
30466func (s SendContactMethodVerificationInput) String() string {
30467	return awsutil.Prettify(s)
30468}
30469
30470// GoString returns the string representation
30471func (s SendContactMethodVerificationInput) GoString() string {
30472	return s.String()
30473}
30474
30475// Validate inspects the fields of the type to determine if they are valid.
30476func (s *SendContactMethodVerificationInput) Validate() error {
30477	invalidParams := request.ErrInvalidParams{Context: "SendContactMethodVerificationInput"}
30478	if s.Protocol == nil {
30479		invalidParams.Add(request.NewErrParamRequired("Protocol"))
30480	}
30481
30482	if invalidParams.Len() > 0 {
30483		return invalidParams
30484	}
30485	return nil
30486}
30487
30488// SetProtocol sets the Protocol field's value.
30489func (s *SendContactMethodVerificationInput) SetProtocol(v string) *SendContactMethodVerificationInput {
30490	s.Protocol = &v
30491	return s
30492}
30493
30494type SendContactMethodVerificationOutput struct {
30495	_ struct{} `type:"structure"`
30496
30497	// An array of objects that describe the result of the action, such as the status
30498	// of the request, the timestamp of the request, and the resources affected
30499	// by the request.
30500	Operations []*Operation `locationName:"operations" type:"list"`
30501}
30502
30503// String returns the string representation
30504func (s SendContactMethodVerificationOutput) String() string {
30505	return awsutil.Prettify(s)
30506}
30507
30508// GoString returns the string representation
30509func (s SendContactMethodVerificationOutput) GoString() string {
30510	return s.String()
30511}
30512
30513// SetOperations sets the Operations field's value.
30514func (s *SendContactMethodVerificationOutput) SetOperations(v []*Operation) *SendContactMethodVerificationOutput {
30515	s.Operations = v
30516	return s
30517}
30518
30519// A general service exception.
30520type ServiceException struct {
30521	_            struct{}                  `type:"structure"`
30522	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30523
30524	Code_ *string `locationName:"code" type:"string"`
30525
30526	Docs *string `locationName:"docs" type:"string"`
30527
30528	Message_ *string `locationName:"message" type:"string"`
30529
30530	Tip *string `locationName:"tip" type:"string"`
30531}
30532
30533// String returns the string representation
30534func (s ServiceException) String() string {
30535	return awsutil.Prettify(s)
30536}
30537
30538// GoString returns the string representation
30539func (s ServiceException) GoString() string {
30540	return s.String()
30541}
30542
30543func newErrorServiceException(v protocol.ResponseMetadata) error {
30544	return &ServiceException{
30545		RespMetadata: v,
30546	}
30547}
30548
30549// Code returns the exception type name.
30550func (s *ServiceException) Code() string {
30551	return "ServiceException"
30552}
30553
30554// Message returns the exception's message.
30555func (s *ServiceException) Message() string {
30556	if s.Message_ != nil {
30557		return *s.Message_
30558	}
30559	return ""
30560}
30561
30562// OrigErr always returns nil, satisfies awserr.Error interface.
30563func (s *ServiceException) OrigErr() error {
30564	return nil
30565}
30566
30567func (s *ServiceException) Error() string {
30568	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
30569}
30570
30571// Status code returns the HTTP status code for the request's response error.
30572func (s *ServiceException) StatusCode() int {
30573	return s.RespMetadata.StatusCode
30574}
30575
30576// RequestID returns the service's response RequestID for request.
30577func (s *ServiceException) RequestID() string {
30578	return s.RespMetadata.RequestID
30579}
30580
30581type StartInstanceInput struct {
30582	_ struct{} `type:"structure"`
30583
30584	// The name of the instance (a virtual private server) to start.
30585	//
30586	// InstanceName is a required field
30587	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30588}
30589
30590// String returns the string representation
30591func (s StartInstanceInput) String() string {
30592	return awsutil.Prettify(s)
30593}
30594
30595// GoString returns the string representation
30596func (s StartInstanceInput) GoString() string {
30597	return s.String()
30598}
30599
30600// Validate inspects the fields of the type to determine if they are valid.
30601func (s *StartInstanceInput) Validate() error {
30602	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
30603	if s.InstanceName == nil {
30604		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30605	}
30606
30607	if invalidParams.Len() > 0 {
30608		return invalidParams
30609	}
30610	return nil
30611}
30612
30613// SetInstanceName sets the InstanceName field's value.
30614func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
30615	s.InstanceName = &v
30616	return s
30617}
30618
30619type StartInstanceOutput struct {
30620	_ struct{} `type:"structure"`
30621
30622	// An array of objects that describe the result of the action, such as the status
30623	// of the request, the timestamp of the request, and the resources affected
30624	// by the request.
30625	Operations []*Operation `locationName:"operations" type:"list"`
30626}
30627
30628// String returns the string representation
30629func (s StartInstanceOutput) String() string {
30630	return awsutil.Prettify(s)
30631}
30632
30633// GoString returns the string representation
30634func (s StartInstanceOutput) GoString() string {
30635	return s.String()
30636}
30637
30638// SetOperations sets the Operations field's value.
30639func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
30640	s.Operations = v
30641	return s
30642}
30643
30644type StartRelationalDatabaseInput struct {
30645	_ struct{} `type:"structure"`
30646
30647	// The name of your database to start.
30648	//
30649	// RelationalDatabaseName is a required field
30650	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30651}
30652
30653// String returns the string representation
30654func (s StartRelationalDatabaseInput) String() string {
30655	return awsutil.Prettify(s)
30656}
30657
30658// GoString returns the string representation
30659func (s StartRelationalDatabaseInput) GoString() string {
30660	return s.String()
30661}
30662
30663// Validate inspects the fields of the type to determine if they are valid.
30664func (s *StartRelationalDatabaseInput) Validate() error {
30665	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
30666	if s.RelationalDatabaseName == nil {
30667		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30668	}
30669
30670	if invalidParams.Len() > 0 {
30671		return invalidParams
30672	}
30673	return nil
30674}
30675
30676// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30677func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
30678	s.RelationalDatabaseName = &v
30679	return s
30680}
30681
30682type StartRelationalDatabaseOutput struct {
30683	_ struct{} `type:"structure"`
30684
30685	// An array of objects that describe the result of the action, such as the status
30686	// of the request, the timestamp of the request, and the resources affected
30687	// by the request.
30688	Operations []*Operation `locationName:"operations" type:"list"`
30689}
30690
30691// String returns the string representation
30692func (s StartRelationalDatabaseOutput) String() string {
30693	return awsutil.Prettify(s)
30694}
30695
30696// GoString returns the string representation
30697func (s StartRelationalDatabaseOutput) GoString() string {
30698	return s.String()
30699}
30700
30701// SetOperations sets the Operations field's value.
30702func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
30703	s.Operations = v
30704	return s
30705}
30706
30707// Describes the static IP.
30708type StaticIp struct {
30709	_ struct{} `type:"structure"`
30710
30711	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
30712	Arn *string `locationName:"arn" type:"string"`
30713
30714	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
30715	AttachedTo *string `locationName:"attachedTo" type:"string"`
30716
30717	// The timestamp when the static IP was created (e.g., 1479735304.222).
30718	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
30719
30720	// The static IP address.
30721	IpAddress *string `locationName:"ipAddress" type:"string"`
30722
30723	// A Boolean value indicating whether the static IP is attached.
30724	IsAttached *bool `locationName:"isAttached" type:"boolean"`
30725
30726	// The region and Availability Zone where the static IP was created.
30727	Location *ResourceLocation `locationName:"location" type:"structure"`
30728
30729	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
30730	Name *string `locationName:"name" type:"string"`
30731
30732	// The resource type (usually StaticIp).
30733	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
30734
30735	// The support code. Include this code in your email to support when you have
30736	// questions about an instance or another resource in Lightsail. This code enables
30737	// our support team to look up your Lightsail information more easily.
30738	SupportCode *string `locationName:"supportCode" type:"string"`
30739}
30740
30741// String returns the string representation
30742func (s StaticIp) String() string {
30743	return awsutil.Prettify(s)
30744}
30745
30746// GoString returns the string representation
30747func (s StaticIp) GoString() string {
30748	return s.String()
30749}
30750
30751// SetArn sets the Arn field's value.
30752func (s *StaticIp) SetArn(v string) *StaticIp {
30753	s.Arn = &v
30754	return s
30755}
30756
30757// SetAttachedTo sets the AttachedTo field's value.
30758func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
30759	s.AttachedTo = &v
30760	return s
30761}
30762
30763// SetCreatedAt sets the CreatedAt field's value.
30764func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
30765	s.CreatedAt = &v
30766	return s
30767}
30768
30769// SetIpAddress sets the IpAddress field's value.
30770func (s *StaticIp) SetIpAddress(v string) *StaticIp {
30771	s.IpAddress = &v
30772	return s
30773}
30774
30775// SetIsAttached sets the IsAttached field's value.
30776func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
30777	s.IsAttached = &v
30778	return s
30779}
30780
30781// SetLocation sets the Location field's value.
30782func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
30783	s.Location = v
30784	return s
30785}
30786
30787// SetName sets the Name field's value.
30788func (s *StaticIp) SetName(v string) *StaticIp {
30789	s.Name = &v
30790	return s
30791}
30792
30793// SetResourceType sets the ResourceType field's value.
30794func (s *StaticIp) SetResourceType(v string) *StaticIp {
30795	s.ResourceType = &v
30796	return s
30797}
30798
30799// SetSupportCode sets the SupportCode field's value.
30800func (s *StaticIp) SetSupportCode(v string) *StaticIp {
30801	s.SupportCode = &v
30802	return s
30803}
30804
30805type StopInstanceInput struct {
30806	_ struct{} `type:"structure"`
30807
30808	// When set to True, forces a Lightsail instance that is stuck in a stopping
30809	// state to stop.
30810	//
30811	// Only use the force parameter if your instance is stuck in the stopping state.
30812	// In any other state, your instance should stop normally without adding this
30813	// parameter to your API request.
30814	Force *bool `locationName:"force" type:"boolean"`
30815
30816	// The name of the instance (a virtual private server) to stop.
30817	//
30818	// InstanceName is a required field
30819	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
30820}
30821
30822// String returns the string representation
30823func (s StopInstanceInput) String() string {
30824	return awsutil.Prettify(s)
30825}
30826
30827// GoString returns the string representation
30828func (s StopInstanceInput) GoString() string {
30829	return s.String()
30830}
30831
30832// Validate inspects the fields of the type to determine if they are valid.
30833func (s *StopInstanceInput) Validate() error {
30834	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
30835	if s.InstanceName == nil {
30836		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
30837	}
30838
30839	if invalidParams.Len() > 0 {
30840		return invalidParams
30841	}
30842	return nil
30843}
30844
30845// SetForce sets the Force field's value.
30846func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
30847	s.Force = &v
30848	return s
30849}
30850
30851// SetInstanceName sets the InstanceName field's value.
30852func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
30853	s.InstanceName = &v
30854	return s
30855}
30856
30857type StopInstanceOutput struct {
30858	_ struct{} `type:"structure"`
30859
30860	// An array of objects that describe the result of the action, such as the status
30861	// of the request, the timestamp of the request, and the resources affected
30862	// by the request.
30863	Operations []*Operation `locationName:"operations" type:"list"`
30864}
30865
30866// String returns the string representation
30867func (s StopInstanceOutput) String() string {
30868	return awsutil.Prettify(s)
30869}
30870
30871// GoString returns the string representation
30872func (s StopInstanceOutput) GoString() string {
30873	return s.String()
30874}
30875
30876// SetOperations sets the Operations field's value.
30877func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
30878	s.Operations = v
30879	return s
30880}
30881
30882type StopRelationalDatabaseInput struct {
30883	_ struct{} `type:"structure"`
30884
30885	// The name of your database to stop.
30886	//
30887	// RelationalDatabaseName is a required field
30888	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
30889
30890	// The name of your new database snapshot to be created before stopping your
30891	// database.
30892	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
30893}
30894
30895// String returns the string representation
30896func (s StopRelationalDatabaseInput) String() string {
30897	return awsutil.Prettify(s)
30898}
30899
30900// GoString returns the string representation
30901func (s StopRelationalDatabaseInput) GoString() string {
30902	return s.String()
30903}
30904
30905// Validate inspects the fields of the type to determine if they are valid.
30906func (s *StopRelationalDatabaseInput) Validate() error {
30907	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
30908	if s.RelationalDatabaseName == nil {
30909		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
30910	}
30911
30912	if invalidParams.Len() > 0 {
30913		return invalidParams
30914	}
30915	return nil
30916}
30917
30918// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
30919func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
30920	s.RelationalDatabaseName = &v
30921	return s
30922}
30923
30924// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
30925func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
30926	s.RelationalDatabaseSnapshotName = &v
30927	return s
30928}
30929
30930type StopRelationalDatabaseOutput struct {
30931	_ struct{} `type:"structure"`
30932
30933	// An array of objects that describe the result of the action, such as the status
30934	// of the request, the timestamp of the request, and the resources affected
30935	// by the request.
30936	Operations []*Operation `locationName:"operations" type:"list"`
30937}
30938
30939// String returns the string representation
30940func (s StopRelationalDatabaseOutput) String() string {
30941	return awsutil.Prettify(s)
30942}
30943
30944// GoString returns the string representation
30945func (s StopRelationalDatabaseOutput) GoString() string {
30946	return s.String()
30947}
30948
30949// SetOperations sets the Operations field's value.
30950func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
30951	s.Operations = v
30952	return s
30953}
30954
30955// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
30956//
30957// For more information about tags in Lightsail, see the Lightsail Dev Guide
30958// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
30959type Tag struct {
30960	_ struct{} `type:"structure"`
30961
30962	// The key of the tag.
30963	//
30964	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
30965	// UTF-8, or the following characters: + - = . _ : / @
30966	Key *string `locationName:"key" type:"string"`
30967
30968	// The value of the tag.
30969	//
30970	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
30971	// in UTF-8, or the following characters: + - = . _ : / @
30972	Value *string `locationName:"value" type:"string"`
30973}
30974
30975// String returns the string representation
30976func (s Tag) String() string {
30977	return awsutil.Prettify(s)
30978}
30979
30980// GoString returns the string representation
30981func (s Tag) GoString() string {
30982	return s.String()
30983}
30984
30985// SetKey sets the Key field's value.
30986func (s *Tag) SetKey(v string) *Tag {
30987	s.Key = &v
30988	return s
30989}
30990
30991// SetValue sets the Value field's value.
30992func (s *Tag) SetValue(v string) *Tag {
30993	s.Value = &v
30994	return s
30995}
30996
30997type TagResourceInput struct {
30998	_ struct{} `type:"structure"`
30999
31000	// The Amazon Resource Name (ARN) of the resource to which you want to add a
31001	// tag.
31002	ResourceArn *string `locationName:"resourceArn" type:"string"`
31003
31004	// The name of the resource to which you are adding tags.
31005	//
31006	// ResourceName is a required field
31007	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
31008
31009	// The tag key and optional value.
31010	//
31011	// Tags is a required field
31012	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
31013}
31014
31015// String returns the string representation
31016func (s TagResourceInput) String() string {
31017	return awsutil.Prettify(s)
31018}
31019
31020// GoString returns the string representation
31021func (s TagResourceInput) GoString() string {
31022	return s.String()
31023}
31024
31025// Validate inspects the fields of the type to determine if they are valid.
31026func (s *TagResourceInput) Validate() error {
31027	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
31028	if s.ResourceName == nil {
31029		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
31030	}
31031	if s.Tags == nil {
31032		invalidParams.Add(request.NewErrParamRequired("Tags"))
31033	}
31034
31035	if invalidParams.Len() > 0 {
31036		return invalidParams
31037	}
31038	return nil
31039}
31040
31041// SetResourceArn sets the ResourceArn field's value.
31042func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
31043	s.ResourceArn = &v
31044	return s
31045}
31046
31047// SetResourceName sets the ResourceName field's value.
31048func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
31049	s.ResourceName = &v
31050	return s
31051}
31052
31053// SetTags sets the Tags field's value.
31054func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
31055	s.Tags = v
31056	return s
31057}
31058
31059type TagResourceOutput struct {
31060	_ struct{} `type:"structure"`
31061
31062	// An array of objects that describe the result of the action, such as the status
31063	// of the request, the timestamp of the request, and the resources affected
31064	// by the request.
31065	Operations []*Operation `locationName:"operations" type:"list"`
31066}
31067
31068// String returns the string representation
31069func (s TagResourceOutput) String() string {
31070	return awsutil.Prettify(s)
31071}
31072
31073// GoString returns the string representation
31074func (s TagResourceOutput) GoString() string {
31075	return s.String()
31076}
31077
31078// SetOperations sets the Operations field's value.
31079func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
31080	s.Operations = v
31081	return s
31082}
31083
31084type TestAlarmInput struct {
31085	_ struct{} `type:"structure"`
31086
31087	// The name of the alarm to test.
31088	//
31089	// AlarmName is a required field
31090	AlarmName *string `locationName:"alarmName" type:"string" required:"true"`
31091
31092	// The alarm state to test.
31093	//
31094	// An alarm has the following possible states that can be tested:
31095	//
31096	//    * ALARM - The metric is outside of the defined threshold.
31097	//
31098	//    * INSUFFICIENT_DATA - The alarm has just started, the metric is not available,
31099	//    or not enough data is available for the metric to determine the alarm
31100	//    state.
31101	//
31102	//    * OK - The metric is within the defined threshold.
31103	//
31104	// State is a required field
31105	State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"`
31106}
31107
31108// String returns the string representation
31109func (s TestAlarmInput) String() string {
31110	return awsutil.Prettify(s)
31111}
31112
31113// GoString returns the string representation
31114func (s TestAlarmInput) GoString() string {
31115	return s.String()
31116}
31117
31118// Validate inspects the fields of the type to determine if they are valid.
31119func (s *TestAlarmInput) Validate() error {
31120	invalidParams := request.ErrInvalidParams{Context: "TestAlarmInput"}
31121	if s.AlarmName == nil {
31122		invalidParams.Add(request.NewErrParamRequired("AlarmName"))
31123	}
31124	if s.State == nil {
31125		invalidParams.Add(request.NewErrParamRequired("State"))
31126	}
31127
31128	if invalidParams.Len() > 0 {
31129		return invalidParams
31130	}
31131	return nil
31132}
31133
31134// SetAlarmName sets the AlarmName field's value.
31135func (s *TestAlarmInput) SetAlarmName(v string) *TestAlarmInput {
31136	s.AlarmName = &v
31137	return s
31138}
31139
31140// SetState sets the State field's value.
31141func (s *TestAlarmInput) SetState(v string) *TestAlarmInput {
31142	s.State = &v
31143	return s
31144}
31145
31146type TestAlarmOutput struct {
31147	_ struct{} `type:"structure"`
31148
31149	// An array of objects that describe the result of the action, such as the status
31150	// of the request, the timestamp of the request, and the resources affected
31151	// by the request.
31152	Operations []*Operation `locationName:"operations" type:"list"`
31153}
31154
31155// String returns the string representation
31156func (s TestAlarmOutput) String() string {
31157	return awsutil.Prettify(s)
31158}
31159
31160// GoString returns the string representation
31161func (s TestAlarmOutput) GoString() string {
31162	return s.String()
31163}
31164
31165// SetOperations sets the Operations field's value.
31166func (s *TestAlarmOutput) SetOperations(v []*Operation) *TestAlarmOutput {
31167	s.Operations = v
31168	return s
31169}
31170
31171// Lightsail throws this exception when the user has not been authenticated.
31172type UnauthenticatedException struct {
31173	_            struct{}                  `type:"structure"`
31174	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31175
31176	Code_ *string `locationName:"code" type:"string"`
31177
31178	Docs *string `locationName:"docs" type:"string"`
31179
31180	Message_ *string `locationName:"message" type:"string"`
31181
31182	Tip *string `locationName:"tip" type:"string"`
31183}
31184
31185// String returns the string representation
31186func (s UnauthenticatedException) String() string {
31187	return awsutil.Prettify(s)
31188}
31189
31190// GoString returns the string representation
31191func (s UnauthenticatedException) GoString() string {
31192	return s.String()
31193}
31194
31195func newErrorUnauthenticatedException(v protocol.ResponseMetadata) error {
31196	return &UnauthenticatedException{
31197		RespMetadata: v,
31198	}
31199}
31200
31201// Code returns the exception type name.
31202func (s *UnauthenticatedException) Code() string {
31203	return "UnauthenticatedException"
31204}
31205
31206// Message returns the exception's message.
31207func (s *UnauthenticatedException) Message() string {
31208	if s.Message_ != nil {
31209		return *s.Message_
31210	}
31211	return ""
31212}
31213
31214// OrigErr always returns nil, satisfies awserr.Error interface.
31215func (s *UnauthenticatedException) OrigErr() error {
31216	return nil
31217}
31218
31219func (s *UnauthenticatedException) Error() string {
31220	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31221}
31222
31223// Status code returns the HTTP status code for the request's response error.
31224func (s *UnauthenticatedException) StatusCode() int {
31225	return s.RespMetadata.StatusCode
31226}
31227
31228// RequestID returns the service's response RequestID for request.
31229func (s *UnauthenticatedException) RequestID() string {
31230	return s.RespMetadata.RequestID
31231}
31232
31233type UnpeerVpcInput struct {
31234	_ struct{} `type:"structure"`
31235}
31236
31237// String returns the string representation
31238func (s UnpeerVpcInput) String() string {
31239	return awsutil.Prettify(s)
31240}
31241
31242// GoString returns the string representation
31243func (s UnpeerVpcInput) GoString() string {
31244	return s.String()
31245}
31246
31247type UnpeerVpcOutput struct {
31248	_ struct{} `type:"structure"`
31249
31250	// An array of objects that describe the result of the action, such as the status
31251	// of the request, the timestamp of the request, and the resources affected
31252	// by the request.
31253	Operation *Operation `locationName:"operation" type:"structure"`
31254}
31255
31256// String returns the string representation
31257func (s UnpeerVpcOutput) String() string {
31258	return awsutil.Prettify(s)
31259}
31260
31261// GoString returns the string representation
31262func (s UnpeerVpcOutput) GoString() string {
31263	return s.String()
31264}
31265
31266// SetOperation sets the Operation field's value.
31267func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
31268	s.Operation = v
31269	return s
31270}
31271
31272type UntagResourceInput struct {
31273	_ struct{} `type:"structure"`
31274
31275	// The Amazon Resource Name (ARN) of the resource from which you want to remove
31276	// a tag.
31277	ResourceArn *string `locationName:"resourceArn" type:"string"`
31278
31279	// The name of the resource from which you are removing a tag.
31280	//
31281	// ResourceName is a required field
31282	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
31283
31284	// The tag keys to delete from the specified resource.
31285	//
31286	// TagKeys is a required field
31287	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
31288}
31289
31290// String returns the string representation
31291func (s UntagResourceInput) String() string {
31292	return awsutil.Prettify(s)
31293}
31294
31295// GoString returns the string representation
31296func (s UntagResourceInput) GoString() string {
31297	return s.String()
31298}
31299
31300// Validate inspects the fields of the type to determine if they are valid.
31301func (s *UntagResourceInput) Validate() error {
31302	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
31303	if s.ResourceName == nil {
31304		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
31305	}
31306	if s.TagKeys == nil {
31307		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
31308	}
31309
31310	if invalidParams.Len() > 0 {
31311		return invalidParams
31312	}
31313	return nil
31314}
31315
31316// SetResourceArn sets the ResourceArn field's value.
31317func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
31318	s.ResourceArn = &v
31319	return s
31320}
31321
31322// SetResourceName sets the ResourceName field's value.
31323func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
31324	s.ResourceName = &v
31325	return s
31326}
31327
31328// SetTagKeys sets the TagKeys field's value.
31329func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
31330	s.TagKeys = v
31331	return s
31332}
31333
31334type UntagResourceOutput struct {
31335	_ struct{} `type:"structure"`
31336
31337	// An array of objects that describe the result of the action, such as the status
31338	// of the request, the timestamp of the request, and the resources affected
31339	// by the request.
31340	Operations []*Operation `locationName:"operations" type:"list"`
31341}
31342
31343// String returns the string representation
31344func (s UntagResourceOutput) String() string {
31345	return awsutil.Prettify(s)
31346}
31347
31348// GoString returns the string representation
31349func (s UntagResourceOutput) GoString() string {
31350	return s.String()
31351}
31352
31353// SetOperations sets the Operations field's value.
31354func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
31355	s.Operations = v
31356	return s
31357}
31358
31359type UpdateDistributionBundleInput struct {
31360	_ struct{} `type:"structure"`
31361
31362	// The bundle ID of the new bundle to apply to your distribution.
31363	//
31364	// Use the GetDistributionBundles action to get a list of distribution bundle
31365	// IDs that you can specify.
31366	BundleId *string `locationName:"bundleId" type:"string"`
31367
31368	// The name of the distribution for which to update the bundle.
31369	//
31370	// Use the GetDistributions action to get a list of distribution names that
31371	// you can specify.
31372	DistributionName *string `locationName:"distributionName" type:"string"`
31373}
31374
31375// String returns the string representation
31376func (s UpdateDistributionBundleInput) String() string {
31377	return awsutil.Prettify(s)
31378}
31379
31380// GoString returns the string representation
31381func (s UpdateDistributionBundleInput) GoString() string {
31382	return s.String()
31383}
31384
31385// SetBundleId sets the BundleId field's value.
31386func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput {
31387	s.BundleId = &v
31388	return s
31389}
31390
31391// SetDistributionName sets the DistributionName field's value.
31392func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput {
31393	s.DistributionName = &v
31394	return s
31395}
31396
31397type UpdateDistributionBundleOutput struct {
31398	_ struct{} `type:"structure"`
31399
31400	// Describes the API operation.
31401	Operation *Operation `locationName:"operation" type:"structure"`
31402}
31403
31404// String returns the string representation
31405func (s UpdateDistributionBundleOutput) String() string {
31406	return awsutil.Prettify(s)
31407}
31408
31409// GoString returns the string representation
31410func (s UpdateDistributionBundleOutput) GoString() string {
31411	return s.String()
31412}
31413
31414// SetOperation sets the Operation field's value.
31415func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput {
31416	s.Operation = v
31417	return s
31418}
31419
31420type UpdateDistributionInput struct {
31421	_ struct{} `type:"structure"`
31422
31423	// An object that describes the cache behavior settings for the distribution.
31424	//
31425	// The cacheBehaviorSettings specified in your UpdateDistributionRequest will
31426	// replace your distribution's existing settings.
31427	CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"`
31428
31429	// An array of objects that describe the per-path cache behavior for the distribution.
31430	CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"`
31431
31432	// An object that describes the default cache behavior for the distribution.
31433	DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"`
31434
31435	// The name of the distribution to update.
31436	//
31437	// Use the GetDistributions action to get a list of distribution names that
31438	// you can specify.
31439	//
31440	// DistributionName is a required field
31441	DistributionName *string `locationName:"distributionName" type:"string" required:"true"`
31442
31443	// Indicates whether to enable the distribution.
31444	IsEnabled *bool `locationName:"isEnabled" type:"boolean"`
31445
31446	// An object that describes the origin resource for the distribution, such as
31447	// a Lightsail instance or load balancer.
31448	//
31449	// The distribution pulls, caches, and serves content from the origin.
31450	Origin *InputOrigin `locationName:"origin" type:"structure"`
31451}
31452
31453// String returns the string representation
31454func (s UpdateDistributionInput) String() string {
31455	return awsutil.Prettify(s)
31456}
31457
31458// GoString returns the string representation
31459func (s UpdateDistributionInput) GoString() string {
31460	return s.String()
31461}
31462
31463// Validate inspects the fields of the type to determine if they are valid.
31464func (s *UpdateDistributionInput) Validate() error {
31465	invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"}
31466	if s.DistributionName == nil {
31467		invalidParams.Add(request.NewErrParamRequired("DistributionName"))
31468	}
31469
31470	if invalidParams.Len() > 0 {
31471		return invalidParams
31472	}
31473	return nil
31474}
31475
31476// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value.
31477func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput {
31478	s.CacheBehaviorSettings = v
31479	return s
31480}
31481
31482// SetCacheBehaviors sets the CacheBehaviors field's value.
31483func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput {
31484	s.CacheBehaviors = v
31485	return s
31486}
31487
31488// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
31489func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput {
31490	s.DefaultCacheBehavior = v
31491	return s
31492}
31493
31494// SetDistributionName sets the DistributionName field's value.
31495func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput {
31496	s.DistributionName = &v
31497	return s
31498}
31499
31500// SetIsEnabled sets the IsEnabled field's value.
31501func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput {
31502	s.IsEnabled = &v
31503	return s
31504}
31505
31506// SetOrigin sets the Origin field's value.
31507func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput {
31508	s.Origin = v
31509	return s
31510}
31511
31512type UpdateDistributionOutput struct {
31513	_ struct{} `type:"structure"`
31514
31515	// An array of objects that describe the result of the action, such as the status
31516	// of the request, the timestamp of the request, and the resources affected
31517	// by the request.
31518	Operation *Operation `locationName:"operation" type:"structure"`
31519}
31520
31521// String returns the string representation
31522func (s UpdateDistributionOutput) String() string {
31523	return awsutil.Prettify(s)
31524}
31525
31526// GoString returns the string representation
31527func (s UpdateDistributionOutput) GoString() string {
31528	return s.String()
31529}
31530
31531// SetOperation sets the Operation field's value.
31532func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput {
31533	s.Operation = v
31534	return s
31535}
31536
31537type UpdateDomainEntryInput struct {
31538	_ struct{} `type:"structure"`
31539
31540	// An array of key-value pairs containing information about the domain entry.
31541	//
31542	// DomainEntry is a required field
31543	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
31544
31545	// The name of the domain recordset to update.
31546	//
31547	// DomainName is a required field
31548	DomainName *string `locationName:"domainName" type:"string" required:"true"`
31549}
31550
31551// String returns the string representation
31552func (s UpdateDomainEntryInput) String() string {
31553	return awsutil.Prettify(s)
31554}
31555
31556// GoString returns the string representation
31557func (s UpdateDomainEntryInput) GoString() string {
31558	return s.String()
31559}
31560
31561// Validate inspects the fields of the type to determine if they are valid.
31562func (s *UpdateDomainEntryInput) Validate() error {
31563	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
31564	if s.DomainEntry == nil {
31565		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
31566	}
31567	if s.DomainName == nil {
31568		invalidParams.Add(request.NewErrParamRequired("DomainName"))
31569	}
31570
31571	if invalidParams.Len() > 0 {
31572		return invalidParams
31573	}
31574	return nil
31575}
31576
31577// SetDomainEntry sets the DomainEntry field's value.
31578func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
31579	s.DomainEntry = v
31580	return s
31581}
31582
31583// SetDomainName sets the DomainName field's value.
31584func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
31585	s.DomainName = &v
31586	return s
31587}
31588
31589type UpdateDomainEntryOutput struct {
31590	_ struct{} `type:"structure"`
31591
31592	// An array of objects that describe the result of the action, such as the status
31593	// of the request, the timestamp of the request, and the resources affected
31594	// by the request.
31595	Operations []*Operation `locationName:"operations" type:"list"`
31596}
31597
31598// String returns the string representation
31599func (s UpdateDomainEntryOutput) String() string {
31600	return awsutil.Prettify(s)
31601}
31602
31603// GoString returns the string representation
31604func (s UpdateDomainEntryOutput) GoString() string {
31605	return s.String()
31606}
31607
31608// SetOperations sets the Operations field's value.
31609func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
31610	s.Operations = v
31611	return s
31612}
31613
31614type UpdateLoadBalancerAttributeInput struct {
31615	_ struct{} `type:"structure"`
31616
31617	// The name of the attribute you want to update. Valid values are below.
31618	//
31619	// AttributeName is a required field
31620	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
31621
31622	// The value that you want to specify for the attribute name.
31623	//
31624	// AttributeValue is a required field
31625	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
31626
31627	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
31628	//
31629	// LoadBalancerName is a required field
31630	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
31631}
31632
31633// String returns the string representation
31634func (s UpdateLoadBalancerAttributeInput) String() string {
31635	return awsutil.Prettify(s)
31636}
31637
31638// GoString returns the string representation
31639func (s UpdateLoadBalancerAttributeInput) GoString() string {
31640	return s.String()
31641}
31642
31643// Validate inspects the fields of the type to determine if they are valid.
31644func (s *UpdateLoadBalancerAttributeInput) Validate() error {
31645	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
31646	if s.AttributeName == nil {
31647		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
31648	}
31649	if s.AttributeValue == nil {
31650		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
31651	}
31652	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
31653		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
31654	}
31655	if s.LoadBalancerName == nil {
31656		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
31657	}
31658
31659	if invalidParams.Len() > 0 {
31660		return invalidParams
31661	}
31662	return nil
31663}
31664
31665// SetAttributeName sets the AttributeName field's value.
31666func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
31667	s.AttributeName = &v
31668	return s
31669}
31670
31671// SetAttributeValue sets the AttributeValue field's value.
31672func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
31673	s.AttributeValue = &v
31674	return s
31675}
31676
31677// SetLoadBalancerName sets the LoadBalancerName field's value.
31678func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
31679	s.LoadBalancerName = &v
31680	return s
31681}
31682
31683type UpdateLoadBalancerAttributeOutput struct {
31684	_ struct{} `type:"structure"`
31685
31686	// An array of objects that describe the result of the action, such as the status
31687	// of the request, the timestamp of the request, and the resources affected
31688	// by the request.
31689	Operations []*Operation `locationName:"operations" type:"list"`
31690}
31691
31692// String returns the string representation
31693func (s UpdateLoadBalancerAttributeOutput) String() string {
31694	return awsutil.Prettify(s)
31695}
31696
31697// GoString returns the string representation
31698func (s UpdateLoadBalancerAttributeOutput) GoString() string {
31699	return s.String()
31700}
31701
31702// SetOperations sets the Operations field's value.
31703func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
31704	s.Operations = v
31705	return s
31706}
31707
31708type UpdateRelationalDatabaseInput struct {
31709	_ struct{} `type:"structure"`
31710
31711	// When true, applies changes immediately. When false, applies changes during
31712	// the preferred maintenance window. Some changes may cause an outage.
31713	//
31714	// Default: false
31715	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
31716
31717	// Indicates the certificate that needs to be associated with the database.
31718	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
31719
31720	// When true, disables automated backup retention for your database.
31721	//
31722	// Disabling backup retention deletes all automated database backups. Before
31723	// disabling this, you may want to create a snapshot of your database using
31724	// the create relational database snapshot operation.
31725	//
31726	// Updates are applied during the next maintenance window because this can result
31727	// in an outage.
31728	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
31729
31730	// When true, enables automated backup retention for your database.
31731	//
31732	// Updates are applied during the next maintenance window because this can result
31733	// in an outage.
31734	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
31735
31736	// The password for the master user of your database. The password can include
31737	// any printable ASCII character except "/", """, or "@".
31738	//
31739	// Constraints: Must contain 8 to 41 characters.
31740	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
31741
31742	// The daily time range during which automated backups are created for your
31743	// database if automated backups are enabled.
31744	//
31745	// Constraints:
31746	//
31747	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
31748	//
31749	//    * Specified in Coordinated Universal Time (UTC).
31750	//
31751	//    * Must not conflict with the preferred maintenance window.
31752	//
31753	//    * Must be at least 30 minutes.
31754	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
31755
31756	// The weekly time range during which system maintenance can occur on your database.
31757	//
31758	// The default is a 30-minute window selected at random from an 8-hour block
31759	// of time for each AWS Region, occurring on a random day of the week.
31760	//
31761	// Constraints:
31762	//
31763	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
31764	//
31765	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
31766	//
31767	//    * Must be at least 30 minutes.
31768	//
31769	//    * Specified in Coordinated Universal Time (UTC).
31770	//
31771	//    * Example: Tue:17:00-Tue:17:30
31772	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
31773
31774	// Specifies the accessibility options for your database. A value of true specifies
31775	// a database that is available to resources outside of your Lightsail account.
31776	// A value of false specifies a database that is available only to your Lightsail
31777	// resources in the same region as your database.
31778	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
31779
31780	// The name of your database to update.
31781	//
31782	// RelationalDatabaseName is a required field
31783	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
31784
31785	// When true, the master user password is changed to a new strong password generated
31786	// by Lightsail.
31787	//
31788	// Use the get relational database master user password operation to get the
31789	// new password.
31790	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
31791}
31792
31793// String returns the string representation
31794func (s UpdateRelationalDatabaseInput) String() string {
31795	return awsutil.Prettify(s)
31796}
31797
31798// GoString returns the string representation
31799func (s UpdateRelationalDatabaseInput) GoString() string {
31800	return s.String()
31801}
31802
31803// Validate inspects the fields of the type to determine if they are valid.
31804func (s *UpdateRelationalDatabaseInput) Validate() error {
31805	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
31806	if s.RelationalDatabaseName == nil {
31807		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
31808	}
31809
31810	if invalidParams.Len() > 0 {
31811		return invalidParams
31812	}
31813	return nil
31814}
31815
31816// SetApplyImmediately sets the ApplyImmediately field's value.
31817func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
31818	s.ApplyImmediately = &v
31819	return s
31820}
31821
31822// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
31823func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
31824	s.CaCertificateIdentifier = &v
31825	return s
31826}
31827
31828// SetDisableBackupRetention sets the DisableBackupRetention field's value.
31829func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
31830	s.DisableBackupRetention = &v
31831	return s
31832}
31833
31834// SetEnableBackupRetention sets the EnableBackupRetention field's value.
31835func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
31836	s.EnableBackupRetention = &v
31837	return s
31838}
31839
31840// SetMasterUserPassword sets the MasterUserPassword field's value.
31841func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
31842	s.MasterUserPassword = &v
31843	return s
31844}
31845
31846// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
31847func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
31848	s.PreferredBackupWindow = &v
31849	return s
31850}
31851
31852// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
31853func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
31854	s.PreferredMaintenanceWindow = &v
31855	return s
31856}
31857
31858// SetPubliclyAccessible sets the PubliclyAccessible field's value.
31859func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
31860	s.PubliclyAccessible = &v
31861	return s
31862}
31863
31864// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
31865func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
31866	s.RelationalDatabaseName = &v
31867	return s
31868}
31869
31870// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
31871func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
31872	s.RotateMasterUserPassword = &v
31873	return s
31874}
31875
31876type UpdateRelationalDatabaseOutput struct {
31877	_ struct{} `type:"structure"`
31878
31879	// An array of objects that describe the result of the action, such as the status
31880	// of the request, the timestamp of the request, and the resources affected
31881	// by the request.
31882	Operations []*Operation `locationName:"operations" type:"list"`
31883}
31884
31885// String returns the string representation
31886func (s UpdateRelationalDatabaseOutput) String() string {
31887	return awsutil.Prettify(s)
31888}
31889
31890// GoString returns the string representation
31891func (s UpdateRelationalDatabaseOutput) GoString() string {
31892	return s.String()
31893}
31894
31895// SetOperations sets the Operations field's value.
31896func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
31897	s.Operations = v
31898	return s
31899}
31900
31901type UpdateRelationalDatabaseParametersInput struct {
31902	_ struct{} `type:"structure"`
31903
31904	// The database parameters to update.
31905	//
31906	// Parameters is a required field
31907	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
31908
31909	// The name of your database for which to update parameters.
31910	//
31911	// RelationalDatabaseName is a required field
31912	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
31913}
31914
31915// String returns the string representation
31916func (s UpdateRelationalDatabaseParametersInput) String() string {
31917	return awsutil.Prettify(s)
31918}
31919
31920// GoString returns the string representation
31921func (s UpdateRelationalDatabaseParametersInput) GoString() string {
31922	return s.String()
31923}
31924
31925// Validate inspects the fields of the type to determine if they are valid.
31926func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
31927	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
31928	if s.Parameters == nil {
31929		invalidParams.Add(request.NewErrParamRequired("Parameters"))
31930	}
31931	if s.RelationalDatabaseName == nil {
31932		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
31933	}
31934
31935	if invalidParams.Len() > 0 {
31936		return invalidParams
31937	}
31938	return nil
31939}
31940
31941// SetParameters sets the Parameters field's value.
31942func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
31943	s.Parameters = v
31944	return s
31945}
31946
31947// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
31948func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
31949	s.RelationalDatabaseName = &v
31950	return s
31951}
31952
31953type UpdateRelationalDatabaseParametersOutput struct {
31954	_ struct{} `type:"structure"`
31955
31956	// An array of objects that describe the result of the action, such as the status
31957	// of the request, the timestamp of the request, and the resources affected
31958	// by the request.
31959	Operations []*Operation `locationName:"operations" type:"list"`
31960}
31961
31962// String returns the string representation
31963func (s UpdateRelationalDatabaseParametersOutput) String() string {
31964	return awsutil.Prettify(s)
31965}
31966
31967// GoString returns the string representation
31968func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
31969	return s.String()
31970}
31971
31972// SetOperations sets the Operations field's value.
31973func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
31974	s.Operations = v
31975	return s
31976}
31977
31978const (
31979	// AccessDirectionInbound is a AccessDirection enum value
31980	AccessDirectionInbound = "inbound"
31981
31982	// AccessDirectionOutbound is a AccessDirection enum value
31983	AccessDirectionOutbound = "outbound"
31984)
31985
31986// AccessDirection_Values returns all elements of the AccessDirection enum
31987func AccessDirection_Values() []string {
31988	return []string{
31989		AccessDirectionInbound,
31990		AccessDirectionOutbound,
31991	}
31992}
31993
31994const (
31995	// AddOnTypeAutoSnapshot is a AddOnType enum value
31996	AddOnTypeAutoSnapshot = "AutoSnapshot"
31997)
31998
31999// AddOnType_Values returns all elements of the AddOnType enum
32000func AddOnType_Values() []string {
32001	return []string{
32002		AddOnTypeAutoSnapshot,
32003	}
32004}
32005
32006const (
32007	// AlarmStateOk is a AlarmState enum value
32008	AlarmStateOk = "OK"
32009
32010	// AlarmStateAlarm is a AlarmState enum value
32011	AlarmStateAlarm = "ALARM"
32012
32013	// AlarmStateInsufficientData is a AlarmState enum value
32014	AlarmStateInsufficientData = "INSUFFICIENT_DATA"
32015)
32016
32017// AlarmState_Values returns all elements of the AlarmState enum
32018func AlarmState_Values() []string {
32019	return []string{
32020		AlarmStateOk,
32021		AlarmStateAlarm,
32022		AlarmStateInsufficientData,
32023	}
32024}
32025
32026const (
32027	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
32028	AutoSnapshotStatusSuccess = "Success"
32029
32030	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
32031	AutoSnapshotStatusFailed = "Failed"
32032
32033	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
32034	AutoSnapshotStatusInProgress = "InProgress"
32035
32036	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
32037	AutoSnapshotStatusNotFound = "NotFound"
32038)
32039
32040// AutoSnapshotStatus_Values returns all elements of the AutoSnapshotStatus enum
32041func AutoSnapshotStatus_Values() []string {
32042	return []string{
32043		AutoSnapshotStatusSuccess,
32044		AutoSnapshotStatusFailed,
32045		AutoSnapshotStatusInProgress,
32046		AutoSnapshotStatusNotFound,
32047	}
32048}
32049
32050const (
32051	// BehaviorEnumDontCache is a BehaviorEnum enum value
32052	BehaviorEnumDontCache = "dont-cache"
32053
32054	// BehaviorEnumCache is a BehaviorEnum enum value
32055	BehaviorEnumCache = "cache"
32056)
32057
32058// BehaviorEnum_Values returns all elements of the BehaviorEnum enum
32059func BehaviorEnum_Values() []string {
32060	return []string{
32061		BehaviorEnumDontCache,
32062		BehaviorEnumCache,
32063	}
32064}
32065
32066const (
32067	// BlueprintTypeOs is a BlueprintType enum value
32068	BlueprintTypeOs = "os"
32069
32070	// BlueprintTypeApp is a BlueprintType enum value
32071	BlueprintTypeApp = "app"
32072)
32073
32074// BlueprintType_Values returns all elements of the BlueprintType enum
32075func BlueprintType_Values() []string {
32076	return []string{
32077		BlueprintTypeOs,
32078		BlueprintTypeApp,
32079	}
32080}
32081
32082const (
32083	// CertificateStatusPendingValidation is a CertificateStatus enum value
32084	CertificateStatusPendingValidation = "PENDING_VALIDATION"
32085
32086	// CertificateStatusIssued is a CertificateStatus enum value
32087	CertificateStatusIssued = "ISSUED"
32088
32089	// CertificateStatusInactive is a CertificateStatus enum value
32090	CertificateStatusInactive = "INACTIVE"
32091
32092	// CertificateStatusExpired is a CertificateStatus enum value
32093	CertificateStatusExpired = "EXPIRED"
32094
32095	// CertificateStatusValidationTimedOut is a CertificateStatus enum value
32096	CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
32097
32098	// CertificateStatusRevoked is a CertificateStatus enum value
32099	CertificateStatusRevoked = "REVOKED"
32100
32101	// CertificateStatusFailed is a CertificateStatus enum value
32102	CertificateStatusFailed = "FAILED"
32103)
32104
32105// CertificateStatus_Values returns all elements of the CertificateStatus enum
32106func CertificateStatus_Values() []string {
32107	return []string{
32108		CertificateStatusPendingValidation,
32109		CertificateStatusIssued,
32110		CertificateStatusInactive,
32111		CertificateStatusExpired,
32112		CertificateStatusValidationTimedOut,
32113		CertificateStatusRevoked,
32114		CertificateStatusFailed,
32115	}
32116}
32117
32118const (
32119	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
32120	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
32121)
32122
32123// CloudFormationStackRecordSourceType_Values returns all elements of the CloudFormationStackRecordSourceType enum
32124func CloudFormationStackRecordSourceType_Values() []string {
32125	return []string{
32126		CloudFormationStackRecordSourceTypeExportSnapshotRecord,
32127	}
32128}
32129
32130const (
32131	// ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value
32132	ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
32133
32134	// ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value
32135	ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold"
32136
32137	// ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value
32138	ComparisonOperatorLessThanThreshold = "LessThanThreshold"
32139
32140	// ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value
32141	ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
32142)
32143
32144// ComparisonOperator_Values returns all elements of the ComparisonOperator enum
32145func ComparisonOperator_Values() []string {
32146	return []string{
32147		ComparisonOperatorGreaterThanOrEqualToThreshold,
32148		ComparisonOperatorGreaterThanThreshold,
32149		ComparisonOperatorLessThanThreshold,
32150		ComparisonOperatorLessThanOrEqualToThreshold,
32151	}
32152}
32153
32154const (
32155	// ContactMethodStatusPendingVerification is a ContactMethodStatus enum value
32156	ContactMethodStatusPendingVerification = "PendingVerification"
32157
32158	// ContactMethodStatusValid is a ContactMethodStatus enum value
32159	ContactMethodStatusValid = "Valid"
32160
32161	// ContactMethodStatusInvalid is a ContactMethodStatus enum value
32162	ContactMethodStatusInvalid = "Invalid"
32163)
32164
32165// ContactMethodStatus_Values returns all elements of the ContactMethodStatus enum
32166func ContactMethodStatus_Values() []string {
32167	return []string{
32168		ContactMethodStatusPendingVerification,
32169		ContactMethodStatusValid,
32170		ContactMethodStatusInvalid,
32171	}
32172}
32173
32174const (
32175	// ContactMethodVerificationProtocolEmail is a ContactMethodVerificationProtocol enum value
32176	ContactMethodVerificationProtocolEmail = "Email"
32177)
32178
32179// ContactMethodVerificationProtocol_Values returns all elements of the ContactMethodVerificationProtocol enum
32180func ContactMethodVerificationProtocol_Values() []string {
32181	return []string{
32182		ContactMethodVerificationProtocolEmail,
32183	}
32184}
32185
32186const (
32187	// ContactProtocolEmail is a ContactProtocol enum value
32188	ContactProtocolEmail = "Email"
32189
32190	// ContactProtocolSms is a ContactProtocol enum value
32191	ContactProtocolSms = "SMS"
32192)
32193
32194// ContactProtocol_Values returns all elements of the ContactProtocol enum
32195func ContactProtocol_Values() []string {
32196	return []string{
32197		ContactProtocolEmail,
32198		ContactProtocolSms,
32199	}
32200}
32201
32202const (
32203	// DiskSnapshotStatePending is a DiskSnapshotState enum value
32204	DiskSnapshotStatePending = "pending"
32205
32206	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
32207	DiskSnapshotStateCompleted = "completed"
32208
32209	// DiskSnapshotStateError is a DiskSnapshotState enum value
32210	DiskSnapshotStateError = "error"
32211
32212	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
32213	DiskSnapshotStateUnknown = "unknown"
32214)
32215
32216// DiskSnapshotState_Values returns all elements of the DiskSnapshotState enum
32217func DiskSnapshotState_Values() []string {
32218	return []string{
32219		DiskSnapshotStatePending,
32220		DiskSnapshotStateCompleted,
32221		DiskSnapshotStateError,
32222		DiskSnapshotStateUnknown,
32223	}
32224}
32225
32226const (
32227	// DiskStatePending is a DiskState enum value
32228	DiskStatePending = "pending"
32229
32230	// DiskStateError is a DiskState enum value
32231	DiskStateError = "error"
32232
32233	// DiskStateAvailable is a DiskState enum value
32234	DiskStateAvailable = "available"
32235
32236	// DiskStateInUse is a DiskState enum value
32237	DiskStateInUse = "in-use"
32238
32239	// DiskStateUnknown is a DiskState enum value
32240	DiskStateUnknown = "unknown"
32241)
32242
32243// DiskState_Values returns all elements of the DiskState enum
32244func DiskState_Values() []string {
32245	return []string{
32246		DiskStatePending,
32247		DiskStateError,
32248		DiskStateAvailable,
32249		DiskStateInUse,
32250		DiskStateUnknown,
32251	}
32252}
32253
32254const (
32255	// DistributionMetricNameRequests is a DistributionMetricName enum value
32256	DistributionMetricNameRequests = "Requests"
32257
32258	// DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value
32259	DistributionMetricNameBytesDownloaded = "BytesDownloaded"
32260
32261	// DistributionMetricNameBytesUploaded is a DistributionMetricName enum value
32262	DistributionMetricNameBytesUploaded = "BytesUploaded"
32263
32264	// DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value
32265	DistributionMetricNameTotalErrorRate = "TotalErrorRate"
32266
32267	// DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value
32268	DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate"
32269
32270	// DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value
32271	DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate"
32272)
32273
32274// DistributionMetricName_Values returns all elements of the DistributionMetricName enum
32275func DistributionMetricName_Values() []string {
32276	return []string{
32277		DistributionMetricNameRequests,
32278		DistributionMetricNameBytesDownloaded,
32279		DistributionMetricNameBytesUploaded,
32280		DistributionMetricNameTotalErrorRate,
32281		DistributionMetricNameHttp4xxErrorRate,
32282		DistributionMetricNameHttp5xxErrorRate,
32283	}
32284}
32285
32286const (
32287	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
32288	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
32289
32290	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
32291	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
32292)
32293
32294// ExportSnapshotRecordSourceType_Values returns all elements of the ExportSnapshotRecordSourceType enum
32295func ExportSnapshotRecordSourceType_Values() []string {
32296	return []string{
32297		ExportSnapshotRecordSourceTypeInstanceSnapshot,
32298		ExportSnapshotRecordSourceTypeDiskSnapshot,
32299	}
32300}
32301
32302const (
32303	// ForwardValuesNone is a ForwardValues enum value
32304	ForwardValuesNone = "none"
32305
32306	// ForwardValuesAllowList is a ForwardValues enum value
32307	ForwardValuesAllowList = "allow-list"
32308
32309	// ForwardValuesAll is a ForwardValues enum value
32310	ForwardValuesAll = "all"
32311)
32312
32313// ForwardValues_Values returns all elements of the ForwardValues enum
32314func ForwardValues_Values() []string {
32315	return []string{
32316		ForwardValuesNone,
32317		ForwardValuesAllowList,
32318		ForwardValuesAll,
32319	}
32320}
32321
32322const (
32323	// HeaderEnumAccept is a HeaderEnum enum value
32324	HeaderEnumAccept = "Accept"
32325
32326	// HeaderEnumAcceptCharset is a HeaderEnum enum value
32327	HeaderEnumAcceptCharset = "Accept-Charset"
32328
32329	// HeaderEnumAcceptDatetime is a HeaderEnum enum value
32330	HeaderEnumAcceptDatetime = "Accept-Datetime"
32331
32332	// HeaderEnumAcceptEncoding is a HeaderEnum enum value
32333	HeaderEnumAcceptEncoding = "Accept-Encoding"
32334
32335	// HeaderEnumAcceptLanguage is a HeaderEnum enum value
32336	HeaderEnumAcceptLanguage = "Accept-Language"
32337
32338	// HeaderEnumAuthorization is a HeaderEnum enum value
32339	HeaderEnumAuthorization = "Authorization"
32340
32341	// HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value
32342	HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto"
32343
32344	// HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value
32345	HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer"
32346
32347	// HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value
32348	HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer"
32349
32350	// HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value
32351	HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer"
32352
32353	// HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value
32354	HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer"
32355
32356	// HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value
32357	HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country"
32358
32359	// HeaderEnumHost is a HeaderEnum enum value
32360	HeaderEnumHost = "Host"
32361
32362	// HeaderEnumOrigin is a HeaderEnum enum value
32363	HeaderEnumOrigin = "Origin"
32364
32365	// HeaderEnumReferer is a HeaderEnum enum value
32366	HeaderEnumReferer = "Referer"
32367)
32368
32369// HeaderEnum_Values returns all elements of the HeaderEnum enum
32370func HeaderEnum_Values() []string {
32371	return []string{
32372		HeaderEnumAccept,
32373		HeaderEnumAcceptCharset,
32374		HeaderEnumAcceptDatetime,
32375		HeaderEnumAcceptEncoding,
32376		HeaderEnumAcceptLanguage,
32377		HeaderEnumAuthorization,
32378		HeaderEnumCloudFrontForwardedProto,
32379		HeaderEnumCloudFrontIsDesktopViewer,
32380		HeaderEnumCloudFrontIsMobileViewer,
32381		HeaderEnumCloudFrontIsSmartTvViewer,
32382		HeaderEnumCloudFrontIsTabletViewer,
32383		HeaderEnumCloudFrontViewerCountry,
32384		HeaderEnumHost,
32385		HeaderEnumOrigin,
32386		HeaderEnumReferer,
32387	}
32388}
32389
32390const (
32391	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
32392	InstanceAccessProtocolSsh = "ssh"
32393
32394	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
32395	InstanceAccessProtocolRdp = "rdp"
32396)
32397
32398// InstanceAccessProtocol_Values returns all elements of the InstanceAccessProtocol enum
32399func InstanceAccessProtocol_Values() []string {
32400	return []string{
32401		InstanceAccessProtocolSsh,
32402		InstanceAccessProtocolRdp,
32403	}
32404}
32405
32406const (
32407	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
32408	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
32409
32410	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
32411	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
32412
32413	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
32414	InstanceHealthReasonLbInternalError = "Lb.InternalError"
32415
32416	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
32417	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
32418
32419	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
32420	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
32421
32422	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
32423	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
32424
32425	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
32426	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
32427
32428	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
32429	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
32430
32431	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
32432	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
32433
32434	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
32435	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
32436
32437	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
32438	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
32439)
32440
32441// InstanceHealthReason_Values returns all elements of the InstanceHealthReason enum
32442func InstanceHealthReason_Values() []string {
32443	return []string{
32444		InstanceHealthReasonLbRegistrationInProgress,
32445		InstanceHealthReasonLbInitialHealthChecking,
32446		InstanceHealthReasonLbInternalError,
32447		InstanceHealthReasonInstanceResponseCodeMismatch,
32448		InstanceHealthReasonInstanceTimeout,
32449		InstanceHealthReasonInstanceFailedHealthChecks,
32450		InstanceHealthReasonInstanceNotRegistered,
32451		InstanceHealthReasonInstanceNotInUse,
32452		InstanceHealthReasonInstanceDeregistrationInProgress,
32453		InstanceHealthReasonInstanceInvalidState,
32454		InstanceHealthReasonInstanceIpUnusable,
32455	}
32456}
32457
32458const (
32459	// InstanceHealthStateInitial is a InstanceHealthState enum value
32460	InstanceHealthStateInitial = "initial"
32461
32462	// InstanceHealthStateHealthy is a InstanceHealthState enum value
32463	InstanceHealthStateHealthy = "healthy"
32464
32465	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
32466	InstanceHealthStateUnhealthy = "unhealthy"
32467
32468	// InstanceHealthStateUnused is a InstanceHealthState enum value
32469	InstanceHealthStateUnused = "unused"
32470
32471	// InstanceHealthStateDraining is a InstanceHealthState enum value
32472	InstanceHealthStateDraining = "draining"
32473
32474	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
32475	InstanceHealthStateUnavailable = "unavailable"
32476)
32477
32478// InstanceHealthState_Values returns all elements of the InstanceHealthState enum
32479func InstanceHealthState_Values() []string {
32480	return []string{
32481		InstanceHealthStateInitial,
32482		InstanceHealthStateHealthy,
32483		InstanceHealthStateUnhealthy,
32484		InstanceHealthStateUnused,
32485		InstanceHealthStateDraining,
32486		InstanceHealthStateUnavailable,
32487	}
32488}
32489
32490const (
32491	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
32492	InstanceMetricNameCpuutilization = "CPUUtilization"
32493
32494	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
32495	InstanceMetricNameNetworkIn = "NetworkIn"
32496
32497	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
32498	InstanceMetricNameNetworkOut = "NetworkOut"
32499
32500	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
32501	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
32502
32503	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
32504	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
32505
32506	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
32507	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
32508
32509	// InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value
32510	InstanceMetricNameBurstCapacityTime = "BurstCapacityTime"
32511
32512	// InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value
32513	InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
32514)
32515
32516// InstanceMetricName_Values returns all elements of the InstanceMetricName enum
32517func InstanceMetricName_Values() []string {
32518	return []string{
32519		InstanceMetricNameCpuutilization,
32520		InstanceMetricNameNetworkIn,
32521		InstanceMetricNameNetworkOut,
32522		InstanceMetricNameStatusCheckFailed,
32523		InstanceMetricNameStatusCheckFailedInstance,
32524		InstanceMetricNameStatusCheckFailedSystem,
32525		InstanceMetricNameBurstCapacityTime,
32526		InstanceMetricNameBurstCapacityPercentage,
32527	}
32528}
32529
32530const (
32531	// InstancePlatformLinuxUnix is a InstancePlatform enum value
32532	InstancePlatformLinuxUnix = "LINUX_UNIX"
32533
32534	// InstancePlatformWindows is a InstancePlatform enum value
32535	InstancePlatformWindows = "WINDOWS"
32536)
32537
32538// InstancePlatform_Values returns all elements of the InstancePlatform enum
32539func InstancePlatform_Values() []string {
32540	return []string{
32541		InstancePlatformLinuxUnix,
32542		InstancePlatformWindows,
32543	}
32544}
32545
32546const (
32547	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
32548	InstanceSnapshotStatePending = "pending"
32549
32550	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
32551	InstanceSnapshotStateError = "error"
32552
32553	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
32554	InstanceSnapshotStateAvailable = "available"
32555)
32556
32557// InstanceSnapshotState_Values returns all elements of the InstanceSnapshotState enum
32558func InstanceSnapshotState_Values() []string {
32559	return []string{
32560		InstanceSnapshotStatePending,
32561		InstanceSnapshotStateError,
32562		InstanceSnapshotStateAvailable,
32563	}
32564}
32565
32566const (
32567	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
32568	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
32569
32570	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
32571	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
32572
32573	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
32574	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
32575)
32576
32577// LoadBalancerAttributeName_Values returns all elements of the LoadBalancerAttributeName enum
32578func LoadBalancerAttributeName_Values() []string {
32579	return []string{
32580		LoadBalancerAttributeNameHealthCheckPath,
32581		LoadBalancerAttributeNameSessionStickinessEnabled,
32582		LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds,
32583	}
32584}
32585
32586const (
32587	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
32588	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
32589
32590	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
32591	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
32592
32593	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
32594	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
32595
32596	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
32597	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
32598
32599	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
32600	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
32601
32602	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
32603	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
32604
32605	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
32606	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
32607
32608	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
32609	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
32610
32611	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
32612	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
32613
32614	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
32615	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
32616
32617	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
32618	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
32619
32620	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
32621	LoadBalancerMetricNameRequestCount = "RequestCount"
32622)
32623
32624// LoadBalancerMetricName_Values returns all elements of the LoadBalancerMetricName enum
32625func LoadBalancerMetricName_Values() []string {
32626	return []string{
32627		LoadBalancerMetricNameClientTlsnegotiationErrorCount,
32628		LoadBalancerMetricNameHealthyHostCount,
32629		LoadBalancerMetricNameUnhealthyHostCount,
32630		LoadBalancerMetricNameHttpcodeLb4xxCount,
32631		LoadBalancerMetricNameHttpcodeLb5xxCount,
32632		LoadBalancerMetricNameHttpcodeInstance2xxCount,
32633		LoadBalancerMetricNameHttpcodeInstance3xxCount,
32634		LoadBalancerMetricNameHttpcodeInstance4xxCount,
32635		LoadBalancerMetricNameHttpcodeInstance5xxCount,
32636		LoadBalancerMetricNameInstanceResponseTime,
32637		LoadBalancerMetricNameRejectedConnectionCount,
32638		LoadBalancerMetricNameRequestCount,
32639	}
32640}
32641
32642const (
32643	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
32644	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
32645
32646	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
32647	LoadBalancerProtocolHttp = "HTTP"
32648)
32649
32650// LoadBalancerProtocol_Values returns all elements of the LoadBalancerProtocol enum
32651func LoadBalancerProtocol_Values() []string {
32652	return []string{
32653		LoadBalancerProtocolHttpHttps,
32654		LoadBalancerProtocolHttp,
32655	}
32656}
32657
32658const (
32659	// LoadBalancerStateActive is a LoadBalancerState enum value
32660	LoadBalancerStateActive = "active"
32661
32662	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
32663	LoadBalancerStateProvisioning = "provisioning"
32664
32665	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
32666	LoadBalancerStateActiveImpaired = "active_impaired"
32667
32668	// LoadBalancerStateFailed is a LoadBalancerState enum value
32669	LoadBalancerStateFailed = "failed"
32670
32671	// LoadBalancerStateUnknown is a LoadBalancerState enum value
32672	LoadBalancerStateUnknown = "unknown"
32673)
32674
32675// LoadBalancerState_Values returns all elements of the LoadBalancerState enum
32676func LoadBalancerState_Values() []string {
32677	return []string{
32678		LoadBalancerStateActive,
32679		LoadBalancerStateProvisioning,
32680		LoadBalancerStateActiveImpaired,
32681		LoadBalancerStateFailed,
32682		LoadBalancerStateUnknown,
32683	}
32684}
32685
32686const (
32687	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
32688	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
32689
32690	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
32691	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
32692
32693	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
32694	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
32695)
32696
32697// LoadBalancerTlsCertificateDomainStatus_Values returns all elements of the LoadBalancerTlsCertificateDomainStatus enum
32698func LoadBalancerTlsCertificateDomainStatus_Values() []string {
32699	return []string{
32700		LoadBalancerTlsCertificateDomainStatusPendingValidation,
32701		LoadBalancerTlsCertificateDomainStatusFailed,
32702		LoadBalancerTlsCertificateDomainStatusSuccess,
32703	}
32704}
32705
32706const (
32707	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
32708	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
32709
32710	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
32711	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
32712
32713	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
32714	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
32715
32716	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
32717	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
32718
32719	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
32720	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
32721)
32722
32723// LoadBalancerTlsCertificateFailureReason_Values returns all elements of the LoadBalancerTlsCertificateFailureReason enum
32724func LoadBalancerTlsCertificateFailureReason_Values() []string {
32725	return []string{
32726		LoadBalancerTlsCertificateFailureReasonNoAvailableContacts,
32727		LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired,
32728		LoadBalancerTlsCertificateFailureReasonDomainNotAllowed,
32729		LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain,
32730		LoadBalancerTlsCertificateFailureReasonOther,
32731	}
32732}
32733
32734const (
32735	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
32736	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
32737
32738	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
32739	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
32740
32741	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
32742	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
32743
32744	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
32745	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
32746)
32747
32748// LoadBalancerTlsCertificateRenewalStatus_Values returns all elements of the LoadBalancerTlsCertificateRenewalStatus enum
32749func LoadBalancerTlsCertificateRenewalStatus_Values() []string {
32750	return []string{
32751		LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal,
32752		LoadBalancerTlsCertificateRenewalStatusPendingValidation,
32753		LoadBalancerTlsCertificateRenewalStatusSuccess,
32754		LoadBalancerTlsCertificateRenewalStatusFailed,
32755	}
32756}
32757
32758const (
32759	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
32760	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
32761
32762	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
32763	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
32764
32765	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
32766	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
32767
32768	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
32769	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
32770
32771	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
32772	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
32773
32774	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
32775	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
32776
32777	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
32778	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
32779
32780	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
32781	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
32782
32783	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
32784	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
32785
32786	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
32787	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
32788)
32789
32790// LoadBalancerTlsCertificateRevocationReason_Values returns all elements of the LoadBalancerTlsCertificateRevocationReason enum
32791func LoadBalancerTlsCertificateRevocationReason_Values() []string {
32792	return []string{
32793		LoadBalancerTlsCertificateRevocationReasonUnspecified,
32794		LoadBalancerTlsCertificateRevocationReasonKeyCompromise,
32795		LoadBalancerTlsCertificateRevocationReasonCaCompromise,
32796		LoadBalancerTlsCertificateRevocationReasonAffiliationChanged,
32797		LoadBalancerTlsCertificateRevocationReasonSuperceded,
32798		LoadBalancerTlsCertificateRevocationReasonCessationOfOperation,
32799		LoadBalancerTlsCertificateRevocationReasonCertificateHold,
32800		LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl,
32801		LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn,
32802		LoadBalancerTlsCertificateRevocationReasonAACompromise,
32803	}
32804}
32805
32806const (
32807	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
32808	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
32809
32810	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
32811	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
32812
32813	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
32814	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
32815
32816	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
32817	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
32818
32819	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
32820	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
32821
32822	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
32823	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
32824
32825	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
32826	LoadBalancerTlsCertificateStatusFailed = "FAILED"
32827
32828	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
32829	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
32830)
32831
32832// LoadBalancerTlsCertificateStatus_Values returns all elements of the LoadBalancerTlsCertificateStatus enum
32833func LoadBalancerTlsCertificateStatus_Values() []string {
32834	return []string{
32835		LoadBalancerTlsCertificateStatusPendingValidation,
32836		LoadBalancerTlsCertificateStatusIssued,
32837		LoadBalancerTlsCertificateStatusInactive,
32838		LoadBalancerTlsCertificateStatusExpired,
32839		LoadBalancerTlsCertificateStatusValidationTimedOut,
32840		LoadBalancerTlsCertificateStatusRevoked,
32841		LoadBalancerTlsCertificateStatusFailed,
32842		LoadBalancerTlsCertificateStatusUnknown,
32843	}
32844}
32845
32846const (
32847	// MetricNameCpuutilization is a MetricName enum value
32848	MetricNameCpuutilization = "CPUUtilization"
32849
32850	// MetricNameNetworkIn is a MetricName enum value
32851	MetricNameNetworkIn = "NetworkIn"
32852
32853	// MetricNameNetworkOut is a MetricName enum value
32854	MetricNameNetworkOut = "NetworkOut"
32855
32856	// MetricNameStatusCheckFailed is a MetricName enum value
32857	MetricNameStatusCheckFailed = "StatusCheckFailed"
32858
32859	// MetricNameStatusCheckFailedInstance is a MetricName enum value
32860	MetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
32861
32862	// MetricNameStatusCheckFailedSystem is a MetricName enum value
32863	MetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
32864
32865	// MetricNameClientTlsnegotiationErrorCount is a MetricName enum value
32866	MetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
32867
32868	// MetricNameHealthyHostCount is a MetricName enum value
32869	MetricNameHealthyHostCount = "HealthyHostCount"
32870
32871	// MetricNameUnhealthyHostCount is a MetricName enum value
32872	MetricNameUnhealthyHostCount = "UnhealthyHostCount"
32873
32874	// MetricNameHttpcodeLb4xxCount is a MetricName enum value
32875	MetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
32876
32877	// MetricNameHttpcodeLb5xxCount is a MetricName enum value
32878	MetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
32879
32880	// MetricNameHttpcodeInstance2xxCount is a MetricName enum value
32881	MetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
32882
32883	// MetricNameHttpcodeInstance3xxCount is a MetricName enum value
32884	MetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
32885
32886	// MetricNameHttpcodeInstance4xxCount is a MetricName enum value
32887	MetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
32888
32889	// MetricNameHttpcodeInstance5xxCount is a MetricName enum value
32890	MetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
32891
32892	// MetricNameInstanceResponseTime is a MetricName enum value
32893	MetricNameInstanceResponseTime = "InstanceResponseTime"
32894
32895	// MetricNameRejectedConnectionCount is a MetricName enum value
32896	MetricNameRejectedConnectionCount = "RejectedConnectionCount"
32897
32898	// MetricNameRequestCount is a MetricName enum value
32899	MetricNameRequestCount = "RequestCount"
32900
32901	// MetricNameDatabaseConnections is a MetricName enum value
32902	MetricNameDatabaseConnections = "DatabaseConnections"
32903
32904	// MetricNameDiskQueueDepth is a MetricName enum value
32905	MetricNameDiskQueueDepth = "DiskQueueDepth"
32906
32907	// MetricNameFreeStorageSpace is a MetricName enum value
32908	MetricNameFreeStorageSpace = "FreeStorageSpace"
32909
32910	// MetricNameNetworkReceiveThroughput is a MetricName enum value
32911	MetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
32912
32913	// MetricNameNetworkTransmitThroughput is a MetricName enum value
32914	MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
32915
32916	// MetricNameBurstCapacityTime is a MetricName enum value
32917	MetricNameBurstCapacityTime = "BurstCapacityTime"
32918
32919	// MetricNameBurstCapacityPercentage is a MetricName enum value
32920	MetricNameBurstCapacityPercentage = "BurstCapacityPercentage"
32921)
32922
32923// MetricName_Values returns all elements of the MetricName enum
32924func MetricName_Values() []string {
32925	return []string{
32926		MetricNameCpuutilization,
32927		MetricNameNetworkIn,
32928		MetricNameNetworkOut,
32929		MetricNameStatusCheckFailed,
32930		MetricNameStatusCheckFailedInstance,
32931		MetricNameStatusCheckFailedSystem,
32932		MetricNameClientTlsnegotiationErrorCount,
32933		MetricNameHealthyHostCount,
32934		MetricNameUnhealthyHostCount,
32935		MetricNameHttpcodeLb4xxCount,
32936		MetricNameHttpcodeLb5xxCount,
32937		MetricNameHttpcodeInstance2xxCount,
32938		MetricNameHttpcodeInstance3xxCount,
32939		MetricNameHttpcodeInstance4xxCount,
32940		MetricNameHttpcodeInstance5xxCount,
32941		MetricNameInstanceResponseTime,
32942		MetricNameRejectedConnectionCount,
32943		MetricNameRequestCount,
32944		MetricNameDatabaseConnections,
32945		MetricNameDiskQueueDepth,
32946		MetricNameFreeStorageSpace,
32947		MetricNameNetworkReceiveThroughput,
32948		MetricNameNetworkTransmitThroughput,
32949		MetricNameBurstCapacityTime,
32950		MetricNameBurstCapacityPercentage,
32951	}
32952}
32953
32954const (
32955	// MetricStatisticMinimum is a MetricStatistic enum value
32956	MetricStatisticMinimum = "Minimum"
32957
32958	// MetricStatisticMaximum is a MetricStatistic enum value
32959	MetricStatisticMaximum = "Maximum"
32960
32961	// MetricStatisticSum is a MetricStatistic enum value
32962	MetricStatisticSum = "Sum"
32963
32964	// MetricStatisticAverage is a MetricStatistic enum value
32965	MetricStatisticAverage = "Average"
32966
32967	// MetricStatisticSampleCount is a MetricStatistic enum value
32968	MetricStatisticSampleCount = "SampleCount"
32969)
32970
32971// MetricStatistic_Values returns all elements of the MetricStatistic enum
32972func MetricStatistic_Values() []string {
32973	return []string{
32974		MetricStatisticMinimum,
32975		MetricStatisticMaximum,
32976		MetricStatisticSum,
32977		MetricStatisticAverage,
32978		MetricStatisticSampleCount,
32979	}
32980}
32981
32982const (
32983	// MetricUnitSeconds is a MetricUnit enum value
32984	MetricUnitSeconds = "Seconds"
32985
32986	// MetricUnitMicroseconds is a MetricUnit enum value
32987	MetricUnitMicroseconds = "Microseconds"
32988
32989	// MetricUnitMilliseconds is a MetricUnit enum value
32990	MetricUnitMilliseconds = "Milliseconds"
32991
32992	// MetricUnitBytes is a MetricUnit enum value
32993	MetricUnitBytes = "Bytes"
32994
32995	// MetricUnitKilobytes is a MetricUnit enum value
32996	MetricUnitKilobytes = "Kilobytes"
32997
32998	// MetricUnitMegabytes is a MetricUnit enum value
32999	MetricUnitMegabytes = "Megabytes"
33000
33001	// MetricUnitGigabytes is a MetricUnit enum value
33002	MetricUnitGigabytes = "Gigabytes"
33003
33004	// MetricUnitTerabytes is a MetricUnit enum value
33005	MetricUnitTerabytes = "Terabytes"
33006
33007	// MetricUnitBits is a MetricUnit enum value
33008	MetricUnitBits = "Bits"
33009
33010	// MetricUnitKilobits is a MetricUnit enum value
33011	MetricUnitKilobits = "Kilobits"
33012
33013	// MetricUnitMegabits is a MetricUnit enum value
33014	MetricUnitMegabits = "Megabits"
33015
33016	// MetricUnitGigabits is a MetricUnit enum value
33017	MetricUnitGigabits = "Gigabits"
33018
33019	// MetricUnitTerabits is a MetricUnit enum value
33020	MetricUnitTerabits = "Terabits"
33021
33022	// MetricUnitPercent is a MetricUnit enum value
33023	MetricUnitPercent = "Percent"
33024
33025	// MetricUnitCount is a MetricUnit enum value
33026	MetricUnitCount = "Count"
33027
33028	// MetricUnitBytesSecond is a MetricUnit enum value
33029	MetricUnitBytesSecond = "Bytes/Second"
33030
33031	// MetricUnitKilobytesSecond is a MetricUnit enum value
33032	MetricUnitKilobytesSecond = "Kilobytes/Second"
33033
33034	// MetricUnitMegabytesSecond is a MetricUnit enum value
33035	MetricUnitMegabytesSecond = "Megabytes/Second"
33036
33037	// MetricUnitGigabytesSecond is a MetricUnit enum value
33038	MetricUnitGigabytesSecond = "Gigabytes/Second"
33039
33040	// MetricUnitTerabytesSecond is a MetricUnit enum value
33041	MetricUnitTerabytesSecond = "Terabytes/Second"
33042
33043	// MetricUnitBitsSecond is a MetricUnit enum value
33044	MetricUnitBitsSecond = "Bits/Second"
33045
33046	// MetricUnitKilobitsSecond is a MetricUnit enum value
33047	MetricUnitKilobitsSecond = "Kilobits/Second"
33048
33049	// MetricUnitMegabitsSecond is a MetricUnit enum value
33050	MetricUnitMegabitsSecond = "Megabits/Second"
33051
33052	// MetricUnitGigabitsSecond is a MetricUnit enum value
33053	MetricUnitGigabitsSecond = "Gigabits/Second"
33054
33055	// MetricUnitTerabitsSecond is a MetricUnit enum value
33056	MetricUnitTerabitsSecond = "Terabits/Second"
33057
33058	// MetricUnitCountSecond is a MetricUnit enum value
33059	MetricUnitCountSecond = "Count/Second"
33060
33061	// MetricUnitNone is a MetricUnit enum value
33062	MetricUnitNone = "None"
33063)
33064
33065// MetricUnit_Values returns all elements of the MetricUnit enum
33066func MetricUnit_Values() []string {
33067	return []string{
33068		MetricUnitSeconds,
33069		MetricUnitMicroseconds,
33070		MetricUnitMilliseconds,
33071		MetricUnitBytes,
33072		MetricUnitKilobytes,
33073		MetricUnitMegabytes,
33074		MetricUnitGigabytes,
33075		MetricUnitTerabytes,
33076		MetricUnitBits,
33077		MetricUnitKilobits,
33078		MetricUnitMegabits,
33079		MetricUnitGigabits,
33080		MetricUnitTerabits,
33081		MetricUnitPercent,
33082		MetricUnitCount,
33083		MetricUnitBytesSecond,
33084		MetricUnitKilobytesSecond,
33085		MetricUnitMegabytesSecond,
33086		MetricUnitGigabytesSecond,
33087		MetricUnitTerabytesSecond,
33088		MetricUnitBitsSecond,
33089		MetricUnitKilobitsSecond,
33090		MetricUnitMegabitsSecond,
33091		MetricUnitGigabitsSecond,
33092		MetricUnitTerabitsSecond,
33093		MetricUnitCountSecond,
33094		MetricUnitNone,
33095	}
33096}
33097
33098const (
33099	// NetworkProtocolTcp is a NetworkProtocol enum value
33100	NetworkProtocolTcp = "tcp"
33101
33102	// NetworkProtocolAll is a NetworkProtocol enum value
33103	NetworkProtocolAll = "all"
33104
33105	// NetworkProtocolUdp is a NetworkProtocol enum value
33106	NetworkProtocolUdp = "udp"
33107
33108	// NetworkProtocolIcmp is a NetworkProtocol enum value
33109	NetworkProtocolIcmp = "icmp"
33110)
33111
33112// NetworkProtocol_Values returns all elements of the NetworkProtocol enum
33113func NetworkProtocol_Values() []string {
33114	return []string{
33115		NetworkProtocolTcp,
33116		NetworkProtocolAll,
33117		NetworkProtocolUdp,
33118		NetworkProtocolIcmp,
33119	}
33120}
33121
33122const (
33123	// OperationStatusNotStarted is a OperationStatus enum value
33124	OperationStatusNotStarted = "NotStarted"
33125
33126	// OperationStatusStarted is a OperationStatus enum value
33127	OperationStatusStarted = "Started"
33128
33129	// OperationStatusFailed is a OperationStatus enum value
33130	OperationStatusFailed = "Failed"
33131
33132	// OperationStatusCompleted is a OperationStatus enum value
33133	OperationStatusCompleted = "Completed"
33134
33135	// OperationStatusSucceeded is a OperationStatus enum value
33136	OperationStatusSucceeded = "Succeeded"
33137)
33138
33139// OperationStatus_Values returns all elements of the OperationStatus enum
33140func OperationStatus_Values() []string {
33141	return []string{
33142		OperationStatusNotStarted,
33143		OperationStatusStarted,
33144		OperationStatusFailed,
33145		OperationStatusCompleted,
33146		OperationStatusSucceeded,
33147	}
33148}
33149
33150const (
33151	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
33152	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
33153
33154	// OperationTypeDeleteInstance is a OperationType enum value
33155	OperationTypeDeleteInstance = "DeleteInstance"
33156
33157	// OperationTypeCreateInstance is a OperationType enum value
33158	OperationTypeCreateInstance = "CreateInstance"
33159
33160	// OperationTypeStopInstance is a OperationType enum value
33161	OperationTypeStopInstance = "StopInstance"
33162
33163	// OperationTypeStartInstance is a OperationType enum value
33164	OperationTypeStartInstance = "StartInstance"
33165
33166	// OperationTypeRebootInstance is a OperationType enum value
33167	OperationTypeRebootInstance = "RebootInstance"
33168
33169	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
33170	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
33171
33172	// OperationTypePutInstancePublicPorts is a OperationType enum value
33173	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
33174
33175	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
33176	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
33177
33178	// OperationTypeAllocateStaticIp is a OperationType enum value
33179	OperationTypeAllocateStaticIp = "AllocateStaticIp"
33180
33181	// OperationTypeReleaseStaticIp is a OperationType enum value
33182	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
33183
33184	// OperationTypeAttachStaticIp is a OperationType enum value
33185	OperationTypeAttachStaticIp = "AttachStaticIp"
33186
33187	// OperationTypeDetachStaticIp is a OperationType enum value
33188	OperationTypeDetachStaticIp = "DetachStaticIp"
33189
33190	// OperationTypeUpdateDomainEntry is a OperationType enum value
33191	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
33192
33193	// OperationTypeDeleteDomainEntry is a OperationType enum value
33194	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
33195
33196	// OperationTypeCreateDomain is a OperationType enum value
33197	OperationTypeCreateDomain = "CreateDomain"
33198
33199	// OperationTypeDeleteDomain is a OperationType enum value
33200	OperationTypeDeleteDomain = "DeleteDomain"
33201
33202	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
33203	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
33204
33205	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
33206	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
33207
33208	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
33209	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
33210
33211	// OperationTypeCreateLoadBalancer is a OperationType enum value
33212	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
33213
33214	// OperationTypeDeleteLoadBalancer is a OperationType enum value
33215	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
33216
33217	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
33218	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
33219
33220	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
33221	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
33222
33223	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
33224	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
33225
33226	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
33227	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
33228
33229	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
33230	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
33231
33232	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
33233	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
33234
33235	// OperationTypeCreateDisk is a OperationType enum value
33236	OperationTypeCreateDisk = "CreateDisk"
33237
33238	// OperationTypeDeleteDisk is a OperationType enum value
33239	OperationTypeDeleteDisk = "DeleteDisk"
33240
33241	// OperationTypeAttachDisk is a OperationType enum value
33242	OperationTypeAttachDisk = "AttachDisk"
33243
33244	// OperationTypeDetachDisk is a OperationType enum value
33245	OperationTypeDetachDisk = "DetachDisk"
33246
33247	// OperationTypeCreateDiskSnapshot is a OperationType enum value
33248	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
33249
33250	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
33251	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
33252
33253	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
33254	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
33255
33256	// OperationTypeCreateRelationalDatabase is a OperationType enum value
33257	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
33258
33259	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
33260	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
33261
33262	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
33263	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
33264
33265	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
33266	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
33267
33268	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
33269	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
33270
33271	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
33272	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
33273
33274	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
33275	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
33276
33277	// OperationTypeStartRelationalDatabase is a OperationType enum value
33278	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
33279
33280	// OperationTypeRebootRelationalDatabase is a OperationType enum value
33281	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
33282
33283	// OperationTypeStopRelationalDatabase is a OperationType enum value
33284	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
33285
33286	// OperationTypeEnableAddOn is a OperationType enum value
33287	OperationTypeEnableAddOn = "EnableAddOn"
33288
33289	// OperationTypeDisableAddOn is a OperationType enum value
33290	OperationTypeDisableAddOn = "DisableAddOn"
33291
33292	// OperationTypePutAlarm is a OperationType enum value
33293	OperationTypePutAlarm = "PutAlarm"
33294
33295	// OperationTypeGetAlarms is a OperationType enum value
33296	OperationTypeGetAlarms = "GetAlarms"
33297
33298	// OperationTypeDeleteAlarm is a OperationType enum value
33299	OperationTypeDeleteAlarm = "DeleteAlarm"
33300
33301	// OperationTypeTestAlarm is a OperationType enum value
33302	OperationTypeTestAlarm = "TestAlarm"
33303
33304	// OperationTypeCreateContactMethod is a OperationType enum value
33305	OperationTypeCreateContactMethod = "CreateContactMethod"
33306
33307	// OperationTypeGetContactMethods is a OperationType enum value
33308	OperationTypeGetContactMethods = "GetContactMethods"
33309
33310	// OperationTypeSendContactMethodVerification is a OperationType enum value
33311	OperationTypeSendContactMethodVerification = "SendContactMethodVerification"
33312
33313	// OperationTypeDeleteContactMethod is a OperationType enum value
33314	OperationTypeDeleteContactMethod = "DeleteContactMethod"
33315
33316	// OperationTypeCreateDistribution is a OperationType enum value
33317	OperationTypeCreateDistribution = "CreateDistribution"
33318
33319	// OperationTypeUpdateDistribution is a OperationType enum value
33320	OperationTypeUpdateDistribution = "UpdateDistribution"
33321
33322	// OperationTypeDeleteDistribution is a OperationType enum value
33323	OperationTypeDeleteDistribution = "DeleteDistribution"
33324
33325	// OperationTypeResetDistributionCache is a OperationType enum value
33326	OperationTypeResetDistributionCache = "ResetDistributionCache"
33327
33328	// OperationTypeAttachCertificateToDistribution is a OperationType enum value
33329	OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution"
33330
33331	// OperationTypeDetachCertificateFromDistribution is a OperationType enum value
33332	OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution"
33333
33334	// OperationTypeUpdateDistributionBundle is a OperationType enum value
33335	OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle"
33336
33337	// OperationTypeCreateCertificate is a OperationType enum value
33338	OperationTypeCreateCertificate = "CreateCertificate"
33339
33340	// OperationTypeDeleteCertificate is a OperationType enum value
33341	OperationTypeDeleteCertificate = "DeleteCertificate"
33342)
33343
33344// OperationType_Values returns all elements of the OperationType enum
33345func OperationType_Values() []string {
33346	return []string{
33347		OperationTypeDeleteKnownHostKeys,
33348		OperationTypeDeleteInstance,
33349		OperationTypeCreateInstance,
33350		OperationTypeStopInstance,
33351		OperationTypeStartInstance,
33352		OperationTypeRebootInstance,
33353		OperationTypeOpenInstancePublicPorts,
33354		OperationTypePutInstancePublicPorts,
33355		OperationTypeCloseInstancePublicPorts,
33356		OperationTypeAllocateStaticIp,
33357		OperationTypeReleaseStaticIp,
33358		OperationTypeAttachStaticIp,
33359		OperationTypeDetachStaticIp,
33360		OperationTypeUpdateDomainEntry,
33361		OperationTypeDeleteDomainEntry,
33362		OperationTypeCreateDomain,
33363		OperationTypeDeleteDomain,
33364		OperationTypeCreateInstanceSnapshot,
33365		OperationTypeDeleteInstanceSnapshot,
33366		OperationTypeCreateInstancesFromSnapshot,
33367		OperationTypeCreateLoadBalancer,
33368		OperationTypeDeleteLoadBalancer,
33369		OperationTypeAttachInstancesToLoadBalancer,
33370		OperationTypeDetachInstancesFromLoadBalancer,
33371		OperationTypeUpdateLoadBalancerAttribute,
33372		OperationTypeCreateLoadBalancerTlsCertificate,
33373		OperationTypeDeleteLoadBalancerTlsCertificate,
33374		OperationTypeAttachLoadBalancerTlsCertificate,
33375		OperationTypeCreateDisk,
33376		OperationTypeDeleteDisk,
33377		OperationTypeAttachDisk,
33378		OperationTypeDetachDisk,
33379		OperationTypeCreateDiskSnapshot,
33380		OperationTypeDeleteDiskSnapshot,
33381		OperationTypeCreateDiskFromSnapshot,
33382		OperationTypeCreateRelationalDatabase,
33383		OperationTypeUpdateRelationalDatabase,
33384		OperationTypeDeleteRelationalDatabase,
33385		OperationTypeCreateRelationalDatabaseFromSnapshot,
33386		OperationTypeCreateRelationalDatabaseSnapshot,
33387		OperationTypeDeleteRelationalDatabaseSnapshot,
33388		OperationTypeUpdateRelationalDatabaseParameters,
33389		OperationTypeStartRelationalDatabase,
33390		OperationTypeRebootRelationalDatabase,
33391		OperationTypeStopRelationalDatabase,
33392		OperationTypeEnableAddOn,
33393		OperationTypeDisableAddOn,
33394		OperationTypePutAlarm,
33395		OperationTypeGetAlarms,
33396		OperationTypeDeleteAlarm,
33397		OperationTypeTestAlarm,
33398		OperationTypeCreateContactMethod,
33399		OperationTypeGetContactMethods,
33400		OperationTypeSendContactMethodVerification,
33401		OperationTypeDeleteContactMethod,
33402		OperationTypeCreateDistribution,
33403		OperationTypeUpdateDistribution,
33404		OperationTypeDeleteDistribution,
33405		OperationTypeResetDistributionCache,
33406		OperationTypeAttachCertificateToDistribution,
33407		OperationTypeDetachCertificateFromDistribution,
33408		OperationTypeUpdateDistributionBundle,
33409		OperationTypeCreateCertificate,
33410		OperationTypeDeleteCertificate,
33411	}
33412}
33413
33414const (
33415	// OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value
33416	OriginProtocolPolicyEnumHttpOnly = "http-only"
33417
33418	// OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value
33419	OriginProtocolPolicyEnumHttpsOnly = "https-only"
33420)
33421
33422// OriginProtocolPolicyEnum_Values returns all elements of the OriginProtocolPolicyEnum enum
33423func OriginProtocolPolicyEnum_Values() []string {
33424	return []string{
33425		OriginProtocolPolicyEnumHttpOnly,
33426		OriginProtocolPolicyEnumHttpsOnly,
33427	}
33428}
33429
33430const (
33431	// PortAccessTypePublic is a PortAccessType enum value
33432	PortAccessTypePublic = "Public"
33433
33434	// PortAccessTypePrivate is a PortAccessType enum value
33435	PortAccessTypePrivate = "Private"
33436)
33437
33438// PortAccessType_Values returns all elements of the PortAccessType enum
33439func PortAccessType_Values() []string {
33440	return []string{
33441		PortAccessTypePublic,
33442		PortAccessTypePrivate,
33443	}
33444}
33445
33446const (
33447	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
33448	PortInfoSourceTypeDefault = "DEFAULT"
33449
33450	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
33451	PortInfoSourceTypeInstance = "INSTANCE"
33452
33453	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
33454	PortInfoSourceTypeNone = "NONE"
33455
33456	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
33457	PortInfoSourceTypeClosed = "CLOSED"
33458)
33459
33460// PortInfoSourceType_Values returns all elements of the PortInfoSourceType enum
33461func PortInfoSourceType_Values() []string {
33462	return []string{
33463		PortInfoSourceTypeDefault,
33464		PortInfoSourceTypeInstance,
33465		PortInfoSourceTypeNone,
33466		PortInfoSourceTypeClosed,
33467	}
33468}
33469
33470const (
33471	// PortStateOpen is a PortState enum value
33472	PortStateOpen = "open"
33473
33474	// PortStateClosed is a PortState enum value
33475	PortStateClosed = "closed"
33476)
33477
33478// PortState_Values returns all elements of the PortState enum
33479func PortState_Values() []string {
33480	return []string{
33481		PortStateOpen,
33482		PortStateClosed,
33483	}
33484}
33485
33486const (
33487	// RecordStateStarted is a RecordState enum value
33488	RecordStateStarted = "Started"
33489
33490	// RecordStateSucceeded is a RecordState enum value
33491	RecordStateSucceeded = "Succeeded"
33492
33493	// RecordStateFailed is a RecordState enum value
33494	RecordStateFailed = "Failed"
33495)
33496
33497// RecordState_Values returns all elements of the RecordState enum
33498func RecordState_Values() []string {
33499	return []string{
33500		RecordStateStarted,
33501		RecordStateSucceeded,
33502		RecordStateFailed,
33503	}
33504}
33505
33506const (
33507	// RegionNameUsEast1 is a RegionName enum value
33508	RegionNameUsEast1 = "us-east-1"
33509
33510	// RegionNameUsEast2 is a RegionName enum value
33511	RegionNameUsEast2 = "us-east-2"
33512
33513	// RegionNameUsWest1 is a RegionName enum value
33514	RegionNameUsWest1 = "us-west-1"
33515
33516	// RegionNameUsWest2 is a RegionName enum value
33517	RegionNameUsWest2 = "us-west-2"
33518
33519	// RegionNameEuWest1 is a RegionName enum value
33520	RegionNameEuWest1 = "eu-west-1"
33521
33522	// RegionNameEuWest2 is a RegionName enum value
33523	RegionNameEuWest2 = "eu-west-2"
33524
33525	// RegionNameEuWest3 is a RegionName enum value
33526	RegionNameEuWest3 = "eu-west-3"
33527
33528	// RegionNameEuCentral1 is a RegionName enum value
33529	RegionNameEuCentral1 = "eu-central-1"
33530
33531	// RegionNameCaCentral1 is a RegionName enum value
33532	RegionNameCaCentral1 = "ca-central-1"
33533
33534	// RegionNameApSouth1 is a RegionName enum value
33535	RegionNameApSouth1 = "ap-south-1"
33536
33537	// RegionNameApSoutheast1 is a RegionName enum value
33538	RegionNameApSoutheast1 = "ap-southeast-1"
33539
33540	// RegionNameApSoutheast2 is a RegionName enum value
33541	RegionNameApSoutheast2 = "ap-southeast-2"
33542
33543	// RegionNameApNortheast1 is a RegionName enum value
33544	RegionNameApNortheast1 = "ap-northeast-1"
33545
33546	// RegionNameApNortheast2 is a RegionName enum value
33547	RegionNameApNortheast2 = "ap-northeast-2"
33548)
33549
33550// RegionName_Values returns all elements of the RegionName enum
33551func RegionName_Values() []string {
33552	return []string{
33553		RegionNameUsEast1,
33554		RegionNameUsEast2,
33555		RegionNameUsWest1,
33556		RegionNameUsWest2,
33557		RegionNameEuWest1,
33558		RegionNameEuWest2,
33559		RegionNameEuWest3,
33560		RegionNameEuCentral1,
33561		RegionNameCaCentral1,
33562		RegionNameApSouth1,
33563		RegionNameApSoutheast1,
33564		RegionNameApSoutheast2,
33565		RegionNameApNortheast1,
33566		RegionNameApNortheast2,
33567	}
33568}
33569
33570const (
33571	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
33572	RelationalDatabaseEngineMysql = "mysql"
33573)
33574
33575// RelationalDatabaseEngine_Values returns all elements of the RelationalDatabaseEngine enum
33576func RelationalDatabaseEngine_Values() []string {
33577	return []string{
33578		RelationalDatabaseEngineMysql,
33579	}
33580}
33581
33582const (
33583	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
33584	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
33585
33586	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
33587	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
33588
33589	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
33590	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
33591
33592	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
33593	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
33594
33595	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
33596	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
33597
33598	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
33599	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
33600)
33601
33602// RelationalDatabaseMetricName_Values returns all elements of the RelationalDatabaseMetricName enum
33603func RelationalDatabaseMetricName_Values() []string {
33604	return []string{
33605		RelationalDatabaseMetricNameCpuutilization,
33606		RelationalDatabaseMetricNameDatabaseConnections,
33607		RelationalDatabaseMetricNameDiskQueueDepth,
33608		RelationalDatabaseMetricNameFreeStorageSpace,
33609		RelationalDatabaseMetricNameNetworkReceiveThroughput,
33610		RelationalDatabaseMetricNameNetworkTransmitThroughput,
33611	}
33612}
33613
33614const (
33615	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
33616	RelationalDatabasePasswordVersionCurrent = "CURRENT"
33617
33618	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
33619	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
33620
33621	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
33622	RelationalDatabasePasswordVersionPending = "PENDING"
33623)
33624
33625// RelationalDatabasePasswordVersion_Values returns all elements of the RelationalDatabasePasswordVersion enum
33626func RelationalDatabasePasswordVersion_Values() []string {
33627	return []string{
33628		RelationalDatabasePasswordVersionCurrent,
33629		RelationalDatabasePasswordVersionPrevious,
33630		RelationalDatabasePasswordVersionPending,
33631	}
33632}
33633
33634const (
33635	// RenewalStatusPendingAutoRenewal is a RenewalStatus enum value
33636	RenewalStatusPendingAutoRenewal = "PendingAutoRenewal"
33637
33638	// RenewalStatusPendingValidation is a RenewalStatus enum value
33639	RenewalStatusPendingValidation = "PendingValidation"
33640
33641	// RenewalStatusSuccess is a RenewalStatus enum value
33642	RenewalStatusSuccess = "Success"
33643
33644	// RenewalStatusFailed is a RenewalStatus enum value
33645	RenewalStatusFailed = "Failed"
33646)
33647
33648// RenewalStatus_Values returns all elements of the RenewalStatus enum
33649func RenewalStatus_Values() []string {
33650	return []string{
33651		RenewalStatusPendingAutoRenewal,
33652		RenewalStatusPendingValidation,
33653		RenewalStatusSuccess,
33654		RenewalStatusFailed,
33655	}
33656}
33657
33658const (
33659	// ResourceTypeInstance is a ResourceType enum value
33660	ResourceTypeInstance = "Instance"
33661
33662	// ResourceTypeStaticIp is a ResourceType enum value
33663	ResourceTypeStaticIp = "StaticIp"
33664
33665	// ResourceTypeKeyPair is a ResourceType enum value
33666	ResourceTypeKeyPair = "KeyPair"
33667
33668	// ResourceTypeInstanceSnapshot is a ResourceType enum value
33669	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
33670
33671	// ResourceTypeDomain is a ResourceType enum value
33672	ResourceTypeDomain = "Domain"
33673
33674	// ResourceTypePeeredVpc is a ResourceType enum value
33675	ResourceTypePeeredVpc = "PeeredVpc"
33676
33677	// ResourceTypeLoadBalancer is a ResourceType enum value
33678	ResourceTypeLoadBalancer = "LoadBalancer"
33679
33680	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
33681	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
33682
33683	// ResourceTypeDisk is a ResourceType enum value
33684	ResourceTypeDisk = "Disk"
33685
33686	// ResourceTypeDiskSnapshot is a ResourceType enum value
33687	ResourceTypeDiskSnapshot = "DiskSnapshot"
33688
33689	// ResourceTypeRelationalDatabase is a ResourceType enum value
33690	ResourceTypeRelationalDatabase = "RelationalDatabase"
33691
33692	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
33693	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
33694
33695	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
33696	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
33697
33698	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
33699	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
33700
33701	// ResourceTypeAlarm is a ResourceType enum value
33702	ResourceTypeAlarm = "Alarm"
33703
33704	// ResourceTypeContactMethod is a ResourceType enum value
33705	ResourceTypeContactMethod = "ContactMethod"
33706
33707	// ResourceTypeDistribution is a ResourceType enum value
33708	ResourceTypeDistribution = "Distribution"
33709
33710	// ResourceTypeCertificate is a ResourceType enum value
33711	ResourceTypeCertificate = "Certificate"
33712)
33713
33714// ResourceType_Values returns all elements of the ResourceType enum
33715func ResourceType_Values() []string {
33716	return []string{
33717		ResourceTypeInstance,
33718		ResourceTypeStaticIp,
33719		ResourceTypeKeyPair,
33720		ResourceTypeInstanceSnapshot,
33721		ResourceTypeDomain,
33722		ResourceTypePeeredVpc,
33723		ResourceTypeLoadBalancer,
33724		ResourceTypeLoadBalancerTlsCertificate,
33725		ResourceTypeDisk,
33726		ResourceTypeDiskSnapshot,
33727		ResourceTypeRelationalDatabase,
33728		ResourceTypeRelationalDatabaseSnapshot,
33729		ResourceTypeExportSnapshotRecord,
33730		ResourceTypeCloudFormationStackRecord,
33731		ResourceTypeAlarm,
33732		ResourceTypeContactMethod,
33733		ResourceTypeDistribution,
33734		ResourceTypeCertificate,
33735	}
33736}
33737
33738const (
33739	// TreatMissingDataBreaching is a TreatMissingData enum value
33740	TreatMissingDataBreaching = "breaching"
33741
33742	// TreatMissingDataNotBreaching is a TreatMissingData enum value
33743	TreatMissingDataNotBreaching = "notBreaching"
33744
33745	// TreatMissingDataIgnore is a TreatMissingData enum value
33746	TreatMissingDataIgnore = "ignore"
33747
33748	// TreatMissingDataMissing is a TreatMissingData enum value
33749	TreatMissingDataMissing = "missing"
33750)
33751
33752// TreatMissingData_Values returns all elements of the TreatMissingData enum
33753func TreatMissingData_Values() []string {
33754	return []string{
33755		TreatMissingDataBreaching,
33756		TreatMissingDataNotBreaching,
33757		TreatMissingDataIgnore,
33758		TreatMissingDataMissing,
33759	}
33760}
33761