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)
13
14const opAllocateStaticIp = "AllocateStaticIp"
15
16// AllocateStaticIpRequest generates a "aws/request.Request" representing the
17// client's request for the AllocateStaticIp operation. The "output" return
18// value will be populated with the request's response once the request completes
19// successfully.
20//
21// Use "Send" method on the returned Request to send the API call to the service.
22// the "output" return value is not valid until after Send returns without error.
23//
24// See AllocateStaticIp for more information on using the AllocateStaticIp
25// API call, and error handling.
26//
27// This method is useful when you want to inject custom logic or configuration
28// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29//
30//
31//    // Example sending a request using the AllocateStaticIpRequest method.
32//    req, resp := client.AllocateStaticIpRequest(params)
33//
34//    err := req.Send()
35//    if err == nil { // resp is now filled
36//        fmt.Println(resp)
37//    }
38//
39// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
40func (c *Lightsail) AllocateStaticIpRequest(input *AllocateStaticIpInput) (req *request.Request, output *AllocateStaticIpOutput) {
41	op := &request.Operation{
42		Name:       opAllocateStaticIp,
43		HTTPMethod: "POST",
44		HTTPPath:   "/",
45	}
46
47	if input == nil {
48		input = &AllocateStaticIpInput{}
49	}
50
51	output = &AllocateStaticIpOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// AllocateStaticIp API operation for Amazon Lightsail.
57//
58// Allocates a static IP address.
59//
60// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
61// with awserr.Error's Code and Message methods to get detailed information about
62// the error.
63//
64// See the AWS API reference guide for Amazon Lightsail's
65// API operation AllocateStaticIp for usage and error information.
66//
67// Returned Error Codes:
68//   * ErrCodeServiceException "ServiceException"
69//   A general service exception.
70//
71//   * ErrCodeInvalidInputException "InvalidInputException"
72//   Lightsail throws this exception when user input does not conform to the validation
73//   rules of an input field.
74//
75//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
76//   Please set your AWS Region configuration to us-east-1 to create, view, or
77//   edit these resources.
78//
79//   * ErrCodeNotFoundException "NotFoundException"
80//   Lightsail throws this exception when it cannot find a resource.
81//
82//   * ErrCodeOperationFailureException "OperationFailureException"
83//   Lightsail throws this exception when an operation fails to execute.
84//
85//   * ErrCodeAccessDeniedException "AccessDeniedException"
86//   Lightsail throws this exception when the user cannot be authenticated or
87//   uses invalid credentials to access a resource.
88//
89//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
90//   Lightsail throws this exception when an account is still in the setup in
91//   progress state.
92//
93//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
94//   Lightsail throws this exception when the user has not been authenticated.
95//
96// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AllocateStaticIp
97func (c *Lightsail) AllocateStaticIp(input *AllocateStaticIpInput) (*AllocateStaticIpOutput, error) {
98	req, out := c.AllocateStaticIpRequest(input)
99	return out, req.Send()
100}
101
102// AllocateStaticIpWithContext is the same as AllocateStaticIp with the addition of
103// the ability to pass a context and additional request options.
104//
105// See AllocateStaticIp for details on how to use this API operation.
106//
107// The context must be non-nil and will be used for request cancellation. If
108// the context is nil a panic will occur. In the future the SDK may create
109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
110// for more information on using Contexts.
111func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *AllocateStaticIpInput, opts ...request.Option) (*AllocateStaticIpOutput, error) {
112	req, out := c.AllocateStaticIpRequest(input)
113	req.SetContext(ctx)
114	req.ApplyOptions(opts...)
115	return out, req.Send()
116}
117
118const opAttachDisk = "AttachDisk"
119
120// AttachDiskRequest generates a "aws/request.Request" representing the
121// client's request for the AttachDisk operation. The "output" return
122// value will be populated with the request's response once the request completes
123// successfully.
124//
125// Use "Send" method on the returned Request to send the API call to the service.
126// the "output" return value is not valid until after Send returns without error.
127//
128// See AttachDisk for more information on using the AttachDisk
129// API call, and error handling.
130//
131// This method is useful when you want to inject custom logic or configuration
132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
133//
134//
135//    // Example sending a request using the AttachDiskRequest method.
136//    req, resp := client.AttachDiskRequest(params)
137//
138//    err := req.Send()
139//    if err == nil { // resp is now filled
140//        fmt.Println(resp)
141//    }
142//
143// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
144func (c *Lightsail) AttachDiskRequest(input *AttachDiskInput) (req *request.Request, output *AttachDiskOutput) {
145	op := &request.Operation{
146		Name:       opAttachDisk,
147		HTTPMethod: "POST",
148		HTTPPath:   "/",
149	}
150
151	if input == nil {
152		input = &AttachDiskInput{}
153	}
154
155	output = &AttachDiskOutput{}
156	req = c.newRequest(op, input, output)
157	return
158}
159
160// AttachDisk API operation for Amazon Lightsail.
161//
162// Attaches a block storage disk to a running or stopped Lightsail instance
163// and exposes it to the instance with the specified disk name.
164//
165// The attach disk operation supports tag-based access control via resource
166// tags applied to the resource identified by disk name. For more information,
167// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
168//
169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
170// with awserr.Error's Code and Message methods to get detailed information about
171// the error.
172//
173// See the AWS API reference guide for Amazon Lightsail's
174// API operation AttachDisk for usage and error information.
175//
176// Returned Error Codes:
177//   * ErrCodeServiceException "ServiceException"
178//   A general service exception.
179//
180//   * ErrCodeInvalidInputException "InvalidInputException"
181//   Lightsail throws this exception when user input does not conform to the validation
182//   rules of an input field.
183//
184//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
185//   Please set your AWS Region configuration to us-east-1 to create, view, or
186//   edit these resources.
187//
188//   * ErrCodeNotFoundException "NotFoundException"
189//   Lightsail throws this exception when it cannot find a resource.
190//
191//   * ErrCodeOperationFailureException "OperationFailureException"
192//   Lightsail throws this exception when an operation fails to execute.
193//
194//   * ErrCodeAccessDeniedException "AccessDeniedException"
195//   Lightsail throws this exception when the user cannot be authenticated or
196//   uses invalid credentials to access a resource.
197//
198//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
199//   Lightsail throws this exception when an account is still in the setup in
200//   progress state.
201//
202//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
203//   Lightsail throws this exception when the user has not been authenticated.
204//
205// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachDisk
206func (c *Lightsail) AttachDisk(input *AttachDiskInput) (*AttachDiskOutput, error) {
207	req, out := c.AttachDiskRequest(input)
208	return out, req.Send()
209}
210
211// AttachDiskWithContext is the same as AttachDisk with the addition of
212// the ability to pass a context and additional request options.
213//
214// See AttachDisk for details on how to use this API operation.
215//
216// The context must be non-nil and will be used for request cancellation. If
217// the context is nil a panic will occur. In the future the SDK may create
218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
219// for more information on using Contexts.
220func (c *Lightsail) AttachDiskWithContext(ctx aws.Context, input *AttachDiskInput, opts ...request.Option) (*AttachDiskOutput, error) {
221	req, out := c.AttachDiskRequest(input)
222	req.SetContext(ctx)
223	req.ApplyOptions(opts...)
224	return out, req.Send()
225}
226
227const opAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
228
229// AttachInstancesToLoadBalancerRequest generates a "aws/request.Request" representing the
230// client's request for the AttachInstancesToLoadBalancer operation. The "output" return
231// value will be populated with the request's response once the request completes
232// successfully.
233//
234// Use "Send" method on the returned Request to send the API call to the service.
235// the "output" return value is not valid until after Send returns without error.
236//
237// See AttachInstancesToLoadBalancer for more information on using the AttachInstancesToLoadBalancer
238// API call, and error handling.
239//
240// This method is useful when you want to inject custom logic or configuration
241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
242//
243//
244//    // Example sending a request using the AttachInstancesToLoadBalancerRequest method.
245//    req, resp := client.AttachInstancesToLoadBalancerRequest(params)
246//
247//    err := req.Send()
248//    if err == nil { // resp is now filled
249//        fmt.Println(resp)
250//    }
251//
252// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
253func (c *Lightsail) AttachInstancesToLoadBalancerRequest(input *AttachInstancesToLoadBalancerInput) (req *request.Request, output *AttachInstancesToLoadBalancerOutput) {
254	op := &request.Operation{
255		Name:       opAttachInstancesToLoadBalancer,
256		HTTPMethod: "POST",
257		HTTPPath:   "/",
258	}
259
260	if input == nil {
261		input = &AttachInstancesToLoadBalancerInput{}
262	}
263
264	output = &AttachInstancesToLoadBalancerOutput{}
265	req = c.newRequest(op, input, output)
266	return
267}
268
269// AttachInstancesToLoadBalancer API operation for Amazon Lightsail.
270//
271// Attaches one or more Lightsail instances to a load balancer.
272//
273// After some time, the instances are attached to the load balancer and the
274// health check status is available.
275//
276// The attach instances to load balancer operation supports tag-based access
277// control via resource tags applied to the resource identified by load balancer
278// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
279//
280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
281// with awserr.Error's Code and Message methods to get detailed information about
282// the error.
283//
284// See the AWS API reference guide for Amazon Lightsail's
285// API operation AttachInstancesToLoadBalancer for usage and error information.
286//
287// Returned Error Codes:
288//   * ErrCodeServiceException "ServiceException"
289//   A general service exception.
290//
291//   * ErrCodeInvalidInputException "InvalidInputException"
292//   Lightsail throws this exception when user input does not conform to the validation
293//   rules of an input field.
294//
295//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
296//   Please set your AWS Region configuration to us-east-1 to create, view, or
297//   edit these resources.
298//
299//   * ErrCodeNotFoundException "NotFoundException"
300//   Lightsail throws this exception when it cannot find a resource.
301//
302//   * ErrCodeOperationFailureException "OperationFailureException"
303//   Lightsail throws this exception when an operation fails to execute.
304//
305//   * ErrCodeAccessDeniedException "AccessDeniedException"
306//   Lightsail throws this exception when the user cannot be authenticated or
307//   uses invalid credentials to access a resource.
308//
309//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
310//   Lightsail throws this exception when an account is still in the setup in
311//   progress state.
312//
313//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
314//   Lightsail throws this exception when the user has not been authenticated.
315//
316// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachInstancesToLoadBalancer
317func (c *Lightsail) AttachInstancesToLoadBalancer(input *AttachInstancesToLoadBalancerInput) (*AttachInstancesToLoadBalancerOutput, error) {
318	req, out := c.AttachInstancesToLoadBalancerRequest(input)
319	return out, req.Send()
320}
321
322// AttachInstancesToLoadBalancerWithContext is the same as AttachInstancesToLoadBalancer with the addition of
323// the ability to pass a context and additional request options.
324//
325// See AttachInstancesToLoadBalancer for details on how to use this API operation.
326//
327// The context must be non-nil and will be used for request cancellation. If
328// the context is nil a panic will occur. In the future the SDK may create
329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
330// for more information on using Contexts.
331func (c *Lightsail) AttachInstancesToLoadBalancerWithContext(ctx aws.Context, input *AttachInstancesToLoadBalancerInput, opts ...request.Option) (*AttachInstancesToLoadBalancerOutput, error) {
332	req, out := c.AttachInstancesToLoadBalancerRequest(input)
333	req.SetContext(ctx)
334	req.ApplyOptions(opts...)
335	return out, req.Send()
336}
337
338const opAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
339
340// AttachLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
341// client's request for the AttachLoadBalancerTlsCertificate operation. The "output" return
342// value will be populated with the request's response once the request completes
343// successfully.
344//
345// Use "Send" method on the returned Request to send the API call to the service.
346// the "output" return value is not valid until after Send returns without error.
347//
348// See AttachLoadBalancerTlsCertificate for more information on using the AttachLoadBalancerTlsCertificate
349// API call, and error handling.
350//
351// This method is useful when you want to inject custom logic or configuration
352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
353//
354//
355//    // Example sending a request using the AttachLoadBalancerTlsCertificateRequest method.
356//    req, resp := client.AttachLoadBalancerTlsCertificateRequest(params)
357//
358//    err := req.Send()
359//    if err == nil { // resp is now filled
360//        fmt.Println(resp)
361//    }
362//
363// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
364func (c *Lightsail) AttachLoadBalancerTlsCertificateRequest(input *AttachLoadBalancerTlsCertificateInput) (req *request.Request, output *AttachLoadBalancerTlsCertificateOutput) {
365	op := &request.Operation{
366		Name:       opAttachLoadBalancerTlsCertificate,
367		HTTPMethod: "POST",
368		HTTPPath:   "/",
369	}
370
371	if input == nil {
372		input = &AttachLoadBalancerTlsCertificateInput{}
373	}
374
375	output = &AttachLoadBalancerTlsCertificateOutput{}
376	req = c.newRequest(op, input, output)
377	return
378}
379
380// AttachLoadBalancerTlsCertificate API operation for Amazon Lightsail.
381//
382// Attaches a Transport Layer Security (TLS) certificate to your load balancer.
383// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
384//
385// Once you create and validate your certificate, you can attach it to your
386// load balancer. You can also use this API to rotate the certificates on your
387// account. Use the attach load balancer tls certificate operation with the
388// non-attached certificate, and it will replace the existing one and become
389// the attached certificate.
390//
391// The attach load balancer tls certificate operation supports tag-based access
392// control via resource tags applied to the resource identified by load balancer
393// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
394//
395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
396// with awserr.Error's Code and Message methods to get detailed information about
397// the error.
398//
399// See the AWS API reference guide for Amazon Lightsail's
400// API operation AttachLoadBalancerTlsCertificate for usage and error information.
401//
402// Returned Error Codes:
403//   * ErrCodeServiceException "ServiceException"
404//   A general service exception.
405//
406//   * ErrCodeInvalidInputException "InvalidInputException"
407//   Lightsail throws this exception when user input does not conform to the validation
408//   rules of an input field.
409//
410//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
411//   Please set your AWS Region configuration to us-east-1 to create, view, or
412//   edit these resources.
413//
414//   * ErrCodeNotFoundException "NotFoundException"
415//   Lightsail throws this exception when it cannot find a resource.
416//
417//   * ErrCodeOperationFailureException "OperationFailureException"
418//   Lightsail throws this exception when an operation fails to execute.
419//
420//   * ErrCodeAccessDeniedException "AccessDeniedException"
421//   Lightsail throws this exception when the user cannot be authenticated or
422//   uses invalid credentials to access a resource.
423//
424//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
425//   Lightsail throws this exception when an account is still in the setup in
426//   progress state.
427//
428//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
429//   Lightsail throws this exception when the user has not been authenticated.
430//
431// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachLoadBalancerTlsCertificate
432func (c *Lightsail) AttachLoadBalancerTlsCertificate(input *AttachLoadBalancerTlsCertificateInput) (*AttachLoadBalancerTlsCertificateOutput, error) {
433	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
434	return out, req.Send()
435}
436
437// AttachLoadBalancerTlsCertificateWithContext is the same as AttachLoadBalancerTlsCertificate with the addition of
438// the ability to pass a context and additional request options.
439//
440// See AttachLoadBalancerTlsCertificate for details on how to use this API operation.
441//
442// The context must be non-nil and will be used for request cancellation. If
443// the context is nil a panic will occur. In the future the SDK may create
444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
445// for more information on using Contexts.
446func (c *Lightsail) AttachLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *AttachLoadBalancerTlsCertificateInput, opts ...request.Option) (*AttachLoadBalancerTlsCertificateOutput, error) {
447	req, out := c.AttachLoadBalancerTlsCertificateRequest(input)
448	req.SetContext(ctx)
449	req.ApplyOptions(opts...)
450	return out, req.Send()
451}
452
453const opAttachStaticIp = "AttachStaticIp"
454
455// AttachStaticIpRequest generates a "aws/request.Request" representing the
456// client's request for the AttachStaticIp operation. The "output" return
457// value will be populated with the request's response once the request completes
458// successfully.
459//
460// Use "Send" method on the returned Request to send the API call to the service.
461// the "output" return value is not valid until after Send returns without error.
462//
463// See AttachStaticIp for more information on using the AttachStaticIp
464// API call, and error handling.
465//
466// This method is useful when you want to inject custom logic or configuration
467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
468//
469//
470//    // Example sending a request using the AttachStaticIpRequest method.
471//    req, resp := client.AttachStaticIpRequest(params)
472//
473//    err := req.Send()
474//    if err == nil { // resp is now filled
475//        fmt.Println(resp)
476//    }
477//
478// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
479func (c *Lightsail) AttachStaticIpRequest(input *AttachStaticIpInput) (req *request.Request, output *AttachStaticIpOutput) {
480	op := &request.Operation{
481		Name:       opAttachStaticIp,
482		HTTPMethod: "POST",
483		HTTPPath:   "/",
484	}
485
486	if input == nil {
487		input = &AttachStaticIpInput{}
488	}
489
490	output = &AttachStaticIpOutput{}
491	req = c.newRequest(op, input, output)
492	return
493}
494
495// AttachStaticIp API operation for Amazon Lightsail.
496//
497// Attaches a static IP address to a specific Amazon Lightsail instance.
498//
499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
500// with awserr.Error's Code and Message methods to get detailed information about
501// the error.
502//
503// See the AWS API reference guide for Amazon Lightsail's
504// API operation AttachStaticIp for usage and error information.
505//
506// Returned Error Codes:
507//   * ErrCodeServiceException "ServiceException"
508//   A general service exception.
509//
510//   * ErrCodeInvalidInputException "InvalidInputException"
511//   Lightsail throws this exception when user input does not conform to the validation
512//   rules of an input field.
513//
514//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
515//   Please set your AWS Region configuration to us-east-1 to create, view, or
516//   edit these resources.
517//
518//   * ErrCodeNotFoundException "NotFoundException"
519//   Lightsail throws this exception when it cannot find a resource.
520//
521//   * ErrCodeOperationFailureException "OperationFailureException"
522//   Lightsail throws this exception when an operation fails to execute.
523//
524//   * ErrCodeAccessDeniedException "AccessDeniedException"
525//   Lightsail throws this exception when the user cannot be authenticated or
526//   uses invalid credentials to access a resource.
527//
528//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
529//   Lightsail throws this exception when an account is still in the setup in
530//   progress state.
531//
532//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
533//   Lightsail throws this exception when the user has not been authenticated.
534//
535// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachStaticIp
536func (c *Lightsail) AttachStaticIp(input *AttachStaticIpInput) (*AttachStaticIpOutput, error) {
537	req, out := c.AttachStaticIpRequest(input)
538	return out, req.Send()
539}
540
541// AttachStaticIpWithContext is the same as AttachStaticIp with the addition of
542// the ability to pass a context and additional request options.
543//
544// See AttachStaticIp for details on how to use this API operation.
545//
546// The context must be non-nil and will be used for request cancellation. If
547// the context is nil a panic will occur. In the future the SDK may create
548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
549// for more information on using Contexts.
550func (c *Lightsail) AttachStaticIpWithContext(ctx aws.Context, input *AttachStaticIpInput, opts ...request.Option) (*AttachStaticIpOutput, error) {
551	req, out := c.AttachStaticIpRequest(input)
552	req.SetContext(ctx)
553	req.ApplyOptions(opts...)
554	return out, req.Send()
555}
556
557const opCloseInstancePublicPorts = "CloseInstancePublicPorts"
558
559// CloseInstancePublicPortsRequest generates a "aws/request.Request" representing the
560// client's request for the CloseInstancePublicPorts operation. The "output" return
561// value will be populated with the request's response once the request completes
562// successfully.
563//
564// Use "Send" method on the returned Request to send the API call to the service.
565// the "output" return value is not valid until after Send returns without error.
566//
567// See CloseInstancePublicPorts for more information on using the CloseInstancePublicPorts
568// API call, and error handling.
569//
570// This method is useful when you want to inject custom logic or configuration
571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
572//
573//
574//    // Example sending a request using the CloseInstancePublicPortsRequest method.
575//    req, resp := client.CloseInstancePublicPortsRequest(params)
576//
577//    err := req.Send()
578//    if err == nil { // resp is now filled
579//        fmt.Println(resp)
580//    }
581//
582// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
583func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPortsInput) (req *request.Request, output *CloseInstancePublicPortsOutput) {
584	op := &request.Operation{
585		Name:       opCloseInstancePublicPorts,
586		HTTPMethod: "POST",
587		HTTPPath:   "/",
588	}
589
590	if input == nil {
591		input = &CloseInstancePublicPortsInput{}
592	}
593
594	output = &CloseInstancePublicPortsOutput{}
595	req = c.newRequest(op, input, output)
596	return
597}
598
599// CloseInstancePublicPorts API operation for Amazon Lightsail.
600//
601// Closes the public ports on a specific Amazon Lightsail instance.
602//
603// The close instance public ports operation supports tag-based access control
604// via resource tags applied to the resource identified by instance name. For
605// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
606//
607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
608// with awserr.Error's Code and Message methods to get detailed information about
609// the error.
610//
611// See the AWS API reference guide for Amazon Lightsail's
612// API operation CloseInstancePublicPorts for usage and error information.
613//
614// Returned Error Codes:
615//   * ErrCodeServiceException "ServiceException"
616//   A general service exception.
617//
618//   * ErrCodeInvalidInputException "InvalidInputException"
619//   Lightsail throws this exception when user input does not conform to the validation
620//   rules of an input field.
621//
622//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
623//   Please set your AWS Region configuration to us-east-1 to create, view, or
624//   edit these resources.
625//
626//   * ErrCodeNotFoundException "NotFoundException"
627//   Lightsail throws this exception when it cannot find a resource.
628//
629//   * ErrCodeOperationFailureException "OperationFailureException"
630//   Lightsail throws this exception when an operation fails to execute.
631//
632//   * ErrCodeAccessDeniedException "AccessDeniedException"
633//   Lightsail throws this exception when the user cannot be authenticated or
634//   uses invalid credentials to access a resource.
635//
636//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
637//   Lightsail throws this exception when an account is still in the setup in
638//   progress state.
639//
640//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
641//   Lightsail throws this exception when the user has not been authenticated.
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CloseInstancePublicPorts
644func (c *Lightsail) CloseInstancePublicPorts(input *CloseInstancePublicPortsInput) (*CloseInstancePublicPortsOutput, error) {
645	req, out := c.CloseInstancePublicPortsRequest(input)
646	return out, req.Send()
647}
648
649// CloseInstancePublicPortsWithContext is the same as CloseInstancePublicPorts with the addition of
650// the ability to pass a context and additional request options.
651//
652// See CloseInstancePublicPorts for details on how to use this API operation.
653//
654// The context must be non-nil and will be used for request cancellation. If
655// the context is nil a panic will occur. In the future the SDK may create
656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
657// for more information on using Contexts.
658func (c *Lightsail) CloseInstancePublicPortsWithContext(ctx aws.Context, input *CloseInstancePublicPortsInput, opts ...request.Option) (*CloseInstancePublicPortsOutput, error) {
659	req, out := c.CloseInstancePublicPortsRequest(input)
660	req.SetContext(ctx)
661	req.ApplyOptions(opts...)
662	return out, req.Send()
663}
664
665const opCopySnapshot = "CopySnapshot"
666
667// CopySnapshotRequest generates a "aws/request.Request" representing the
668// client's request for the CopySnapshot operation. The "output" return
669// value will be populated with the request's response once the request completes
670// successfully.
671//
672// Use "Send" method on the returned Request to send the API call to the service.
673// the "output" return value is not valid until after Send returns without error.
674//
675// See CopySnapshot for more information on using the CopySnapshot
676// API call, and error handling.
677//
678// This method is useful when you want to inject custom logic or configuration
679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
680//
681//
682//    // Example sending a request using the CopySnapshotRequest method.
683//    req, resp := client.CopySnapshotRequest(params)
684//
685//    err := req.Send()
686//    if err == nil { // resp is now filled
687//        fmt.Println(resp)
688//    }
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
691func (c *Lightsail) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
692	op := &request.Operation{
693		Name:       opCopySnapshot,
694		HTTPMethod: "POST",
695		HTTPPath:   "/",
696	}
697
698	if input == nil {
699		input = &CopySnapshotInput{}
700	}
701
702	output = &CopySnapshotOutput{}
703	req = c.newRequest(op, input, output)
704	return
705}
706
707// CopySnapshot API operation for Amazon Lightsail.
708//
709// Copies a manual snapshot of an instance or disk as another manual snapshot,
710// or copies an automatic snapshot of an instance or disk as a manual snapshot.
711// This operation can also be used to copy a manual or automatic snapshot of
712// an instance or a disk from one AWS Region to another in Amazon Lightsail.
713//
714// When copying a manual snapshot, be sure to define the source region, source
715// snapshot name, and target snapshot name parameters.
716//
717// When copying an automatic snapshot, be sure to define the source region,
718// source resource name, target snapshot name, and either the restore date or
719// the use latest restorable auto snapshot parameters.
720//
721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
722// with awserr.Error's Code and Message methods to get detailed information about
723// the error.
724//
725// See the AWS API reference guide for Amazon Lightsail's
726// API operation CopySnapshot for usage and error information.
727//
728// Returned Error Codes:
729//   * ErrCodeServiceException "ServiceException"
730//   A general service exception.
731//
732//   * ErrCodeInvalidInputException "InvalidInputException"
733//   Lightsail throws this exception when user input does not conform to the validation
734//   rules of an input field.
735//
736//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
737//   Please set your AWS Region configuration to us-east-1 to create, view, or
738//   edit these resources.
739//
740//   * ErrCodeNotFoundException "NotFoundException"
741//   Lightsail throws this exception when it cannot find a resource.
742//
743//   * ErrCodeOperationFailureException "OperationFailureException"
744//   Lightsail throws this exception when an operation fails to execute.
745//
746//   * ErrCodeAccessDeniedException "AccessDeniedException"
747//   Lightsail throws this exception when the user cannot be authenticated or
748//   uses invalid credentials to access a resource.
749//
750//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
751//   Lightsail throws this exception when an account is still in the setup in
752//   progress state.
753//
754//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
755//   Lightsail throws this exception when the user has not been authenticated.
756//
757// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CopySnapshot
758func (c *Lightsail) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
759	req, out := c.CopySnapshotRequest(input)
760	return out, req.Send()
761}
762
763// CopySnapshotWithContext is the same as CopySnapshot with the addition of
764// the ability to pass a context and additional request options.
765//
766// See CopySnapshot for details on how to use this API operation.
767//
768// The context must be non-nil and will be used for request cancellation. If
769// the context is nil a panic will occur. In the future the SDK may create
770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
771// for more information on using Contexts.
772func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
773	req, out := c.CopySnapshotRequest(input)
774	req.SetContext(ctx)
775	req.ApplyOptions(opts...)
776	return out, req.Send()
777}
778
779const opCreateCloudFormationStack = "CreateCloudFormationStack"
780
781// CreateCloudFormationStackRequest generates a "aws/request.Request" representing the
782// client's request for the CreateCloudFormationStack operation. The "output" return
783// value will be populated with the request's response once the request completes
784// successfully.
785//
786// Use "Send" method on the returned Request to send the API call to the service.
787// the "output" return value is not valid until after Send returns without error.
788//
789// See CreateCloudFormationStack for more information on using the CreateCloudFormationStack
790// API call, and error handling.
791//
792// This method is useful when you want to inject custom logic or configuration
793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
794//
795//
796//    // Example sending a request using the CreateCloudFormationStackRequest method.
797//    req, resp := client.CreateCloudFormationStackRequest(params)
798//
799//    err := req.Send()
800//    if err == nil { // resp is now filled
801//        fmt.Println(resp)
802//    }
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
805func (c *Lightsail) CreateCloudFormationStackRequest(input *CreateCloudFormationStackInput) (req *request.Request, output *CreateCloudFormationStackOutput) {
806	op := &request.Operation{
807		Name:       opCreateCloudFormationStack,
808		HTTPMethod: "POST",
809		HTTPPath:   "/",
810	}
811
812	if input == nil {
813		input = &CreateCloudFormationStackInput{}
814	}
815
816	output = &CreateCloudFormationStackOutput{}
817	req = c.newRequest(op, input, output)
818	return
819}
820
821// CreateCloudFormationStack API operation for Amazon Lightsail.
822//
823// Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance
824// from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation
825// stack record that can be used to track the AWS CloudFormation stack created.
826// Use the get cloud formation stack records operation to get a list of the
827// CloudFormation stacks created.
828//
829// Wait until after your new Amazon EC2 instance is created before running the
830// create cloud formation stack operation again with the same export snapshot
831// record.
832//
833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
834// with awserr.Error's Code and Message methods to get detailed information about
835// the error.
836//
837// See the AWS API reference guide for Amazon Lightsail's
838// API operation CreateCloudFormationStack for usage and error information.
839//
840// Returned Error Codes:
841//   * ErrCodeServiceException "ServiceException"
842//   A general service exception.
843//
844//   * ErrCodeInvalidInputException "InvalidInputException"
845//   Lightsail throws this exception when user input does not conform to the validation
846//   rules of an input field.
847//
848//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
849//   Please set your AWS Region configuration to us-east-1 to create, view, or
850//   edit these resources.
851//
852//   * ErrCodeNotFoundException "NotFoundException"
853//   Lightsail throws this exception when it cannot find a resource.
854//
855//   * ErrCodeOperationFailureException "OperationFailureException"
856//   Lightsail throws this exception when an operation fails to execute.
857//
858//   * ErrCodeAccessDeniedException "AccessDeniedException"
859//   Lightsail throws this exception when the user cannot be authenticated or
860//   uses invalid credentials to access a resource.
861//
862//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
863//   Lightsail throws this exception when an account is still in the setup in
864//   progress state.
865//
866//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
867//   Lightsail throws this exception when the user has not been authenticated.
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCloudFormationStack
870func (c *Lightsail) CreateCloudFormationStack(input *CreateCloudFormationStackInput) (*CreateCloudFormationStackOutput, error) {
871	req, out := c.CreateCloudFormationStackRequest(input)
872	return out, req.Send()
873}
874
875// CreateCloudFormationStackWithContext is the same as CreateCloudFormationStack with the addition of
876// the ability to pass a context and additional request options.
877//
878// See CreateCloudFormationStack for details on how to use this API operation.
879//
880// The context must be non-nil and will be used for request cancellation. If
881// the context is nil a panic will occur. In the future the SDK may create
882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
883// for more information on using Contexts.
884func (c *Lightsail) CreateCloudFormationStackWithContext(ctx aws.Context, input *CreateCloudFormationStackInput, opts ...request.Option) (*CreateCloudFormationStackOutput, error) {
885	req, out := c.CreateCloudFormationStackRequest(input)
886	req.SetContext(ctx)
887	req.ApplyOptions(opts...)
888	return out, req.Send()
889}
890
891const opCreateDisk = "CreateDisk"
892
893// CreateDiskRequest generates a "aws/request.Request" representing the
894// client's request for the CreateDisk operation. The "output" return
895// value will be populated with the request's response once the request completes
896// successfully.
897//
898// Use "Send" method on the returned Request to send the API call to the service.
899// the "output" return value is not valid until after Send returns without error.
900//
901// See CreateDisk for more information on using the CreateDisk
902// API call, and error handling.
903//
904// This method is useful when you want to inject custom logic or configuration
905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
906//
907//
908//    // Example sending a request using the CreateDiskRequest method.
909//    req, resp := client.CreateDiskRequest(params)
910//
911//    err := req.Send()
912//    if err == nil { // resp is now filled
913//        fmt.Println(resp)
914//    }
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
917func (c *Lightsail) CreateDiskRequest(input *CreateDiskInput) (req *request.Request, output *CreateDiskOutput) {
918	op := &request.Operation{
919		Name:       opCreateDisk,
920		HTTPMethod: "POST",
921		HTTPPath:   "/",
922	}
923
924	if input == nil {
925		input = &CreateDiskInput{}
926	}
927
928	output = &CreateDiskOutput{}
929	req = c.newRequest(op, input, output)
930	return
931}
932
933// CreateDisk API operation for Amazon Lightsail.
934//
935// Creates a block storage disk that can be attached to an Amazon Lightsail
936// instance in the same Availability Zone (e.g., us-east-2a).
937//
938// The create disk operation supports tag-based access control via request tags.
939// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
940//
941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
942// with awserr.Error's Code and Message methods to get detailed information about
943// the error.
944//
945// See the AWS API reference guide for Amazon Lightsail's
946// API operation CreateDisk for usage and error information.
947//
948// Returned Error Codes:
949//   * ErrCodeServiceException "ServiceException"
950//   A general service exception.
951//
952//   * ErrCodeInvalidInputException "InvalidInputException"
953//   Lightsail throws this exception when user input does not conform to the validation
954//   rules of an input field.
955//
956//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
957//   Please set your AWS Region configuration to us-east-1 to create, view, or
958//   edit these resources.
959//
960//   * ErrCodeNotFoundException "NotFoundException"
961//   Lightsail throws this exception when it cannot find a resource.
962//
963//   * ErrCodeOperationFailureException "OperationFailureException"
964//   Lightsail throws this exception when an operation fails to execute.
965//
966//   * ErrCodeAccessDeniedException "AccessDeniedException"
967//   Lightsail throws this exception when the user cannot be authenticated or
968//   uses invalid credentials to access a resource.
969//
970//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
971//   Lightsail throws this exception when an account is still in the setup in
972//   progress state.
973//
974//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
975//   Lightsail throws this exception when the user has not been authenticated.
976//
977// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDisk
978func (c *Lightsail) CreateDisk(input *CreateDiskInput) (*CreateDiskOutput, error) {
979	req, out := c.CreateDiskRequest(input)
980	return out, req.Send()
981}
982
983// CreateDiskWithContext is the same as CreateDisk with the addition of
984// the ability to pass a context and additional request options.
985//
986// See CreateDisk for details on how to use this API operation.
987//
988// The context must be non-nil and will be used for request cancellation. If
989// the context is nil a panic will occur. In the future the SDK may create
990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
991// for more information on using Contexts.
992func (c *Lightsail) CreateDiskWithContext(ctx aws.Context, input *CreateDiskInput, opts ...request.Option) (*CreateDiskOutput, error) {
993	req, out := c.CreateDiskRequest(input)
994	req.SetContext(ctx)
995	req.ApplyOptions(opts...)
996	return out, req.Send()
997}
998
999const opCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
1000
1001// CreateDiskFromSnapshotRequest generates a "aws/request.Request" representing the
1002// client's request for the CreateDiskFromSnapshot operation. The "output" return
1003// value will be populated with the request's response once the request completes
1004// successfully.
1005//
1006// Use "Send" method on the returned Request to send the API call to the service.
1007// the "output" return value is not valid until after Send returns without error.
1008//
1009// See CreateDiskFromSnapshot for more information on using the CreateDiskFromSnapshot
1010// API call, and error handling.
1011//
1012// This method is useful when you want to inject custom logic or configuration
1013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1014//
1015//
1016//    // Example sending a request using the CreateDiskFromSnapshotRequest method.
1017//    req, resp := client.CreateDiskFromSnapshotRequest(params)
1018//
1019//    err := req.Send()
1020//    if err == nil { // resp is now filled
1021//        fmt.Println(resp)
1022//    }
1023//
1024// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1025func (c *Lightsail) CreateDiskFromSnapshotRequest(input *CreateDiskFromSnapshotInput) (req *request.Request, output *CreateDiskFromSnapshotOutput) {
1026	op := &request.Operation{
1027		Name:       opCreateDiskFromSnapshot,
1028		HTTPMethod: "POST",
1029		HTTPPath:   "/",
1030	}
1031
1032	if input == nil {
1033		input = &CreateDiskFromSnapshotInput{}
1034	}
1035
1036	output = &CreateDiskFromSnapshotOutput{}
1037	req = c.newRequest(op, input, output)
1038	return
1039}
1040
1041// CreateDiskFromSnapshot API operation for Amazon Lightsail.
1042//
1043// Creates a block storage disk from a manual or automatic snapshot of a disk.
1044// The resulting disk can be attached to an Amazon Lightsail instance in the
1045// same Availability Zone (e.g., us-east-2a).
1046//
1047// The create disk from snapshot operation supports tag-based access control
1048// via request tags and resource tags applied to the resource identified by
1049// 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).
1050//
1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1052// with awserr.Error's Code and Message methods to get detailed information about
1053// the error.
1054//
1055// See the AWS API reference guide for Amazon Lightsail's
1056// API operation CreateDiskFromSnapshot for usage and error information.
1057//
1058// Returned Error Codes:
1059//   * ErrCodeServiceException "ServiceException"
1060//   A general service exception.
1061//
1062//   * ErrCodeInvalidInputException "InvalidInputException"
1063//   Lightsail throws this exception when user input does not conform to the validation
1064//   rules of an input field.
1065//
1066//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1067//   Please set your AWS Region configuration to us-east-1 to create, view, or
1068//   edit these resources.
1069//
1070//   * ErrCodeNotFoundException "NotFoundException"
1071//   Lightsail throws this exception when it cannot find a resource.
1072//
1073//   * ErrCodeOperationFailureException "OperationFailureException"
1074//   Lightsail throws this exception when an operation fails to execute.
1075//
1076//   * ErrCodeAccessDeniedException "AccessDeniedException"
1077//   Lightsail throws this exception when the user cannot be authenticated or
1078//   uses invalid credentials to access a resource.
1079//
1080//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1081//   Lightsail throws this exception when an account is still in the setup in
1082//   progress state.
1083//
1084//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1085//   Lightsail throws this exception when the user has not been authenticated.
1086//
1087// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskFromSnapshot
1088func (c *Lightsail) CreateDiskFromSnapshot(input *CreateDiskFromSnapshotInput) (*CreateDiskFromSnapshotOutput, error) {
1089	req, out := c.CreateDiskFromSnapshotRequest(input)
1090	return out, req.Send()
1091}
1092
1093// CreateDiskFromSnapshotWithContext is the same as CreateDiskFromSnapshot with the addition of
1094// the ability to pass a context and additional request options.
1095//
1096// See CreateDiskFromSnapshot for details on how to use this API operation.
1097//
1098// The context must be non-nil and will be used for request cancellation. If
1099// the context is nil a panic will occur. In the future the SDK may create
1100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1101// for more information on using Contexts.
1102func (c *Lightsail) CreateDiskFromSnapshotWithContext(ctx aws.Context, input *CreateDiskFromSnapshotInput, opts ...request.Option) (*CreateDiskFromSnapshotOutput, error) {
1103	req, out := c.CreateDiskFromSnapshotRequest(input)
1104	req.SetContext(ctx)
1105	req.ApplyOptions(opts...)
1106	return out, req.Send()
1107}
1108
1109const opCreateDiskSnapshot = "CreateDiskSnapshot"
1110
1111// CreateDiskSnapshotRequest generates a "aws/request.Request" representing the
1112// client's request for the CreateDiskSnapshot operation. The "output" return
1113// value will be populated with the request's response once the request completes
1114// successfully.
1115//
1116// Use "Send" method on the returned Request to send the API call to the service.
1117// the "output" return value is not valid until after Send returns without error.
1118//
1119// See CreateDiskSnapshot for more information on using the CreateDiskSnapshot
1120// API call, and error handling.
1121//
1122// This method is useful when you want to inject custom logic or configuration
1123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1124//
1125//
1126//    // Example sending a request using the CreateDiskSnapshotRequest method.
1127//    req, resp := client.CreateDiskSnapshotRequest(params)
1128//
1129//    err := req.Send()
1130//    if err == nil { // resp is now filled
1131//        fmt.Println(resp)
1132//    }
1133//
1134// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1135func (c *Lightsail) CreateDiskSnapshotRequest(input *CreateDiskSnapshotInput) (req *request.Request, output *CreateDiskSnapshotOutput) {
1136	op := &request.Operation{
1137		Name:       opCreateDiskSnapshot,
1138		HTTPMethod: "POST",
1139		HTTPPath:   "/",
1140	}
1141
1142	if input == nil {
1143		input = &CreateDiskSnapshotInput{}
1144	}
1145
1146	output = &CreateDiskSnapshotOutput{}
1147	req = c.newRequest(op, input, output)
1148	return
1149}
1150
1151// CreateDiskSnapshot API operation for Amazon Lightsail.
1152//
1153// Creates a snapshot of a block storage disk. You can use snapshots for backups,
1154// to make copies of disks, and to save data before shutting down a Lightsail
1155// instance.
1156//
1157// You can take a snapshot of an attached disk that is in use; however, snapshots
1158// only capture data that has been written to your disk at the time the snapshot
1159// command is issued. This may exclude any data that has been cached by any
1160// applications or the operating system. If you can pause any file systems on
1161// the disk long enough to take a snapshot, your snapshot should be complete.
1162// Nevertheless, if you cannot pause all file writes to the disk, you should
1163// unmount the disk from within the Lightsail instance, issue the create disk
1164// snapshot command, and then remount the disk to ensure a consistent and complete
1165// snapshot. You may remount and use your disk while the snapshot status is
1166// pending.
1167//
1168// You can also use this operation to create a snapshot of an instance's system
1169// volume. You might want to do this, for example, to recover data from the
1170// system volume of a botched instance or to create a backup of the system volume
1171// like you would for a block storage disk. To create a snapshot of a system
1172// volume, just define the instance name parameter when issuing the snapshot
1173// command, and a snapshot of the defined instance's system volume will be created.
1174// After the snapshot is available, you can create a block storage disk from
1175// the snapshot and attach it to a running instance to access the data on the
1176// disk.
1177//
1178// The create disk snapshot operation supports tag-based access control via
1179// 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).
1180//
1181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1182// with awserr.Error's Code and Message methods to get detailed information about
1183// the error.
1184//
1185// See the AWS API reference guide for Amazon Lightsail's
1186// API operation CreateDiskSnapshot for usage and error information.
1187//
1188// Returned Error Codes:
1189//   * ErrCodeServiceException "ServiceException"
1190//   A general service exception.
1191//
1192//   * ErrCodeInvalidInputException "InvalidInputException"
1193//   Lightsail throws this exception when user input does not conform to the validation
1194//   rules of an input field.
1195//
1196//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1197//   Please set your AWS Region configuration to us-east-1 to create, view, or
1198//   edit these resources.
1199//
1200//   * ErrCodeNotFoundException "NotFoundException"
1201//   Lightsail throws this exception when it cannot find a resource.
1202//
1203//   * ErrCodeOperationFailureException "OperationFailureException"
1204//   Lightsail throws this exception when an operation fails to execute.
1205//
1206//   * ErrCodeAccessDeniedException "AccessDeniedException"
1207//   Lightsail throws this exception when the user cannot be authenticated or
1208//   uses invalid credentials to access a resource.
1209//
1210//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1211//   Lightsail throws this exception when an account is still in the setup in
1212//   progress state.
1213//
1214//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1215//   Lightsail throws this exception when the user has not been authenticated.
1216//
1217// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshot
1218func (c *Lightsail) CreateDiskSnapshot(input *CreateDiskSnapshotInput) (*CreateDiskSnapshotOutput, error) {
1219	req, out := c.CreateDiskSnapshotRequest(input)
1220	return out, req.Send()
1221}
1222
1223// CreateDiskSnapshotWithContext is the same as CreateDiskSnapshot with the addition of
1224// the ability to pass a context and additional request options.
1225//
1226// See CreateDiskSnapshot for details on how to use this API operation.
1227//
1228// The context must be non-nil and will be used for request cancellation. If
1229// the context is nil a panic will occur. In the future the SDK may create
1230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1231// for more information on using Contexts.
1232func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *CreateDiskSnapshotInput, opts ...request.Option) (*CreateDiskSnapshotOutput, error) {
1233	req, out := c.CreateDiskSnapshotRequest(input)
1234	req.SetContext(ctx)
1235	req.ApplyOptions(opts...)
1236	return out, req.Send()
1237}
1238
1239const opCreateDomain = "CreateDomain"
1240
1241// CreateDomainRequest generates a "aws/request.Request" representing the
1242// client's request for the CreateDomain operation. The "output" return
1243// value will be populated with the request's response once the request completes
1244// successfully.
1245//
1246// Use "Send" method on the returned Request to send the API call to the service.
1247// the "output" return value is not valid until after Send returns without error.
1248//
1249// See CreateDomain for more information on using the CreateDomain
1250// API call, and error handling.
1251//
1252// This method is useful when you want to inject custom logic or configuration
1253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1254//
1255//
1256//    // Example sending a request using the CreateDomainRequest method.
1257//    req, resp := client.CreateDomainRequest(params)
1258//
1259//    err := req.Send()
1260//    if err == nil { // resp is now filled
1261//        fmt.Println(resp)
1262//    }
1263//
1264// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1265func (c *Lightsail) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) {
1266	op := &request.Operation{
1267		Name:       opCreateDomain,
1268		HTTPMethod: "POST",
1269		HTTPPath:   "/",
1270	}
1271
1272	if input == nil {
1273		input = &CreateDomainInput{}
1274	}
1275
1276	output = &CreateDomainOutput{}
1277	req = c.newRequest(op, input, output)
1278	return
1279}
1280
1281// CreateDomain API operation for Amazon Lightsail.
1282//
1283// Creates a domain resource for the specified domain (e.g., example.com).
1284//
1285// The create domain operation supports tag-based access control via request
1286// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1287//
1288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1289// with awserr.Error's Code and Message methods to get detailed information about
1290// the error.
1291//
1292// See the AWS API reference guide for Amazon Lightsail's
1293// API operation CreateDomain for usage and error information.
1294//
1295// Returned Error Codes:
1296//   * ErrCodeServiceException "ServiceException"
1297//   A general service exception.
1298//
1299//   * ErrCodeInvalidInputException "InvalidInputException"
1300//   Lightsail throws this exception when user input does not conform to the validation
1301//   rules of an input field.
1302//
1303//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1304//   Please set your AWS Region configuration to us-east-1 to create, view, or
1305//   edit these resources.
1306//
1307//   * ErrCodeNotFoundException "NotFoundException"
1308//   Lightsail throws this exception when it cannot find a resource.
1309//
1310//   * ErrCodeOperationFailureException "OperationFailureException"
1311//   Lightsail throws this exception when an operation fails to execute.
1312//
1313//   * ErrCodeAccessDeniedException "AccessDeniedException"
1314//   Lightsail throws this exception when the user cannot be authenticated or
1315//   uses invalid credentials to access a resource.
1316//
1317//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1318//   Lightsail throws this exception when an account is still in the setup in
1319//   progress state.
1320//
1321//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1322//   Lightsail throws this exception when the user has not been authenticated.
1323//
1324// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomain
1325func (c *Lightsail) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) {
1326	req, out := c.CreateDomainRequest(input)
1327	return out, req.Send()
1328}
1329
1330// CreateDomainWithContext is the same as CreateDomain with the addition of
1331// the ability to pass a context and additional request options.
1332//
1333// See CreateDomain for details on how to use this API operation.
1334//
1335// The context must be non-nil and will be used for request cancellation. If
1336// the context is nil a panic will occur. In the future the SDK may create
1337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1338// for more information on using Contexts.
1339func (c *Lightsail) CreateDomainWithContext(ctx aws.Context, input *CreateDomainInput, opts ...request.Option) (*CreateDomainOutput, error) {
1340	req, out := c.CreateDomainRequest(input)
1341	req.SetContext(ctx)
1342	req.ApplyOptions(opts...)
1343	return out, req.Send()
1344}
1345
1346const opCreateDomainEntry = "CreateDomainEntry"
1347
1348// CreateDomainEntryRequest generates a "aws/request.Request" representing the
1349// client's request for the CreateDomainEntry operation. The "output" return
1350// value will be populated with the request's response once the request completes
1351// successfully.
1352//
1353// Use "Send" method on the returned Request to send the API call to the service.
1354// the "output" return value is not valid until after Send returns without error.
1355//
1356// See CreateDomainEntry for more information on using the CreateDomainEntry
1357// API call, and error handling.
1358//
1359// This method is useful when you want to inject custom logic or configuration
1360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1361//
1362//
1363//    // Example sending a request using the CreateDomainEntryRequest method.
1364//    req, resp := client.CreateDomainEntryRequest(params)
1365//
1366//    err := req.Send()
1367//    if err == nil { // resp is now filled
1368//        fmt.Println(resp)
1369//    }
1370//
1371// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1372func (c *Lightsail) CreateDomainEntryRequest(input *CreateDomainEntryInput) (req *request.Request, output *CreateDomainEntryOutput) {
1373	op := &request.Operation{
1374		Name:       opCreateDomainEntry,
1375		HTTPMethod: "POST",
1376		HTTPPath:   "/",
1377	}
1378
1379	if input == nil {
1380		input = &CreateDomainEntryInput{}
1381	}
1382
1383	output = &CreateDomainEntryOutput{}
1384	req = c.newRequest(op, input, output)
1385	return
1386}
1387
1388// CreateDomainEntry API operation for Amazon Lightsail.
1389//
1390// Creates one of the following entry records associated with the domain: Address
1391// (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start
1392// of authority (SOA), service locator (SRV), or text (TXT).
1393//
1394// The create domain entry operation supports tag-based access control via resource
1395// tags applied to the resource identified by domain name. For more information,
1396// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1397//
1398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1399// with awserr.Error's Code and Message methods to get detailed information about
1400// the error.
1401//
1402// See the AWS API reference guide for Amazon Lightsail's
1403// API operation CreateDomainEntry for usage and error information.
1404//
1405// Returned Error Codes:
1406//   * ErrCodeServiceException "ServiceException"
1407//   A general service exception.
1408//
1409//   * ErrCodeInvalidInputException "InvalidInputException"
1410//   Lightsail throws this exception when user input does not conform to the validation
1411//   rules of an input field.
1412//
1413//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1414//   Please set your AWS Region configuration to us-east-1 to create, view, or
1415//   edit these resources.
1416//
1417//   * ErrCodeNotFoundException "NotFoundException"
1418//   Lightsail throws this exception when it cannot find a resource.
1419//
1420//   * ErrCodeOperationFailureException "OperationFailureException"
1421//   Lightsail throws this exception when an operation fails to execute.
1422//
1423//   * ErrCodeAccessDeniedException "AccessDeniedException"
1424//   Lightsail throws this exception when the user cannot be authenticated or
1425//   uses invalid credentials to access a resource.
1426//
1427//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1428//   Lightsail throws this exception when an account is still in the setup in
1429//   progress state.
1430//
1431//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1432//   Lightsail throws this exception when the user has not been authenticated.
1433//
1434// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainEntry
1435func (c *Lightsail) CreateDomainEntry(input *CreateDomainEntryInput) (*CreateDomainEntryOutput, error) {
1436	req, out := c.CreateDomainEntryRequest(input)
1437	return out, req.Send()
1438}
1439
1440// CreateDomainEntryWithContext is the same as CreateDomainEntry with the addition of
1441// the ability to pass a context and additional request options.
1442//
1443// See CreateDomainEntry for details on how to use this API operation.
1444//
1445// The context must be non-nil and will be used for request cancellation. If
1446// the context is nil a panic will occur. In the future the SDK may create
1447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1448// for more information on using Contexts.
1449func (c *Lightsail) CreateDomainEntryWithContext(ctx aws.Context, input *CreateDomainEntryInput, opts ...request.Option) (*CreateDomainEntryOutput, error) {
1450	req, out := c.CreateDomainEntryRequest(input)
1451	req.SetContext(ctx)
1452	req.ApplyOptions(opts...)
1453	return out, req.Send()
1454}
1455
1456const opCreateInstanceSnapshot = "CreateInstanceSnapshot"
1457
1458// CreateInstanceSnapshotRequest generates a "aws/request.Request" representing the
1459// client's request for the CreateInstanceSnapshot operation. The "output" return
1460// value will be populated with the request's response once the request completes
1461// successfully.
1462//
1463// Use "Send" method on the returned Request to send the API call to the service.
1464// the "output" return value is not valid until after Send returns without error.
1465//
1466// See CreateInstanceSnapshot for more information on using the CreateInstanceSnapshot
1467// API call, and error handling.
1468//
1469// This method is useful when you want to inject custom logic or configuration
1470// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1471//
1472//
1473//    // Example sending a request using the CreateInstanceSnapshotRequest method.
1474//    req, resp := client.CreateInstanceSnapshotRequest(params)
1475//
1476//    err := req.Send()
1477//    if err == nil { // resp is now filled
1478//        fmt.Println(resp)
1479//    }
1480//
1481// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshot
1482func (c *Lightsail) CreateInstanceSnapshotRequest(input *CreateInstanceSnapshotInput) (req *request.Request, output *CreateInstanceSnapshotOutput) {
1483	op := &request.Operation{
1484		Name:       opCreateInstanceSnapshot,
1485		HTTPMethod: "POST",
1486		HTTPPath:   "/",
1487	}
1488
1489	if input == nil {
1490		input = &CreateInstanceSnapshotInput{}
1491	}
1492
1493	output = &CreateInstanceSnapshotOutput{}
1494	req = c.newRequest(op, input, output)
1495	return
1496}
1497
1498// CreateInstanceSnapshot API operation for Amazon Lightsail.
1499//
1500// Creates a snapshot of a specific virtual private server, or instance. You
1501// can use a snapshot to create a new instance that is based on that snapshot.
1502//
1503// The create instance snapshot operation supports tag-based access control
1504// 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).
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 CreateInstanceSnapshot for usage and error information.
1512//
1513// Returned Error Codes:
1514//   * ErrCodeServiceException "ServiceException"
1515//   A general service exception.
1516//
1517//   * ErrCodeInvalidInputException "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//   * ErrCodeNotFoundException "NotFoundException"
1526//   Lightsail throws this exception when it cannot find a resource.
1527//
1528//   * ErrCodeOperationFailureException "OperationFailureException"
1529//   Lightsail throws this exception when an operation fails to execute.
1530//
1531//   * ErrCodeAccessDeniedException "AccessDeniedException"
1532//   Lightsail throws this exception when the user cannot be authenticated or
1533//   uses invalid credentials to access a resource.
1534//
1535//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1536//   Lightsail throws this exception when an account is still in the setup in
1537//   progress state.
1538//
1539//   * ErrCodeUnauthenticatedException "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/CreateInstanceSnapshot
1543func (c *Lightsail) CreateInstanceSnapshot(input *CreateInstanceSnapshotInput) (*CreateInstanceSnapshotOutput, error) {
1544	req, out := c.CreateInstanceSnapshotRequest(input)
1545	return out, req.Send()
1546}
1547
1548// CreateInstanceSnapshotWithContext is the same as CreateInstanceSnapshot with the addition of
1549// the ability to pass a context and additional request options.
1550//
1551// See CreateInstanceSnapshot 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) CreateInstanceSnapshotWithContext(ctx aws.Context, input *CreateInstanceSnapshotInput, opts ...request.Option) (*CreateInstanceSnapshotOutput, error) {
1558	req, out := c.CreateInstanceSnapshotRequest(input)
1559	req.SetContext(ctx)
1560	req.ApplyOptions(opts...)
1561	return out, req.Send()
1562}
1563
1564const opCreateInstances = "CreateInstances"
1565
1566// CreateInstancesRequest generates a "aws/request.Request" representing the
1567// client's request for the CreateInstances 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 CreateInstances for more information on using the CreateInstances
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 CreateInstancesRequest method.
1582//    req, resp := client.CreateInstancesRequest(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/CreateInstances
1590func (c *Lightsail) CreateInstancesRequest(input *CreateInstancesInput) (req *request.Request, output *CreateInstancesOutput) {
1591	op := &request.Operation{
1592		Name:       opCreateInstances,
1593		HTTPMethod: "POST",
1594		HTTPPath:   "/",
1595	}
1596
1597	if input == nil {
1598		input = &CreateInstancesInput{}
1599	}
1600
1601	output = &CreateInstancesOutput{}
1602	req = c.newRequest(op, input, output)
1603	return
1604}
1605
1606// CreateInstances API operation for Amazon Lightsail.
1607//
1608// Creates one or more Amazon Lightsail instances.
1609//
1610// The create instances operation supports tag-based access control via request
1611// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1612//
1613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1614// with awserr.Error's Code and Message methods to get detailed information about
1615// the error.
1616//
1617// See the AWS API reference guide for Amazon Lightsail's
1618// API operation CreateInstances for usage and error information.
1619//
1620// Returned Error Codes:
1621//   * ErrCodeServiceException "ServiceException"
1622//   A general service exception.
1623//
1624//   * ErrCodeInvalidInputException "InvalidInputException"
1625//   Lightsail throws this exception when user input does not conform to the validation
1626//   rules of an input field.
1627//
1628//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1629//   Please set your AWS Region configuration to us-east-1 to create, view, or
1630//   edit these resources.
1631//
1632//   * ErrCodeNotFoundException "NotFoundException"
1633//   Lightsail throws this exception when it cannot find a resource.
1634//
1635//   * ErrCodeOperationFailureException "OperationFailureException"
1636//   Lightsail throws this exception when an operation fails to execute.
1637//
1638//   * ErrCodeAccessDeniedException "AccessDeniedException"
1639//   Lightsail throws this exception when the user cannot be authenticated or
1640//   uses invalid credentials to access a resource.
1641//
1642//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1643//   Lightsail throws this exception when an account is still in the setup in
1644//   progress state.
1645//
1646//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1647//   Lightsail throws this exception when the user has not been authenticated.
1648//
1649// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstances
1650func (c *Lightsail) CreateInstances(input *CreateInstancesInput) (*CreateInstancesOutput, error) {
1651	req, out := c.CreateInstancesRequest(input)
1652	return out, req.Send()
1653}
1654
1655// CreateInstancesWithContext is the same as CreateInstances with the addition of
1656// the ability to pass a context and additional request options.
1657//
1658// See CreateInstances for details on how to use this API operation.
1659//
1660// The context must be non-nil and will be used for request cancellation. If
1661// the context is nil a panic will occur. In the future the SDK may create
1662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1663// for more information on using Contexts.
1664func (c *Lightsail) CreateInstancesWithContext(ctx aws.Context, input *CreateInstancesInput, opts ...request.Option) (*CreateInstancesOutput, error) {
1665	req, out := c.CreateInstancesRequest(input)
1666	req.SetContext(ctx)
1667	req.ApplyOptions(opts...)
1668	return out, req.Send()
1669}
1670
1671const opCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
1672
1673// CreateInstancesFromSnapshotRequest generates a "aws/request.Request" representing the
1674// client's request for the CreateInstancesFromSnapshot operation. The "output" return
1675// value will be populated with the request's response once the request completes
1676// successfully.
1677//
1678// Use "Send" method on the returned Request to send the API call to the service.
1679// the "output" return value is not valid until after Send returns without error.
1680//
1681// See CreateInstancesFromSnapshot for more information on using the CreateInstancesFromSnapshot
1682// API call, and error handling.
1683//
1684// This method is useful when you want to inject custom logic or configuration
1685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1686//
1687//
1688//    // Example sending a request using the CreateInstancesFromSnapshotRequest method.
1689//    req, resp := client.CreateInstancesFromSnapshotRequest(params)
1690//
1691//    err := req.Send()
1692//    if err == nil { // resp is now filled
1693//        fmt.Println(resp)
1694//    }
1695//
1696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1697func (c *Lightsail) CreateInstancesFromSnapshotRequest(input *CreateInstancesFromSnapshotInput) (req *request.Request, output *CreateInstancesFromSnapshotOutput) {
1698	op := &request.Operation{
1699		Name:       opCreateInstancesFromSnapshot,
1700		HTTPMethod: "POST",
1701		HTTPPath:   "/",
1702	}
1703
1704	if input == nil {
1705		input = &CreateInstancesFromSnapshotInput{}
1706	}
1707
1708	output = &CreateInstancesFromSnapshotOutput{}
1709	req = c.newRequest(op, input, output)
1710	return
1711}
1712
1713// CreateInstancesFromSnapshot API operation for Amazon Lightsail.
1714//
1715// Creates one or more new instances from a manual or automatic snapshot of
1716// an instance.
1717//
1718// The create instances from snapshot operation supports tag-based access control
1719// via request tags and resource tags applied to the resource identified by
1720// instance snapshot name. For more information, see the Lightsail Dev Guide
1721// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1722//
1723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1724// with awserr.Error's Code and Message methods to get detailed information about
1725// the error.
1726//
1727// See the AWS API reference guide for Amazon Lightsail's
1728// API operation CreateInstancesFromSnapshot for usage and error information.
1729//
1730// Returned Error Codes:
1731//   * ErrCodeServiceException "ServiceException"
1732//   A general service exception.
1733//
1734//   * ErrCodeInvalidInputException "InvalidInputException"
1735//   Lightsail throws this exception when user input does not conform to the validation
1736//   rules of an input field.
1737//
1738//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1739//   Please set your AWS Region configuration to us-east-1 to create, view, or
1740//   edit these resources.
1741//
1742//   * ErrCodeNotFoundException "NotFoundException"
1743//   Lightsail throws this exception when it cannot find a resource.
1744//
1745//   * ErrCodeOperationFailureException "OperationFailureException"
1746//   Lightsail throws this exception when an operation fails to execute.
1747//
1748//   * ErrCodeAccessDeniedException "AccessDeniedException"
1749//   Lightsail throws this exception when the user cannot be authenticated or
1750//   uses invalid credentials to access a resource.
1751//
1752//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1753//   Lightsail throws this exception when an account is still in the setup in
1754//   progress state.
1755//
1756//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1757//   Lightsail throws this exception when the user has not been authenticated.
1758//
1759// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesFromSnapshot
1760func (c *Lightsail) CreateInstancesFromSnapshot(input *CreateInstancesFromSnapshotInput) (*CreateInstancesFromSnapshotOutput, error) {
1761	req, out := c.CreateInstancesFromSnapshotRequest(input)
1762	return out, req.Send()
1763}
1764
1765// CreateInstancesFromSnapshotWithContext is the same as CreateInstancesFromSnapshot with the addition of
1766// the ability to pass a context and additional request options.
1767//
1768// See CreateInstancesFromSnapshot for details on how to use this API operation.
1769//
1770// The context must be non-nil and will be used for request cancellation. If
1771// the context is nil a panic will occur. In the future the SDK may create
1772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1773// for more information on using Contexts.
1774func (c *Lightsail) CreateInstancesFromSnapshotWithContext(ctx aws.Context, input *CreateInstancesFromSnapshotInput, opts ...request.Option) (*CreateInstancesFromSnapshotOutput, error) {
1775	req, out := c.CreateInstancesFromSnapshotRequest(input)
1776	req.SetContext(ctx)
1777	req.ApplyOptions(opts...)
1778	return out, req.Send()
1779}
1780
1781const opCreateKeyPair = "CreateKeyPair"
1782
1783// CreateKeyPairRequest generates a "aws/request.Request" representing the
1784// client's request for the CreateKeyPair operation. The "output" return
1785// value will be populated with the request's response once the request completes
1786// successfully.
1787//
1788// Use "Send" method on the returned Request to send the API call to the service.
1789// the "output" return value is not valid until after Send returns without error.
1790//
1791// See CreateKeyPair for more information on using the CreateKeyPair
1792// API call, and error handling.
1793//
1794// This method is useful when you want to inject custom logic or configuration
1795// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1796//
1797//
1798//    // Example sending a request using the CreateKeyPairRequest method.
1799//    req, resp := client.CreateKeyPairRequest(params)
1800//
1801//    err := req.Send()
1802//    if err == nil { // resp is now filled
1803//        fmt.Println(resp)
1804//    }
1805//
1806// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1807func (c *Lightsail) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
1808	op := &request.Operation{
1809		Name:       opCreateKeyPair,
1810		HTTPMethod: "POST",
1811		HTTPPath:   "/",
1812	}
1813
1814	if input == nil {
1815		input = &CreateKeyPairInput{}
1816	}
1817
1818	output = &CreateKeyPairOutput{}
1819	req = c.newRequest(op, input, output)
1820	return
1821}
1822
1823// CreateKeyPair API operation for Amazon Lightsail.
1824//
1825// Creates an SSH key pair.
1826//
1827// The create key pair operation supports tag-based access control via request
1828// tags. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
1829//
1830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1831// with awserr.Error's Code and Message methods to get detailed information about
1832// the error.
1833//
1834// See the AWS API reference guide for Amazon Lightsail's
1835// API operation CreateKeyPair for usage and error information.
1836//
1837// Returned Error Codes:
1838//   * ErrCodeServiceException "ServiceException"
1839//   A general service exception.
1840//
1841//   * ErrCodeInvalidInputException "InvalidInputException"
1842//   Lightsail throws this exception when user input does not conform to the validation
1843//   rules of an input field.
1844//
1845//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1846//   Please set your AWS Region configuration to us-east-1 to create, view, or
1847//   edit these resources.
1848//
1849//   * ErrCodeNotFoundException "NotFoundException"
1850//   Lightsail throws this exception when it cannot find a resource.
1851//
1852//   * ErrCodeOperationFailureException "OperationFailureException"
1853//   Lightsail throws this exception when an operation fails to execute.
1854//
1855//   * ErrCodeAccessDeniedException "AccessDeniedException"
1856//   Lightsail throws this exception when the user cannot be authenticated or
1857//   uses invalid credentials to access a resource.
1858//
1859//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1860//   Lightsail throws this exception when an account is still in the setup in
1861//   progress state.
1862//
1863//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1864//   Lightsail throws this exception when the user has not been authenticated.
1865//
1866// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPair
1867func (c *Lightsail) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
1868	req, out := c.CreateKeyPairRequest(input)
1869	return out, req.Send()
1870}
1871
1872// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
1873// the ability to pass a context and additional request options.
1874//
1875// See CreateKeyPair for details on how to use this API operation.
1876//
1877// The context must be non-nil and will be used for request cancellation. If
1878// the context is nil a panic will occur. In the future the SDK may create
1879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1880// for more information on using Contexts.
1881func (c *Lightsail) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
1882	req, out := c.CreateKeyPairRequest(input)
1883	req.SetContext(ctx)
1884	req.ApplyOptions(opts...)
1885	return out, req.Send()
1886}
1887
1888const opCreateLoadBalancer = "CreateLoadBalancer"
1889
1890// CreateLoadBalancerRequest generates a "aws/request.Request" representing the
1891// client's request for the CreateLoadBalancer operation. The "output" return
1892// value will be populated with the request's response once the request completes
1893// successfully.
1894//
1895// Use "Send" method on the returned Request to send the API call to the service.
1896// the "output" return value is not valid until after Send returns without error.
1897//
1898// See CreateLoadBalancer for more information on using the CreateLoadBalancer
1899// API call, and error handling.
1900//
1901// This method is useful when you want to inject custom logic or configuration
1902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1903//
1904//
1905//    // Example sending a request using the CreateLoadBalancerRequest method.
1906//    req, resp := client.CreateLoadBalancerRequest(params)
1907//
1908//    err := req.Send()
1909//    if err == nil { // resp is now filled
1910//        fmt.Println(resp)
1911//    }
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
1914func (c *Lightsail) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) {
1915	op := &request.Operation{
1916		Name:       opCreateLoadBalancer,
1917		HTTPMethod: "POST",
1918		HTTPPath:   "/",
1919	}
1920
1921	if input == nil {
1922		input = &CreateLoadBalancerInput{}
1923	}
1924
1925	output = &CreateLoadBalancerOutput{}
1926	req = c.newRequest(op, input, output)
1927	return
1928}
1929
1930// CreateLoadBalancer API operation for Amazon Lightsail.
1931//
1932// Creates a Lightsail load balancer. To learn more about deciding whether to
1933// load balance your application, see Configure your Lightsail instances for
1934// load balancing (https://lightsail.aws.amazon.com/ls/docs/how-to/article/configure-lightsail-instances-for-load-balancing).
1935// You can create up to 5 load balancers per AWS Region in your account.
1936//
1937// When you create a load balancer, you can specify a unique name and port settings.
1938// To change additional load balancer settings, use the UpdateLoadBalancerAttribute
1939// operation.
1940//
1941// The create load balancer operation supports tag-based access control via
1942// 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).
1943//
1944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1945// with awserr.Error's Code and Message methods to get detailed information about
1946// the error.
1947//
1948// See the AWS API reference guide for Amazon Lightsail's
1949// API operation CreateLoadBalancer for usage and error information.
1950//
1951// Returned Error Codes:
1952//   * ErrCodeServiceException "ServiceException"
1953//   A general service exception.
1954//
1955//   * ErrCodeInvalidInputException "InvalidInputException"
1956//   Lightsail throws this exception when user input does not conform to the validation
1957//   rules of an input field.
1958//
1959//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
1960//   Please set your AWS Region configuration to us-east-1 to create, view, or
1961//   edit these resources.
1962//
1963//   * ErrCodeNotFoundException "NotFoundException"
1964//   Lightsail throws this exception when it cannot find a resource.
1965//
1966//   * ErrCodeOperationFailureException "OperationFailureException"
1967//   Lightsail throws this exception when an operation fails to execute.
1968//
1969//   * ErrCodeAccessDeniedException "AccessDeniedException"
1970//   Lightsail throws this exception when the user cannot be authenticated or
1971//   uses invalid credentials to access a resource.
1972//
1973//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
1974//   Lightsail throws this exception when an account is still in the setup in
1975//   progress state.
1976//
1977//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
1978//   Lightsail throws this exception when the user has not been authenticated.
1979//
1980// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancer
1981func (c *Lightsail) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) {
1982	req, out := c.CreateLoadBalancerRequest(input)
1983	return out, req.Send()
1984}
1985
1986// CreateLoadBalancerWithContext is the same as CreateLoadBalancer with the addition of
1987// the ability to pass a context and additional request options.
1988//
1989// See CreateLoadBalancer for details on how to use this API operation.
1990//
1991// The context must be non-nil and will be used for request cancellation. If
1992// the context is nil a panic will occur. In the future the SDK may create
1993// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1994// for more information on using Contexts.
1995func (c *Lightsail) CreateLoadBalancerWithContext(ctx aws.Context, input *CreateLoadBalancerInput, opts ...request.Option) (*CreateLoadBalancerOutput, error) {
1996	req, out := c.CreateLoadBalancerRequest(input)
1997	req.SetContext(ctx)
1998	req.ApplyOptions(opts...)
1999	return out, req.Send()
2000}
2001
2002const opCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
2003
2004// CreateLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
2005// client's request for the CreateLoadBalancerTlsCertificate operation. The "output" return
2006// value will be populated with the request's response once the request completes
2007// successfully.
2008//
2009// Use "Send" method on the returned Request to send the API call to the service.
2010// the "output" return value is not valid until after Send returns without error.
2011//
2012// See CreateLoadBalancerTlsCertificate for more information on using the CreateLoadBalancerTlsCertificate
2013// API call, and error handling.
2014//
2015// This method is useful when you want to inject custom logic or configuration
2016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2017//
2018//
2019//    // Example sending a request using the CreateLoadBalancerTlsCertificateRequest method.
2020//    req, resp := client.CreateLoadBalancerTlsCertificateRequest(params)
2021//
2022//    err := req.Send()
2023//    if err == nil { // resp is now filled
2024//        fmt.Println(resp)
2025//    }
2026//
2027// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2028func (c *Lightsail) CreateLoadBalancerTlsCertificateRequest(input *CreateLoadBalancerTlsCertificateInput) (req *request.Request, output *CreateLoadBalancerTlsCertificateOutput) {
2029	op := &request.Operation{
2030		Name:       opCreateLoadBalancerTlsCertificate,
2031		HTTPMethod: "POST",
2032		HTTPPath:   "/",
2033	}
2034
2035	if input == nil {
2036		input = &CreateLoadBalancerTlsCertificateInput{}
2037	}
2038
2039	output = &CreateLoadBalancerTlsCertificateOutput{}
2040	req = c.newRequest(op, input, output)
2041	return
2042}
2043
2044// CreateLoadBalancerTlsCertificate API operation for Amazon Lightsail.
2045//
2046// Creates a Lightsail load balancer TLS certificate.
2047//
2048// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
2049//
2050// The create load balancer tls certificate operation supports tag-based access
2051// control via resource tags applied to the resource identified by load balancer
2052// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2053//
2054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2055// with awserr.Error's Code and Message methods to get detailed information about
2056// the error.
2057//
2058// See the AWS API reference guide for Amazon Lightsail's
2059// API operation CreateLoadBalancerTlsCertificate for usage and error information.
2060//
2061// Returned Error Codes:
2062//   * ErrCodeServiceException "ServiceException"
2063//   A general service exception.
2064//
2065//   * ErrCodeInvalidInputException "InvalidInputException"
2066//   Lightsail throws this exception when user input does not conform to the validation
2067//   rules of an input field.
2068//
2069//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2070//   Please set your AWS Region configuration to us-east-1 to create, view, or
2071//   edit these resources.
2072//
2073//   * ErrCodeNotFoundException "NotFoundException"
2074//   Lightsail throws this exception when it cannot find a resource.
2075//
2076//   * ErrCodeOperationFailureException "OperationFailureException"
2077//   Lightsail throws this exception when an operation fails to execute.
2078//
2079//   * ErrCodeAccessDeniedException "AccessDeniedException"
2080//   Lightsail throws this exception when the user cannot be authenticated or
2081//   uses invalid credentials to access a resource.
2082//
2083//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2084//   Lightsail throws this exception when an account is still in the setup in
2085//   progress state.
2086//
2087//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2088//   Lightsail throws this exception when the user has not been authenticated.
2089//
2090// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificate
2091func (c *Lightsail) CreateLoadBalancerTlsCertificate(input *CreateLoadBalancerTlsCertificateInput) (*CreateLoadBalancerTlsCertificateOutput, error) {
2092	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2093	return out, req.Send()
2094}
2095
2096// CreateLoadBalancerTlsCertificateWithContext is the same as CreateLoadBalancerTlsCertificate with the addition of
2097// the ability to pass a context and additional request options.
2098//
2099// See CreateLoadBalancerTlsCertificate for details on how to use this API operation.
2100//
2101// The context must be non-nil and will be used for request cancellation. If
2102// the context is nil a panic will occur. In the future the SDK may create
2103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2104// for more information on using Contexts.
2105func (c *Lightsail) CreateLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *CreateLoadBalancerTlsCertificateInput, opts ...request.Option) (*CreateLoadBalancerTlsCertificateOutput, error) {
2106	req, out := c.CreateLoadBalancerTlsCertificateRequest(input)
2107	req.SetContext(ctx)
2108	req.ApplyOptions(opts...)
2109	return out, req.Send()
2110}
2111
2112const opCreateRelationalDatabase = "CreateRelationalDatabase"
2113
2114// CreateRelationalDatabaseRequest generates a "aws/request.Request" representing the
2115// client's request for the CreateRelationalDatabase operation. The "output" return
2116// value will be populated with the request's response once the request completes
2117// successfully.
2118//
2119// Use "Send" method on the returned Request to send the API call to the service.
2120// the "output" return value is not valid until after Send returns without error.
2121//
2122// See CreateRelationalDatabase for more information on using the CreateRelationalDatabase
2123// API call, and error handling.
2124//
2125// This method is useful when you want to inject custom logic or configuration
2126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2127//
2128//
2129//    // Example sending a request using the CreateRelationalDatabaseRequest method.
2130//    req, resp := client.CreateRelationalDatabaseRequest(params)
2131//
2132//    err := req.Send()
2133//    if err == nil { // resp is now filled
2134//        fmt.Println(resp)
2135//    }
2136//
2137// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2138func (c *Lightsail) CreateRelationalDatabaseRequest(input *CreateRelationalDatabaseInput) (req *request.Request, output *CreateRelationalDatabaseOutput) {
2139	op := &request.Operation{
2140		Name:       opCreateRelationalDatabase,
2141		HTTPMethod: "POST",
2142		HTTPPath:   "/",
2143	}
2144
2145	if input == nil {
2146		input = &CreateRelationalDatabaseInput{}
2147	}
2148
2149	output = &CreateRelationalDatabaseOutput{}
2150	req = c.newRequest(op, input, output)
2151	return
2152}
2153
2154// CreateRelationalDatabase API operation for Amazon Lightsail.
2155//
2156// Creates a new database in Amazon Lightsail.
2157//
2158// The create relational database operation supports tag-based access control
2159// 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).
2160//
2161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2162// with awserr.Error's Code and Message methods to get detailed information about
2163// the error.
2164//
2165// See the AWS API reference guide for Amazon Lightsail's
2166// API operation CreateRelationalDatabase for usage and error information.
2167//
2168// Returned Error Codes:
2169//   * ErrCodeServiceException "ServiceException"
2170//   A general service exception.
2171//
2172//   * ErrCodeInvalidInputException "InvalidInputException"
2173//   Lightsail throws this exception when user input does not conform to the validation
2174//   rules of an input field.
2175//
2176//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2177//   Please set your AWS Region configuration to us-east-1 to create, view, or
2178//   edit these resources.
2179//
2180//   * ErrCodeNotFoundException "NotFoundException"
2181//   Lightsail throws this exception when it cannot find a resource.
2182//
2183//   * ErrCodeOperationFailureException "OperationFailureException"
2184//   Lightsail throws this exception when an operation fails to execute.
2185//
2186//   * ErrCodeAccessDeniedException "AccessDeniedException"
2187//   Lightsail throws this exception when the user cannot be authenticated or
2188//   uses invalid credentials to access a resource.
2189//
2190//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2191//   Lightsail throws this exception when an account is still in the setup in
2192//   progress state.
2193//
2194//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2195//   Lightsail throws this exception when the user has not been authenticated.
2196//
2197// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabase
2198func (c *Lightsail) CreateRelationalDatabase(input *CreateRelationalDatabaseInput) (*CreateRelationalDatabaseOutput, error) {
2199	req, out := c.CreateRelationalDatabaseRequest(input)
2200	return out, req.Send()
2201}
2202
2203// CreateRelationalDatabaseWithContext is the same as CreateRelationalDatabase with the addition of
2204// the ability to pass a context and additional request options.
2205//
2206// See CreateRelationalDatabase for details on how to use this API operation.
2207//
2208// The context must be non-nil and will be used for request cancellation. If
2209// the context is nil a panic will occur. In the future the SDK may create
2210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2211// for more information on using Contexts.
2212func (c *Lightsail) CreateRelationalDatabaseWithContext(ctx aws.Context, input *CreateRelationalDatabaseInput, opts ...request.Option) (*CreateRelationalDatabaseOutput, error) {
2213	req, out := c.CreateRelationalDatabaseRequest(input)
2214	req.SetContext(ctx)
2215	req.ApplyOptions(opts...)
2216	return out, req.Send()
2217}
2218
2219const opCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
2220
2221// CreateRelationalDatabaseFromSnapshotRequest generates a "aws/request.Request" representing the
2222// client's request for the CreateRelationalDatabaseFromSnapshot operation. The "output" return
2223// value will be populated with the request's response once the request completes
2224// successfully.
2225//
2226// Use "Send" method on the returned Request to send the API call to the service.
2227// the "output" return value is not valid until after Send returns without error.
2228//
2229// See CreateRelationalDatabaseFromSnapshot for more information on using the CreateRelationalDatabaseFromSnapshot
2230// API call, and error handling.
2231//
2232// This method is useful when you want to inject custom logic or configuration
2233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2234//
2235//
2236//    // Example sending a request using the CreateRelationalDatabaseFromSnapshotRequest method.
2237//    req, resp := client.CreateRelationalDatabaseFromSnapshotRequest(params)
2238//
2239//    err := req.Send()
2240//    if err == nil { // resp is now filled
2241//        fmt.Println(resp)
2242//    }
2243//
2244// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2245func (c *Lightsail) CreateRelationalDatabaseFromSnapshotRequest(input *CreateRelationalDatabaseFromSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseFromSnapshotOutput) {
2246	op := &request.Operation{
2247		Name:       opCreateRelationalDatabaseFromSnapshot,
2248		HTTPMethod: "POST",
2249		HTTPPath:   "/",
2250	}
2251
2252	if input == nil {
2253		input = &CreateRelationalDatabaseFromSnapshotInput{}
2254	}
2255
2256	output = &CreateRelationalDatabaseFromSnapshotOutput{}
2257	req = c.newRequest(op, input, output)
2258	return
2259}
2260
2261// CreateRelationalDatabaseFromSnapshot API operation for Amazon Lightsail.
2262//
2263// Creates a new database from an existing database snapshot in Amazon Lightsail.
2264//
2265// You can create a new database from a snapshot in if something goes wrong
2266// with your original database, or to change it to a different plan, such as
2267// a high availability or standard plan.
2268//
2269// The create relational database from snapshot operation supports tag-based
2270// access control via request tags and resource tags applied to the resource
2271// identified by relationalDatabaseSnapshotName. For more information, see the
2272// Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2273//
2274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2275// with awserr.Error's Code and Message methods to get detailed information about
2276// the error.
2277//
2278// See the AWS API reference guide for Amazon Lightsail's
2279// API operation CreateRelationalDatabaseFromSnapshot for usage and error information.
2280//
2281// Returned Error Codes:
2282//   * ErrCodeServiceException "ServiceException"
2283//   A general service exception.
2284//
2285//   * ErrCodeInvalidInputException "InvalidInputException"
2286//   Lightsail throws this exception when user input does not conform to the validation
2287//   rules of an input field.
2288//
2289//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2290//   Please set your AWS Region configuration to us-east-1 to create, view, or
2291//   edit these resources.
2292//
2293//   * ErrCodeNotFoundException "NotFoundException"
2294//   Lightsail throws this exception when it cannot find a resource.
2295//
2296//   * ErrCodeOperationFailureException "OperationFailureException"
2297//   Lightsail throws this exception when an operation fails to execute.
2298//
2299//   * ErrCodeAccessDeniedException "AccessDeniedException"
2300//   Lightsail throws this exception when the user cannot be authenticated or
2301//   uses invalid credentials to access a resource.
2302//
2303//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2304//   Lightsail throws this exception when an account is still in the setup in
2305//   progress state.
2306//
2307//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2308//   Lightsail throws this exception when the user has not been authenticated.
2309//
2310// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshot
2311func (c *Lightsail) CreateRelationalDatabaseFromSnapshot(input *CreateRelationalDatabaseFromSnapshotInput) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2312	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2313	return out, req.Send()
2314}
2315
2316// CreateRelationalDatabaseFromSnapshotWithContext is the same as CreateRelationalDatabaseFromSnapshot with the addition of
2317// the ability to pass a context and additional request options.
2318//
2319// See CreateRelationalDatabaseFromSnapshot for details on how to use this API operation.
2320//
2321// The context must be non-nil and will be used for request cancellation. If
2322// the context is nil a panic will occur. In the future the SDK may create
2323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2324// for more information on using Contexts.
2325func (c *Lightsail) CreateRelationalDatabaseFromSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseFromSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseFromSnapshotOutput, error) {
2326	req, out := c.CreateRelationalDatabaseFromSnapshotRequest(input)
2327	req.SetContext(ctx)
2328	req.ApplyOptions(opts...)
2329	return out, req.Send()
2330}
2331
2332const opCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
2333
2334// CreateRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
2335// client's request for the CreateRelationalDatabaseSnapshot operation. The "output" return
2336// value will be populated with the request's response once the request completes
2337// successfully.
2338//
2339// Use "Send" method on the returned Request to send the API call to the service.
2340// the "output" return value is not valid until after Send returns without error.
2341//
2342// See CreateRelationalDatabaseSnapshot for more information on using the CreateRelationalDatabaseSnapshot
2343// API call, and error handling.
2344//
2345// This method is useful when you want to inject custom logic or configuration
2346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2347//
2348//
2349//    // Example sending a request using the CreateRelationalDatabaseSnapshotRequest method.
2350//    req, resp := client.CreateRelationalDatabaseSnapshotRequest(params)
2351//
2352//    err := req.Send()
2353//    if err == nil { // resp is now filled
2354//        fmt.Println(resp)
2355//    }
2356//
2357// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2358func (c *Lightsail) CreateRelationalDatabaseSnapshotRequest(input *CreateRelationalDatabaseSnapshotInput) (req *request.Request, output *CreateRelationalDatabaseSnapshotOutput) {
2359	op := &request.Operation{
2360		Name:       opCreateRelationalDatabaseSnapshot,
2361		HTTPMethod: "POST",
2362		HTTPPath:   "/",
2363	}
2364
2365	if input == nil {
2366		input = &CreateRelationalDatabaseSnapshotInput{}
2367	}
2368
2369	output = &CreateRelationalDatabaseSnapshotOutput{}
2370	req = c.newRequest(op, input, output)
2371	return
2372}
2373
2374// CreateRelationalDatabaseSnapshot API operation for Amazon Lightsail.
2375//
2376// Creates a snapshot of your database in Amazon Lightsail. You can use snapshots
2377// for backups, to make copies of a database, and to save data before deleting
2378// a database.
2379//
2380// The create relational database snapshot operation supports tag-based access
2381// control via request tags. For more information, see the Lightsail Dev Guide
2382// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2383//
2384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2385// with awserr.Error's Code and Message methods to get detailed information about
2386// the error.
2387//
2388// See the AWS API reference guide for Amazon Lightsail's
2389// API operation CreateRelationalDatabaseSnapshot for usage and error information.
2390//
2391// Returned Error Codes:
2392//   * ErrCodeServiceException "ServiceException"
2393//   A general service exception.
2394//
2395//   * ErrCodeInvalidInputException "InvalidInputException"
2396//   Lightsail throws this exception when user input does not conform to the validation
2397//   rules of an input field.
2398//
2399//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2400//   Please set your AWS Region configuration to us-east-1 to create, view, or
2401//   edit these resources.
2402//
2403//   * ErrCodeNotFoundException "NotFoundException"
2404//   Lightsail throws this exception when it cannot find a resource.
2405//
2406//   * ErrCodeOperationFailureException "OperationFailureException"
2407//   Lightsail throws this exception when an operation fails to execute.
2408//
2409//   * ErrCodeAccessDeniedException "AccessDeniedException"
2410//   Lightsail throws this exception when the user cannot be authenticated or
2411//   uses invalid credentials to access a resource.
2412//
2413//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2414//   Lightsail throws this exception when an account is still in the setup in
2415//   progress state.
2416//
2417//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2418//   Lightsail throws this exception when the user has not been authenticated.
2419//
2420// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshot
2421func (c *Lightsail) CreateRelationalDatabaseSnapshot(input *CreateRelationalDatabaseSnapshotInput) (*CreateRelationalDatabaseSnapshotOutput, error) {
2422	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2423	return out, req.Send()
2424}
2425
2426// CreateRelationalDatabaseSnapshotWithContext is the same as CreateRelationalDatabaseSnapshot with the addition of
2427// the ability to pass a context and additional request options.
2428//
2429// See CreateRelationalDatabaseSnapshot for details on how to use this API operation.
2430//
2431// The context must be non-nil and will be used for request cancellation. If
2432// the context is nil a panic will occur. In the future the SDK may create
2433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2434// for more information on using Contexts.
2435func (c *Lightsail) CreateRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *CreateRelationalDatabaseSnapshotInput, opts ...request.Option) (*CreateRelationalDatabaseSnapshotOutput, error) {
2436	req, out := c.CreateRelationalDatabaseSnapshotRequest(input)
2437	req.SetContext(ctx)
2438	req.ApplyOptions(opts...)
2439	return out, req.Send()
2440}
2441
2442const opDeleteAutoSnapshot = "DeleteAutoSnapshot"
2443
2444// DeleteAutoSnapshotRequest generates a "aws/request.Request" representing the
2445// client's request for the DeleteAutoSnapshot operation. The "output" return
2446// value will be populated with the request's response once the request completes
2447// successfully.
2448//
2449// Use "Send" method on the returned Request to send the API call to the service.
2450// the "output" return value is not valid until after Send returns without error.
2451//
2452// See DeleteAutoSnapshot for more information on using the DeleteAutoSnapshot
2453// API call, and error handling.
2454//
2455// This method is useful when you want to inject custom logic or configuration
2456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2457//
2458//
2459//    // Example sending a request using the DeleteAutoSnapshotRequest method.
2460//    req, resp := client.DeleteAutoSnapshotRequest(params)
2461//
2462//    err := req.Send()
2463//    if err == nil { // resp is now filled
2464//        fmt.Println(resp)
2465//    }
2466//
2467// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
2468func (c *Lightsail) DeleteAutoSnapshotRequest(input *DeleteAutoSnapshotInput) (req *request.Request, output *DeleteAutoSnapshotOutput) {
2469	op := &request.Operation{
2470		Name:       opDeleteAutoSnapshot,
2471		HTTPMethod: "POST",
2472		HTTPPath:   "/",
2473	}
2474
2475	if input == nil {
2476		input = &DeleteAutoSnapshotInput{}
2477	}
2478
2479	output = &DeleteAutoSnapshotOutput{}
2480	req = c.newRequest(op, input, output)
2481	return
2482}
2483
2484// DeleteAutoSnapshot API operation for Amazon Lightsail.
2485//
2486// Deletes an automatic snapshot of an instance or disk. For more information,
2487// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
2488//
2489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2490// with awserr.Error's Code and Message methods to get detailed information about
2491// the error.
2492//
2493// See the AWS API reference guide for Amazon Lightsail's
2494// API operation DeleteAutoSnapshot for usage and error information.
2495//
2496// Returned Error Codes:
2497//   * ErrCodeServiceException "ServiceException"
2498//   A general service exception.
2499//
2500//   * ErrCodeInvalidInputException "InvalidInputException"
2501//   Lightsail throws this exception when user input does not conform to the validation
2502//   rules of an input field.
2503//
2504//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2505//   Please set your AWS Region configuration to us-east-1 to create, view, or
2506//   edit these resources.
2507//
2508//   * ErrCodeNotFoundException "NotFoundException"
2509//   Lightsail throws this exception when it cannot find a resource.
2510//
2511//   * ErrCodeOperationFailureException "OperationFailureException"
2512//   Lightsail throws this exception when an operation fails to execute.
2513//
2514//   * ErrCodeAccessDeniedException "AccessDeniedException"
2515//   Lightsail throws this exception when the user cannot be authenticated or
2516//   uses invalid credentials to access a resource.
2517//
2518//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2519//   Lightsail throws this exception when the user has not been authenticated.
2520//
2521// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteAutoSnapshot
2522func (c *Lightsail) DeleteAutoSnapshot(input *DeleteAutoSnapshotInput) (*DeleteAutoSnapshotOutput, error) {
2523	req, out := c.DeleteAutoSnapshotRequest(input)
2524	return out, req.Send()
2525}
2526
2527// DeleteAutoSnapshotWithContext is the same as DeleteAutoSnapshot with the addition of
2528// the ability to pass a context and additional request options.
2529//
2530// See DeleteAutoSnapshot for details on how to use this API operation.
2531//
2532// The context must be non-nil and will be used for request cancellation. If
2533// the context is nil a panic will occur. In the future the SDK may create
2534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2535// for more information on using Contexts.
2536func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *DeleteAutoSnapshotInput, opts ...request.Option) (*DeleteAutoSnapshotOutput, error) {
2537	req, out := c.DeleteAutoSnapshotRequest(input)
2538	req.SetContext(ctx)
2539	req.ApplyOptions(opts...)
2540	return out, req.Send()
2541}
2542
2543const opDeleteDisk = "DeleteDisk"
2544
2545// DeleteDiskRequest generates a "aws/request.Request" representing the
2546// client's request for the DeleteDisk operation. The "output" return
2547// value will be populated with the request's response once the request completes
2548// successfully.
2549//
2550// Use "Send" method on the returned Request to send the API call to the service.
2551// the "output" return value is not valid until after Send returns without error.
2552//
2553// See DeleteDisk for more information on using the DeleteDisk
2554// API call, and error handling.
2555//
2556// This method is useful when you want to inject custom logic or configuration
2557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2558//
2559//
2560//    // Example sending a request using the DeleteDiskRequest method.
2561//    req, resp := client.DeleteDiskRequest(params)
2562//
2563//    err := req.Send()
2564//    if err == nil { // resp is now filled
2565//        fmt.Println(resp)
2566//    }
2567//
2568// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2569func (c *Lightsail) DeleteDiskRequest(input *DeleteDiskInput) (req *request.Request, output *DeleteDiskOutput) {
2570	op := &request.Operation{
2571		Name:       opDeleteDisk,
2572		HTTPMethod: "POST",
2573		HTTPPath:   "/",
2574	}
2575
2576	if input == nil {
2577		input = &DeleteDiskInput{}
2578	}
2579
2580	output = &DeleteDiskOutput{}
2581	req = c.newRequest(op, input, output)
2582	return
2583}
2584
2585// DeleteDisk API operation for Amazon Lightsail.
2586//
2587// Deletes the specified block storage disk. The disk must be in the available
2588// state (not attached to a Lightsail instance).
2589//
2590// The disk may remain in the deleting state for several minutes.
2591//
2592// The delete disk operation supports tag-based access control via resource
2593// tags applied to the resource identified by disk name. For more information,
2594// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2595//
2596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2597// with awserr.Error's Code and Message methods to get detailed information about
2598// the error.
2599//
2600// See the AWS API reference guide for Amazon Lightsail's
2601// API operation DeleteDisk for usage and error information.
2602//
2603// Returned Error Codes:
2604//   * ErrCodeServiceException "ServiceException"
2605//   A general service exception.
2606//
2607//   * ErrCodeInvalidInputException "InvalidInputException"
2608//   Lightsail throws this exception when user input does not conform to the validation
2609//   rules of an input field.
2610//
2611//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2612//   Please set your AWS Region configuration to us-east-1 to create, view, or
2613//   edit these resources.
2614//
2615//   * ErrCodeNotFoundException "NotFoundException"
2616//   Lightsail throws this exception when it cannot find a resource.
2617//
2618//   * ErrCodeOperationFailureException "OperationFailureException"
2619//   Lightsail throws this exception when an operation fails to execute.
2620//
2621//   * ErrCodeAccessDeniedException "AccessDeniedException"
2622//   Lightsail throws this exception when the user cannot be authenticated or
2623//   uses invalid credentials to access a resource.
2624//
2625//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2626//   Lightsail throws this exception when an account is still in the setup in
2627//   progress state.
2628//
2629//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2630//   Lightsail throws this exception when the user has not been authenticated.
2631//
2632// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDisk
2633func (c *Lightsail) DeleteDisk(input *DeleteDiskInput) (*DeleteDiskOutput, error) {
2634	req, out := c.DeleteDiskRequest(input)
2635	return out, req.Send()
2636}
2637
2638// DeleteDiskWithContext is the same as DeleteDisk with the addition of
2639// the ability to pass a context and additional request options.
2640//
2641// See DeleteDisk for details on how to use this API operation.
2642//
2643// The context must be non-nil and will be used for request cancellation. If
2644// the context is nil a panic will occur. In the future the SDK may create
2645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2646// for more information on using Contexts.
2647func (c *Lightsail) DeleteDiskWithContext(ctx aws.Context, input *DeleteDiskInput, opts ...request.Option) (*DeleteDiskOutput, error) {
2648	req, out := c.DeleteDiskRequest(input)
2649	req.SetContext(ctx)
2650	req.ApplyOptions(opts...)
2651	return out, req.Send()
2652}
2653
2654const opDeleteDiskSnapshot = "DeleteDiskSnapshot"
2655
2656// DeleteDiskSnapshotRequest generates a "aws/request.Request" representing the
2657// client's request for the DeleteDiskSnapshot operation. The "output" return
2658// value will be populated with the request's response once the request completes
2659// successfully.
2660//
2661// Use "Send" method on the returned Request to send the API call to the service.
2662// the "output" return value is not valid until after Send returns without error.
2663//
2664// See DeleteDiskSnapshot for more information on using the DeleteDiskSnapshot
2665// API call, and error handling.
2666//
2667// This method is useful when you want to inject custom logic or configuration
2668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2669//
2670//
2671//    // Example sending a request using the DeleteDiskSnapshotRequest method.
2672//    req, resp := client.DeleteDiskSnapshotRequest(params)
2673//
2674//    err := req.Send()
2675//    if err == nil { // resp is now filled
2676//        fmt.Println(resp)
2677//    }
2678//
2679// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
2680func (c *Lightsail) DeleteDiskSnapshotRequest(input *DeleteDiskSnapshotInput) (req *request.Request, output *DeleteDiskSnapshotOutput) {
2681	op := &request.Operation{
2682		Name:       opDeleteDiskSnapshot,
2683		HTTPMethod: "POST",
2684		HTTPPath:   "/",
2685	}
2686
2687	if input == nil {
2688		input = &DeleteDiskSnapshotInput{}
2689	}
2690
2691	output = &DeleteDiskSnapshotOutput{}
2692	req = c.newRequest(op, input, output)
2693	return
2694}
2695
2696// DeleteDiskSnapshot API operation for Amazon Lightsail.
2697//
2698// Deletes the specified disk snapshot.
2699//
2700// When you make periodic snapshots of a disk, the snapshots are incremental,
2701// and only the blocks on the device that have changed since your last snapshot
2702// are saved in the new snapshot. When you delete a snapshot, only the data
2703// not needed for any other snapshot is removed. So regardless of which prior
2704// snapshots have been deleted, all active snapshots will have access to all
2705// the information needed to restore the disk.
2706//
2707// The delete disk snapshot operation supports tag-based access control via
2708// resource tags applied to the resource identified by disk snapshot name. For
2709// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2710//
2711// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2712// with awserr.Error's Code and Message methods to get detailed information about
2713// the error.
2714//
2715// See the AWS API reference guide for Amazon Lightsail's
2716// API operation DeleteDiskSnapshot for usage and error information.
2717//
2718// Returned Error Codes:
2719//   * ErrCodeServiceException "ServiceException"
2720//   A general service exception.
2721//
2722//   * ErrCodeInvalidInputException "InvalidInputException"
2723//   Lightsail throws this exception when user input does not conform to the validation
2724//   rules of an input field.
2725//
2726//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2727//   Please set your AWS Region configuration to us-east-1 to create, view, or
2728//   edit these resources.
2729//
2730//   * ErrCodeNotFoundException "NotFoundException"
2731//   Lightsail throws this exception when it cannot find a resource.
2732//
2733//   * ErrCodeOperationFailureException "OperationFailureException"
2734//   Lightsail throws this exception when an operation fails to execute.
2735//
2736//   * ErrCodeAccessDeniedException "AccessDeniedException"
2737//   Lightsail throws this exception when the user cannot be authenticated or
2738//   uses invalid credentials to access a resource.
2739//
2740//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2741//   Lightsail throws this exception when an account is still in the setup in
2742//   progress state.
2743//
2744//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2745//   Lightsail throws this exception when the user has not been authenticated.
2746//
2747// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot
2748func (c *Lightsail) DeleteDiskSnapshot(input *DeleteDiskSnapshotInput) (*DeleteDiskSnapshotOutput, error) {
2749	req, out := c.DeleteDiskSnapshotRequest(input)
2750	return out, req.Send()
2751}
2752
2753// DeleteDiskSnapshotWithContext is the same as DeleteDiskSnapshot with the addition of
2754// the ability to pass a context and additional request options.
2755//
2756// See DeleteDiskSnapshot for details on how to use this API operation.
2757//
2758// The context must be non-nil and will be used for request cancellation. If
2759// the context is nil a panic will occur. In the future the SDK may create
2760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2761// for more information on using Contexts.
2762func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *DeleteDiskSnapshotInput, opts ...request.Option) (*DeleteDiskSnapshotOutput, error) {
2763	req, out := c.DeleteDiskSnapshotRequest(input)
2764	req.SetContext(ctx)
2765	req.ApplyOptions(opts...)
2766	return out, req.Send()
2767}
2768
2769const opDeleteDomain = "DeleteDomain"
2770
2771// DeleteDomainRequest generates a "aws/request.Request" representing the
2772// client's request for the DeleteDomain operation. The "output" return
2773// value will be populated with the request's response once the request completes
2774// successfully.
2775//
2776// Use "Send" method on the returned Request to send the API call to the service.
2777// the "output" return value is not valid until after Send returns without error.
2778//
2779// See DeleteDomain for more information on using the DeleteDomain
2780// API call, and error handling.
2781//
2782// This method is useful when you want to inject custom logic or configuration
2783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2784//
2785//
2786//    // Example sending a request using the DeleteDomainRequest method.
2787//    req, resp := client.DeleteDomainRequest(params)
2788//
2789//    err := req.Send()
2790//    if err == nil { // resp is now filled
2791//        fmt.Println(resp)
2792//    }
2793//
2794// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
2795func (c *Lightsail) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) {
2796	op := &request.Operation{
2797		Name:       opDeleteDomain,
2798		HTTPMethod: "POST",
2799		HTTPPath:   "/",
2800	}
2801
2802	if input == nil {
2803		input = &DeleteDomainInput{}
2804	}
2805
2806	output = &DeleteDomainOutput{}
2807	req = c.newRequest(op, input, output)
2808	return
2809}
2810
2811// DeleteDomain API operation for Amazon Lightsail.
2812//
2813// Deletes the specified domain recordset and all of its domain records.
2814//
2815// The delete domain operation supports tag-based access control via resource
2816// tags applied to the resource identified by domain name. For more information,
2817// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2818//
2819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2820// with awserr.Error's Code and Message methods to get detailed information about
2821// the error.
2822//
2823// See the AWS API reference guide for Amazon Lightsail's
2824// API operation DeleteDomain for usage and error information.
2825//
2826// Returned Error Codes:
2827//   * ErrCodeServiceException "ServiceException"
2828//   A general service exception.
2829//
2830//   * ErrCodeInvalidInputException "InvalidInputException"
2831//   Lightsail throws this exception when user input does not conform to the validation
2832//   rules of an input field.
2833//
2834//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2835//   Please set your AWS Region configuration to us-east-1 to create, view, or
2836//   edit these resources.
2837//
2838//   * ErrCodeNotFoundException "NotFoundException"
2839//   Lightsail throws this exception when it cannot find a resource.
2840//
2841//   * ErrCodeOperationFailureException "OperationFailureException"
2842//   Lightsail throws this exception when an operation fails to execute.
2843//
2844//   * ErrCodeAccessDeniedException "AccessDeniedException"
2845//   Lightsail throws this exception when the user cannot be authenticated or
2846//   uses invalid credentials to access a resource.
2847//
2848//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2849//   Lightsail throws this exception when an account is still in the setup in
2850//   progress state.
2851//
2852//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2853//   Lightsail throws this exception when the user has not been authenticated.
2854//
2855// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomain
2856func (c *Lightsail) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) {
2857	req, out := c.DeleteDomainRequest(input)
2858	return out, req.Send()
2859}
2860
2861// DeleteDomainWithContext is the same as DeleteDomain with the addition of
2862// the ability to pass a context and additional request options.
2863//
2864// See DeleteDomain for details on how to use this API operation.
2865//
2866// The context must be non-nil and will be used for request cancellation. If
2867// the context is nil a panic will occur. In the future the SDK may create
2868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2869// for more information on using Contexts.
2870func (c *Lightsail) DeleteDomainWithContext(ctx aws.Context, input *DeleteDomainInput, opts ...request.Option) (*DeleteDomainOutput, error) {
2871	req, out := c.DeleteDomainRequest(input)
2872	req.SetContext(ctx)
2873	req.ApplyOptions(opts...)
2874	return out, req.Send()
2875}
2876
2877const opDeleteDomainEntry = "DeleteDomainEntry"
2878
2879// DeleteDomainEntryRequest generates a "aws/request.Request" representing the
2880// client's request for the DeleteDomainEntry operation. The "output" return
2881// value will be populated with the request's response once the request completes
2882// successfully.
2883//
2884// Use "Send" method on the returned Request to send the API call to the service.
2885// the "output" return value is not valid until after Send returns without error.
2886//
2887// See DeleteDomainEntry for more information on using the DeleteDomainEntry
2888// API call, and error handling.
2889//
2890// This method is useful when you want to inject custom logic or configuration
2891// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2892//
2893//
2894//    // Example sending a request using the DeleteDomainEntryRequest method.
2895//    req, resp := client.DeleteDomainEntryRequest(params)
2896//
2897//    err := req.Send()
2898//    if err == nil { // resp is now filled
2899//        fmt.Println(resp)
2900//    }
2901//
2902// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
2903func (c *Lightsail) DeleteDomainEntryRequest(input *DeleteDomainEntryInput) (req *request.Request, output *DeleteDomainEntryOutput) {
2904	op := &request.Operation{
2905		Name:       opDeleteDomainEntry,
2906		HTTPMethod: "POST",
2907		HTTPPath:   "/",
2908	}
2909
2910	if input == nil {
2911		input = &DeleteDomainEntryInput{}
2912	}
2913
2914	output = &DeleteDomainEntryOutput{}
2915	req = c.newRequest(op, input, output)
2916	return
2917}
2918
2919// DeleteDomainEntry API operation for Amazon Lightsail.
2920//
2921// Deletes a specific domain entry.
2922//
2923// The delete domain entry operation supports tag-based access control via resource
2924// tags applied to the resource identified by domain name. For more information,
2925// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
2926//
2927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2928// with awserr.Error's Code and Message methods to get detailed information about
2929// the error.
2930//
2931// See the AWS API reference guide for Amazon Lightsail's
2932// API operation DeleteDomainEntry for usage and error information.
2933//
2934// Returned Error Codes:
2935//   * ErrCodeServiceException "ServiceException"
2936//   A general service exception.
2937//
2938//   * ErrCodeInvalidInputException "InvalidInputException"
2939//   Lightsail throws this exception when user input does not conform to the validation
2940//   rules of an input field.
2941//
2942//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
2943//   Please set your AWS Region configuration to us-east-1 to create, view, or
2944//   edit these resources.
2945//
2946//   * ErrCodeNotFoundException "NotFoundException"
2947//   Lightsail throws this exception when it cannot find a resource.
2948//
2949//   * ErrCodeOperationFailureException "OperationFailureException"
2950//   Lightsail throws this exception when an operation fails to execute.
2951//
2952//   * ErrCodeAccessDeniedException "AccessDeniedException"
2953//   Lightsail throws this exception when the user cannot be authenticated or
2954//   uses invalid credentials to access a resource.
2955//
2956//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
2957//   Lightsail throws this exception when an account is still in the setup in
2958//   progress state.
2959//
2960//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
2961//   Lightsail throws this exception when the user has not been authenticated.
2962//
2963// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDomainEntry
2964func (c *Lightsail) DeleteDomainEntry(input *DeleteDomainEntryInput) (*DeleteDomainEntryOutput, error) {
2965	req, out := c.DeleteDomainEntryRequest(input)
2966	return out, req.Send()
2967}
2968
2969// DeleteDomainEntryWithContext is the same as DeleteDomainEntry with the addition of
2970// the ability to pass a context and additional request options.
2971//
2972// See DeleteDomainEntry for details on how to use this API operation.
2973//
2974// The context must be non-nil and will be used for request cancellation. If
2975// the context is nil a panic will occur. In the future the SDK may create
2976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2977// for more information on using Contexts.
2978func (c *Lightsail) DeleteDomainEntryWithContext(ctx aws.Context, input *DeleteDomainEntryInput, opts ...request.Option) (*DeleteDomainEntryOutput, error) {
2979	req, out := c.DeleteDomainEntryRequest(input)
2980	req.SetContext(ctx)
2981	req.ApplyOptions(opts...)
2982	return out, req.Send()
2983}
2984
2985const opDeleteInstance = "DeleteInstance"
2986
2987// DeleteInstanceRequest generates a "aws/request.Request" representing the
2988// client's request for the DeleteInstance operation. The "output" return
2989// value will be populated with the request's response once the request completes
2990// successfully.
2991//
2992// Use "Send" method on the returned Request to send the API call to the service.
2993// the "output" return value is not valid until after Send returns without error.
2994//
2995// See DeleteInstance for more information on using the DeleteInstance
2996// API call, and error handling.
2997//
2998// This method is useful when you want to inject custom logic or configuration
2999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3000//
3001//
3002//    // Example sending a request using the DeleteInstanceRequest method.
3003//    req, resp := client.DeleteInstanceRequest(params)
3004//
3005//    err := req.Send()
3006//    if err == nil { // resp is now filled
3007//        fmt.Println(resp)
3008//    }
3009//
3010// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3011func (c *Lightsail) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
3012	op := &request.Operation{
3013		Name:       opDeleteInstance,
3014		HTTPMethod: "POST",
3015		HTTPPath:   "/",
3016	}
3017
3018	if input == nil {
3019		input = &DeleteInstanceInput{}
3020	}
3021
3022	output = &DeleteInstanceOutput{}
3023	req = c.newRequest(op, input, output)
3024	return
3025}
3026
3027// DeleteInstance API operation for Amazon Lightsail.
3028//
3029// Deletes an Amazon Lightsail instance.
3030//
3031// The delete instance operation supports tag-based access control via resource
3032// tags applied to the resource identified by instance name. For more information,
3033// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3034//
3035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3036// with awserr.Error's Code and Message methods to get detailed information about
3037// the error.
3038//
3039// See the AWS API reference guide for Amazon Lightsail's
3040// API operation DeleteInstance for usage and error information.
3041//
3042// Returned Error Codes:
3043//   * ErrCodeServiceException "ServiceException"
3044//   A general service exception.
3045//
3046//   * ErrCodeInvalidInputException "InvalidInputException"
3047//   Lightsail throws this exception when user input does not conform to the validation
3048//   rules of an input field.
3049//
3050//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3051//   Please set your AWS Region configuration to us-east-1 to create, view, or
3052//   edit these resources.
3053//
3054//   * ErrCodeNotFoundException "NotFoundException"
3055//   Lightsail throws this exception when it cannot find a resource.
3056//
3057//   * ErrCodeOperationFailureException "OperationFailureException"
3058//   Lightsail throws this exception when an operation fails to execute.
3059//
3060//   * ErrCodeAccessDeniedException "AccessDeniedException"
3061//   Lightsail throws this exception when the user cannot be authenticated or
3062//   uses invalid credentials to access a resource.
3063//
3064//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3065//   Lightsail throws this exception when an account is still in the setup in
3066//   progress state.
3067//
3068//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3069//   Lightsail throws this exception when the user has not been authenticated.
3070//
3071// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstance
3072func (c *Lightsail) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
3073	req, out := c.DeleteInstanceRequest(input)
3074	return out, req.Send()
3075}
3076
3077// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
3078// the ability to pass a context and additional request options.
3079//
3080// See DeleteInstance for details on how to use this API operation.
3081//
3082// The context must be non-nil and will be used for request cancellation. If
3083// the context is nil a panic will occur. In the future the SDK may create
3084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3085// for more information on using Contexts.
3086func (c *Lightsail) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
3087	req, out := c.DeleteInstanceRequest(input)
3088	req.SetContext(ctx)
3089	req.ApplyOptions(opts...)
3090	return out, req.Send()
3091}
3092
3093const opDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
3094
3095// DeleteInstanceSnapshotRequest generates a "aws/request.Request" representing the
3096// client's request for the DeleteInstanceSnapshot operation. The "output" return
3097// value will be populated with the request's response once the request completes
3098// successfully.
3099//
3100// Use "Send" method on the returned Request to send the API call to the service.
3101// the "output" return value is not valid until after Send returns without error.
3102//
3103// See DeleteInstanceSnapshot for more information on using the DeleteInstanceSnapshot
3104// API call, and error handling.
3105//
3106// This method is useful when you want to inject custom logic or configuration
3107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3108//
3109//
3110//    // Example sending a request using the DeleteInstanceSnapshotRequest method.
3111//    req, resp := client.DeleteInstanceSnapshotRequest(params)
3112//
3113//    err := req.Send()
3114//    if err == nil { // resp is now filled
3115//        fmt.Println(resp)
3116//    }
3117//
3118// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3119func (c *Lightsail) DeleteInstanceSnapshotRequest(input *DeleteInstanceSnapshotInput) (req *request.Request, output *DeleteInstanceSnapshotOutput) {
3120	op := &request.Operation{
3121		Name:       opDeleteInstanceSnapshot,
3122		HTTPMethod: "POST",
3123		HTTPPath:   "/",
3124	}
3125
3126	if input == nil {
3127		input = &DeleteInstanceSnapshotInput{}
3128	}
3129
3130	output = &DeleteInstanceSnapshotOutput{}
3131	req = c.newRequest(op, input, output)
3132	return
3133}
3134
3135// DeleteInstanceSnapshot API operation for Amazon Lightsail.
3136//
3137// Deletes a specific snapshot of a virtual private server (or instance).
3138//
3139// The delete instance snapshot operation supports tag-based access control
3140// via resource tags applied to the resource identified by instance snapshot
3141// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3142//
3143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3144// with awserr.Error's Code and Message methods to get detailed information about
3145// the error.
3146//
3147// See the AWS API reference guide for Amazon Lightsail's
3148// API operation DeleteInstanceSnapshot for usage and error information.
3149//
3150// Returned Error Codes:
3151//   * ErrCodeServiceException "ServiceException"
3152//   A general service exception.
3153//
3154//   * ErrCodeInvalidInputException "InvalidInputException"
3155//   Lightsail throws this exception when user input does not conform to the validation
3156//   rules of an input field.
3157//
3158//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3159//   Please set your AWS Region configuration to us-east-1 to create, view, or
3160//   edit these resources.
3161//
3162//   * ErrCodeNotFoundException "NotFoundException"
3163//   Lightsail throws this exception when it cannot find a resource.
3164//
3165//   * ErrCodeOperationFailureException "OperationFailureException"
3166//   Lightsail throws this exception when an operation fails to execute.
3167//
3168//   * ErrCodeAccessDeniedException "AccessDeniedException"
3169//   Lightsail throws this exception when the user cannot be authenticated or
3170//   uses invalid credentials to access a resource.
3171//
3172//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3173//   Lightsail throws this exception when an account is still in the setup in
3174//   progress state.
3175//
3176//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3177//   Lightsail throws this exception when the user has not been authenticated.
3178//
3179// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteInstanceSnapshot
3180func (c *Lightsail) DeleteInstanceSnapshot(input *DeleteInstanceSnapshotInput) (*DeleteInstanceSnapshotOutput, error) {
3181	req, out := c.DeleteInstanceSnapshotRequest(input)
3182	return out, req.Send()
3183}
3184
3185// DeleteInstanceSnapshotWithContext is the same as DeleteInstanceSnapshot with the addition of
3186// the ability to pass a context and additional request options.
3187//
3188// See DeleteInstanceSnapshot for details on how to use this API operation.
3189//
3190// The context must be non-nil and will be used for request cancellation. If
3191// the context is nil a panic will occur. In the future the SDK may create
3192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3193// for more information on using Contexts.
3194func (c *Lightsail) DeleteInstanceSnapshotWithContext(ctx aws.Context, input *DeleteInstanceSnapshotInput, opts ...request.Option) (*DeleteInstanceSnapshotOutput, error) {
3195	req, out := c.DeleteInstanceSnapshotRequest(input)
3196	req.SetContext(ctx)
3197	req.ApplyOptions(opts...)
3198	return out, req.Send()
3199}
3200
3201const opDeleteKeyPair = "DeleteKeyPair"
3202
3203// DeleteKeyPairRequest generates a "aws/request.Request" representing the
3204// client's request for the DeleteKeyPair operation. The "output" return
3205// value will be populated with the request's response once the request completes
3206// successfully.
3207//
3208// Use "Send" method on the returned Request to send the API call to the service.
3209// the "output" return value is not valid until after Send returns without error.
3210//
3211// See DeleteKeyPair for more information on using the DeleteKeyPair
3212// API call, and error handling.
3213//
3214// This method is useful when you want to inject custom logic or configuration
3215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3216//
3217//
3218//    // Example sending a request using the DeleteKeyPairRequest method.
3219//    req, resp := client.DeleteKeyPairRequest(params)
3220//
3221//    err := req.Send()
3222//    if err == nil { // resp is now filled
3223//        fmt.Println(resp)
3224//    }
3225//
3226// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3227func (c *Lightsail) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
3228	op := &request.Operation{
3229		Name:       opDeleteKeyPair,
3230		HTTPMethod: "POST",
3231		HTTPPath:   "/",
3232	}
3233
3234	if input == nil {
3235		input = &DeleteKeyPairInput{}
3236	}
3237
3238	output = &DeleteKeyPairOutput{}
3239	req = c.newRequest(op, input, output)
3240	return
3241}
3242
3243// DeleteKeyPair API operation for Amazon Lightsail.
3244//
3245// Deletes a specific SSH key pair.
3246//
3247// The delete key pair operation supports tag-based access control via resource
3248// tags applied to the resource identified by key pair name. For more information,
3249// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3250//
3251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3252// with awserr.Error's Code and Message methods to get detailed information about
3253// the error.
3254//
3255// See the AWS API reference guide for Amazon Lightsail's
3256// API operation DeleteKeyPair for usage and error information.
3257//
3258// Returned Error Codes:
3259//   * ErrCodeServiceException "ServiceException"
3260//   A general service exception.
3261//
3262//   * ErrCodeInvalidInputException "InvalidInputException"
3263//   Lightsail throws this exception when user input does not conform to the validation
3264//   rules of an input field.
3265//
3266//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3267//   Please set your AWS Region configuration to us-east-1 to create, view, or
3268//   edit these resources.
3269//
3270//   * ErrCodeNotFoundException "NotFoundException"
3271//   Lightsail throws this exception when it cannot find a resource.
3272//
3273//   * ErrCodeOperationFailureException "OperationFailureException"
3274//   Lightsail throws this exception when an operation fails to execute.
3275//
3276//   * ErrCodeAccessDeniedException "AccessDeniedException"
3277//   Lightsail throws this exception when the user cannot be authenticated or
3278//   uses invalid credentials to access a resource.
3279//
3280//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3281//   Lightsail throws this exception when an account is still in the setup in
3282//   progress state.
3283//
3284//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3285//   Lightsail throws this exception when the user has not been authenticated.
3286//
3287// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKeyPair
3288func (c *Lightsail) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
3289	req, out := c.DeleteKeyPairRequest(input)
3290	return out, req.Send()
3291}
3292
3293// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
3294// the ability to pass a context and additional request options.
3295//
3296// See DeleteKeyPair for details on how to use this API operation.
3297//
3298// The context must be non-nil and will be used for request cancellation. If
3299// the context is nil a panic will occur. In the future the SDK may create
3300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3301// for more information on using Contexts.
3302func (c *Lightsail) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
3303	req, out := c.DeleteKeyPairRequest(input)
3304	req.SetContext(ctx)
3305	req.ApplyOptions(opts...)
3306	return out, req.Send()
3307}
3308
3309const opDeleteKnownHostKeys = "DeleteKnownHostKeys"
3310
3311// DeleteKnownHostKeysRequest generates a "aws/request.Request" representing the
3312// client's request for the DeleteKnownHostKeys operation. The "output" return
3313// value will be populated with the request's response once the request completes
3314// successfully.
3315//
3316// Use "Send" method on the returned Request to send the API call to the service.
3317// the "output" return value is not valid until after Send returns without error.
3318//
3319// See DeleteKnownHostKeys for more information on using the DeleteKnownHostKeys
3320// API call, and error handling.
3321//
3322// This method is useful when you want to inject custom logic or configuration
3323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3324//
3325//
3326//    // Example sending a request using the DeleteKnownHostKeysRequest method.
3327//    req, resp := client.DeleteKnownHostKeysRequest(params)
3328//
3329//    err := req.Send()
3330//    if err == nil { // resp is now filled
3331//        fmt.Println(resp)
3332//    }
3333//
3334// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3335func (c *Lightsail) DeleteKnownHostKeysRequest(input *DeleteKnownHostKeysInput) (req *request.Request, output *DeleteKnownHostKeysOutput) {
3336	op := &request.Operation{
3337		Name:       opDeleteKnownHostKeys,
3338		HTTPMethod: "POST",
3339		HTTPPath:   "/",
3340	}
3341
3342	if input == nil {
3343		input = &DeleteKnownHostKeysInput{}
3344	}
3345
3346	output = &DeleteKnownHostKeysOutput{}
3347	req = c.newRequest(op, input, output)
3348	return
3349}
3350
3351// DeleteKnownHostKeys API operation for Amazon Lightsail.
3352//
3353// Deletes the known host key or certificate used by the Amazon Lightsail browser-based
3354// SSH or RDP clients to authenticate an instance. This operation enables the
3355// Lightsail browser-based SSH or RDP clients to connect to the instance after
3356// a host key mismatch.
3357//
3358// Perform this operation only if you were expecting the host key or certificate
3359// mismatch or if you are familiar with the new host key or certificate on the
3360// instance. For more information, see Troubleshooting connection issues when
3361// 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).
3362//
3363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3364// with awserr.Error's Code and Message methods to get detailed information about
3365// the error.
3366//
3367// See the AWS API reference guide for Amazon Lightsail's
3368// API operation DeleteKnownHostKeys for usage and error information.
3369//
3370// Returned Error Codes:
3371//   * ErrCodeServiceException "ServiceException"
3372//   A general service exception.
3373//
3374//   * ErrCodeInvalidInputException "InvalidInputException"
3375//   Lightsail throws this exception when user input does not conform to the validation
3376//   rules of an input field.
3377//
3378//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3379//   Please set your AWS Region configuration to us-east-1 to create, view, or
3380//   edit these resources.
3381//
3382//   * ErrCodeNotFoundException "NotFoundException"
3383//   Lightsail throws this exception when it cannot find a resource.
3384//
3385//   * ErrCodeOperationFailureException "OperationFailureException"
3386//   Lightsail throws this exception when an operation fails to execute.
3387//
3388//   * ErrCodeAccessDeniedException "AccessDeniedException"
3389//   Lightsail throws this exception when the user cannot be authenticated or
3390//   uses invalid credentials to access a resource.
3391//
3392//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3393//   Lightsail throws this exception when an account is still in the setup in
3394//   progress state.
3395//
3396//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3397//   Lightsail throws this exception when the user has not been authenticated.
3398//
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteKnownHostKeys
3400func (c *Lightsail) DeleteKnownHostKeys(input *DeleteKnownHostKeysInput) (*DeleteKnownHostKeysOutput, error) {
3401	req, out := c.DeleteKnownHostKeysRequest(input)
3402	return out, req.Send()
3403}
3404
3405// DeleteKnownHostKeysWithContext is the same as DeleteKnownHostKeys with the addition of
3406// the ability to pass a context and additional request options.
3407//
3408// See DeleteKnownHostKeys for details on how to use this API operation.
3409//
3410// The context must be non-nil and will be used for request cancellation. If
3411// the context is nil a panic will occur. In the future the SDK may create
3412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3413// for more information on using Contexts.
3414func (c *Lightsail) DeleteKnownHostKeysWithContext(ctx aws.Context, input *DeleteKnownHostKeysInput, opts ...request.Option) (*DeleteKnownHostKeysOutput, error) {
3415	req, out := c.DeleteKnownHostKeysRequest(input)
3416	req.SetContext(ctx)
3417	req.ApplyOptions(opts...)
3418	return out, req.Send()
3419}
3420
3421const opDeleteLoadBalancer = "DeleteLoadBalancer"
3422
3423// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the
3424// client's request for the DeleteLoadBalancer operation. The "output" return
3425// value will be populated with the request's response once the request completes
3426// successfully.
3427//
3428// Use "Send" method on the returned Request to send the API call to the service.
3429// the "output" return value is not valid until after Send returns without error.
3430//
3431// See DeleteLoadBalancer for more information on using the DeleteLoadBalancer
3432// API call, and error handling.
3433//
3434// This method is useful when you want to inject custom logic or configuration
3435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3436//
3437//
3438//    // Example sending a request using the DeleteLoadBalancerRequest method.
3439//    req, resp := client.DeleteLoadBalancerRequest(params)
3440//
3441//    err := req.Send()
3442//    if err == nil { // resp is now filled
3443//        fmt.Println(resp)
3444//    }
3445//
3446// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3447func (c *Lightsail) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) {
3448	op := &request.Operation{
3449		Name:       opDeleteLoadBalancer,
3450		HTTPMethod: "POST",
3451		HTTPPath:   "/",
3452	}
3453
3454	if input == nil {
3455		input = &DeleteLoadBalancerInput{}
3456	}
3457
3458	output = &DeleteLoadBalancerOutput{}
3459	req = c.newRequest(op, input, output)
3460	return
3461}
3462
3463// DeleteLoadBalancer API operation for Amazon Lightsail.
3464//
3465// Deletes a Lightsail load balancer and all its associated SSL/TLS certificates.
3466// Once the load balancer is deleted, you will need to create a new load balancer,
3467// create a new certificate, and verify domain ownership again.
3468//
3469// The delete load balancer operation supports tag-based access control via
3470// resource tags applied to the resource identified by load balancer name. For
3471// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3472//
3473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3474// with awserr.Error's Code and Message methods to get detailed information about
3475// the error.
3476//
3477// See the AWS API reference guide for Amazon Lightsail's
3478// API operation DeleteLoadBalancer for usage and error information.
3479//
3480// Returned Error Codes:
3481//   * ErrCodeServiceException "ServiceException"
3482//   A general service exception.
3483//
3484//   * ErrCodeInvalidInputException "InvalidInputException"
3485//   Lightsail throws this exception when user input does not conform to the validation
3486//   rules of an input field.
3487//
3488//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3489//   Please set your AWS Region configuration to us-east-1 to create, view, or
3490//   edit these resources.
3491//
3492//   * ErrCodeNotFoundException "NotFoundException"
3493//   Lightsail throws this exception when it cannot find a resource.
3494//
3495//   * ErrCodeOperationFailureException "OperationFailureException"
3496//   Lightsail throws this exception when an operation fails to execute.
3497//
3498//   * ErrCodeAccessDeniedException "AccessDeniedException"
3499//   Lightsail throws this exception when the user cannot be authenticated or
3500//   uses invalid credentials to access a resource.
3501//
3502//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3503//   Lightsail throws this exception when an account is still in the setup in
3504//   progress state.
3505//
3506//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3507//   Lightsail throws this exception when the user has not been authenticated.
3508//
3509// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancer
3510func (c *Lightsail) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) {
3511	req, out := c.DeleteLoadBalancerRequest(input)
3512	return out, req.Send()
3513}
3514
3515// DeleteLoadBalancerWithContext is the same as DeleteLoadBalancer with the addition of
3516// the ability to pass a context and additional request options.
3517//
3518// See DeleteLoadBalancer for details on how to use this API operation.
3519//
3520// The context must be non-nil and will be used for request cancellation. If
3521// the context is nil a panic will occur. In the future the SDK may create
3522// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3523// for more information on using Contexts.
3524func (c *Lightsail) DeleteLoadBalancerWithContext(ctx aws.Context, input *DeleteLoadBalancerInput, opts ...request.Option) (*DeleteLoadBalancerOutput, error) {
3525	req, out := c.DeleteLoadBalancerRequest(input)
3526	req.SetContext(ctx)
3527	req.ApplyOptions(opts...)
3528	return out, req.Send()
3529}
3530
3531const opDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
3532
3533// DeleteLoadBalancerTlsCertificateRequest generates a "aws/request.Request" representing the
3534// client's request for the DeleteLoadBalancerTlsCertificate operation. The "output" return
3535// value will be populated with the request's response once the request completes
3536// successfully.
3537//
3538// Use "Send" method on the returned Request to send the API call to the service.
3539// the "output" return value is not valid until after Send returns without error.
3540//
3541// See DeleteLoadBalancerTlsCertificate for more information on using the DeleteLoadBalancerTlsCertificate
3542// API call, and error handling.
3543//
3544// This method is useful when you want to inject custom logic or configuration
3545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3546//
3547//
3548//    // Example sending a request using the DeleteLoadBalancerTlsCertificateRequest method.
3549//    req, resp := client.DeleteLoadBalancerTlsCertificateRequest(params)
3550//
3551//    err := req.Send()
3552//    if err == nil { // resp is now filled
3553//        fmt.Println(resp)
3554//    }
3555//
3556// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3557func (c *Lightsail) DeleteLoadBalancerTlsCertificateRequest(input *DeleteLoadBalancerTlsCertificateInput) (req *request.Request, output *DeleteLoadBalancerTlsCertificateOutput) {
3558	op := &request.Operation{
3559		Name:       opDeleteLoadBalancerTlsCertificate,
3560		HTTPMethod: "POST",
3561		HTTPPath:   "/",
3562	}
3563
3564	if input == nil {
3565		input = &DeleteLoadBalancerTlsCertificateInput{}
3566	}
3567
3568	output = &DeleteLoadBalancerTlsCertificateOutput{}
3569	req = c.newRequest(op, input, output)
3570	return
3571}
3572
3573// DeleteLoadBalancerTlsCertificate API operation for Amazon Lightsail.
3574//
3575// Deletes an SSL/TLS certificate associated with a Lightsail load balancer.
3576//
3577// The delete load balancer tls certificate operation supports tag-based access
3578// control via resource tags applied to the resource identified by load balancer
3579// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3580//
3581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3582// with awserr.Error's Code and Message methods to get detailed information about
3583// the error.
3584//
3585// See the AWS API reference guide for Amazon Lightsail's
3586// API operation DeleteLoadBalancerTlsCertificate for usage and error information.
3587//
3588// Returned Error Codes:
3589//   * ErrCodeServiceException "ServiceException"
3590//   A general service exception.
3591//
3592//   * ErrCodeInvalidInputException "InvalidInputException"
3593//   Lightsail throws this exception when user input does not conform to the validation
3594//   rules of an input field.
3595//
3596//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3597//   Please set your AWS Region configuration to us-east-1 to create, view, or
3598//   edit these resources.
3599//
3600//   * ErrCodeNotFoundException "NotFoundException"
3601//   Lightsail throws this exception when it cannot find a resource.
3602//
3603//   * ErrCodeOperationFailureException "OperationFailureException"
3604//   Lightsail throws this exception when an operation fails to execute.
3605//
3606//   * ErrCodeAccessDeniedException "AccessDeniedException"
3607//   Lightsail throws this exception when the user cannot be authenticated or
3608//   uses invalid credentials to access a resource.
3609//
3610//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3611//   Lightsail throws this exception when an account is still in the setup in
3612//   progress state.
3613//
3614//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3615//   Lightsail throws this exception when the user has not been authenticated.
3616//
3617// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteLoadBalancerTlsCertificate
3618func (c *Lightsail) DeleteLoadBalancerTlsCertificate(input *DeleteLoadBalancerTlsCertificateInput) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3619	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3620	return out, req.Send()
3621}
3622
3623// DeleteLoadBalancerTlsCertificateWithContext is the same as DeleteLoadBalancerTlsCertificate with the addition of
3624// the ability to pass a context and additional request options.
3625//
3626// See DeleteLoadBalancerTlsCertificate for details on how to use this API operation.
3627//
3628// The context must be non-nil and will be used for request cancellation. If
3629// the context is nil a panic will occur. In the future the SDK may create
3630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3631// for more information on using Contexts.
3632func (c *Lightsail) DeleteLoadBalancerTlsCertificateWithContext(ctx aws.Context, input *DeleteLoadBalancerTlsCertificateInput, opts ...request.Option) (*DeleteLoadBalancerTlsCertificateOutput, error) {
3633	req, out := c.DeleteLoadBalancerTlsCertificateRequest(input)
3634	req.SetContext(ctx)
3635	req.ApplyOptions(opts...)
3636	return out, req.Send()
3637}
3638
3639const opDeleteRelationalDatabase = "DeleteRelationalDatabase"
3640
3641// DeleteRelationalDatabaseRequest generates a "aws/request.Request" representing the
3642// client's request for the DeleteRelationalDatabase operation. The "output" return
3643// value will be populated with the request's response once the request completes
3644// successfully.
3645//
3646// Use "Send" method on the returned Request to send the API call to the service.
3647// the "output" return value is not valid until after Send returns without error.
3648//
3649// See DeleteRelationalDatabase for more information on using the DeleteRelationalDatabase
3650// API call, and error handling.
3651//
3652// This method is useful when you want to inject custom logic or configuration
3653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3654//
3655//
3656//    // Example sending a request using the DeleteRelationalDatabaseRequest method.
3657//    req, resp := client.DeleteRelationalDatabaseRequest(params)
3658//
3659//    err := req.Send()
3660//    if err == nil { // resp is now filled
3661//        fmt.Println(resp)
3662//    }
3663//
3664// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
3665func (c *Lightsail) DeleteRelationalDatabaseRequest(input *DeleteRelationalDatabaseInput) (req *request.Request, output *DeleteRelationalDatabaseOutput) {
3666	op := &request.Operation{
3667		Name:       opDeleteRelationalDatabase,
3668		HTTPMethod: "POST",
3669		HTTPPath:   "/",
3670	}
3671
3672	if input == nil {
3673		input = &DeleteRelationalDatabaseInput{}
3674	}
3675
3676	output = &DeleteRelationalDatabaseOutput{}
3677	req = c.newRequest(op, input, output)
3678	return
3679}
3680
3681// DeleteRelationalDatabase API operation for Amazon Lightsail.
3682//
3683// Deletes a database in Amazon Lightsail.
3684//
3685// The delete relational database operation supports tag-based access control
3686// via resource tags applied to the resource identified by relationalDatabaseName.
3687// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3688//
3689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3690// with awserr.Error's Code and Message methods to get detailed information about
3691// the error.
3692//
3693// See the AWS API reference guide for Amazon Lightsail's
3694// API operation DeleteRelationalDatabase for usage and error information.
3695//
3696// Returned Error Codes:
3697//   * ErrCodeServiceException "ServiceException"
3698//   A general service exception.
3699//
3700//   * ErrCodeInvalidInputException "InvalidInputException"
3701//   Lightsail throws this exception when user input does not conform to the validation
3702//   rules of an input field.
3703//
3704//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3705//   Please set your AWS Region configuration to us-east-1 to create, view, or
3706//   edit these resources.
3707//
3708//   * ErrCodeNotFoundException "NotFoundException"
3709//   Lightsail throws this exception when it cannot find a resource.
3710//
3711//   * ErrCodeOperationFailureException "OperationFailureException"
3712//   Lightsail throws this exception when an operation fails to execute.
3713//
3714//   * ErrCodeAccessDeniedException "AccessDeniedException"
3715//   Lightsail throws this exception when the user cannot be authenticated or
3716//   uses invalid credentials to access a resource.
3717//
3718//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3719//   Lightsail throws this exception when an account is still in the setup in
3720//   progress state.
3721//
3722//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3723//   Lightsail throws this exception when the user has not been authenticated.
3724//
3725// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabase
3726func (c *Lightsail) DeleteRelationalDatabase(input *DeleteRelationalDatabaseInput) (*DeleteRelationalDatabaseOutput, error) {
3727	req, out := c.DeleteRelationalDatabaseRequest(input)
3728	return out, req.Send()
3729}
3730
3731// DeleteRelationalDatabaseWithContext is the same as DeleteRelationalDatabase with the addition of
3732// the ability to pass a context and additional request options.
3733//
3734// See DeleteRelationalDatabase for details on how to use this API operation.
3735//
3736// The context must be non-nil and will be used for request cancellation. If
3737// the context is nil a panic will occur. In the future the SDK may create
3738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3739// for more information on using Contexts.
3740func (c *Lightsail) DeleteRelationalDatabaseWithContext(ctx aws.Context, input *DeleteRelationalDatabaseInput, opts ...request.Option) (*DeleteRelationalDatabaseOutput, error) {
3741	req, out := c.DeleteRelationalDatabaseRequest(input)
3742	req.SetContext(ctx)
3743	req.ApplyOptions(opts...)
3744	return out, req.Send()
3745}
3746
3747const opDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
3748
3749// DeleteRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
3750// client's request for the DeleteRelationalDatabaseSnapshot operation. The "output" return
3751// value will be populated with the request's response once the request completes
3752// successfully.
3753//
3754// Use "Send" method on the returned Request to send the API call to the service.
3755// the "output" return value is not valid until after Send returns without error.
3756//
3757// See DeleteRelationalDatabaseSnapshot for more information on using the DeleteRelationalDatabaseSnapshot
3758// API call, and error handling.
3759//
3760// This method is useful when you want to inject custom logic or configuration
3761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3762//
3763//
3764//    // Example sending a request using the DeleteRelationalDatabaseSnapshotRequest method.
3765//    req, resp := client.DeleteRelationalDatabaseSnapshotRequest(params)
3766//
3767//    err := req.Send()
3768//    if err == nil { // resp is now filled
3769//        fmt.Println(resp)
3770//    }
3771//
3772// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
3773func (c *Lightsail) DeleteRelationalDatabaseSnapshotRequest(input *DeleteRelationalDatabaseSnapshotInput) (req *request.Request, output *DeleteRelationalDatabaseSnapshotOutput) {
3774	op := &request.Operation{
3775		Name:       opDeleteRelationalDatabaseSnapshot,
3776		HTTPMethod: "POST",
3777		HTTPPath:   "/",
3778	}
3779
3780	if input == nil {
3781		input = &DeleteRelationalDatabaseSnapshotInput{}
3782	}
3783
3784	output = &DeleteRelationalDatabaseSnapshotOutput{}
3785	req = c.newRequest(op, input, output)
3786	return
3787}
3788
3789// DeleteRelationalDatabaseSnapshot API operation for Amazon Lightsail.
3790//
3791// Deletes a database snapshot in Amazon Lightsail.
3792//
3793// The delete relational database snapshot operation supports tag-based access
3794// control via resource tags applied to the resource identified by relationalDatabaseName.
3795// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3796//
3797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3798// with awserr.Error's Code and Message methods to get detailed information about
3799// the error.
3800//
3801// See the AWS API reference guide for Amazon Lightsail's
3802// API operation DeleteRelationalDatabaseSnapshot for usage and error information.
3803//
3804// Returned Error Codes:
3805//   * ErrCodeServiceException "ServiceException"
3806//   A general service exception.
3807//
3808//   * ErrCodeInvalidInputException "InvalidInputException"
3809//   Lightsail throws this exception when user input does not conform to the validation
3810//   rules of an input field.
3811//
3812//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3813//   Please set your AWS Region configuration to us-east-1 to create, view, or
3814//   edit these resources.
3815//
3816//   * ErrCodeNotFoundException "NotFoundException"
3817//   Lightsail throws this exception when it cannot find a resource.
3818//
3819//   * ErrCodeOperationFailureException "OperationFailureException"
3820//   Lightsail throws this exception when an operation fails to execute.
3821//
3822//   * ErrCodeAccessDeniedException "AccessDeniedException"
3823//   Lightsail throws this exception when the user cannot be authenticated or
3824//   uses invalid credentials to access a resource.
3825//
3826//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3827//   Lightsail throws this exception when an account is still in the setup in
3828//   progress state.
3829//
3830//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3831//   Lightsail throws this exception when the user has not been authenticated.
3832//
3833// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteRelationalDatabaseSnapshot
3834func (c *Lightsail) DeleteRelationalDatabaseSnapshot(input *DeleteRelationalDatabaseSnapshotInput) (*DeleteRelationalDatabaseSnapshotOutput, error) {
3835	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
3836	return out, req.Send()
3837}
3838
3839// DeleteRelationalDatabaseSnapshotWithContext is the same as DeleteRelationalDatabaseSnapshot with the addition of
3840// the ability to pass a context and additional request options.
3841//
3842// See DeleteRelationalDatabaseSnapshot for details on how to use this API operation.
3843//
3844// The context must be non-nil and will be used for request cancellation. If
3845// the context is nil a panic will occur. In the future the SDK may create
3846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3847// for more information on using Contexts.
3848func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *DeleteRelationalDatabaseSnapshotInput, opts ...request.Option) (*DeleteRelationalDatabaseSnapshotOutput, error) {
3849	req, out := c.DeleteRelationalDatabaseSnapshotRequest(input)
3850	req.SetContext(ctx)
3851	req.ApplyOptions(opts...)
3852	return out, req.Send()
3853}
3854
3855const opDetachDisk = "DetachDisk"
3856
3857// DetachDiskRequest generates a "aws/request.Request" representing the
3858// client's request for the DetachDisk operation. The "output" return
3859// value will be populated with the request's response once the request completes
3860// successfully.
3861//
3862// Use "Send" method on the returned Request to send the API call to the service.
3863// the "output" return value is not valid until after Send returns without error.
3864//
3865// See DetachDisk for more information on using the DetachDisk
3866// API call, and error handling.
3867//
3868// This method is useful when you want to inject custom logic or configuration
3869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3870//
3871//
3872//    // Example sending a request using the DetachDiskRequest method.
3873//    req, resp := client.DetachDiskRequest(params)
3874//
3875//    err := req.Send()
3876//    if err == nil { // resp is now filled
3877//        fmt.Println(resp)
3878//    }
3879//
3880// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
3881func (c *Lightsail) DetachDiskRequest(input *DetachDiskInput) (req *request.Request, output *DetachDiskOutput) {
3882	op := &request.Operation{
3883		Name:       opDetachDisk,
3884		HTTPMethod: "POST",
3885		HTTPPath:   "/",
3886	}
3887
3888	if input == nil {
3889		input = &DetachDiskInput{}
3890	}
3891
3892	output = &DetachDiskOutput{}
3893	req = c.newRequest(op, input, output)
3894	return
3895}
3896
3897// DetachDisk API operation for Amazon Lightsail.
3898//
3899// Detaches a stopped block storage disk from a Lightsail instance. Make sure
3900// to unmount any file systems on the device within your operating system before
3901// stopping the instance and detaching the disk.
3902//
3903// The detach disk operation supports tag-based access control via resource
3904// tags applied to the resource identified by disk name. For more information,
3905// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
3906//
3907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3908// with awserr.Error's Code and Message methods to get detailed information about
3909// the error.
3910//
3911// See the AWS API reference guide for Amazon Lightsail's
3912// API operation DetachDisk for usage and error information.
3913//
3914// Returned Error Codes:
3915//   * ErrCodeServiceException "ServiceException"
3916//   A general service exception.
3917//
3918//   * ErrCodeInvalidInputException "InvalidInputException"
3919//   Lightsail throws this exception when user input does not conform to the validation
3920//   rules of an input field.
3921//
3922//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
3923//   Please set your AWS Region configuration to us-east-1 to create, view, or
3924//   edit these resources.
3925//
3926//   * ErrCodeNotFoundException "NotFoundException"
3927//   Lightsail throws this exception when it cannot find a resource.
3928//
3929//   * ErrCodeOperationFailureException "OperationFailureException"
3930//   Lightsail throws this exception when an operation fails to execute.
3931//
3932//   * ErrCodeAccessDeniedException "AccessDeniedException"
3933//   Lightsail throws this exception when the user cannot be authenticated or
3934//   uses invalid credentials to access a resource.
3935//
3936//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
3937//   Lightsail throws this exception when an account is still in the setup in
3938//   progress state.
3939//
3940//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
3941//   Lightsail throws this exception when the user has not been authenticated.
3942//
3943// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachDisk
3944func (c *Lightsail) DetachDisk(input *DetachDiskInput) (*DetachDiskOutput, error) {
3945	req, out := c.DetachDiskRequest(input)
3946	return out, req.Send()
3947}
3948
3949// DetachDiskWithContext is the same as DetachDisk with the addition of
3950// the ability to pass a context and additional request options.
3951//
3952// See DetachDisk for details on how to use this API operation.
3953//
3954// The context must be non-nil and will be used for request cancellation. If
3955// the context is nil a panic will occur. In the future the SDK may create
3956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3957// for more information on using Contexts.
3958func (c *Lightsail) DetachDiskWithContext(ctx aws.Context, input *DetachDiskInput, opts ...request.Option) (*DetachDiskOutput, error) {
3959	req, out := c.DetachDiskRequest(input)
3960	req.SetContext(ctx)
3961	req.ApplyOptions(opts...)
3962	return out, req.Send()
3963}
3964
3965const opDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
3966
3967// DetachInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the
3968// client's request for the DetachInstancesFromLoadBalancer operation. The "output" return
3969// value will be populated with the request's response once the request completes
3970// successfully.
3971//
3972// Use "Send" method on the returned Request to send the API call to the service.
3973// the "output" return value is not valid until after Send returns without error.
3974//
3975// See DetachInstancesFromLoadBalancer for more information on using the DetachInstancesFromLoadBalancer
3976// API call, and error handling.
3977//
3978// This method is useful when you want to inject custom logic or configuration
3979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3980//
3981//
3982//    // Example sending a request using the DetachInstancesFromLoadBalancerRequest method.
3983//    req, resp := client.DetachInstancesFromLoadBalancerRequest(params)
3984//
3985//    err := req.Send()
3986//    if err == nil { // resp is now filled
3987//        fmt.Println(resp)
3988//    }
3989//
3990// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
3991func (c *Lightsail) DetachInstancesFromLoadBalancerRequest(input *DetachInstancesFromLoadBalancerInput) (req *request.Request, output *DetachInstancesFromLoadBalancerOutput) {
3992	op := &request.Operation{
3993		Name:       opDetachInstancesFromLoadBalancer,
3994		HTTPMethod: "POST",
3995		HTTPPath:   "/",
3996	}
3997
3998	if input == nil {
3999		input = &DetachInstancesFromLoadBalancerInput{}
4000	}
4001
4002	output = &DetachInstancesFromLoadBalancerOutput{}
4003	req = c.newRequest(op, input, output)
4004	return
4005}
4006
4007// DetachInstancesFromLoadBalancer API operation for Amazon Lightsail.
4008//
4009// Detaches the specified instances from a Lightsail load balancer.
4010//
4011// This operation waits until the instances are no longer needed before they
4012// are detached from the load balancer.
4013//
4014// The detach instances from load balancer operation supports tag-based access
4015// control via resource tags applied to the resource identified by load balancer
4016// name. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4017//
4018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4019// with awserr.Error's Code and Message methods to get detailed information about
4020// the error.
4021//
4022// See the AWS API reference guide for Amazon Lightsail's
4023// API operation DetachInstancesFromLoadBalancer for usage and error information.
4024//
4025// Returned Error Codes:
4026//   * ErrCodeServiceException "ServiceException"
4027//   A general service exception.
4028//
4029//   * ErrCodeInvalidInputException "InvalidInputException"
4030//   Lightsail throws this exception when user input does not conform to the validation
4031//   rules of an input field.
4032//
4033//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4034//   Please set your AWS Region configuration to us-east-1 to create, view, or
4035//   edit these resources.
4036//
4037//   * ErrCodeNotFoundException "NotFoundException"
4038//   Lightsail throws this exception when it cannot find a resource.
4039//
4040//   * ErrCodeOperationFailureException "OperationFailureException"
4041//   Lightsail throws this exception when an operation fails to execute.
4042//
4043//   * ErrCodeAccessDeniedException "AccessDeniedException"
4044//   Lightsail throws this exception when the user cannot be authenticated or
4045//   uses invalid credentials to access a resource.
4046//
4047//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4048//   Lightsail throws this exception when an account is still in the setup in
4049//   progress state.
4050//
4051//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4052//   Lightsail throws this exception when the user has not been authenticated.
4053//
4054// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachInstancesFromLoadBalancer
4055func (c *Lightsail) DetachInstancesFromLoadBalancer(input *DetachInstancesFromLoadBalancerInput) (*DetachInstancesFromLoadBalancerOutput, error) {
4056	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
4057	return out, req.Send()
4058}
4059
4060// DetachInstancesFromLoadBalancerWithContext is the same as DetachInstancesFromLoadBalancer with the addition of
4061// the ability to pass a context and additional request options.
4062//
4063// See DetachInstancesFromLoadBalancer for details on how to use this API operation.
4064//
4065// The context must be non-nil and will be used for request cancellation. If
4066// the context is nil a panic will occur. In the future the SDK may create
4067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4068// for more information on using Contexts.
4069func (c *Lightsail) DetachInstancesFromLoadBalancerWithContext(ctx aws.Context, input *DetachInstancesFromLoadBalancerInput, opts ...request.Option) (*DetachInstancesFromLoadBalancerOutput, error) {
4070	req, out := c.DetachInstancesFromLoadBalancerRequest(input)
4071	req.SetContext(ctx)
4072	req.ApplyOptions(opts...)
4073	return out, req.Send()
4074}
4075
4076const opDetachStaticIp = "DetachStaticIp"
4077
4078// DetachStaticIpRequest generates a "aws/request.Request" representing the
4079// client's request for the DetachStaticIp operation. The "output" return
4080// value will be populated with the request's response once the request completes
4081// successfully.
4082//
4083// Use "Send" method on the returned Request to send the API call to the service.
4084// the "output" return value is not valid until after Send returns without error.
4085//
4086// See DetachStaticIp for more information on using the DetachStaticIp
4087// API call, and error handling.
4088//
4089// This method is useful when you want to inject custom logic or configuration
4090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4091//
4092//
4093//    // Example sending a request using the DetachStaticIpRequest method.
4094//    req, resp := client.DetachStaticIpRequest(params)
4095//
4096//    err := req.Send()
4097//    if err == nil { // resp is now filled
4098//        fmt.Println(resp)
4099//    }
4100//
4101// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
4102func (c *Lightsail) DetachStaticIpRequest(input *DetachStaticIpInput) (req *request.Request, output *DetachStaticIpOutput) {
4103	op := &request.Operation{
4104		Name:       opDetachStaticIp,
4105		HTTPMethod: "POST",
4106		HTTPPath:   "/",
4107	}
4108
4109	if input == nil {
4110		input = &DetachStaticIpInput{}
4111	}
4112
4113	output = &DetachStaticIpOutput{}
4114	req = c.newRequest(op, input, output)
4115	return
4116}
4117
4118// DetachStaticIp API operation for Amazon Lightsail.
4119//
4120// Detaches a static IP from the Amazon Lightsail instance to which it is attached.
4121//
4122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4123// with awserr.Error's Code and Message methods to get detailed information about
4124// the error.
4125//
4126// See the AWS API reference guide for Amazon Lightsail's
4127// API operation DetachStaticIp for usage and error information.
4128//
4129// Returned Error Codes:
4130//   * ErrCodeServiceException "ServiceException"
4131//   A general service exception.
4132//
4133//   * ErrCodeInvalidInputException "InvalidInputException"
4134//   Lightsail throws this exception when user input does not conform to the validation
4135//   rules of an input field.
4136//
4137//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4138//   Please set your AWS Region configuration to us-east-1 to create, view, or
4139//   edit these resources.
4140//
4141//   * ErrCodeNotFoundException "NotFoundException"
4142//   Lightsail throws this exception when it cannot find a resource.
4143//
4144//   * ErrCodeOperationFailureException "OperationFailureException"
4145//   Lightsail throws this exception when an operation fails to execute.
4146//
4147//   * ErrCodeAccessDeniedException "AccessDeniedException"
4148//   Lightsail throws this exception when the user cannot be authenticated or
4149//   uses invalid credentials to access a resource.
4150//
4151//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4152//   Lightsail throws this exception when an account is still in the setup in
4153//   progress state.
4154//
4155//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4156//   Lightsail throws this exception when the user has not been authenticated.
4157//
4158// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachStaticIp
4159func (c *Lightsail) DetachStaticIp(input *DetachStaticIpInput) (*DetachStaticIpOutput, error) {
4160	req, out := c.DetachStaticIpRequest(input)
4161	return out, req.Send()
4162}
4163
4164// DetachStaticIpWithContext is the same as DetachStaticIp with the addition of
4165// the ability to pass a context and additional request options.
4166//
4167// See DetachStaticIp for details on how to use this API operation.
4168//
4169// The context must be non-nil and will be used for request cancellation. If
4170// the context is nil a panic will occur. In the future the SDK may create
4171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4172// for more information on using Contexts.
4173func (c *Lightsail) DetachStaticIpWithContext(ctx aws.Context, input *DetachStaticIpInput, opts ...request.Option) (*DetachStaticIpOutput, error) {
4174	req, out := c.DetachStaticIpRequest(input)
4175	req.SetContext(ctx)
4176	req.ApplyOptions(opts...)
4177	return out, req.Send()
4178}
4179
4180const opDisableAddOn = "DisableAddOn"
4181
4182// DisableAddOnRequest generates a "aws/request.Request" representing the
4183// client's request for the DisableAddOn operation. The "output" return
4184// value will be populated with the request's response once the request completes
4185// successfully.
4186//
4187// Use "Send" method on the returned Request to send the API call to the service.
4188// the "output" return value is not valid until after Send returns without error.
4189//
4190// See DisableAddOn for more information on using the DisableAddOn
4191// API call, and error handling.
4192//
4193// This method is useful when you want to inject custom logic or configuration
4194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4195//
4196//
4197//    // Example sending a request using the DisableAddOnRequest method.
4198//    req, resp := client.DisableAddOnRequest(params)
4199//
4200//    err := req.Send()
4201//    if err == nil { // resp is now filled
4202//        fmt.Println(resp)
4203//    }
4204//
4205// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
4206func (c *Lightsail) DisableAddOnRequest(input *DisableAddOnInput) (req *request.Request, output *DisableAddOnOutput) {
4207	op := &request.Operation{
4208		Name:       opDisableAddOn,
4209		HTTPMethod: "POST",
4210		HTTPPath:   "/",
4211	}
4212
4213	if input == nil {
4214		input = &DisableAddOnInput{}
4215	}
4216
4217	output = &DisableAddOnOutput{}
4218	req = c.newRequest(op, input, output)
4219	return
4220}
4221
4222// DisableAddOn API operation for Amazon Lightsail.
4223//
4224// Disables an add-on for an Amazon Lightsail resource. For more information,
4225// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
4226//
4227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4228// with awserr.Error's Code and Message methods to get detailed information about
4229// the error.
4230//
4231// See the AWS API reference guide for Amazon Lightsail's
4232// API operation DisableAddOn for usage and error information.
4233//
4234// Returned Error Codes:
4235//   * ErrCodeServiceException "ServiceException"
4236//   A general service exception.
4237//
4238//   * ErrCodeInvalidInputException "InvalidInputException"
4239//   Lightsail throws this exception when user input does not conform to the validation
4240//   rules of an input field.
4241//
4242//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4243//   Please set your AWS Region configuration to us-east-1 to create, view, or
4244//   edit these resources.
4245//
4246//   * ErrCodeNotFoundException "NotFoundException"
4247//   Lightsail throws this exception when it cannot find a resource.
4248//
4249//   * ErrCodeOperationFailureException "OperationFailureException"
4250//   Lightsail throws this exception when an operation fails to execute.
4251//
4252//   * ErrCodeAccessDeniedException "AccessDeniedException"
4253//   Lightsail throws this exception when the user cannot be authenticated or
4254//   uses invalid credentials to access a resource.
4255//
4256//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4257//   Lightsail throws this exception when the user has not been authenticated.
4258//
4259// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DisableAddOn
4260func (c *Lightsail) DisableAddOn(input *DisableAddOnInput) (*DisableAddOnOutput, error) {
4261	req, out := c.DisableAddOnRequest(input)
4262	return out, req.Send()
4263}
4264
4265// DisableAddOnWithContext is the same as DisableAddOn with the addition of
4266// the ability to pass a context and additional request options.
4267//
4268// See DisableAddOn for details on how to use this API operation.
4269//
4270// The context must be non-nil and will be used for request cancellation. If
4271// the context is nil a panic will occur. In the future the SDK may create
4272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4273// for more information on using Contexts.
4274func (c *Lightsail) DisableAddOnWithContext(ctx aws.Context, input *DisableAddOnInput, opts ...request.Option) (*DisableAddOnOutput, error) {
4275	req, out := c.DisableAddOnRequest(input)
4276	req.SetContext(ctx)
4277	req.ApplyOptions(opts...)
4278	return out, req.Send()
4279}
4280
4281const opDownloadDefaultKeyPair = "DownloadDefaultKeyPair"
4282
4283// DownloadDefaultKeyPairRequest generates a "aws/request.Request" representing the
4284// client's request for the DownloadDefaultKeyPair operation. The "output" return
4285// value will be populated with the request's response once the request completes
4286// successfully.
4287//
4288// Use "Send" method on the returned Request to send the API call to the service.
4289// the "output" return value is not valid until after Send returns without error.
4290//
4291// See DownloadDefaultKeyPair for more information on using the DownloadDefaultKeyPair
4292// API call, and error handling.
4293//
4294// This method is useful when you want to inject custom logic or configuration
4295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4296//
4297//
4298//    // Example sending a request using the DownloadDefaultKeyPairRequest method.
4299//    req, resp := client.DownloadDefaultKeyPairRequest(params)
4300//
4301//    err := req.Send()
4302//    if err == nil { // resp is now filled
4303//        fmt.Println(resp)
4304//    }
4305//
4306// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4307func (c *Lightsail) DownloadDefaultKeyPairRequest(input *DownloadDefaultKeyPairInput) (req *request.Request, output *DownloadDefaultKeyPairOutput) {
4308	op := &request.Operation{
4309		Name:       opDownloadDefaultKeyPair,
4310		HTTPMethod: "POST",
4311		HTTPPath:   "/",
4312	}
4313
4314	if input == nil {
4315		input = &DownloadDefaultKeyPairInput{}
4316	}
4317
4318	output = &DownloadDefaultKeyPairOutput{}
4319	req = c.newRequest(op, input, output)
4320	return
4321}
4322
4323// DownloadDefaultKeyPair API operation for Amazon Lightsail.
4324//
4325// Downloads the default SSH key pair from the user's account.
4326//
4327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4328// with awserr.Error's Code and Message methods to get detailed information about
4329// the error.
4330//
4331// See the AWS API reference guide for Amazon Lightsail's
4332// API operation DownloadDefaultKeyPair for usage and error information.
4333//
4334// Returned Error Codes:
4335//   * ErrCodeServiceException "ServiceException"
4336//   A general service exception.
4337//
4338//   * ErrCodeInvalidInputException "InvalidInputException"
4339//   Lightsail throws this exception when user input does not conform to the validation
4340//   rules of an input field.
4341//
4342//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4343//   Please set your AWS Region configuration to us-east-1 to create, view, or
4344//   edit these resources.
4345//
4346//   * ErrCodeNotFoundException "NotFoundException"
4347//   Lightsail throws this exception when it cannot find a resource.
4348//
4349//   * ErrCodeOperationFailureException "OperationFailureException"
4350//   Lightsail throws this exception when an operation fails to execute.
4351//
4352//   * ErrCodeAccessDeniedException "AccessDeniedException"
4353//   Lightsail throws this exception when the user cannot be authenticated or
4354//   uses invalid credentials to access a resource.
4355//
4356//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4357//   Lightsail throws this exception when an account is still in the setup in
4358//   progress state.
4359//
4360//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4361//   Lightsail throws this exception when the user has not been authenticated.
4362//
4363// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPair
4364func (c *Lightsail) DownloadDefaultKeyPair(input *DownloadDefaultKeyPairInput) (*DownloadDefaultKeyPairOutput, error) {
4365	req, out := c.DownloadDefaultKeyPairRequest(input)
4366	return out, req.Send()
4367}
4368
4369// DownloadDefaultKeyPairWithContext is the same as DownloadDefaultKeyPair with the addition of
4370// the ability to pass a context and additional request options.
4371//
4372// See DownloadDefaultKeyPair for details on how to use this API operation.
4373//
4374// The context must be non-nil and will be used for request cancellation. If
4375// the context is nil a panic will occur. In the future the SDK may create
4376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4377// for more information on using Contexts.
4378func (c *Lightsail) DownloadDefaultKeyPairWithContext(ctx aws.Context, input *DownloadDefaultKeyPairInput, opts ...request.Option) (*DownloadDefaultKeyPairOutput, error) {
4379	req, out := c.DownloadDefaultKeyPairRequest(input)
4380	req.SetContext(ctx)
4381	req.ApplyOptions(opts...)
4382	return out, req.Send()
4383}
4384
4385const opEnableAddOn = "EnableAddOn"
4386
4387// EnableAddOnRequest generates a "aws/request.Request" representing the
4388// client's request for the EnableAddOn operation. The "output" return
4389// value will be populated with the request's response once the request completes
4390// successfully.
4391//
4392// Use "Send" method on the returned Request to send the API call to the service.
4393// the "output" return value is not valid until after Send returns without error.
4394//
4395// See EnableAddOn for more information on using the EnableAddOn
4396// API call, and error handling.
4397//
4398// This method is useful when you want to inject custom logic or configuration
4399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4400//
4401//
4402//    // Example sending a request using the EnableAddOnRequest method.
4403//    req, resp := client.EnableAddOnRequest(params)
4404//
4405//    err := req.Send()
4406//    if err == nil { // resp is now filled
4407//        fmt.Println(resp)
4408//    }
4409//
4410// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
4411func (c *Lightsail) EnableAddOnRequest(input *EnableAddOnInput) (req *request.Request, output *EnableAddOnOutput) {
4412	op := &request.Operation{
4413		Name:       opEnableAddOn,
4414		HTTPMethod: "POST",
4415		HTTPPath:   "/",
4416	}
4417
4418	if input == nil {
4419		input = &EnableAddOnInput{}
4420	}
4421
4422	output = &EnableAddOnOutput{}
4423	req = c.newRequest(op, input, output)
4424	return
4425}
4426
4427// EnableAddOn API operation for Amazon Lightsail.
4428//
4429// Enables or modifies an add-on for an Amazon Lightsail resource. For more
4430// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
4431//
4432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4433// with awserr.Error's Code and Message methods to get detailed information about
4434// the error.
4435//
4436// See the AWS API reference guide for Amazon Lightsail's
4437// API operation EnableAddOn for usage and error information.
4438//
4439// Returned Error Codes:
4440//   * ErrCodeServiceException "ServiceException"
4441//   A general service exception.
4442//
4443//   * ErrCodeInvalidInputException "InvalidInputException"
4444//   Lightsail throws this exception when user input does not conform to the validation
4445//   rules of an input field.
4446//
4447//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4448//   Please set your AWS Region configuration to us-east-1 to create, view, or
4449//   edit these resources.
4450//
4451//   * ErrCodeNotFoundException "NotFoundException"
4452//   Lightsail throws this exception when it cannot find a resource.
4453//
4454//   * ErrCodeOperationFailureException "OperationFailureException"
4455//   Lightsail throws this exception when an operation fails to execute.
4456//
4457//   * ErrCodeAccessDeniedException "AccessDeniedException"
4458//   Lightsail throws this exception when the user cannot be authenticated or
4459//   uses invalid credentials to access a resource.
4460//
4461//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4462//   Lightsail throws this exception when the user has not been authenticated.
4463//
4464// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/EnableAddOn
4465func (c *Lightsail) EnableAddOn(input *EnableAddOnInput) (*EnableAddOnOutput, error) {
4466	req, out := c.EnableAddOnRequest(input)
4467	return out, req.Send()
4468}
4469
4470// EnableAddOnWithContext is the same as EnableAddOn with the addition of
4471// the ability to pass a context and additional request options.
4472//
4473// See EnableAddOn for details on how to use this API operation.
4474//
4475// The context must be non-nil and will be used for request cancellation. If
4476// the context is nil a panic will occur. In the future the SDK may create
4477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4478// for more information on using Contexts.
4479func (c *Lightsail) EnableAddOnWithContext(ctx aws.Context, input *EnableAddOnInput, opts ...request.Option) (*EnableAddOnOutput, error) {
4480	req, out := c.EnableAddOnRequest(input)
4481	req.SetContext(ctx)
4482	req.ApplyOptions(opts...)
4483	return out, req.Send()
4484}
4485
4486const opExportSnapshot = "ExportSnapshot"
4487
4488// ExportSnapshotRequest generates a "aws/request.Request" representing the
4489// client's request for the ExportSnapshot operation. The "output" return
4490// value will be populated with the request's response once the request completes
4491// successfully.
4492//
4493// Use "Send" method on the returned Request to send the API call to the service.
4494// the "output" return value is not valid until after Send returns without error.
4495//
4496// See ExportSnapshot for more information on using the ExportSnapshot
4497// API call, and error handling.
4498//
4499// This method is useful when you want to inject custom logic or configuration
4500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4501//
4502//
4503//    // Example sending a request using the ExportSnapshotRequest method.
4504//    req, resp := client.ExportSnapshotRequest(params)
4505//
4506//    err := req.Send()
4507//    if err == nil { // resp is now filled
4508//        fmt.Println(resp)
4509//    }
4510//
4511// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4512func (c *Lightsail) ExportSnapshotRequest(input *ExportSnapshotInput) (req *request.Request, output *ExportSnapshotOutput) {
4513	op := &request.Operation{
4514		Name:       opExportSnapshot,
4515		HTTPMethod: "POST",
4516		HTTPPath:   "/",
4517	}
4518
4519	if input == nil {
4520		input = &ExportSnapshotInput{}
4521	}
4522
4523	output = &ExportSnapshotOutput{}
4524	req = c.newRequest(op, input, output)
4525	return
4526}
4527
4528// ExportSnapshot API operation for Amazon Lightsail.
4529//
4530// Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon
4531// Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot
4532// record that can be used with the create cloud formation stack operation to
4533// create new Amazon EC2 instances.
4534//
4535// Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images
4536// (AMIs), and the instance system disk appears as an Amazon Elastic Block Store
4537// (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon
4538// EBS volumes. Snapshots are exported to the same Amazon Web Services Region
4539// in Amazon EC2 as the source Lightsail snapshot.
4540//
4541// The export snapshot operation supports tag-based access control via resource
4542// tags applied to the resource identified by source snapshot name. For more
4543// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
4544//
4545// Use the get instance snapshots or get disk snapshots operations to get a
4546// list of snapshots that you can export to Amazon EC2.
4547//
4548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4549// with awserr.Error's Code and Message methods to get detailed information about
4550// the error.
4551//
4552// See the AWS API reference guide for Amazon Lightsail's
4553// API operation ExportSnapshot for usage and error information.
4554//
4555// Returned Error Codes:
4556//   * ErrCodeServiceException "ServiceException"
4557//   A general service exception.
4558//
4559//   * ErrCodeInvalidInputException "InvalidInputException"
4560//   Lightsail throws this exception when user input does not conform to the validation
4561//   rules of an input field.
4562//
4563//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4564//   Please set your AWS Region configuration to us-east-1 to create, view, or
4565//   edit these resources.
4566//
4567//   * ErrCodeNotFoundException "NotFoundException"
4568//   Lightsail throws this exception when it cannot find a resource.
4569//
4570//   * ErrCodeOperationFailureException "OperationFailureException"
4571//   Lightsail throws this exception when an operation fails to execute.
4572//
4573//   * ErrCodeAccessDeniedException "AccessDeniedException"
4574//   Lightsail throws this exception when the user cannot be authenticated or
4575//   uses invalid credentials to access a resource.
4576//
4577//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4578//   Lightsail throws this exception when an account is still in the setup in
4579//   progress state.
4580//
4581//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4582//   Lightsail throws this exception when the user has not been authenticated.
4583//
4584// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ExportSnapshot
4585func (c *Lightsail) ExportSnapshot(input *ExportSnapshotInput) (*ExportSnapshotOutput, error) {
4586	req, out := c.ExportSnapshotRequest(input)
4587	return out, req.Send()
4588}
4589
4590// ExportSnapshotWithContext is the same as ExportSnapshot with the addition of
4591// the ability to pass a context and additional request options.
4592//
4593// See ExportSnapshot for details on how to use this API operation.
4594//
4595// The context must be non-nil and will be used for request cancellation. If
4596// the context is nil a panic will occur. In the future the SDK may create
4597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4598// for more information on using Contexts.
4599func (c *Lightsail) ExportSnapshotWithContext(ctx aws.Context, input *ExportSnapshotInput, opts ...request.Option) (*ExportSnapshotOutput, error) {
4600	req, out := c.ExportSnapshotRequest(input)
4601	req.SetContext(ctx)
4602	req.ApplyOptions(opts...)
4603	return out, req.Send()
4604}
4605
4606const opGetActiveNames = "GetActiveNames"
4607
4608// GetActiveNamesRequest generates a "aws/request.Request" representing the
4609// client's request for the GetActiveNames operation. The "output" return
4610// value will be populated with the request's response once the request completes
4611// successfully.
4612//
4613// Use "Send" method on the returned Request to send the API call to the service.
4614// the "output" return value is not valid until after Send returns without error.
4615//
4616// See GetActiveNames for more information on using the GetActiveNames
4617// API call, and error handling.
4618//
4619// This method is useful when you want to inject custom logic or configuration
4620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4621//
4622//
4623//    // Example sending a request using the GetActiveNamesRequest method.
4624//    req, resp := client.GetActiveNamesRequest(params)
4625//
4626//    err := req.Send()
4627//    if err == nil { // resp is now filled
4628//        fmt.Println(resp)
4629//    }
4630//
4631// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
4632func (c *Lightsail) GetActiveNamesRequest(input *GetActiveNamesInput) (req *request.Request, output *GetActiveNamesOutput) {
4633	op := &request.Operation{
4634		Name:       opGetActiveNames,
4635		HTTPMethod: "POST",
4636		HTTPPath:   "/",
4637	}
4638
4639	if input == nil {
4640		input = &GetActiveNamesInput{}
4641	}
4642
4643	output = &GetActiveNamesOutput{}
4644	req = c.newRequest(op, input, output)
4645	return
4646}
4647
4648// GetActiveNames API operation for Amazon Lightsail.
4649//
4650// Returns the names of all active (not deleted) resources.
4651//
4652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4653// with awserr.Error's Code and Message methods to get detailed information about
4654// the error.
4655//
4656// See the AWS API reference guide for Amazon Lightsail's
4657// API operation GetActiveNames for usage and error information.
4658//
4659// Returned Error Codes:
4660//   * ErrCodeServiceException "ServiceException"
4661//   A general service exception.
4662//
4663//   * ErrCodeInvalidInputException "InvalidInputException"
4664//   Lightsail throws this exception when user input does not conform to the validation
4665//   rules of an input field.
4666//
4667//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4668//   Please set your AWS Region configuration to us-east-1 to create, view, or
4669//   edit these resources.
4670//
4671//   * ErrCodeNotFoundException "NotFoundException"
4672//   Lightsail throws this exception when it cannot find a resource.
4673//
4674//   * ErrCodeOperationFailureException "OperationFailureException"
4675//   Lightsail throws this exception when an operation fails to execute.
4676//
4677//   * ErrCodeAccessDeniedException "AccessDeniedException"
4678//   Lightsail throws this exception when the user cannot be authenticated or
4679//   uses invalid credentials to access a resource.
4680//
4681//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4682//   Lightsail throws this exception when an account is still in the setup in
4683//   progress state.
4684//
4685//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4686//   Lightsail throws this exception when the user has not been authenticated.
4687//
4688// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetActiveNames
4689func (c *Lightsail) GetActiveNames(input *GetActiveNamesInput) (*GetActiveNamesOutput, error) {
4690	req, out := c.GetActiveNamesRequest(input)
4691	return out, req.Send()
4692}
4693
4694// GetActiveNamesWithContext is the same as GetActiveNames with the addition of
4695// the ability to pass a context and additional request options.
4696//
4697// See GetActiveNames for details on how to use this API operation.
4698//
4699// The context must be non-nil and will be used for request cancellation. If
4700// the context is nil a panic will occur. In the future the SDK may create
4701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4702// for more information on using Contexts.
4703func (c *Lightsail) GetActiveNamesWithContext(ctx aws.Context, input *GetActiveNamesInput, opts ...request.Option) (*GetActiveNamesOutput, error) {
4704	req, out := c.GetActiveNamesRequest(input)
4705	req.SetContext(ctx)
4706	req.ApplyOptions(opts...)
4707	return out, req.Send()
4708}
4709
4710const opGetAutoSnapshots = "GetAutoSnapshots"
4711
4712// GetAutoSnapshotsRequest generates a "aws/request.Request" representing the
4713// client's request for the GetAutoSnapshots operation. The "output" return
4714// value will be populated with the request's response once the request completes
4715// successfully.
4716//
4717// Use "Send" method on the returned Request to send the API call to the service.
4718// the "output" return value is not valid until after Send returns without error.
4719//
4720// See GetAutoSnapshots for more information on using the GetAutoSnapshots
4721// API call, and error handling.
4722//
4723// This method is useful when you want to inject custom logic or configuration
4724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4725//
4726//
4727//    // Example sending a request using the GetAutoSnapshotsRequest method.
4728//    req, resp := client.GetAutoSnapshotsRequest(params)
4729//
4730//    err := req.Send()
4731//    if err == nil { // resp is now filled
4732//        fmt.Println(resp)
4733//    }
4734//
4735// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
4736func (c *Lightsail) GetAutoSnapshotsRequest(input *GetAutoSnapshotsInput) (req *request.Request, output *GetAutoSnapshotsOutput) {
4737	op := &request.Operation{
4738		Name:       opGetAutoSnapshots,
4739		HTTPMethod: "POST",
4740		HTTPPath:   "/",
4741	}
4742
4743	if input == nil {
4744		input = &GetAutoSnapshotsInput{}
4745	}
4746
4747	output = &GetAutoSnapshotsOutput{}
4748	req = c.newRequest(op, input, output)
4749	return
4750}
4751
4752// GetAutoSnapshots API operation for Amazon Lightsail.
4753//
4754// Returns the available automatic snapshots for an instance or disk. For more
4755// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
4756//
4757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4758// with awserr.Error's Code and Message methods to get detailed information about
4759// the error.
4760//
4761// See the AWS API reference guide for Amazon Lightsail's
4762// API operation GetAutoSnapshots for usage and error information.
4763//
4764// Returned Error Codes:
4765//   * ErrCodeServiceException "ServiceException"
4766//   A general service exception.
4767//
4768//   * ErrCodeInvalidInputException "InvalidInputException"
4769//   Lightsail throws this exception when user input does not conform to the validation
4770//   rules of an input field.
4771//
4772//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4773//   Please set your AWS Region configuration to us-east-1 to create, view, or
4774//   edit these resources.
4775//
4776//   * ErrCodeNotFoundException "NotFoundException"
4777//   Lightsail throws this exception when it cannot find a resource.
4778//
4779//   * ErrCodeOperationFailureException "OperationFailureException"
4780//   Lightsail throws this exception when an operation fails to execute.
4781//
4782//   * ErrCodeAccessDeniedException "AccessDeniedException"
4783//   Lightsail throws this exception when the user cannot be authenticated or
4784//   uses invalid credentials to access a resource.
4785//
4786//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4787//   Lightsail throws this exception when the user has not been authenticated.
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetAutoSnapshots
4790func (c *Lightsail) GetAutoSnapshots(input *GetAutoSnapshotsInput) (*GetAutoSnapshotsOutput, error) {
4791	req, out := c.GetAutoSnapshotsRequest(input)
4792	return out, req.Send()
4793}
4794
4795// GetAutoSnapshotsWithContext is the same as GetAutoSnapshots with the addition of
4796// the ability to pass a context and additional request options.
4797//
4798// See GetAutoSnapshots for details on how to use this API operation.
4799//
4800// The context must be non-nil and will be used for request cancellation. If
4801// the context is nil a panic will occur. In the future the SDK may create
4802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4803// for more information on using Contexts.
4804func (c *Lightsail) GetAutoSnapshotsWithContext(ctx aws.Context, input *GetAutoSnapshotsInput, opts ...request.Option) (*GetAutoSnapshotsOutput, error) {
4805	req, out := c.GetAutoSnapshotsRequest(input)
4806	req.SetContext(ctx)
4807	req.ApplyOptions(opts...)
4808	return out, req.Send()
4809}
4810
4811const opGetBlueprints = "GetBlueprints"
4812
4813// GetBlueprintsRequest generates a "aws/request.Request" representing the
4814// client's request for the GetBlueprints operation. The "output" return
4815// value will be populated with the request's response once the request completes
4816// successfully.
4817//
4818// Use "Send" method on the returned Request to send the API call to the service.
4819// the "output" return value is not valid until after Send returns without error.
4820//
4821// See GetBlueprints for more information on using the GetBlueprints
4822// API call, and error handling.
4823//
4824// This method is useful when you want to inject custom logic or configuration
4825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4826//
4827//
4828//    // Example sending a request using the GetBlueprintsRequest method.
4829//    req, resp := client.GetBlueprintsRequest(params)
4830//
4831//    err := req.Send()
4832//    if err == nil { // resp is now filled
4833//        fmt.Println(resp)
4834//    }
4835//
4836// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
4837func (c *Lightsail) GetBlueprintsRequest(input *GetBlueprintsInput) (req *request.Request, output *GetBlueprintsOutput) {
4838	op := &request.Operation{
4839		Name:       opGetBlueprints,
4840		HTTPMethod: "POST",
4841		HTTPPath:   "/",
4842	}
4843
4844	if input == nil {
4845		input = &GetBlueprintsInput{}
4846	}
4847
4848	output = &GetBlueprintsOutput{}
4849	req = c.newRequest(op, input, output)
4850	return
4851}
4852
4853// GetBlueprints API operation for Amazon Lightsail.
4854//
4855// Returns the list of available instance images, or blueprints. You can use
4856// a blueprint to create a new instance already running a specific operating
4857// system, as well as a preinstalled app or development stack. The software
4858// each instance is running depends on the blueprint image you choose.
4859//
4860// Use active blueprints when creating new instances. Inactive blueprints are
4861// listed to support customers with existing instances and are not necessarily
4862// available to create new instances. Blueprints are marked inactive when they
4863// become outdated due to operating system updates or new application releases.
4864//
4865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4866// with awserr.Error's Code and Message methods to get detailed information about
4867// the error.
4868//
4869// See the AWS API reference guide for Amazon Lightsail's
4870// API operation GetBlueprints for usage and error information.
4871//
4872// Returned Error Codes:
4873//   * ErrCodeServiceException "ServiceException"
4874//   A general service exception.
4875//
4876//   * ErrCodeInvalidInputException "InvalidInputException"
4877//   Lightsail throws this exception when user input does not conform to the validation
4878//   rules of an input field.
4879//
4880//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4881//   Please set your AWS Region configuration to us-east-1 to create, view, or
4882//   edit these resources.
4883//
4884//   * ErrCodeNotFoundException "NotFoundException"
4885//   Lightsail throws this exception when it cannot find a resource.
4886//
4887//   * ErrCodeOperationFailureException "OperationFailureException"
4888//   Lightsail throws this exception when an operation fails to execute.
4889//
4890//   * ErrCodeAccessDeniedException "AccessDeniedException"
4891//   Lightsail throws this exception when the user cannot be authenticated or
4892//   uses invalid credentials to access a resource.
4893//
4894//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
4895//   Lightsail throws this exception when an account is still in the setup in
4896//   progress state.
4897//
4898//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
4899//   Lightsail throws this exception when the user has not been authenticated.
4900//
4901// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBlueprints
4902func (c *Lightsail) GetBlueprints(input *GetBlueprintsInput) (*GetBlueprintsOutput, error) {
4903	req, out := c.GetBlueprintsRequest(input)
4904	return out, req.Send()
4905}
4906
4907// GetBlueprintsWithContext is the same as GetBlueprints with the addition of
4908// the ability to pass a context and additional request options.
4909//
4910// See GetBlueprints for details on how to use this API operation.
4911//
4912// The context must be non-nil and will be used for request cancellation. If
4913// the context is nil a panic will occur. In the future the SDK may create
4914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4915// for more information on using Contexts.
4916func (c *Lightsail) GetBlueprintsWithContext(ctx aws.Context, input *GetBlueprintsInput, opts ...request.Option) (*GetBlueprintsOutput, error) {
4917	req, out := c.GetBlueprintsRequest(input)
4918	req.SetContext(ctx)
4919	req.ApplyOptions(opts...)
4920	return out, req.Send()
4921}
4922
4923const opGetBundles = "GetBundles"
4924
4925// GetBundlesRequest generates a "aws/request.Request" representing the
4926// client's request for the GetBundles operation. The "output" return
4927// value will be populated with the request's response once the request completes
4928// successfully.
4929//
4930// Use "Send" method on the returned Request to send the API call to the service.
4931// the "output" return value is not valid until after Send returns without error.
4932//
4933// See GetBundles for more information on using the GetBundles
4934// API call, and error handling.
4935//
4936// This method is useful when you want to inject custom logic or configuration
4937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4938//
4939//
4940//    // Example sending a request using the GetBundlesRequest method.
4941//    req, resp := client.GetBundlesRequest(params)
4942//
4943//    err := req.Send()
4944//    if err == nil { // resp is now filled
4945//        fmt.Println(resp)
4946//    }
4947//
4948// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
4949func (c *Lightsail) GetBundlesRequest(input *GetBundlesInput) (req *request.Request, output *GetBundlesOutput) {
4950	op := &request.Operation{
4951		Name:       opGetBundles,
4952		HTTPMethod: "POST",
4953		HTTPPath:   "/",
4954	}
4955
4956	if input == nil {
4957		input = &GetBundlesInput{}
4958	}
4959
4960	output = &GetBundlesOutput{}
4961	req = c.newRequest(op, input, output)
4962	return
4963}
4964
4965// GetBundles API operation for Amazon Lightsail.
4966//
4967// Returns the list of bundles that are available for purchase. A bundle describes
4968// the specs for your virtual private server (or instance).
4969//
4970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4971// with awserr.Error's Code and Message methods to get detailed information about
4972// the error.
4973//
4974// See the AWS API reference guide for Amazon Lightsail's
4975// API operation GetBundles for usage and error information.
4976//
4977// Returned Error Codes:
4978//   * ErrCodeServiceException "ServiceException"
4979//   A general service exception.
4980//
4981//   * ErrCodeInvalidInputException "InvalidInputException"
4982//   Lightsail throws this exception when user input does not conform to the validation
4983//   rules of an input field.
4984//
4985//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
4986//   Please set your AWS Region configuration to us-east-1 to create, view, or
4987//   edit these resources.
4988//
4989//   * ErrCodeNotFoundException "NotFoundException"
4990//   Lightsail throws this exception when it cannot find a resource.
4991//
4992//   * ErrCodeOperationFailureException "OperationFailureException"
4993//   Lightsail throws this exception when an operation fails to execute.
4994//
4995//   * ErrCodeAccessDeniedException "AccessDeniedException"
4996//   Lightsail throws this exception when the user cannot be authenticated or
4997//   uses invalid credentials to access a resource.
4998//
4999//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5000//   Lightsail throws this exception when an account is still in the setup in
5001//   progress state.
5002//
5003//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5004//   Lightsail throws this exception when the user has not been authenticated.
5005//
5006// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetBundles
5007func (c *Lightsail) GetBundles(input *GetBundlesInput) (*GetBundlesOutput, error) {
5008	req, out := c.GetBundlesRequest(input)
5009	return out, req.Send()
5010}
5011
5012// GetBundlesWithContext is the same as GetBundles with the addition of
5013// the ability to pass a context and additional request options.
5014//
5015// See GetBundles for details on how to use this API operation.
5016//
5017// The context must be non-nil and will be used for request cancellation. If
5018// the context is nil a panic will occur. In the future the SDK may create
5019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5020// for more information on using Contexts.
5021func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInput, opts ...request.Option) (*GetBundlesOutput, error) {
5022	req, out := c.GetBundlesRequest(input)
5023	req.SetContext(ctx)
5024	req.ApplyOptions(opts...)
5025	return out, req.Send()
5026}
5027
5028const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords"
5029
5030// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the
5031// client's request for the GetCloudFormationStackRecords operation. The "output" return
5032// value will be populated with the request's response once the request completes
5033// successfully.
5034//
5035// Use "Send" method on the returned Request to send the API call to the service.
5036// the "output" return value is not valid until after Send returns without error.
5037//
5038// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords
5039// API call, and error handling.
5040//
5041// This method is useful when you want to inject custom logic or configuration
5042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5043//
5044//
5045//    // Example sending a request using the GetCloudFormationStackRecordsRequest method.
5046//    req, resp := client.GetCloudFormationStackRecordsRequest(params)
5047//
5048//    err := req.Send()
5049//    if err == nil { // resp is now filled
5050//        fmt.Println(resp)
5051//    }
5052//
5053// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
5054func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) {
5055	op := &request.Operation{
5056		Name:       opGetCloudFormationStackRecords,
5057		HTTPMethod: "POST",
5058		HTTPPath:   "/",
5059	}
5060
5061	if input == nil {
5062		input = &GetCloudFormationStackRecordsInput{}
5063	}
5064
5065	output = &GetCloudFormationStackRecordsOutput{}
5066	req = c.newRequest(op, input, output)
5067	return
5068}
5069
5070// GetCloudFormationStackRecords API operation for Amazon Lightsail.
5071//
5072// Returns the CloudFormation stack record created as a result of the create
5073// cloud formation stack operation.
5074//
5075// An AWS CloudFormation stack is used to create a new Amazon EC2 instance from
5076// an exported Lightsail snapshot.
5077//
5078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5079// with awserr.Error's Code and Message methods to get detailed information about
5080// the error.
5081//
5082// See the AWS API reference guide for Amazon Lightsail's
5083// API operation GetCloudFormationStackRecords for usage and error information.
5084//
5085// Returned Error Codes:
5086//   * ErrCodeServiceException "ServiceException"
5087//   A general service exception.
5088//
5089//   * ErrCodeInvalidInputException "InvalidInputException"
5090//   Lightsail throws this exception when user input does not conform to the validation
5091//   rules of an input field.
5092//
5093//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5094//   Please set your AWS Region configuration to us-east-1 to create, view, or
5095//   edit these resources.
5096//
5097//   * ErrCodeNotFoundException "NotFoundException"
5098//   Lightsail throws this exception when it cannot find a resource.
5099//
5100//   * ErrCodeOperationFailureException "OperationFailureException"
5101//   Lightsail throws this exception when an operation fails to execute.
5102//
5103//   * ErrCodeAccessDeniedException "AccessDeniedException"
5104//   Lightsail throws this exception when the user cannot be authenticated or
5105//   uses invalid credentials to access a resource.
5106//
5107//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5108//   Lightsail throws this exception when an account is still in the setup in
5109//   progress state.
5110//
5111//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5112//   Lightsail throws this exception when the user has not been authenticated.
5113//
5114// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords
5115func (c *Lightsail) GetCloudFormationStackRecords(input *GetCloudFormationStackRecordsInput) (*GetCloudFormationStackRecordsOutput, error) {
5116	req, out := c.GetCloudFormationStackRecordsRequest(input)
5117	return out, req.Send()
5118}
5119
5120// GetCloudFormationStackRecordsWithContext is the same as GetCloudFormationStackRecords with the addition of
5121// the ability to pass a context and additional request options.
5122//
5123// See GetCloudFormationStackRecords for details on how to use this API operation.
5124//
5125// The context must be non-nil and will be used for request cancellation. If
5126// the context is nil a panic will occur. In the future the SDK may create
5127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5128// for more information on using Contexts.
5129func (c *Lightsail) GetCloudFormationStackRecordsWithContext(ctx aws.Context, input *GetCloudFormationStackRecordsInput, opts ...request.Option) (*GetCloudFormationStackRecordsOutput, error) {
5130	req, out := c.GetCloudFormationStackRecordsRequest(input)
5131	req.SetContext(ctx)
5132	req.ApplyOptions(opts...)
5133	return out, req.Send()
5134}
5135
5136const opGetDisk = "GetDisk"
5137
5138// GetDiskRequest generates a "aws/request.Request" representing the
5139// client's request for the GetDisk operation. The "output" return
5140// value will be populated with the request's response once the request completes
5141// successfully.
5142//
5143// Use "Send" method on the returned Request to send the API call to the service.
5144// the "output" return value is not valid until after Send returns without error.
5145//
5146// See GetDisk for more information on using the GetDisk
5147// API call, and error handling.
5148//
5149// This method is useful when you want to inject custom logic or configuration
5150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5151//
5152//
5153//    // Example sending a request using the GetDiskRequest method.
5154//    req, resp := client.GetDiskRequest(params)
5155//
5156//    err := req.Send()
5157//    if err == nil { // resp is now filled
5158//        fmt.Println(resp)
5159//    }
5160//
5161// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
5162func (c *Lightsail) GetDiskRequest(input *GetDiskInput) (req *request.Request, output *GetDiskOutput) {
5163	op := &request.Operation{
5164		Name:       opGetDisk,
5165		HTTPMethod: "POST",
5166		HTTPPath:   "/",
5167	}
5168
5169	if input == nil {
5170		input = &GetDiskInput{}
5171	}
5172
5173	output = &GetDiskOutput{}
5174	req = c.newRequest(op, input, output)
5175	return
5176}
5177
5178// GetDisk API operation for Amazon Lightsail.
5179//
5180// Returns information about a specific block storage disk.
5181//
5182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5183// with awserr.Error's Code and Message methods to get detailed information about
5184// the error.
5185//
5186// See the AWS API reference guide for Amazon Lightsail's
5187// API operation GetDisk for usage and error information.
5188//
5189// Returned Error Codes:
5190//   * ErrCodeServiceException "ServiceException"
5191//   A general service exception.
5192//
5193//   * ErrCodeInvalidInputException "InvalidInputException"
5194//   Lightsail throws this exception when user input does not conform to the validation
5195//   rules of an input field.
5196//
5197//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5198//   Please set your AWS Region configuration to us-east-1 to create, view, or
5199//   edit these resources.
5200//
5201//   * ErrCodeNotFoundException "NotFoundException"
5202//   Lightsail throws this exception when it cannot find a resource.
5203//
5204//   * ErrCodeOperationFailureException "OperationFailureException"
5205//   Lightsail throws this exception when an operation fails to execute.
5206//
5207//   * ErrCodeAccessDeniedException "AccessDeniedException"
5208//   Lightsail throws this exception when the user cannot be authenticated or
5209//   uses invalid credentials to access a resource.
5210//
5211//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5212//   Lightsail throws this exception when an account is still in the setup in
5213//   progress state.
5214//
5215//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5216//   Lightsail throws this exception when the user has not been authenticated.
5217//
5218// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisk
5219func (c *Lightsail) GetDisk(input *GetDiskInput) (*GetDiskOutput, error) {
5220	req, out := c.GetDiskRequest(input)
5221	return out, req.Send()
5222}
5223
5224// GetDiskWithContext is the same as GetDisk with the addition of
5225// the ability to pass a context and additional request options.
5226//
5227// See GetDisk for details on how to use this API operation.
5228//
5229// The context must be non-nil and will be used for request cancellation. If
5230// the context is nil a panic will occur. In the future the SDK may create
5231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5232// for more information on using Contexts.
5233func (c *Lightsail) GetDiskWithContext(ctx aws.Context, input *GetDiskInput, opts ...request.Option) (*GetDiskOutput, error) {
5234	req, out := c.GetDiskRequest(input)
5235	req.SetContext(ctx)
5236	req.ApplyOptions(opts...)
5237	return out, req.Send()
5238}
5239
5240const opGetDiskSnapshot = "GetDiskSnapshot"
5241
5242// GetDiskSnapshotRequest generates a "aws/request.Request" representing the
5243// client's request for the GetDiskSnapshot operation. The "output" return
5244// value will be populated with the request's response once the request completes
5245// successfully.
5246//
5247// Use "Send" method on the returned Request to send the API call to the service.
5248// the "output" return value is not valid until after Send returns without error.
5249//
5250// See GetDiskSnapshot for more information on using the GetDiskSnapshot
5251// API call, and error handling.
5252//
5253// This method is useful when you want to inject custom logic or configuration
5254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5255//
5256//
5257//    // Example sending a request using the GetDiskSnapshotRequest method.
5258//    req, resp := client.GetDiskSnapshotRequest(params)
5259//
5260//    err := req.Send()
5261//    if err == nil { // resp is now filled
5262//        fmt.Println(resp)
5263//    }
5264//
5265// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
5266func (c *Lightsail) GetDiskSnapshotRequest(input *GetDiskSnapshotInput) (req *request.Request, output *GetDiskSnapshotOutput) {
5267	op := &request.Operation{
5268		Name:       opGetDiskSnapshot,
5269		HTTPMethod: "POST",
5270		HTTPPath:   "/",
5271	}
5272
5273	if input == nil {
5274		input = &GetDiskSnapshotInput{}
5275	}
5276
5277	output = &GetDiskSnapshotOutput{}
5278	req = c.newRequest(op, input, output)
5279	return
5280}
5281
5282// GetDiskSnapshot API operation for Amazon Lightsail.
5283//
5284// Returns information about a specific block storage disk snapshot.
5285//
5286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5287// with awserr.Error's Code and Message methods to get detailed information about
5288// the error.
5289//
5290// See the AWS API reference guide for Amazon Lightsail's
5291// API operation GetDiskSnapshot for usage and error information.
5292//
5293// Returned Error Codes:
5294//   * ErrCodeServiceException "ServiceException"
5295//   A general service exception.
5296//
5297//   * ErrCodeInvalidInputException "InvalidInputException"
5298//   Lightsail throws this exception when user input does not conform to the validation
5299//   rules of an input field.
5300//
5301//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5302//   Please set your AWS Region configuration to us-east-1 to create, view, or
5303//   edit these resources.
5304//
5305//   * ErrCodeNotFoundException "NotFoundException"
5306//   Lightsail throws this exception when it cannot find a resource.
5307//
5308//   * ErrCodeOperationFailureException "OperationFailureException"
5309//   Lightsail throws this exception when an operation fails to execute.
5310//
5311//   * ErrCodeAccessDeniedException "AccessDeniedException"
5312//   Lightsail throws this exception when the user cannot be authenticated or
5313//   uses invalid credentials to access a resource.
5314//
5315//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5316//   Lightsail throws this exception when an account is still in the setup in
5317//   progress state.
5318//
5319//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5320//   Lightsail throws this exception when the user has not been authenticated.
5321//
5322// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshot
5323func (c *Lightsail) GetDiskSnapshot(input *GetDiskSnapshotInput) (*GetDiskSnapshotOutput, error) {
5324	req, out := c.GetDiskSnapshotRequest(input)
5325	return out, req.Send()
5326}
5327
5328// GetDiskSnapshotWithContext is the same as GetDiskSnapshot with the addition of
5329// the ability to pass a context and additional request options.
5330//
5331// See GetDiskSnapshot for details on how to use this API operation.
5332//
5333// The context must be non-nil and will be used for request cancellation. If
5334// the context is nil a panic will occur. In the future the SDK may create
5335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5336// for more information on using Contexts.
5337func (c *Lightsail) GetDiskSnapshotWithContext(ctx aws.Context, input *GetDiskSnapshotInput, opts ...request.Option) (*GetDiskSnapshotOutput, error) {
5338	req, out := c.GetDiskSnapshotRequest(input)
5339	req.SetContext(ctx)
5340	req.ApplyOptions(opts...)
5341	return out, req.Send()
5342}
5343
5344const opGetDiskSnapshots = "GetDiskSnapshots"
5345
5346// GetDiskSnapshotsRequest generates a "aws/request.Request" representing the
5347// client's request for the GetDiskSnapshots operation. The "output" return
5348// value will be populated with the request's response once the request completes
5349// successfully.
5350//
5351// Use "Send" method on the returned Request to send the API call to the service.
5352// the "output" return value is not valid until after Send returns without error.
5353//
5354// See GetDiskSnapshots for more information on using the GetDiskSnapshots
5355// API call, and error handling.
5356//
5357// This method is useful when you want to inject custom logic or configuration
5358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5359//
5360//
5361//    // Example sending a request using the GetDiskSnapshotsRequest method.
5362//    req, resp := client.GetDiskSnapshotsRequest(params)
5363//
5364//    err := req.Send()
5365//    if err == nil { // resp is now filled
5366//        fmt.Println(resp)
5367//    }
5368//
5369// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
5370func (c *Lightsail) GetDiskSnapshotsRequest(input *GetDiskSnapshotsInput) (req *request.Request, output *GetDiskSnapshotsOutput) {
5371	op := &request.Operation{
5372		Name:       opGetDiskSnapshots,
5373		HTTPMethod: "POST",
5374		HTTPPath:   "/",
5375	}
5376
5377	if input == nil {
5378		input = &GetDiskSnapshotsInput{}
5379	}
5380
5381	output = &GetDiskSnapshotsOutput{}
5382	req = c.newRequest(op, input, output)
5383	return
5384}
5385
5386// GetDiskSnapshots API operation for Amazon Lightsail.
5387//
5388// Returns information about all block storage disk snapshots in your AWS account
5389// and region.
5390//
5391// If you are describing a long list of disk snapshots, you can paginate the
5392// output to make the list more manageable. You can use the pageToken and nextPageToken
5393// values to retrieve the next items in the list.
5394//
5395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5396// with awserr.Error's Code and Message methods to get detailed information about
5397// the error.
5398//
5399// See the AWS API reference guide for Amazon Lightsail's
5400// API operation GetDiskSnapshots for usage and error information.
5401//
5402// Returned Error Codes:
5403//   * ErrCodeServiceException "ServiceException"
5404//   A general service exception.
5405//
5406//   * ErrCodeInvalidInputException "InvalidInputException"
5407//   Lightsail throws this exception when user input does not conform to the validation
5408//   rules of an input field.
5409//
5410//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5411//   Please set your AWS Region configuration to us-east-1 to create, view, or
5412//   edit these resources.
5413//
5414//   * ErrCodeNotFoundException "NotFoundException"
5415//   Lightsail throws this exception when it cannot find a resource.
5416//
5417//   * ErrCodeOperationFailureException "OperationFailureException"
5418//   Lightsail throws this exception when an operation fails to execute.
5419//
5420//   * ErrCodeAccessDeniedException "AccessDeniedException"
5421//   Lightsail throws this exception when the user cannot be authenticated or
5422//   uses invalid credentials to access a resource.
5423//
5424//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5425//   Lightsail throws this exception when an account is still in the setup in
5426//   progress state.
5427//
5428//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5429//   Lightsail throws this exception when the user has not been authenticated.
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshots
5432func (c *Lightsail) GetDiskSnapshots(input *GetDiskSnapshotsInput) (*GetDiskSnapshotsOutput, error) {
5433	req, out := c.GetDiskSnapshotsRequest(input)
5434	return out, req.Send()
5435}
5436
5437// GetDiskSnapshotsWithContext is the same as GetDiskSnapshots with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See GetDiskSnapshots for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *Lightsail) GetDiskSnapshotsWithContext(ctx aws.Context, input *GetDiskSnapshotsInput, opts ...request.Option) (*GetDiskSnapshotsOutput, error) {
5447	req, out := c.GetDiskSnapshotsRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453const opGetDisks = "GetDisks"
5454
5455// GetDisksRequest generates a "aws/request.Request" representing the
5456// client's request for the GetDisks operation. The "output" return
5457// value will be populated with the request's response once the request completes
5458// successfully.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See GetDisks for more information on using the GetDisks
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the GetDisksRequest method.
5471//    req, resp := client.GetDisksRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
5479func (c *Lightsail) GetDisksRequest(input *GetDisksInput) (req *request.Request, output *GetDisksOutput) {
5480	op := &request.Operation{
5481		Name:       opGetDisks,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484	}
5485
5486	if input == nil {
5487		input = &GetDisksInput{}
5488	}
5489
5490	output = &GetDisksOutput{}
5491	req = c.newRequest(op, input, output)
5492	return
5493}
5494
5495// GetDisks API operation for Amazon Lightsail.
5496//
5497// Returns information about all block storage disks in your AWS account and
5498// region.
5499//
5500// If you are describing a long list of disks, you can paginate the output to
5501// make the list more manageable. You can use the pageToken and nextPageToken
5502// values to retrieve the next items in the list.
5503//
5504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5505// with awserr.Error's Code and Message methods to get detailed information about
5506// the error.
5507//
5508// See the AWS API reference guide for Amazon Lightsail's
5509// API operation GetDisks for usage and error information.
5510//
5511// Returned Error Codes:
5512//   * ErrCodeServiceException "ServiceException"
5513//   A general service exception.
5514//
5515//   * ErrCodeInvalidInputException "InvalidInputException"
5516//   Lightsail throws this exception when user input does not conform to the validation
5517//   rules of an input field.
5518//
5519//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5520//   Please set your AWS Region configuration to us-east-1 to create, view, or
5521//   edit these resources.
5522//
5523//   * ErrCodeNotFoundException "NotFoundException"
5524//   Lightsail throws this exception when it cannot find a resource.
5525//
5526//   * ErrCodeOperationFailureException "OperationFailureException"
5527//   Lightsail throws this exception when an operation fails to execute.
5528//
5529//   * ErrCodeAccessDeniedException "AccessDeniedException"
5530//   Lightsail throws this exception when the user cannot be authenticated or
5531//   uses invalid credentials to access a resource.
5532//
5533//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5534//   Lightsail throws this exception when an account is still in the setup in
5535//   progress state.
5536//
5537//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5538//   Lightsail throws this exception when the user has not been authenticated.
5539//
5540// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisks
5541func (c *Lightsail) GetDisks(input *GetDisksInput) (*GetDisksOutput, error) {
5542	req, out := c.GetDisksRequest(input)
5543	return out, req.Send()
5544}
5545
5546// GetDisksWithContext is the same as GetDisks with the addition of
5547// the ability to pass a context and additional request options.
5548//
5549// See GetDisks for details on how to use this API operation.
5550//
5551// The context must be non-nil and will be used for request cancellation. If
5552// the context is nil a panic will occur. In the future the SDK may create
5553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5554// for more information on using Contexts.
5555func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, opts ...request.Option) (*GetDisksOutput, error) {
5556	req, out := c.GetDisksRequest(input)
5557	req.SetContext(ctx)
5558	req.ApplyOptions(opts...)
5559	return out, req.Send()
5560}
5561
5562const opGetDomain = "GetDomain"
5563
5564// GetDomainRequest generates a "aws/request.Request" representing the
5565// client's request for the GetDomain operation. The "output" return
5566// value will be populated with the request's response once the request completes
5567// successfully.
5568//
5569// Use "Send" method on the returned Request to send the API call to the service.
5570// the "output" return value is not valid until after Send returns without error.
5571//
5572// See GetDomain for more information on using the GetDomain
5573// API call, and error handling.
5574//
5575// This method is useful when you want to inject custom logic or configuration
5576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5577//
5578//
5579//    // Example sending a request using the GetDomainRequest method.
5580//    req, resp := client.GetDomainRequest(params)
5581//
5582//    err := req.Send()
5583//    if err == nil { // resp is now filled
5584//        fmt.Println(resp)
5585//    }
5586//
5587// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
5588func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) {
5589	op := &request.Operation{
5590		Name:       opGetDomain,
5591		HTTPMethod: "POST",
5592		HTTPPath:   "/",
5593	}
5594
5595	if input == nil {
5596		input = &GetDomainInput{}
5597	}
5598
5599	output = &GetDomainOutput{}
5600	req = c.newRequest(op, input, output)
5601	return
5602}
5603
5604// GetDomain API operation for Amazon Lightsail.
5605//
5606// Returns information about a specific domain recordset.
5607//
5608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5609// with awserr.Error's Code and Message methods to get detailed information about
5610// the error.
5611//
5612// See the AWS API reference guide for Amazon Lightsail's
5613// API operation GetDomain for usage and error information.
5614//
5615// Returned Error Codes:
5616//   * ErrCodeServiceException "ServiceException"
5617//   A general service exception.
5618//
5619//   * ErrCodeInvalidInputException "InvalidInputException"
5620//   Lightsail throws this exception when user input does not conform to the validation
5621//   rules of an input field.
5622//
5623//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5624//   Please set your AWS Region configuration to us-east-1 to create, view, or
5625//   edit these resources.
5626//
5627//   * ErrCodeNotFoundException "NotFoundException"
5628//   Lightsail throws this exception when it cannot find a resource.
5629//
5630//   * ErrCodeOperationFailureException "OperationFailureException"
5631//   Lightsail throws this exception when an operation fails to execute.
5632//
5633//   * ErrCodeAccessDeniedException "AccessDeniedException"
5634//   Lightsail throws this exception when the user cannot be authenticated or
5635//   uses invalid credentials to access a resource.
5636//
5637//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5638//   Lightsail throws this exception when an account is still in the setup in
5639//   progress state.
5640//
5641//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5642//   Lightsail throws this exception when the user has not been authenticated.
5643//
5644// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain
5645func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) {
5646	req, out := c.GetDomainRequest(input)
5647	return out, req.Send()
5648}
5649
5650// GetDomainWithContext is the same as GetDomain with the addition of
5651// the ability to pass a context and additional request options.
5652//
5653// See GetDomain for details on how to use this API operation.
5654//
5655// The context must be non-nil and will be used for request cancellation. If
5656// the context is nil a panic will occur. In the future the SDK may create
5657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5658// for more information on using Contexts.
5659func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) {
5660	req, out := c.GetDomainRequest(input)
5661	req.SetContext(ctx)
5662	req.ApplyOptions(opts...)
5663	return out, req.Send()
5664}
5665
5666const opGetDomains = "GetDomains"
5667
5668// GetDomainsRequest generates a "aws/request.Request" representing the
5669// client's request for the GetDomains operation. The "output" return
5670// value will be populated with the request's response once the request completes
5671// successfully.
5672//
5673// Use "Send" method on the returned Request to send the API call to the service.
5674// the "output" return value is not valid until after Send returns without error.
5675//
5676// See GetDomains for more information on using the GetDomains
5677// API call, and error handling.
5678//
5679// This method is useful when you want to inject custom logic or configuration
5680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5681//
5682//
5683//    // Example sending a request using the GetDomainsRequest method.
5684//    req, resp := client.GetDomainsRequest(params)
5685//
5686//    err := req.Send()
5687//    if err == nil { // resp is now filled
5688//        fmt.Println(resp)
5689//    }
5690//
5691// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
5692func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) {
5693	op := &request.Operation{
5694		Name:       opGetDomains,
5695		HTTPMethod: "POST",
5696		HTTPPath:   "/",
5697	}
5698
5699	if input == nil {
5700		input = &GetDomainsInput{}
5701	}
5702
5703	output = &GetDomainsOutput{}
5704	req = c.newRequest(op, input, output)
5705	return
5706}
5707
5708// GetDomains API operation for Amazon Lightsail.
5709//
5710// Returns a list of all domains in the user's account.
5711//
5712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5713// with awserr.Error's Code and Message methods to get detailed information about
5714// the error.
5715//
5716// See the AWS API reference guide for Amazon Lightsail's
5717// API operation GetDomains for usage and error information.
5718//
5719// Returned Error Codes:
5720//   * ErrCodeServiceException "ServiceException"
5721//   A general service exception.
5722//
5723//   * ErrCodeInvalidInputException "InvalidInputException"
5724//   Lightsail throws this exception when user input does not conform to the validation
5725//   rules of an input field.
5726//
5727//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5728//   Please set your AWS Region configuration to us-east-1 to create, view, or
5729//   edit these resources.
5730//
5731//   * ErrCodeNotFoundException "NotFoundException"
5732//   Lightsail throws this exception when it cannot find a resource.
5733//
5734//   * ErrCodeOperationFailureException "OperationFailureException"
5735//   Lightsail throws this exception when an operation fails to execute.
5736//
5737//   * ErrCodeAccessDeniedException "AccessDeniedException"
5738//   Lightsail throws this exception when the user cannot be authenticated or
5739//   uses invalid credentials to access a resource.
5740//
5741//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5742//   Lightsail throws this exception when an account is still in the setup in
5743//   progress state.
5744//
5745//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5746//   Lightsail throws this exception when the user has not been authenticated.
5747//
5748// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains
5749func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) {
5750	req, out := c.GetDomainsRequest(input)
5751	return out, req.Send()
5752}
5753
5754// GetDomainsWithContext is the same as GetDomains with the addition of
5755// the ability to pass a context and additional request options.
5756//
5757// See GetDomains for details on how to use this API operation.
5758//
5759// The context must be non-nil and will be used for request cancellation. If
5760// the context is nil a panic will occur. In the future the SDK may create
5761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5762// for more information on using Contexts.
5763func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) {
5764	req, out := c.GetDomainsRequest(input)
5765	req.SetContext(ctx)
5766	req.ApplyOptions(opts...)
5767	return out, req.Send()
5768}
5769
5770const opGetExportSnapshotRecords = "GetExportSnapshotRecords"
5771
5772// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the
5773// client's request for the GetExportSnapshotRecords operation. The "output" return
5774// value will be populated with the request's response once the request completes
5775// successfully.
5776//
5777// Use "Send" method on the returned Request to send the API call to the service.
5778// the "output" return value is not valid until after Send returns without error.
5779//
5780// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords
5781// API call, and error handling.
5782//
5783// This method is useful when you want to inject custom logic or configuration
5784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5785//
5786//
5787//    // Example sending a request using the GetExportSnapshotRecordsRequest method.
5788//    req, resp := client.GetExportSnapshotRecordsRequest(params)
5789//
5790//    err := req.Send()
5791//    if err == nil { // resp is now filled
5792//        fmt.Println(resp)
5793//    }
5794//
5795// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
5796func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) {
5797	op := &request.Operation{
5798		Name:       opGetExportSnapshotRecords,
5799		HTTPMethod: "POST",
5800		HTTPPath:   "/",
5801	}
5802
5803	if input == nil {
5804		input = &GetExportSnapshotRecordsInput{}
5805	}
5806
5807	output = &GetExportSnapshotRecordsOutput{}
5808	req = c.newRequest(op, input, output)
5809	return
5810}
5811
5812// GetExportSnapshotRecords API operation for Amazon Lightsail.
5813//
5814// Returns the export snapshot record created as a result of the export snapshot
5815// operation.
5816//
5817// An export snapshot record can be used to create a new Amazon EC2 instance
5818// and its related resources with the create cloud formation stack operation.
5819//
5820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5821// with awserr.Error's Code and Message methods to get detailed information about
5822// the error.
5823//
5824// See the AWS API reference guide for Amazon Lightsail's
5825// API operation GetExportSnapshotRecords for usage and error information.
5826//
5827// Returned Error Codes:
5828//   * ErrCodeServiceException "ServiceException"
5829//   A general service exception.
5830//
5831//   * ErrCodeInvalidInputException "InvalidInputException"
5832//   Lightsail throws this exception when user input does not conform to the validation
5833//   rules of an input field.
5834//
5835//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5836//   Please set your AWS Region configuration to us-east-1 to create, view, or
5837//   edit these resources.
5838//
5839//   * ErrCodeNotFoundException "NotFoundException"
5840//   Lightsail throws this exception when it cannot find a resource.
5841//
5842//   * ErrCodeOperationFailureException "OperationFailureException"
5843//   Lightsail throws this exception when an operation fails to execute.
5844//
5845//   * ErrCodeAccessDeniedException "AccessDeniedException"
5846//   Lightsail throws this exception when the user cannot be authenticated or
5847//   uses invalid credentials to access a resource.
5848//
5849//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5850//   Lightsail throws this exception when an account is still in the setup in
5851//   progress state.
5852//
5853//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5854//   Lightsail throws this exception when the user has not been authenticated.
5855//
5856// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords
5857func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) {
5858	req, out := c.GetExportSnapshotRecordsRequest(input)
5859	return out, req.Send()
5860}
5861
5862// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of
5863// the ability to pass a context and additional request options.
5864//
5865// See GetExportSnapshotRecords for details on how to use this API operation.
5866//
5867// The context must be non-nil and will be used for request cancellation. If
5868// the context is nil a panic will occur. In the future the SDK may create
5869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5870// for more information on using Contexts.
5871func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) {
5872	req, out := c.GetExportSnapshotRecordsRequest(input)
5873	req.SetContext(ctx)
5874	req.ApplyOptions(opts...)
5875	return out, req.Send()
5876}
5877
5878const opGetInstance = "GetInstance"
5879
5880// GetInstanceRequest generates a "aws/request.Request" representing the
5881// client's request for the GetInstance operation. The "output" return
5882// value will be populated with the request's response once the request completes
5883// successfully.
5884//
5885// Use "Send" method on the returned Request to send the API call to the service.
5886// the "output" return value is not valid until after Send returns without error.
5887//
5888// See GetInstance for more information on using the GetInstance
5889// API call, and error handling.
5890//
5891// This method is useful when you want to inject custom logic or configuration
5892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5893//
5894//
5895//    // Example sending a request using the GetInstanceRequest method.
5896//    req, resp := client.GetInstanceRequest(params)
5897//
5898//    err := req.Send()
5899//    if err == nil { // resp is now filled
5900//        fmt.Println(resp)
5901//    }
5902//
5903// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
5904func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) {
5905	op := &request.Operation{
5906		Name:       opGetInstance,
5907		HTTPMethod: "POST",
5908		HTTPPath:   "/",
5909	}
5910
5911	if input == nil {
5912		input = &GetInstanceInput{}
5913	}
5914
5915	output = &GetInstanceOutput{}
5916	req = c.newRequest(op, input, output)
5917	return
5918}
5919
5920// GetInstance API operation for Amazon Lightsail.
5921//
5922// Returns information about a specific Amazon Lightsail instance, which is
5923// a virtual private server.
5924//
5925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5926// with awserr.Error's Code and Message methods to get detailed information about
5927// the error.
5928//
5929// See the AWS API reference guide for Amazon Lightsail's
5930// API operation GetInstance for usage and error information.
5931//
5932// Returned Error Codes:
5933//   * ErrCodeServiceException "ServiceException"
5934//   A general service exception.
5935//
5936//   * ErrCodeInvalidInputException "InvalidInputException"
5937//   Lightsail throws this exception when user input does not conform to the validation
5938//   rules of an input field.
5939//
5940//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
5941//   Please set your AWS Region configuration to us-east-1 to create, view, or
5942//   edit these resources.
5943//
5944//   * ErrCodeNotFoundException "NotFoundException"
5945//   Lightsail throws this exception when it cannot find a resource.
5946//
5947//   * ErrCodeOperationFailureException "OperationFailureException"
5948//   Lightsail throws this exception when an operation fails to execute.
5949//
5950//   * ErrCodeAccessDeniedException "AccessDeniedException"
5951//   Lightsail throws this exception when the user cannot be authenticated or
5952//   uses invalid credentials to access a resource.
5953//
5954//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
5955//   Lightsail throws this exception when an account is still in the setup in
5956//   progress state.
5957//
5958//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
5959//   Lightsail throws this exception when the user has not been authenticated.
5960//
5961// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance
5962func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) {
5963	req, out := c.GetInstanceRequest(input)
5964	return out, req.Send()
5965}
5966
5967// GetInstanceWithContext is the same as GetInstance with the addition of
5968// the ability to pass a context and additional request options.
5969//
5970// See GetInstance for details on how to use this API operation.
5971//
5972// The context must be non-nil and will be used for request cancellation. If
5973// the context is nil a panic will occur. In the future the SDK may create
5974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5975// for more information on using Contexts.
5976func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) {
5977	req, out := c.GetInstanceRequest(input)
5978	req.SetContext(ctx)
5979	req.ApplyOptions(opts...)
5980	return out, req.Send()
5981}
5982
5983const opGetInstanceAccessDetails = "GetInstanceAccessDetails"
5984
5985// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the
5986// client's request for the GetInstanceAccessDetails operation. The "output" return
5987// value will be populated with the request's response once the request completes
5988// successfully.
5989//
5990// Use "Send" method on the returned Request to send the API call to the service.
5991// the "output" return value is not valid until after Send returns without error.
5992//
5993// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails
5994// API call, and error handling.
5995//
5996// This method is useful when you want to inject custom logic or configuration
5997// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5998//
5999//
6000//    // Example sending a request using the GetInstanceAccessDetailsRequest method.
6001//    req, resp := client.GetInstanceAccessDetailsRequest(params)
6002//
6003//    err := req.Send()
6004//    if err == nil { // resp is now filled
6005//        fmt.Println(resp)
6006//    }
6007//
6008// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
6009func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) {
6010	op := &request.Operation{
6011		Name:       opGetInstanceAccessDetails,
6012		HTTPMethod: "POST",
6013		HTTPPath:   "/",
6014	}
6015
6016	if input == nil {
6017		input = &GetInstanceAccessDetailsInput{}
6018	}
6019
6020	output = &GetInstanceAccessDetailsOutput{}
6021	req = c.newRequest(op, input, output)
6022	return
6023}
6024
6025// GetInstanceAccessDetails API operation for Amazon Lightsail.
6026//
6027// Returns temporary SSH keys you can use to connect to a specific virtual private
6028// server, or instance.
6029//
6030// The get instance access details operation supports tag-based access control
6031// via resource tags applied to the resource identified by instance name. For
6032// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
6033//
6034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6035// with awserr.Error's Code and Message methods to get detailed information about
6036// the error.
6037//
6038// See the AWS API reference guide for Amazon Lightsail's
6039// API operation GetInstanceAccessDetails for usage and error information.
6040//
6041// Returned Error Codes:
6042//   * ErrCodeServiceException "ServiceException"
6043//   A general service exception.
6044//
6045//   * ErrCodeInvalidInputException "InvalidInputException"
6046//   Lightsail throws this exception when user input does not conform to the validation
6047//   rules of an input field.
6048//
6049//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6050//   Please set your AWS Region configuration to us-east-1 to create, view, or
6051//   edit these resources.
6052//
6053//   * ErrCodeNotFoundException "NotFoundException"
6054//   Lightsail throws this exception when it cannot find a resource.
6055//
6056//   * ErrCodeOperationFailureException "OperationFailureException"
6057//   Lightsail throws this exception when an operation fails to execute.
6058//
6059//   * ErrCodeAccessDeniedException "AccessDeniedException"
6060//   Lightsail throws this exception when the user cannot be authenticated or
6061//   uses invalid credentials to access a resource.
6062//
6063//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6064//   Lightsail throws this exception when an account is still in the setup in
6065//   progress state.
6066//
6067//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6068//   Lightsail throws this exception when the user has not been authenticated.
6069//
6070// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails
6071func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) {
6072	req, out := c.GetInstanceAccessDetailsRequest(input)
6073	return out, req.Send()
6074}
6075
6076// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of
6077// the ability to pass a context and additional request options.
6078//
6079// See GetInstanceAccessDetails for details on how to use this API operation.
6080//
6081// The context must be non-nil and will be used for request cancellation. If
6082// the context is nil a panic will occur. In the future the SDK may create
6083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6084// for more information on using Contexts.
6085func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) {
6086	req, out := c.GetInstanceAccessDetailsRequest(input)
6087	req.SetContext(ctx)
6088	req.ApplyOptions(opts...)
6089	return out, req.Send()
6090}
6091
6092const opGetInstanceMetricData = "GetInstanceMetricData"
6093
6094// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the
6095// client's request for the GetInstanceMetricData operation. The "output" return
6096// value will be populated with the request's response once the request completes
6097// successfully.
6098//
6099// Use "Send" method on the returned Request to send the API call to the service.
6100// the "output" return value is not valid until after Send returns without error.
6101//
6102// See GetInstanceMetricData for more information on using the GetInstanceMetricData
6103// API call, and error handling.
6104//
6105// This method is useful when you want to inject custom logic or configuration
6106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6107//
6108//
6109//    // Example sending a request using the GetInstanceMetricDataRequest method.
6110//    req, resp := client.GetInstanceMetricDataRequest(params)
6111//
6112//    err := req.Send()
6113//    if err == nil { // resp is now filled
6114//        fmt.Println(resp)
6115//    }
6116//
6117// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
6118func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) {
6119	op := &request.Operation{
6120		Name:       opGetInstanceMetricData,
6121		HTTPMethod: "POST",
6122		HTTPPath:   "/",
6123	}
6124
6125	if input == nil {
6126		input = &GetInstanceMetricDataInput{}
6127	}
6128
6129	output = &GetInstanceMetricDataOutput{}
6130	req = c.newRequest(op, input, output)
6131	return
6132}
6133
6134// GetInstanceMetricData API operation for Amazon Lightsail.
6135//
6136// Returns the data points for the specified Amazon Lightsail instance metric,
6137// given an instance name.
6138//
6139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6140// with awserr.Error's Code and Message methods to get detailed information about
6141// the error.
6142//
6143// See the AWS API reference guide for Amazon Lightsail's
6144// API operation GetInstanceMetricData for usage and error information.
6145//
6146// Returned Error Codes:
6147//   * ErrCodeServiceException "ServiceException"
6148//   A general service exception.
6149//
6150//   * ErrCodeInvalidInputException "InvalidInputException"
6151//   Lightsail throws this exception when user input does not conform to the validation
6152//   rules of an input field.
6153//
6154//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6155//   Please set your AWS Region configuration to us-east-1 to create, view, or
6156//   edit these resources.
6157//
6158//   * ErrCodeNotFoundException "NotFoundException"
6159//   Lightsail throws this exception when it cannot find a resource.
6160//
6161//   * ErrCodeOperationFailureException "OperationFailureException"
6162//   Lightsail throws this exception when an operation fails to execute.
6163//
6164//   * ErrCodeAccessDeniedException "AccessDeniedException"
6165//   Lightsail throws this exception when the user cannot be authenticated or
6166//   uses invalid credentials to access a resource.
6167//
6168//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6169//   Lightsail throws this exception when an account is still in the setup in
6170//   progress state.
6171//
6172//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6173//   Lightsail throws this exception when the user has not been authenticated.
6174//
6175// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData
6176func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) {
6177	req, out := c.GetInstanceMetricDataRequest(input)
6178	return out, req.Send()
6179}
6180
6181// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of
6182// the ability to pass a context and additional request options.
6183//
6184// See GetInstanceMetricData for details on how to use this API operation.
6185//
6186// The context must be non-nil and will be used for request cancellation. If
6187// the context is nil a panic will occur. In the future the SDK may create
6188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6189// for more information on using Contexts.
6190func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) {
6191	req, out := c.GetInstanceMetricDataRequest(input)
6192	req.SetContext(ctx)
6193	req.ApplyOptions(opts...)
6194	return out, req.Send()
6195}
6196
6197const opGetInstancePortStates = "GetInstancePortStates"
6198
6199// GetInstancePortStatesRequest generates a "aws/request.Request" representing the
6200// client's request for the GetInstancePortStates operation. The "output" return
6201// value will be populated with the request's response once the request completes
6202// successfully.
6203//
6204// Use "Send" method on the returned Request to send the API call to the service.
6205// the "output" return value is not valid until after Send returns without error.
6206//
6207// See GetInstancePortStates for more information on using the GetInstancePortStates
6208// API call, and error handling.
6209//
6210// This method is useful when you want to inject custom logic or configuration
6211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6212//
6213//
6214//    // Example sending a request using the GetInstancePortStatesRequest method.
6215//    req, resp := client.GetInstancePortStatesRequest(params)
6216//
6217//    err := req.Send()
6218//    if err == nil { // resp is now filled
6219//        fmt.Println(resp)
6220//    }
6221//
6222// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
6223func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) {
6224	op := &request.Operation{
6225		Name:       opGetInstancePortStates,
6226		HTTPMethod: "POST",
6227		HTTPPath:   "/",
6228	}
6229
6230	if input == nil {
6231		input = &GetInstancePortStatesInput{}
6232	}
6233
6234	output = &GetInstancePortStatesOutput{}
6235	req = c.newRequest(op, input, output)
6236	return
6237}
6238
6239// GetInstancePortStates API operation for Amazon Lightsail.
6240//
6241// Returns the port states for a specific virtual private server, or instance.
6242//
6243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6244// with awserr.Error's Code and Message methods to get detailed information about
6245// the error.
6246//
6247// See the AWS API reference guide for Amazon Lightsail's
6248// API operation GetInstancePortStates for usage and error information.
6249//
6250// Returned Error Codes:
6251//   * ErrCodeServiceException "ServiceException"
6252//   A general service exception.
6253//
6254//   * ErrCodeInvalidInputException "InvalidInputException"
6255//   Lightsail throws this exception when user input does not conform to the validation
6256//   rules of an input field.
6257//
6258//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6259//   Please set your AWS Region configuration to us-east-1 to create, view, or
6260//   edit these resources.
6261//
6262//   * ErrCodeNotFoundException "NotFoundException"
6263//   Lightsail throws this exception when it cannot find a resource.
6264//
6265//   * ErrCodeOperationFailureException "OperationFailureException"
6266//   Lightsail throws this exception when an operation fails to execute.
6267//
6268//   * ErrCodeAccessDeniedException "AccessDeniedException"
6269//   Lightsail throws this exception when the user cannot be authenticated or
6270//   uses invalid credentials to access a resource.
6271//
6272//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6273//   Lightsail throws this exception when an account is still in the setup in
6274//   progress state.
6275//
6276//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6277//   Lightsail throws this exception when the user has not been authenticated.
6278//
6279// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates
6280func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) {
6281	req, out := c.GetInstancePortStatesRequest(input)
6282	return out, req.Send()
6283}
6284
6285// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of
6286// the ability to pass a context and additional request options.
6287//
6288// See GetInstancePortStates for details on how to use this API operation.
6289//
6290// The context must be non-nil and will be used for request cancellation. If
6291// the context is nil a panic will occur. In the future the SDK may create
6292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6293// for more information on using Contexts.
6294func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) {
6295	req, out := c.GetInstancePortStatesRequest(input)
6296	req.SetContext(ctx)
6297	req.ApplyOptions(opts...)
6298	return out, req.Send()
6299}
6300
6301const opGetInstanceSnapshot = "GetInstanceSnapshot"
6302
6303// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the
6304// client's request for the GetInstanceSnapshot operation. The "output" return
6305// value will be populated with the request's response once the request completes
6306// successfully.
6307//
6308// Use "Send" method on the returned Request to send the API call to the service.
6309// the "output" return value is not valid until after Send returns without error.
6310//
6311// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot
6312// API call, and error handling.
6313//
6314// This method is useful when you want to inject custom logic or configuration
6315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6316//
6317//
6318//    // Example sending a request using the GetInstanceSnapshotRequest method.
6319//    req, resp := client.GetInstanceSnapshotRequest(params)
6320//
6321//    err := req.Send()
6322//    if err == nil { // resp is now filled
6323//        fmt.Println(resp)
6324//    }
6325//
6326// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
6327func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) {
6328	op := &request.Operation{
6329		Name:       opGetInstanceSnapshot,
6330		HTTPMethod: "POST",
6331		HTTPPath:   "/",
6332	}
6333
6334	if input == nil {
6335		input = &GetInstanceSnapshotInput{}
6336	}
6337
6338	output = &GetInstanceSnapshotOutput{}
6339	req = c.newRequest(op, input, output)
6340	return
6341}
6342
6343// GetInstanceSnapshot API operation for Amazon Lightsail.
6344//
6345// Returns information about a specific instance snapshot.
6346//
6347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6348// with awserr.Error's Code and Message methods to get detailed information about
6349// the error.
6350//
6351// See the AWS API reference guide for Amazon Lightsail's
6352// API operation GetInstanceSnapshot for usage and error information.
6353//
6354// Returned Error Codes:
6355//   * ErrCodeServiceException "ServiceException"
6356//   A general service exception.
6357//
6358//   * ErrCodeInvalidInputException "InvalidInputException"
6359//   Lightsail throws this exception when user input does not conform to the validation
6360//   rules of an input field.
6361//
6362//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6363//   Please set your AWS Region configuration to us-east-1 to create, view, or
6364//   edit these resources.
6365//
6366//   * ErrCodeNotFoundException "NotFoundException"
6367//   Lightsail throws this exception when it cannot find a resource.
6368//
6369//   * ErrCodeOperationFailureException "OperationFailureException"
6370//   Lightsail throws this exception when an operation fails to execute.
6371//
6372//   * ErrCodeAccessDeniedException "AccessDeniedException"
6373//   Lightsail throws this exception when the user cannot be authenticated or
6374//   uses invalid credentials to access a resource.
6375//
6376//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6377//   Lightsail throws this exception when an account is still in the setup in
6378//   progress state.
6379//
6380//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6381//   Lightsail throws this exception when the user has not been authenticated.
6382//
6383// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot
6384func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) {
6385	req, out := c.GetInstanceSnapshotRequest(input)
6386	return out, req.Send()
6387}
6388
6389// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of
6390// the ability to pass a context and additional request options.
6391//
6392// See GetInstanceSnapshot for details on how to use this API operation.
6393//
6394// The context must be non-nil and will be used for request cancellation. If
6395// the context is nil a panic will occur. In the future the SDK may create
6396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6397// for more information on using Contexts.
6398func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) {
6399	req, out := c.GetInstanceSnapshotRequest(input)
6400	req.SetContext(ctx)
6401	req.ApplyOptions(opts...)
6402	return out, req.Send()
6403}
6404
6405const opGetInstanceSnapshots = "GetInstanceSnapshots"
6406
6407// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the
6408// client's request for the GetInstanceSnapshots operation. The "output" return
6409// value will be populated with the request's response once the request completes
6410// successfully.
6411//
6412// Use "Send" method on the returned Request to send the API call to the service.
6413// the "output" return value is not valid until after Send returns without error.
6414//
6415// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots
6416// API call, and error handling.
6417//
6418// This method is useful when you want to inject custom logic or configuration
6419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6420//
6421//
6422//    // Example sending a request using the GetInstanceSnapshotsRequest method.
6423//    req, resp := client.GetInstanceSnapshotsRequest(params)
6424//
6425//    err := req.Send()
6426//    if err == nil { // resp is now filled
6427//        fmt.Println(resp)
6428//    }
6429//
6430// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
6431func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) {
6432	op := &request.Operation{
6433		Name:       opGetInstanceSnapshots,
6434		HTTPMethod: "POST",
6435		HTTPPath:   "/",
6436	}
6437
6438	if input == nil {
6439		input = &GetInstanceSnapshotsInput{}
6440	}
6441
6442	output = &GetInstanceSnapshotsOutput{}
6443	req = c.newRequest(op, input, output)
6444	return
6445}
6446
6447// GetInstanceSnapshots API operation for Amazon Lightsail.
6448//
6449// Returns all instance snapshots for the user's account.
6450//
6451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6452// with awserr.Error's Code and Message methods to get detailed information about
6453// the error.
6454//
6455// See the AWS API reference guide for Amazon Lightsail's
6456// API operation GetInstanceSnapshots for usage and error information.
6457//
6458// Returned Error Codes:
6459//   * ErrCodeServiceException "ServiceException"
6460//   A general service exception.
6461//
6462//   * ErrCodeInvalidInputException "InvalidInputException"
6463//   Lightsail throws this exception when user input does not conform to the validation
6464//   rules of an input field.
6465//
6466//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6467//   Please set your AWS Region configuration to us-east-1 to create, view, or
6468//   edit these resources.
6469//
6470//   * ErrCodeNotFoundException "NotFoundException"
6471//   Lightsail throws this exception when it cannot find a resource.
6472//
6473//   * ErrCodeOperationFailureException "OperationFailureException"
6474//   Lightsail throws this exception when an operation fails to execute.
6475//
6476//   * ErrCodeAccessDeniedException "AccessDeniedException"
6477//   Lightsail throws this exception when the user cannot be authenticated or
6478//   uses invalid credentials to access a resource.
6479//
6480//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6481//   Lightsail throws this exception when an account is still in the setup in
6482//   progress state.
6483//
6484//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6485//   Lightsail throws this exception when the user has not been authenticated.
6486//
6487// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots
6488func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) {
6489	req, out := c.GetInstanceSnapshotsRequest(input)
6490	return out, req.Send()
6491}
6492
6493// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of
6494// the ability to pass a context and additional request options.
6495//
6496// See GetInstanceSnapshots for details on how to use this API operation.
6497//
6498// The context must be non-nil and will be used for request cancellation. If
6499// the context is nil a panic will occur. In the future the SDK may create
6500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6501// for more information on using Contexts.
6502func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) {
6503	req, out := c.GetInstanceSnapshotsRequest(input)
6504	req.SetContext(ctx)
6505	req.ApplyOptions(opts...)
6506	return out, req.Send()
6507}
6508
6509const opGetInstanceState = "GetInstanceState"
6510
6511// GetInstanceStateRequest generates a "aws/request.Request" representing the
6512// client's request for the GetInstanceState operation. The "output" return
6513// value will be populated with the request's response once the request completes
6514// successfully.
6515//
6516// Use "Send" method on the returned Request to send the API call to the service.
6517// the "output" return value is not valid until after Send returns without error.
6518//
6519// See GetInstanceState for more information on using the GetInstanceState
6520// API call, and error handling.
6521//
6522// This method is useful when you want to inject custom logic or configuration
6523// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6524//
6525//
6526//    // Example sending a request using the GetInstanceStateRequest method.
6527//    req, resp := client.GetInstanceStateRequest(params)
6528//
6529//    err := req.Send()
6530//    if err == nil { // resp is now filled
6531//        fmt.Println(resp)
6532//    }
6533//
6534// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
6535func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) {
6536	op := &request.Operation{
6537		Name:       opGetInstanceState,
6538		HTTPMethod: "POST",
6539		HTTPPath:   "/",
6540	}
6541
6542	if input == nil {
6543		input = &GetInstanceStateInput{}
6544	}
6545
6546	output = &GetInstanceStateOutput{}
6547	req = c.newRequest(op, input, output)
6548	return
6549}
6550
6551// GetInstanceState API operation for Amazon Lightsail.
6552//
6553// Returns the state of a specific instance. Works on one instance at a time.
6554//
6555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6556// with awserr.Error's Code and Message methods to get detailed information about
6557// the error.
6558//
6559// See the AWS API reference guide for Amazon Lightsail's
6560// API operation GetInstanceState for usage and error information.
6561//
6562// Returned Error Codes:
6563//   * ErrCodeServiceException "ServiceException"
6564//   A general service exception.
6565//
6566//   * ErrCodeInvalidInputException "InvalidInputException"
6567//   Lightsail throws this exception when user input does not conform to the validation
6568//   rules of an input field.
6569//
6570//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6571//   Please set your AWS Region configuration to us-east-1 to create, view, or
6572//   edit these resources.
6573//
6574//   * ErrCodeNotFoundException "NotFoundException"
6575//   Lightsail throws this exception when it cannot find a resource.
6576//
6577//   * ErrCodeOperationFailureException "OperationFailureException"
6578//   Lightsail throws this exception when an operation fails to execute.
6579//
6580//   * ErrCodeAccessDeniedException "AccessDeniedException"
6581//   Lightsail throws this exception when the user cannot be authenticated or
6582//   uses invalid credentials to access a resource.
6583//
6584//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6585//   Lightsail throws this exception when an account is still in the setup in
6586//   progress state.
6587//
6588//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6589//   Lightsail throws this exception when the user has not been authenticated.
6590//
6591// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState
6592func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) {
6593	req, out := c.GetInstanceStateRequest(input)
6594	return out, req.Send()
6595}
6596
6597// GetInstanceStateWithContext is the same as GetInstanceState with the addition of
6598// the ability to pass a context and additional request options.
6599//
6600// See GetInstanceState for details on how to use this API operation.
6601//
6602// The context must be non-nil and will be used for request cancellation. If
6603// the context is nil a panic will occur. In the future the SDK may create
6604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6605// for more information on using Contexts.
6606func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) {
6607	req, out := c.GetInstanceStateRequest(input)
6608	req.SetContext(ctx)
6609	req.ApplyOptions(opts...)
6610	return out, req.Send()
6611}
6612
6613const opGetInstances = "GetInstances"
6614
6615// GetInstancesRequest generates a "aws/request.Request" representing the
6616// client's request for the GetInstances operation. The "output" return
6617// value will be populated with the request's response once the request completes
6618// successfully.
6619//
6620// Use "Send" method on the returned Request to send the API call to the service.
6621// the "output" return value is not valid until after Send returns without error.
6622//
6623// See GetInstances for more information on using the GetInstances
6624// API call, and error handling.
6625//
6626// This method is useful when you want to inject custom logic or configuration
6627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6628//
6629//
6630//    // Example sending a request using the GetInstancesRequest method.
6631//    req, resp := client.GetInstancesRequest(params)
6632//
6633//    err := req.Send()
6634//    if err == nil { // resp is now filled
6635//        fmt.Println(resp)
6636//    }
6637//
6638// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
6639func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) {
6640	op := &request.Operation{
6641		Name:       opGetInstances,
6642		HTTPMethod: "POST",
6643		HTTPPath:   "/",
6644	}
6645
6646	if input == nil {
6647		input = &GetInstancesInput{}
6648	}
6649
6650	output = &GetInstancesOutput{}
6651	req = c.newRequest(op, input, output)
6652	return
6653}
6654
6655// GetInstances API operation for Amazon Lightsail.
6656//
6657// Returns information about all Amazon Lightsail virtual private servers, or
6658// instances.
6659//
6660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6661// with awserr.Error's Code and Message methods to get detailed information about
6662// the error.
6663//
6664// See the AWS API reference guide for Amazon Lightsail's
6665// API operation GetInstances for usage and error information.
6666//
6667// Returned Error Codes:
6668//   * ErrCodeServiceException "ServiceException"
6669//   A general service exception.
6670//
6671//   * ErrCodeInvalidInputException "InvalidInputException"
6672//   Lightsail throws this exception when user input does not conform to the validation
6673//   rules of an input field.
6674//
6675//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6676//   Please set your AWS Region configuration to us-east-1 to create, view, or
6677//   edit these resources.
6678//
6679//   * ErrCodeNotFoundException "NotFoundException"
6680//   Lightsail throws this exception when it cannot find a resource.
6681//
6682//   * ErrCodeOperationFailureException "OperationFailureException"
6683//   Lightsail throws this exception when an operation fails to execute.
6684//
6685//   * ErrCodeAccessDeniedException "AccessDeniedException"
6686//   Lightsail throws this exception when the user cannot be authenticated or
6687//   uses invalid credentials to access a resource.
6688//
6689//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6690//   Lightsail throws this exception when an account is still in the setup in
6691//   progress state.
6692//
6693//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6694//   Lightsail throws this exception when the user has not been authenticated.
6695//
6696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances
6697func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) {
6698	req, out := c.GetInstancesRequest(input)
6699	return out, req.Send()
6700}
6701
6702// GetInstancesWithContext is the same as GetInstances with the addition of
6703// the ability to pass a context and additional request options.
6704//
6705// See GetInstances for details on how to use this API operation.
6706//
6707// The context must be non-nil and will be used for request cancellation. If
6708// the context is nil a panic will occur. In the future the SDK may create
6709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6710// for more information on using Contexts.
6711func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) {
6712	req, out := c.GetInstancesRequest(input)
6713	req.SetContext(ctx)
6714	req.ApplyOptions(opts...)
6715	return out, req.Send()
6716}
6717
6718const opGetKeyPair = "GetKeyPair"
6719
6720// GetKeyPairRequest generates a "aws/request.Request" representing the
6721// client's request for the GetKeyPair operation. The "output" return
6722// value will be populated with the request's response once the request completes
6723// successfully.
6724//
6725// Use "Send" method on the returned Request to send the API call to the service.
6726// the "output" return value is not valid until after Send returns without error.
6727//
6728// See GetKeyPair for more information on using the GetKeyPair
6729// API call, and error handling.
6730//
6731// This method is useful when you want to inject custom logic or configuration
6732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6733//
6734//
6735//    // Example sending a request using the GetKeyPairRequest method.
6736//    req, resp := client.GetKeyPairRequest(params)
6737//
6738//    err := req.Send()
6739//    if err == nil { // resp is now filled
6740//        fmt.Println(resp)
6741//    }
6742//
6743// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
6744func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) {
6745	op := &request.Operation{
6746		Name:       opGetKeyPair,
6747		HTTPMethod: "POST",
6748		HTTPPath:   "/",
6749	}
6750
6751	if input == nil {
6752		input = &GetKeyPairInput{}
6753	}
6754
6755	output = &GetKeyPairOutput{}
6756	req = c.newRequest(op, input, output)
6757	return
6758}
6759
6760// GetKeyPair API operation for Amazon Lightsail.
6761//
6762// Returns information about a specific key pair.
6763//
6764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6765// with awserr.Error's Code and Message methods to get detailed information about
6766// the error.
6767//
6768// See the AWS API reference guide for Amazon Lightsail's
6769// API operation GetKeyPair for usage and error information.
6770//
6771// Returned Error Codes:
6772//   * ErrCodeServiceException "ServiceException"
6773//   A general service exception.
6774//
6775//   * ErrCodeInvalidInputException "InvalidInputException"
6776//   Lightsail throws this exception when user input does not conform to the validation
6777//   rules of an input field.
6778//
6779//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6780//   Please set your AWS Region configuration to us-east-1 to create, view, or
6781//   edit these resources.
6782//
6783//   * ErrCodeNotFoundException "NotFoundException"
6784//   Lightsail throws this exception when it cannot find a resource.
6785//
6786//   * ErrCodeOperationFailureException "OperationFailureException"
6787//   Lightsail throws this exception when an operation fails to execute.
6788//
6789//   * ErrCodeAccessDeniedException "AccessDeniedException"
6790//   Lightsail throws this exception when the user cannot be authenticated or
6791//   uses invalid credentials to access a resource.
6792//
6793//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6794//   Lightsail throws this exception when an account is still in the setup in
6795//   progress state.
6796//
6797//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6798//   Lightsail throws this exception when the user has not been authenticated.
6799//
6800// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair
6801func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) {
6802	req, out := c.GetKeyPairRequest(input)
6803	return out, req.Send()
6804}
6805
6806// GetKeyPairWithContext is the same as GetKeyPair with the addition of
6807// the ability to pass a context and additional request options.
6808//
6809// See GetKeyPair for details on how to use this API operation.
6810//
6811// The context must be non-nil and will be used for request cancellation. If
6812// the context is nil a panic will occur. In the future the SDK may create
6813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6814// for more information on using Contexts.
6815func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) {
6816	req, out := c.GetKeyPairRequest(input)
6817	req.SetContext(ctx)
6818	req.ApplyOptions(opts...)
6819	return out, req.Send()
6820}
6821
6822const opGetKeyPairs = "GetKeyPairs"
6823
6824// GetKeyPairsRequest generates a "aws/request.Request" representing the
6825// client's request for the GetKeyPairs operation. The "output" return
6826// value will be populated with the request's response once the request completes
6827// successfully.
6828//
6829// Use "Send" method on the returned Request to send the API call to the service.
6830// the "output" return value is not valid until after Send returns without error.
6831//
6832// See GetKeyPairs for more information on using the GetKeyPairs
6833// API call, and error handling.
6834//
6835// This method is useful when you want to inject custom logic or configuration
6836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6837//
6838//
6839//    // Example sending a request using the GetKeyPairsRequest method.
6840//    req, resp := client.GetKeyPairsRequest(params)
6841//
6842//    err := req.Send()
6843//    if err == nil { // resp is now filled
6844//        fmt.Println(resp)
6845//    }
6846//
6847// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
6848func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) {
6849	op := &request.Operation{
6850		Name:       opGetKeyPairs,
6851		HTTPMethod: "POST",
6852		HTTPPath:   "/",
6853	}
6854
6855	if input == nil {
6856		input = &GetKeyPairsInput{}
6857	}
6858
6859	output = &GetKeyPairsOutput{}
6860	req = c.newRequest(op, input, output)
6861	return
6862}
6863
6864// GetKeyPairs API operation for Amazon Lightsail.
6865//
6866// Returns information about all key pairs in the user's account.
6867//
6868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6869// with awserr.Error's Code and Message methods to get detailed information about
6870// the error.
6871//
6872// See the AWS API reference guide for Amazon Lightsail's
6873// API operation GetKeyPairs for usage and error information.
6874//
6875// Returned Error Codes:
6876//   * ErrCodeServiceException "ServiceException"
6877//   A general service exception.
6878//
6879//   * ErrCodeInvalidInputException "InvalidInputException"
6880//   Lightsail throws this exception when user input does not conform to the validation
6881//   rules of an input field.
6882//
6883//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6884//   Please set your AWS Region configuration to us-east-1 to create, view, or
6885//   edit these resources.
6886//
6887//   * ErrCodeNotFoundException "NotFoundException"
6888//   Lightsail throws this exception when it cannot find a resource.
6889//
6890//   * ErrCodeOperationFailureException "OperationFailureException"
6891//   Lightsail throws this exception when an operation fails to execute.
6892//
6893//   * ErrCodeAccessDeniedException "AccessDeniedException"
6894//   Lightsail throws this exception when the user cannot be authenticated or
6895//   uses invalid credentials to access a resource.
6896//
6897//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
6898//   Lightsail throws this exception when an account is still in the setup in
6899//   progress state.
6900//
6901//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
6902//   Lightsail throws this exception when the user has not been authenticated.
6903//
6904// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs
6905func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) {
6906	req, out := c.GetKeyPairsRequest(input)
6907	return out, req.Send()
6908}
6909
6910// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of
6911// the ability to pass a context and additional request options.
6912//
6913// See GetKeyPairs for details on how to use this API operation.
6914//
6915// The context must be non-nil and will be used for request cancellation. If
6916// the context is nil a panic will occur. In the future the SDK may create
6917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6918// for more information on using Contexts.
6919func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) {
6920	req, out := c.GetKeyPairsRequest(input)
6921	req.SetContext(ctx)
6922	req.ApplyOptions(opts...)
6923	return out, req.Send()
6924}
6925
6926const opGetLoadBalancer = "GetLoadBalancer"
6927
6928// GetLoadBalancerRequest generates a "aws/request.Request" representing the
6929// client's request for the GetLoadBalancer operation. The "output" return
6930// value will be populated with the request's response once the request completes
6931// successfully.
6932//
6933// Use "Send" method on the returned Request to send the API call to the service.
6934// the "output" return value is not valid until after Send returns without error.
6935//
6936// See GetLoadBalancer for more information on using the GetLoadBalancer
6937// API call, and error handling.
6938//
6939// This method is useful when you want to inject custom logic or configuration
6940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6941//
6942//
6943//    // Example sending a request using the GetLoadBalancerRequest method.
6944//    req, resp := client.GetLoadBalancerRequest(params)
6945//
6946//    err := req.Send()
6947//    if err == nil { // resp is now filled
6948//        fmt.Println(resp)
6949//    }
6950//
6951// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
6952func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) {
6953	op := &request.Operation{
6954		Name:       opGetLoadBalancer,
6955		HTTPMethod: "POST",
6956		HTTPPath:   "/",
6957	}
6958
6959	if input == nil {
6960		input = &GetLoadBalancerInput{}
6961	}
6962
6963	output = &GetLoadBalancerOutput{}
6964	req = c.newRequest(op, input, output)
6965	return
6966}
6967
6968// GetLoadBalancer API operation for Amazon Lightsail.
6969//
6970// Returns information about the specified Lightsail load balancer.
6971//
6972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6973// with awserr.Error's Code and Message methods to get detailed information about
6974// the error.
6975//
6976// See the AWS API reference guide for Amazon Lightsail's
6977// API operation GetLoadBalancer for usage and error information.
6978//
6979// Returned Error Codes:
6980//   * ErrCodeServiceException "ServiceException"
6981//   A general service exception.
6982//
6983//   * ErrCodeInvalidInputException "InvalidInputException"
6984//   Lightsail throws this exception when user input does not conform to the validation
6985//   rules of an input field.
6986//
6987//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
6988//   Please set your AWS Region configuration to us-east-1 to create, view, or
6989//   edit these resources.
6990//
6991//   * ErrCodeNotFoundException "NotFoundException"
6992//   Lightsail throws this exception when it cannot find a resource.
6993//
6994//   * ErrCodeOperationFailureException "OperationFailureException"
6995//   Lightsail throws this exception when an operation fails to execute.
6996//
6997//   * ErrCodeAccessDeniedException "AccessDeniedException"
6998//   Lightsail throws this exception when the user cannot be authenticated or
6999//   uses invalid credentials to access a resource.
7000//
7001//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7002//   Lightsail throws this exception when an account is still in the setup in
7003//   progress state.
7004//
7005//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7006//   Lightsail throws this exception when the user has not been authenticated.
7007//
7008// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer
7009func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) {
7010	req, out := c.GetLoadBalancerRequest(input)
7011	return out, req.Send()
7012}
7013
7014// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of
7015// the ability to pass a context and additional request options.
7016//
7017// See GetLoadBalancer for details on how to use this API operation.
7018//
7019// The context must be non-nil and will be used for request cancellation. If
7020// the context is nil a panic will occur. In the future the SDK may create
7021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7022// for more information on using Contexts.
7023func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) {
7024	req, out := c.GetLoadBalancerRequest(input)
7025	req.SetContext(ctx)
7026	req.ApplyOptions(opts...)
7027	return out, req.Send()
7028}
7029
7030const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData"
7031
7032// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the
7033// client's request for the GetLoadBalancerMetricData operation. The "output" return
7034// value will be populated with the request's response once the request completes
7035// successfully.
7036//
7037// Use "Send" method on the returned Request to send the API call to the service.
7038// the "output" return value is not valid until after Send returns without error.
7039//
7040// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData
7041// API call, and error handling.
7042//
7043// This method is useful when you want to inject custom logic or configuration
7044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7045//
7046//
7047//    // Example sending a request using the GetLoadBalancerMetricDataRequest method.
7048//    req, resp := client.GetLoadBalancerMetricDataRequest(params)
7049//
7050//    err := req.Send()
7051//    if err == nil { // resp is now filled
7052//        fmt.Println(resp)
7053//    }
7054//
7055// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
7056func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) {
7057	op := &request.Operation{
7058		Name:       opGetLoadBalancerMetricData,
7059		HTTPMethod: "POST",
7060		HTTPPath:   "/",
7061	}
7062
7063	if input == nil {
7064		input = &GetLoadBalancerMetricDataInput{}
7065	}
7066
7067	output = &GetLoadBalancerMetricDataOutput{}
7068	req = c.newRequest(op, input, output)
7069	return
7070}
7071
7072// GetLoadBalancerMetricData API operation for Amazon Lightsail.
7073//
7074// Returns information about health metrics for your Lightsail load balancer.
7075//
7076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7077// with awserr.Error's Code and Message methods to get detailed information about
7078// the error.
7079//
7080// See the AWS API reference guide for Amazon Lightsail's
7081// API operation GetLoadBalancerMetricData for usage and error information.
7082//
7083// Returned Error Codes:
7084//   * ErrCodeServiceException "ServiceException"
7085//   A general service exception.
7086//
7087//   * ErrCodeInvalidInputException "InvalidInputException"
7088//   Lightsail throws this exception when user input does not conform to the validation
7089//   rules of an input field.
7090//
7091//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7092//   Please set your AWS Region configuration to us-east-1 to create, view, or
7093//   edit these resources.
7094//
7095//   * ErrCodeNotFoundException "NotFoundException"
7096//   Lightsail throws this exception when it cannot find a resource.
7097//
7098//   * ErrCodeOperationFailureException "OperationFailureException"
7099//   Lightsail throws this exception when an operation fails to execute.
7100//
7101//   * ErrCodeAccessDeniedException "AccessDeniedException"
7102//   Lightsail throws this exception when the user cannot be authenticated or
7103//   uses invalid credentials to access a resource.
7104//
7105//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7106//   Lightsail throws this exception when an account is still in the setup in
7107//   progress state.
7108//
7109//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7110//   Lightsail throws this exception when the user has not been authenticated.
7111//
7112// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData
7113func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) {
7114	req, out := c.GetLoadBalancerMetricDataRequest(input)
7115	return out, req.Send()
7116}
7117
7118// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of
7119// the ability to pass a context and additional request options.
7120//
7121// See GetLoadBalancerMetricData for details on how to use this API operation.
7122//
7123// The context must be non-nil and will be used for request cancellation. If
7124// the context is nil a panic will occur. In the future the SDK may create
7125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7126// for more information on using Contexts.
7127func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) {
7128	req, out := c.GetLoadBalancerMetricDataRequest(input)
7129	req.SetContext(ctx)
7130	req.ApplyOptions(opts...)
7131	return out, req.Send()
7132}
7133
7134const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates"
7135
7136// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the
7137// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return
7138// value will be populated with the request's response once the request completes
7139// successfully.
7140//
7141// Use "Send" method on the returned Request to send the API call to the service.
7142// the "output" return value is not valid until after Send returns without error.
7143//
7144// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates
7145// API call, and error handling.
7146//
7147// This method is useful when you want to inject custom logic or configuration
7148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7149//
7150//
7151//    // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method.
7152//    req, resp := client.GetLoadBalancerTlsCertificatesRequest(params)
7153//
7154//    err := req.Send()
7155//    if err == nil { // resp is now filled
7156//        fmt.Println(resp)
7157//    }
7158//
7159// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
7160func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) {
7161	op := &request.Operation{
7162		Name:       opGetLoadBalancerTlsCertificates,
7163		HTTPMethod: "POST",
7164		HTTPPath:   "/",
7165	}
7166
7167	if input == nil {
7168		input = &GetLoadBalancerTlsCertificatesInput{}
7169	}
7170
7171	output = &GetLoadBalancerTlsCertificatesOutput{}
7172	req = c.newRequest(op, input, output)
7173	return
7174}
7175
7176// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail.
7177//
7178// Returns information about the TLS certificates that are associated with the
7179// specified Lightsail load balancer.
7180//
7181// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
7182//
7183// You can have a maximum of 2 certificates associated with a Lightsail load
7184// balancer. One is active and the other is inactive.
7185//
7186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7187// with awserr.Error's Code and Message methods to get detailed information about
7188// the error.
7189//
7190// See the AWS API reference guide for Amazon Lightsail's
7191// API operation GetLoadBalancerTlsCertificates for usage and error information.
7192//
7193// Returned Error Codes:
7194//   * ErrCodeServiceException "ServiceException"
7195//   A general service exception.
7196//
7197//   * ErrCodeInvalidInputException "InvalidInputException"
7198//   Lightsail throws this exception when user input does not conform to the validation
7199//   rules of an input field.
7200//
7201//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7202//   Please set your AWS Region configuration to us-east-1 to create, view, or
7203//   edit these resources.
7204//
7205//   * ErrCodeNotFoundException "NotFoundException"
7206//   Lightsail throws this exception when it cannot find a resource.
7207//
7208//   * ErrCodeOperationFailureException "OperationFailureException"
7209//   Lightsail throws this exception when an operation fails to execute.
7210//
7211//   * ErrCodeAccessDeniedException "AccessDeniedException"
7212//   Lightsail throws this exception when the user cannot be authenticated or
7213//   uses invalid credentials to access a resource.
7214//
7215//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7216//   Lightsail throws this exception when an account is still in the setup in
7217//   progress state.
7218//
7219//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7220//   Lightsail throws this exception when the user has not been authenticated.
7221//
7222// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates
7223func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) {
7224	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
7225	return out, req.Send()
7226}
7227
7228// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of
7229// the ability to pass a context and additional request options.
7230//
7231// See GetLoadBalancerTlsCertificates for details on how to use this API operation.
7232//
7233// The context must be non-nil and will be used for request cancellation. If
7234// the context is nil a panic will occur. In the future the SDK may create
7235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7236// for more information on using Contexts.
7237func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) {
7238	req, out := c.GetLoadBalancerTlsCertificatesRequest(input)
7239	req.SetContext(ctx)
7240	req.ApplyOptions(opts...)
7241	return out, req.Send()
7242}
7243
7244const opGetLoadBalancers = "GetLoadBalancers"
7245
7246// GetLoadBalancersRequest generates a "aws/request.Request" representing the
7247// client's request for the GetLoadBalancers operation. The "output" return
7248// value will be populated with the request's response once the request completes
7249// successfully.
7250//
7251// Use "Send" method on the returned Request to send the API call to the service.
7252// the "output" return value is not valid until after Send returns without error.
7253//
7254// See GetLoadBalancers for more information on using the GetLoadBalancers
7255// API call, and error handling.
7256//
7257// This method is useful when you want to inject custom logic or configuration
7258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7259//
7260//
7261//    // Example sending a request using the GetLoadBalancersRequest method.
7262//    req, resp := client.GetLoadBalancersRequest(params)
7263//
7264//    err := req.Send()
7265//    if err == nil { // resp is now filled
7266//        fmt.Println(resp)
7267//    }
7268//
7269// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
7270func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) {
7271	op := &request.Operation{
7272		Name:       opGetLoadBalancers,
7273		HTTPMethod: "POST",
7274		HTTPPath:   "/",
7275	}
7276
7277	if input == nil {
7278		input = &GetLoadBalancersInput{}
7279	}
7280
7281	output = &GetLoadBalancersOutput{}
7282	req = c.newRequest(op, input, output)
7283	return
7284}
7285
7286// GetLoadBalancers API operation for Amazon Lightsail.
7287//
7288// Returns information about all load balancers in an account.
7289//
7290// If you are describing a long list of load balancers, you can paginate the
7291// output to make the list more manageable. You can use the pageToken and nextPageToken
7292// values to retrieve the next items in the list.
7293//
7294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7295// with awserr.Error's Code and Message methods to get detailed information about
7296// the error.
7297//
7298// See the AWS API reference guide for Amazon Lightsail's
7299// API operation GetLoadBalancers for usage and error information.
7300//
7301// Returned Error Codes:
7302//   * ErrCodeServiceException "ServiceException"
7303//   A general service exception.
7304//
7305//   * ErrCodeInvalidInputException "InvalidInputException"
7306//   Lightsail throws this exception when user input does not conform to the validation
7307//   rules of an input field.
7308//
7309//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7310//   Please set your AWS Region configuration to us-east-1 to create, view, or
7311//   edit these resources.
7312//
7313//   * ErrCodeNotFoundException "NotFoundException"
7314//   Lightsail throws this exception when it cannot find a resource.
7315//
7316//   * ErrCodeOperationFailureException "OperationFailureException"
7317//   Lightsail throws this exception when an operation fails to execute.
7318//
7319//   * ErrCodeAccessDeniedException "AccessDeniedException"
7320//   Lightsail throws this exception when the user cannot be authenticated or
7321//   uses invalid credentials to access a resource.
7322//
7323//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7324//   Lightsail throws this exception when an account is still in the setup in
7325//   progress state.
7326//
7327//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7328//   Lightsail throws this exception when the user has not been authenticated.
7329//
7330// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers
7331func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) {
7332	req, out := c.GetLoadBalancersRequest(input)
7333	return out, req.Send()
7334}
7335
7336// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of
7337// the ability to pass a context and additional request options.
7338//
7339// See GetLoadBalancers for details on how to use this API operation.
7340//
7341// The context must be non-nil and will be used for request cancellation. If
7342// the context is nil a panic will occur. In the future the SDK may create
7343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7344// for more information on using Contexts.
7345func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) {
7346	req, out := c.GetLoadBalancersRequest(input)
7347	req.SetContext(ctx)
7348	req.ApplyOptions(opts...)
7349	return out, req.Send()
7350}
7351
7352const opGetOperation = "GetOperation"
7353
7354// GetOperationRequest generates a "aws/request.Request" representing the
7355// client's request for the GetOperation operation. The "output" return
7356// value will be populated with the request's response once the request completes
7357// successfully.
7358//
7359// Use "Send" method on the returned Request to send the API call to the service.
7360// the "output" return value is not valid until after Send returns without error.
7361//
7362// See GetOperation for more information on using the GetOperation
7363// API call, and error handling.
7364//
7365// This method is useful when you want to inject custom logic or configuration
7366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7367//
7368//
7369//    // Example sending a request using the GetOperationRequest method.
7370//    req, resp := client.GetOperationRequest(params)
7371//
7372//    err := req.Send()
7373//    if err == nil { // resp is now filled
7374//        fmt.Println(resp)
7375//    }
7376//
7377// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
7378func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) {
7379	op := &request.Operation{
7380		Name:       opGetOperation,
7381		HTTPMethod: "POST",
7382		HTTPPath:   "/",
7383	}
7384
7385	if input == nil {
7386		input = &GetOperationInput{}
7387	}
7388
7389	output = &GetOperationOutput{}
7390	req = c.newRequest(op, input, output)
7391	return
7392}
7393
7394// GetOperation API operation for Amazon Lightsail.
7395//
7396// Returns information about a specific operation. Operations include events
7397// such as when you create an instance, allocate a static IP, attach a static
7398// IP, and so on.
7399//
7400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7401// with awserr.Error's Code and Message methods to get detailed information about
7402// the error.
7403//
7404// See the AWS API reference guide for Amazon Lightsail's
7405// API operation GetOperation for usage and error information.
7406//
7407// Returned Error Codes:
7408//   * ErrCodeServiceException "ServiceException"
7409//   A general service exception.
7410//
7411//   * ErrCodeInvalidInputException "InvalidInputException"
7412//   Lightsail throws this exception when user input does not conform to the validation
7413//   rules of an input field.
7414//
7415//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7416//   Please set your AWS Region configuration to us-east-1 to create, view, or
7417//   edit these resources.
7418//
7419//   * ErrCodeNotFoundException "NotFoundException"
7420//   Lightsail throws this exception when it cannot find a resource.
7421//
7422//   * ErrCodeOperationFailureException "OperationFailureException"
7423//   Lightsail throws this exception when an operation fails to execute.
7424//
7425//   * ErrCodeAccessDeniedException "AccessDeniedException"
7426//   Lightsail throws this exception when the user cannot be authenticated or
7427//   uses invalid credentials to access a resource.
7428//
7429//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7430//   Lightsail throws this exception when an account is still in the setup in
7431//   progress state.
7432//
7433//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7434//   Lightsail throws this exception when the user has not been authenticated.
7435//
7436// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation
7437func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) {
7438	req, out := c.GetOperationRequest(input)
7439	return out, req.Send()
7440}
7441
7442// GetOperationWithContext is the same as GetOperation with the addition of
7443// the ability to pass a context and additional request options.
7444//
7445// See GetOperation for details on how to use this API operation.
7446//
7447// The context must be non-nil and will be used for request cancellation. If
7448// the context is nil a panic will occur. In the future the SDK may create
7449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7450// for more information on using Contexts.
7451func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) {
7452	req, out := c.GetOperationRequest(input)
7453	req.SetContext(ctx)
7454	req.ApplyOptions(opts...)
7455	return out, req.Send()
7456}
7457
7458const opGetOperations = "GetOperations"
7459
7460// GetOperationsRequest generates a "aws/request.Request" representing the
7461// client's request for the GetOperations operation. The "output" return
7462// value will be populated with the request's response once the request completes
7463// successfully.
7464//
7465// Use "Send" method on the returned Request to send the API call to the service.
7466// the "output" return value is not valid until after Send returns without error.
7467//
7468// See GetOperations for more information on using the GetOperations
7469// API call, and error handling.
7470//
7471// This method is useful when you want to inject custom logic or configuration
7472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7473//
7474//
7475//    // Example sending a request using the GetOperationsRequest method.
7476//    req, resp := client.GetOperationsRequest(params)
7477//
7478//    err := req.Send()
7479//    if err == nil { // resp is now filled
7480//        fmt.Println(resp)
7481//    }
7482//
7483// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
7484func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) {
7485	op := &request.Operation{
7486		Name:       opGetOperations,
7487		HTTPMethod: "POST",
7488		HTTPPath:   "/",
7489	}
7490
7491	if input == nil {
7492		input = &GetOperationsInput{}
7493	}
7494
7495	output = &GetOperationsOutput{}
7496	req = c.newRequest(op, input, output)
7497	return
7498}
7499
7500// GetOperations API operation for Amazon Lightsail.
7501//
7502// Returns information about all operations.
7503//
7504// Results are returned from oldest to newest, up to a maximum of 200. Results
7505// can be paged by making each subsequent call to GetOperations use the maximum
7506// (last) statusChangedAt value from the previous request.
7507//
7508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7509// with awserr.Error's Code and Message methods to get detailed information about
7510// the error.
7511//
7512// See the AWS API reference guide for Amazon Lightsail's
7513// API operation GetOperations for usage and error information.
7514//
7515// Returned Error Codes:
7516//   * ErrCodeServiceException "ServiceException"
7517//   A general service exception.
7518//
7519//   * ErrCodeInvalidInputException "InvalidInputException"
7520//   Lightsail throws this exception when user input does not conform to the validation
7521//   rules of an input field.
7522//
7523//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7524//   Please set your AWS Region configuration to us-east-1 to create, view, or
7525//   edit these resources.
7526//
7527//   * ErrCodeNotFoundException "NotFoundException"
7528//   Lightsail throws this exception when it cannot find a resource.
7529//
7530//   * ErrCodeOperationFailureException "OperationFailureException"
7531//   Lightsail throws this exception when an operation fails to execute.
7532//
7533//   * ErrCodeAccessDeniedException "AccessDeniedException"
7534//   Lightsail throws this exception when the user cannot be authenticated or
7535//   uses invalid credentials to access a resource.
7536//
7537//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7538//   Lightsail throws this exception when an account is still in the setup in
7539//   progress state.
7540//
7541//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7542//   Lightsail throws this exception when the user has not been authenticated.
7543//
7544// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations
7545func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) {
7546	req, out := c.GetOperationsRequest(input)
7547	return out, req.Send()
7548}
7549
7550// GetOperationsWithContext is the same as GetOperations with the addition of
7551// the ability to pass a context and additional request options.
7552//
7553// See GetOperations for details on how to use this API operation.
7554//
7555// The context must be non-nil and will be used for request cancellation. If
7556// the context is nil a panic will occur. In the future the SDK may create
7557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7558// for more information on using Contexts.
7559func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) {
7560	req, out := c.GetOperationsRequest(input)
7561	req.SetContext(ctx)
7562	req.ApplyOptions(opts...)
7563	return out, req.Send()
7564}
7565
7566const opGetOperationsForResource = "GetOperationsForResource"
7567
7568// GetOperationsForResourceRequest generates a "aws/request.Request" representing the
7569// client's request for the GetOperationsForResource operation. The "output" return
7570// value will be populated with the request's response once the request completes
7571// successfully.
7572//
7573// Use "Send" method on the returned Request to send the API call to the service.
7574// the "output" return value is not valid until after Send returns without error.
7575//
7576// See GetOperationsForResource for more information on using the GetOperationsForResource
7577// API call, and error handling.
7578//
7579// This method is useful when you want to inject custom logic or configuration
7580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7581//
7582//
7583//    // Example sending a request using the GetOperationsForResourceRequest method.
7584//    req, resp := client.GetOperationsForResourceRequest(params)
7585//
7586//    err := req.Send()
7587//    if err == nil { // resp is now filled
7588//        fmt.Println(resp)
7589//    }
7590//
7591// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
7592func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) {
7593	op := &request.Operation{
7594		Name:       opGetOperationsForResource,
7595		HTTPMethod: "POST",
7596		HTTPPath:   "/",
7597	}
7598
7599	if input == nil {
7600		input = &GetOperationsForResourceInput{}
7601	}
7602
7603	output = &GetOperationsForResourceOutput{}
7604	req = c.newRequest(op, input, output)
7605	return
7606}
7607
7608// GetOperationsForResource API operation for Amazon Lightsail.
7609//
7610// Gets operations for a specific resource (e.g., an instance or a static IP).
7611//
7612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7613// with awserr.Error's Code and Message methods to get detailed information about
7614// the error.
7615//
7616// See the AWS API reference guide for Amazon Lightsail's
7617// API operation GetOperationsForResource for usage and error information.
7618//
7619// Returned Error Codes:
7620//   * ErrCodeServiceException "ServiceException"
7621//   A general service exception.
7622//
7623//   * ErrCodeInvalidInputException "InvalidInputException"
7624//   Lightsail throws this exception when user input does not conform to the validation
7625//   rules of an input field.
7626//
7627//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7628//   Please set your AWS Region configuration to us-east-1 to create, view, or
7629//   edit these resources.
7630//
7631//   * ErrCodeNotFoundException "NotFoundException"
7632//   Lightsail throws this exception when it cannot find a resource.
7633//
7634//   * ErrCodeOperationFailureException "OperationFailureException"
7635//   Lightsail throws this exception when an operation fails to execute.
7636//
7637//   * ErrCodeAccessDeniedException "AccessDeniedException"
7638//   Lightsail throws this exception when the user cannot be authenticated or
7639//   uses invalid credentials to access a resource.
7640//
7641//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7642//   Lightsail throws this exception when an account is still in the setup in
7643//   progress state.
7644//
7645//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7646//   Lightsail throws this exception when the user has not been authenticated.
7647//
7648// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource
7649func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) {
7650	req, out := c.GetOperationsForResourceRequest(input)
7651	return out, req.Send()
7652}
7653
7654// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of
7655// the ability to pass a context and additional request options.
7656//
7657// See GetOperationsForResource for details on how to use this API operation.
7658//
7659// The context must be non-nil and will be used for request cancellation. If
7660// the context is nil a panic will occur. In the future the SDK may create
7661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7662// for more information on using Contexts.
7663func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) {
7664	req, out := c.GetOperationsForResourceRequest(input)
7665	req.SetContext(ctx)
7666	req.ApplyOptions(opts...)
7667	return out, req.Send()
7668}
7669
7670const opGetRegions = "GetRegions"
7671
7672// GetRegionsRequest generates a "aws/request.Request" representing the
7673// client's request for the GetRegions operation. The "output" return
7674// value will be populated with the request's response once the request completes
7675// successfully.
7676//
7677// Use "Send" method on the returned Request to send the API call to the service.
7678// the "output" return value is not valid until after Send returns without error.
7679//
7680// See GetRegions for more information on using the GetRegions
7681// API call, and error handling.
7682//
7683// This method is useful when you want to inject custom logic or configuration
7684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7685//
7686//
7687//    // Example sending a request using the GetRegionsRequest method.
7688//    req, resp := client.GetRegionsRequest(params)
7689//
7690//    err := req.Send()
7691//    if err == nil { // resp is now filled
7692//        fmt.Println(resp)
7693//    }
7694//
7695// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
7696func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) {
7697	op := &request.Operation{
7698		Name:       opGetRegions,
7699		HTTPMethod: "POST",
7700		HTTPPath:   "/",
7701	}
7702
7703	if input == nil {
7704		input = &GetRegionsInput{}
7705	}
7706
7707	output = &GetRegionsOutput{}
7708	req = c.newRequest(op, input, output)
7709	return
7710}
7711
7712// GetRegions API operation for Amazon Lightsail.
7713//
7714// Returns a list of all valid regions for Amazon Lightsail. Use the include
7715// availability zones parameter to also return the Availability Zones in a region.
7716//
7717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7718// with awserr.Error's Code and Message methods to get detailed information about
7719// the error.
7720//
7721// See the AWS API reference guide for Amazon Lightsail's
7722// API operation GetRegions for usage and error information.
7723//
7724// Returned Error Codes:
7725//   * ErrCodeServiceException "ServiceException"
7726//   A general service exception.
7727//
7728//   * ErrCodeInvalidInputException "InvalidInputException"
7729//   Lightsail throws this exception when user input does not conform to the validation
7730//   rules of an input field.
7731//
7732//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7733//   Please set your AWS Region configuration to us-east-1 to create, view, or
7734//   edit these resources.
7735//
7736//   * ErrCodeNotFoundException "NotFoundException"
7737//   Lightsail throws this exception when it cannot find a resource.
7738//
7739//   * ErrCodeOperationFailureException "OperationFailureException"
7740//   Lightsail throws this exception when an operation fails to execute.
7741//
7742//   * ErrCodeAccessDeniedException "AccessDeniedException"
7743//   Lightsail throws this exception when the user cannot be authenticated or
7744//   uses invalid credentials to access a resource.
7745//
7746//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7747//   Lightsail throws this exception when an account is still in the setup in
7748//   progress state.
7749//
7750//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7751//   Lightsail throws this exception when the user has not been authenticated.
7752//
7753// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions
7754func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) {
7755	req, out := c.GetRegionsRequest(input)
7756	return out, req.Send()
7757}
7758
7759// GetRegionsWithContext is the same as GetRegions with the addition of
7760// the ability to pass a context and additional request options.
7761//
7762// See GetRegions for details on how to use this API operation.
7763//
7764// The context must be non-nil and will be used for request cancellation. If
7765// the context is nil a panic will occur. In the future the SDK may create
7766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7767// for more information on using Contexts.
7768func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) {
7769	req, out := c.GetRegionsRequest(input)
7770	req.SetContext(ctx)
7771	req.ApplyOptions(opts...)
7772	return out, req.Send()
7773}
7774
7775const opGetRelationalDatabase = "GetRelationalDatabase"
7776
7777// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the
7778// client's request for the GetRelationalDatabase operation. The "output" return
7779// value will be populated with the request's response once the request completes
7780// successfully.
7781//
7782// Use "Send" method on the returned Request to send the API call to the service.
7783// the "output" return value is not valid until after Send returns without error.
7784//
7785// See GetRelationalDatabase for more information on using the GetRelationalDatabase
7786// API call, and error handling.
7787//
7788// This method is useful when you want to inject custom logic or configuration
7789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7790//
7791//
7792//    // Example sending a request using the GetRelationalDatabaseRequest method.
7793//    req, resp := client.GetRelationalDatabaseRequest(params)
7794//
7795//    err := req.Send()
7796//    if err == nil { // resp is now filled
7797//        fmt.Println(resp)
7798//    }
7799//
7800// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
7801func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) {
7802	op := &request.Operation{
7803		Name:       opGetRelationalDatabase,
7804		HTTPMethod: "POST",
7805		HTTPPath:   "/",
7806	}
7807
7808	if input == nil {
7809		input = &GetRelationalDatabaseInput{}
7810	}
7811
7812	output = &GetRelationalDatabaseOutput{}
7813	req = c.newRequest(op, input, output)
7814	return
7815}
7816
7817// GetRelationalDatabase API operation for Amazon Lightsail.
7818//
7819// Returns information about a specific database in Amazon Lightsail.
7820//
7821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7822// with awserr.Error's Code and Message methods to get detailed information about
7823// the error.
7824//
7825// See the AWS API reference guide for Amazon Lightsail's
7826// API operation GetRelationalDatabase for usage and error information.
7827//
7828// Returned Error Codes:
7829//   * ErrCodeServiceException "ServiceException"
7830//   A general service exception.
7831//
7832//   * ErrCodeInvalidInputException "InvalidInputException"
7833//   Lightsail throws this exception when user input does not conform to the validation
7834//   rules of an input field.
7835//
7836//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7837//   Please set your AWS Region configuration to us-east-1 to create, view, or
7838//   edit these resources.
7839//
7840//   * ErrCodeNotFoundException "NotFoundException"
7841//   Lightsail throws this exception when it cannot find a resource.
7842//
7843//   * ErrCodeOperationFailureException "OperationFailureException"
7844//   Lightsail throws this exception when an operation fails to execute.
7845//
7846//   * ErrCodeAccessDeniedException "AccessDeniedException"
7847//   Lightsail throws this exception when the user cannot be authenticated or
7848//   uses invalid credentials to access a resource.
7849//
7850//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7851//   Lightsail throws this exception when an account is still in the setup in
7852//   progress state.
7853//
7854//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7855//   Lightsail throws this exception when the user has not been authenticated.
7856//
7857// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase
7858func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) {
7859	req, out := c.GetRelationalDatabaseRequest(input)
7860	return out, req.Send()
7861}
7862
7863// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of
7864// the ability to pass a context and additional request options.
7865//
7866// See GetRelationalDatabase for details on how to use this API operation.
7867//
7868// The context must be non-nil and will be used for request cancellation. If
7869// the context is nil a panic will occur. In the future the SDK may create
7870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7871// for more information on using Contexts.
7872func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) {
7873	req, out := c.GetRelationalDatabaseRequest(input)
7874	req.SetContext(ctx)
7875	req.ApplyOptions(opts...)
7876	return out, req.Send()
7877}
7878
7879const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints"
7880
7881// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the
7882// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return
7883// value will be populated with the request's response once the request completes
7884// successfully.
7885//
7886// Use "Send" method on the returned Request to send the API call to the service.
7887// the "output" return value is not valid until after Send returns without error.
7888//
7889// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints
7890// API call, and error handling.
7891//
7892// This method is useful when you want to inject custom logic or configuration
7893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7894//
7895//
7896//    // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method.
7897//    req, resp := client.GetRelationalDatabaseBlueprintsRequest(params)
7898//
7899//    err := req.Send()
7900//    if err == nil { // resp is now filled
7901//        fmt.Println(resp)
7902//    }
7903//
7904// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
7905func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) {
7906	op := &request.Operation{
7907		Name:       opGetRelationalDatabaseBlueprints,
7908		HTTPMethod: "POST",
7909		HTTPPath:   "/",
7910	}
7911
7912	if input == nil {
7913		input = &GetRelationalDatabaseBlueprintsInput{}
7914	}
7915
7916	output = &GetRelationalDatabaseBlueprintsOutput{}
7917	req = c.newRequest(op, input, output)
7918	return
7919}
7920
7921// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail.
7922//
7923// Returns a list of available database blueprints in Amazon Lightsail. A blueprint
7924// describes the major engine version of a database.
7925//
7926// You can use a blueprint ID to create a new database that runs a specific
7927// database engine.
7928//
7929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7930// with awserr.Error's Code and Message methods to get detailed information about
7931// the error.
7932//
7933// See the AWS API reference guide for Amazon Lightsail's
7934// API operation GetRelationalDatabaseBlueprints for usage and error information.
7935//
7936// Returned Error Codes:
7937//   * ErrCodeServiceException "ServiceException"
7938//   A general service exception.
7939//
7940//   * ErrCodeInvalidInputException "InvalidInputException"
7941//   Lightsail throws this exception when user input does not conform to the validation
7942//   rules of an input field.
7943//
7944//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
7945//   Please set your AWS Region configuration to us-east-1 to create, view, or
7946//   edit these resources.
7947//
7948//   * ErrCodeNotFoundException "NotFoundException"
7949//   Lightsail throws this exception when it cannot find a resource.
7950//
7951//   * ErrCodeOperationFailureException "OperationFailureException"
7952//   Lightsail throws this exception when an operation fails to execute.
7953//
7954//   * ErrCodeAccessDeniedException "AccessDeniedException"
7955//   Lightsail throws this exception when the user cannot be authenticated or
7956//   uses invalid credentials to access a resource.
7957//
7958//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
7959//   Lightsail throws this exception when an account is still in the setup in
7960//   progress state.
7961//
7962//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
7963//   Lightsail throws this exception when the user has not been authenticated.
7964//
7965// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints
7966func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) {
7967	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
7968	return out, req.Send()
7969}
7970
7971// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of
7972// the ability to pass a context and additional request options.
7973//
7974// See GetRelationalDatabaseBlueprints for details on how to use this API operation.
7975//
7976// The context must be non-nil and will be used for request cancellation. If
7977// the context is nil a panic will occur. In the future the SDK may create
7978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7979// for more information on using Contexts.
7980func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) {
7981	req, out := c.GetRelationalDatabaseBlueprintsRequest(input)
7982	req.SetContext(ctx)
7983	req.ApplyOptions(opts...)
7984	return out, req.Send()
7985}
7986
7987const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles"
7988
7989// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the
7990// client's request for the GetRelationalDatabaseBundles operation. The "output" return
7991// value will be populated with the request's response once the request completes
7992// successfully.
7993//
7994// Use "Send" method on the returned Request to send the API call to the service.
7995// the "output" return value is not valid until after Send returns without error.
7996//
7997// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles
7998// API call, and error handling.
7999//
8000// This method is useful when you want to inject custom logic or configuration
8001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8002//
8003//
8004//    // Example sending a request using the GetRelationalDatabaseBundlesRequest method.
8005//    req, resp := client.GetRelationalDatabaseBundlesRequest(params)
8006//
8007//    err := req.Send()
8008//    if err == nil { // resp is now filled
8009//        fmt.Println(resp)
8010//    }
8011//
8012// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
8013func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) {
8014	op := &request.Operation{
8015		Name:       opGetRelationalDatabaseBundles,
8016		HTTPMethod: "POST",
8017		HTTPPath:   "/",
8018	}
8019
8020	if input == nil {
8021		input = &GetRelationalDatabaseBundlesInput{}
8022	}
8023
8024	output = &GetRelationalDatabaseBundlesOutput{}
8025	req = c.newRequest(op, input, output)
8026	return
8027}
8028
8029// GetRelationalDatabaseBundles API operation for Amazon Lightsail.
8030//
8031// Returns the list of bundles that are available in Amazon Lightsail. A bundle
8032// describes the performance specifications for a database.
8033//
8034// You can use a bundle ID to create a new database with explicit performance
8035// specifications.
8036//
8037// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8038// with awserr.Error's Code and Message methods to get detailed information about
8039// the error.
8040//
8041// See the AWS API reference guide for Amazon Lightsail's
8042// API operation GetRelationalDatabaseBundles for usage and error information.
8043//
8044// Returned Error Codes:
8045//   * ErrCodeServiceException "ServiceException"
8046//   A general service exception.
8047//
8048//   * ErrCodeInvalidInputException "InvalidInputException"
8049//   Lightsail throws this exception when user input does not conform to the validation
8050//   rules of an input field.
8051//
8052//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8053//   Please set your AWS Region configuration to us-east-1 to create, view, or
8054//   edit these resources.
8055//
8056//   * ErrCodeNotFoundException "NotFoundException"
8057//   Lightsail throws this exception when it cannot find a resource.
8058//
8059//   * ErrCodeOperationFailureException "OperationFailureException"
8060//   Lightsail throws this exception when an operation fails to execute.
8061//
8062//   * ErrCodeAccessDeniedException "AccessDeniedException"
8063//   Lightsail throws this exception when the user cannot be authenticated or
8064//   uses invalid credentials to access a resource.
8065//
8066//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8067//   Lightsail throws this exception when an account is still in the setup in
8068//   progress state.
8069//
8070//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8071//   Lightsail throws this exception when the user has not been authenticated.
8072//
8073// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles
8074func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) {
8075	req, out := c.GetRelationalDatabaseBundlesRequest(input)
8076	return out, req.Send()
8077}
8078
8079// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of
8080// the ability to pass a context and additional request options.
8081//
8082// See GetRelationalDatabaseBundles for details on how to use this API operation.
8083//
8084// The context must be non-nil and will be used for request cancellation. If
8085// the context is nil a panic will occur. In the future the SDK may create
8086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8087// for more information on using Contexts.
8088func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) {
8089	req, out := c.GetRelationalDatabaseBundlesRequest(input)
8090	req.SetContext(ctx)
8091	req.ApplyOptions(opts...)
8092	return out, req.Send()
8093}
8094
8095const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents"
8096
8097// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the
8098// client's request for the GetRelationalDatabaseEvents operation. The "output" return
8099// value will be populated with the request's response once the request completes
8100// successfully.
8101//
8102// Use "Send" method on the returned Request to send the API call to the service.
8103// the "output" return value is not valid until after Send returns without error.
8104//
8105// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents
8106// API call, and error handling.
8107//
8108// This method is useful when you want to inject custom logic or configuration
8109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8110//
8111//
8112//    // Example sending a request using the GetRelationalDatabaseEventsRequest method.
8113//    req, resp := client.GetRelationalDatabaseEventsRequest(params)
8114//
8115//    err := req.Send()
8116//    if err == nil { // resp is now filled
8117//        fmt.Println(resp)
8118//    }
8119//
8120// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
8121func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) {
8122	op := &request.Operation{
8123		Name:       opGetRelationalDatabaseEvents,
8124		HTTPMethod: "POST",
8125		HTTPPath:   "/",
8126	}
8127
8128	if input == nil {
8129		input = &GetRelationalDatabaseEventsInput{}
8130	}
8131
8132	output = &GetRelationalDatabaseEventsOutput{}
8133	req = c.newRequest(op, input, output)
8134	return
8135}
8136
8137// GetRelationalDatabaseEvents API operation for Amazon Lightsail.
8138//
8139// Returns a list of events for a specific database in Amazon Lightsail.
8140//
8141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8142// with awserr.Error's Code and Message methods to get detailed information about
8143// the error.
8144//
8145// See the AWS API reference guide for Amazon Lightsail's
8146// API operation GetRelationalDatabaseEvents for usage and error information.
8147//
8148// Returned Error Codes:
8149//   * ErrCodeServiceException "ServiceException"
8150//   A general service exception.
8151//
8152//   * ErrCodeInvalidInputException "InvalidInputException"
8153//   Lightsail throws this exception when user input does not conform to the validation
8154//   rules of an input field.
8155//
8156//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8157//   Please set your AWS Region configuration to us-east-1 to create, view, or
8158//   edit these resources.
8159//
8160//   * ErrCodeNotFoundException "NotFoundException"
8161//   Lightsail throws this exception when it cannot find a resource.
8162//
8163//   * ErrCodeOperationFailureException "OperationFailureException"
8164//   Lightsail throws this exception when an operation fails to execute.
8165//
8166//   * ErrCodeAccessDeniedException "AccessDeniedException"
8167//   Lightsail throws this exception when the user cannot be authenticated or
8168//   uses invalid credentials to access a resource.
8169//
8170//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8171//   Lightsail throws this exception when an account is still in the setup in
8172//   progress state.
8173//
8174//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8175//   Lightsail throws this exception when the user has not been authenticated.
8176//
8177// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents
8178func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) {
8179	req, out := c.GetRelationalDatabaseEventsRequest(input)
8180	return out, req.Send()
8181}
8182
8183// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of
8184// the ability to pass a context and additional request options.
8185//
8186// See GetRelationalDatabaseEvents for details on how to use this API operation.
8187//
8188// The context must be non-nil and will be used for request cancellation. If
8189// the context is nil a panic will occur. In the future the SDK may create
8190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8191// for more information on using Contexts.
8192func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) {
8193	req, out := c.GetRelationalDatabaseEventsRequest(input)
8194	req.SetContext(ctx)
8195	req.ApplyOptions(opts...)
8196	return out, req.Send()
8197}
8198
8199const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents"
8200
8201// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the
8202// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return
8203// value will be populated with the request's response once the request completes
8204// successfully.
8205//
8206// Use "Send" method on the returned Request to send the API call to the service.
8207// the "output" return value is not valid until after Send returns without error.
8208//
8209// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents
8210// API call, and error handling.
8211//
8212// This method is useful when you want to inject custom logic or configuration
8213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8214//
8215//
8216//    // Example sending a request using the GetRelationalDatabaseLogEventsRequest method.
8217//    req, resp := client.GetRelationalDatabaseLogEventsRequest(params)
8218//
8219//    err := req.Send()
8220//    if err == nil { // resp is now filled
8221//        fmt.Println(resp)
8222//    }
8223//
8224// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
8225func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) {
8226	op := &request.Operation{
8227		Name:       opGetRelationalDatabaseLogEvents,
8228		HTTPMethod: "POST",
8229		HTTPPath:   "/",
8230	}
8231
8232	if input == nil {
8233		input = &GetRelationalDatabaseLogEventsInput{}
8234	}
8235
8236	output = &GetRelationalDatabaseLogEventsOutput{}
8237	req = c.newRequest(op, input, output)
8238	return
8239}
8240
8241// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail.
8242//
8243// Returns a list of log events for a database in Amazon Lightsail.
8244//
8245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8246// with awserr.Error's Code and Message methods to get detailed information about
8247// the error.
8248//
8249// See the AWS API reference guide for Amazon Lightsail's
8250// API operation GetRelationalDatabaseLogEvents for usage and error information.
8251//
8252// Returned Error Codes:
8253//   * ErrCodeServiceException "ServiceException"
8254//   A general service exception.
8255//
8256//   * ErrCodeInvalidInputException "InvalidInputException"
8257//   Lightsail throws this exception when user input does not conform to the validation
8258//   rules of an input field.
8259//
8260//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8261//   Please set your AWS Region configuration to us-east-1 to create, view, or
8262//   edit these resources.
8263//
8264//   * ErrCodeNotFoundException "NotFoundException"
8265//   Lightsail throws this exception when it cannot find a resource.
8266//
8267//   * ErrCodeOperationFailureException "OperationFailureException"
8268//   Lightsail throws this exception when an operation fails to execute.
8269//
8270//   * ErrCodeAccessDeniedException "AccessDeniedException"
8271//   Lightsail throws this exception when the user cannot be authenticated or
8272//   uses invalid credentials to access a resource.
8273//
8274//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8275//   Lightsail throws this exception when an account is still in the setup in
8276//   progress state.
8277//
8278//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8279//   Lightsail throws this exception when the user has not been authenticated.
8280//
8281// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents
8282func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) {
8283	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
8284	return out, req.Send()
8285}
8286
8287// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of
8288// the ability to pass a context and additional request options.
8289//
8290// See GetRelationalDatabaseLogEvents for details on how to use this API operation.
8291//
8292// The context must be non-nil and will be used for request cancellation. If
8293// the context is nil a panic will occur. In the future the SDK may create
8294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8295// for more information on using Contexts.
8296func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) {
8297	req, out := c.GetRelationalDatabaseLogEventsRequest(input)
8298	req.SetContext(ctx)
8299	req.ApplyOptions(opts...)
8300	return out, req.Send()
8301}
8302
8303const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams"
8304
8305// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the
8306// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return
8307// value will be populated with the request's response once the request completes
8308// successfully.
8309//
8310// Use "Send" method on the returned Request to send the API call to the service.
8311// the "output" return value is not valid until after Send returns without error.
8312//
8313// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams
8314// API call, and error handling.
8315//
8316// This method is useful when you want to inject custom logic or configuration
8317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8318//
8319//
8320//    // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method.
8321//    req, resp := client.GetRelationalDatabaseLogStreamsRequest(params)
8322//
8323//    err := req.Send()
8324//    if err == nil { // resp is now filled
8325//        fmt.Println(resp)
8326//    }
8327//
8328// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
8329func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) {
8330	op := &request.Operation{
8331		Name:       opGetRelationalDatabaseLogStreams,
8332		HTTPMethod: "POST",
8333		HTTPPath:   "/",
8334	}
8335
8336	if input == nil {
8337		input = &GetRelationalDatabaseLogStreamsInput{}
8338	}
8339
8340	output = &GetRelationalDatabaseLogStreamsOutput{}
8341	req = c.newRequest(op, input, output)
8342	return
8343}
8344
8345// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail.
8346//
8347// Returns a list of available log streams for a specific database in Amazon
8348// Lightsail.
8349//
8350// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8351// with awserr.Error's Code and Message methods to get detailed information about
8352// the error.
8353//
8354// See the AWS API reference guide for Amazon Lightsail's
8355// API operation GetRelationalDatabaseLogStreams for usage and error information.
8356//
8357// Returned Error Codes:
8358//   * ErrCodeServiceException "ServiceException"
8359//   A general service exception.
8360//
8361//   * ErrCodeInvalidInputException "InvalidInputException"
8362//   Lightsail throws this exception when user input does not conform to the validation
8363//   rules of an input field.
8364//
8365//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8366//   Please set your AWS Region configuration to us-east-1 to create, view, or
8367//   edit these resources.
8368//
8369//   * ErrCodeNotFoundException "NotFoundException"
8370//   Lightsail throws this exception when it cannot find a resource.
8371//
8372//   * ErrCodeOperationFailureException "OperationFailureException"
8373//   Lightsail throws this exception when an operation fails to execute.
8374//
8375//   * ErrCodeAccessDeniedException "AccessDeniedException"
8376//   Lightsail throws this exception when the user cannot be authenticated or
8377//   uses invalid credentials to access a resource.
8378//
8379//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8380//   Lightsail throws this exception when an account is still in the setup in
8381//   progress state.
8382//
8383//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8384//   Lightsail throws this exception when the user has not been authenticated.
8385//
8386// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams
8387func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) {
8388	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
8389	return out, req.Send()
8390}
8391
8392// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of
8393// the ability to pass a context and additional request options.
8394//
8395// See GetRelationalDatabaseLogStreams for details on how to use this API operation.
8396//
8397// The context must be non-nil and will be used for request cancellation. If
8398// the context is nil a panic will occur. In the future the SDK may create
8399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8400// for more information on using Contexts.
8401func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) {
8402	req, out := c.GetRelationalDatabaseLogStreamsRequest(input)
8403	req.SetContext(ctx)
8404	req.ApplyOptions(opts...)
8405	return out, req.Send()
8406}
8407
8408const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword"
8409
8410// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the
8411// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return
8412// value will be populated with the request's response once the request completes
8413// successfully.
8414//
8415// Use "Send" method on the returned Request to send the API call to the service.
8416// the "output" return value is not valid until after Send returns without error.
8417//
8418// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword
8419// API call, and error handling.
8420//
8421// This method is useful when you want to inject custom logic or configuration
8422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8423//
8424//
8425//    // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method.
8426//    req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params)
8427//
8428//    err := req.Send()
8429//    if err == nil { // resp is now filled
8430//        fmt.Println(resp)
8431//    }
8432//
8433// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
8434func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) {
8435	op := &request.Operation{
8436		Name:       opGetRelationalDatabaseMasterUserPassword,
8437		HTTPMethod: "POST",
8438		HTTPPath:   "/",
8439	}
8440
8441	if input == nil {
8442		input = &GetRelationalDatabaseMasterUserPasswordInput{}
8443	}
8444
8445	output = &GetRelationalDatabaseMasterUserPasswordOutput{}
8446	req = c.newRequest(op, input, output)
8447	return
8448}
8449
8450// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail.
8451//
8452// Returns the current, previous, or pending versions of the master user password
8453// for a Lightsail database.
8454//
8455// The GetRelationalDatabaseMasterUserPassword operation supports tag-based
8456// access control via resource tags applied to the resource identified by relationalDatabaseName.
8457//
8458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8459// with awserr.Error's Code and Message methods to get detailed information about
8460// the error.
8461//
8462// See the AWS API reference guide for Amazon Lightsail's
8463// API operation GetRelationalDatabaseMasterUserPassword for usage and error information.
8464//
8465// Returned Error Codes:
8466//   * ErrCodeServiceException "ServiceException"
8467//   A general service exception.
8468//
8469//   * ErrCodeInvalidInputException "InvalidInputException"
8470//   Lightsail throws this exception when user input does not conform to the validation
8471//   rules of an input field.
8472//
8473//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8474//   Please set your AWS Region configuration to us-east-1 to create, view, or
8475//   edit these resources.
8476//
8477//   * ErrCodeNotFoundException "NotFoundException"
8478//   Lightsail throws this exception when it cannot find a resource.
8479//
8480//   * ErrCodeOperationFailureException "OperationFailureException"
8481//   Lightsail throws this exception when an operation fails to execute.
8482//
8483//   * ErrCodeAccessDeniedException "AccessDeniedException"
8484//   Lightsail throws this exception when the user cannot be authenticated or
8485//   uses invalid credentials to access a resource.
8486//
8487//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8488//   Lightsail throws this exception when an account is still in the setup in
8489//   progress state.
8490//
8491//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8492//   Lightsail throws this exception when the user has not been authenticated.
8493//
8494// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword
8495func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
8496	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
8497	return out, req.Send()
8498}
8499
8500// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of
8501// the ability to pass a context and additional request options.
8502//
8503// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation.
8504//
8505// The context must be non-nil and will be used for request cancellation. If
8506// the context is nil a panic will occur. In the future the SDK may create
8507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8508// for more information on using Contexts.
8509func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) {
8510	req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input)
8511	req.SetContext(ctx)
8512	req.ApplyOptions(opts...)
8513	return out, req.Send()
8514}
8515
8516const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData"
8517
8518// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the
8519// client's request for the GetRelationalDatabaseMetricData operation. The "output" return
8520// value will be populated with the request's response once the request completes
8521// successfully.
8522//
8523// Use "Send" method on the returned Request to send the API call to the service.
8524// the "output" return value is not valid until after Send returns without error.
8525//
8526// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData
8527// API call, and error handling.
8528//
8529// This method is useful when you want to inject custom logic or configuration
8530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8531//
8532//
8533//    // Example sending a request using the GetRelationalDatabaseMetricDataRequest method.
8534//    req, resp := client.GetRelationalDatabaseMetricDataRequest(params)
8535//
8536//    err := req.Send()
8537//    if err == nil { // resp is now filled
8538//        fmt.Println(resp)
8539//    }
8540//
8541// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
8542func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) {
8543	op := &request.Operation{
8544		Name:       opGetRelationalDatabaseMetricData,
8545		HTTPMethod: "POST",
8546		HTTPPath:   "/",
8547	}
8548
8549	if input == nil {
8550		input = &GetRelationalDatabaseMetricDataInput{}
8551	}
8552
8553	output = &GetRelationalDatabaseMetricDataOutput{}
8554	req = c.newRequest(op, input, output)
8555	return
8556}
8557
8558// GetRelationalDatabaseMetricData API operation for Amazon Lightsail.
8559//
8560// Returns the data points of the specified metric for a database in Amazon
8561// Lightsail.
8562//
8563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8564// with awserr.Error's Code and Message methods to get detailed information about
8565// the error.
8566//
8567// See the AWS API reference guide for Amazon Lightsail's
8568// API operation GetRelationalDatabaseMetricData for usage and error information.
8569//
8570// Returned Error Codes:
8571//   * ErrCodeServiceException "ServiceException"
8572//   A general service exception.
8573//
8574//   * ErrCodeInvalidInputException "InvalidInputException"
8575//   Lightsail throws this exception when user input does not conform to the validation
8576//   rules of an input field.
8577//
8578//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8579//   Please set your AWS Region configuration to us-east-1 to create, view, or
8580//   edit these resources.
8581//
8582//   * ErrCodeNotFoundException "NotFoundException"
8583//   Lightsail throws this exception when it cannot find a resource.
8584//
8585//   * ErrCodeOperationFailureException "OperationFailureException"
8586//   Lightsail throws this exception when an operation fails to execute.
8587//
8588//   * ErrCodeAccessDeniedException "AccessDeniedException"
8589//   Lightsail throws this exception when the user cannot be authenticated or
8590//   uses invalid credentials to access a resource.
8591//
8592//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8593//   Lightsail throws this exception when an account is still in the setup in
8594//   progress state.
8595//
8596//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8597//   Lightsail throws this exception when the user has not been authenticated.
8598//
8599// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData
8600func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) {
8601	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
8602	return out, req.Send()
8603}
8604
8605// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of
8606// the ability to pass a context and additional request options.
8607//
8608// See GetRelationalDatabaseMetricData for details on how to use this API operation.
8609//
8610// The context must be non-nil and will be used for request cancellation. If
8611// the context is nil a panic will occur. In the future the SDK may create
8612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8613// for more information on using Contexts.
8614func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) {
8615	req, out := c.GetRelationalDatabaseMetricDataRequest(input)
8616	req.SetContext(ctx)
8617	req.ApplyOptions(opts...)
8618	return out, req.Send()
8619}
8620
8621const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters"
8622
8623// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
8624// client's request for the GetRelationalDatabaseParameters operation. The "output" return
8625// value will be populated with the request's response once the request completes
8626// successfully.
8627//
8628// Use "Send" method on the returned Request to send the API call to the service.
8629// the "output" return value is not valid until after Send returns without error.
8630//
8631// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters
8632// API call, and error handling.
8633//
8634// This method is useful when you want to inject custom logic or configuration
8635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8636//
8637//
8638//    // Example sending a request using the GetRelationalDatabaseParametersRequest method.
8639//    req, resp := client.GetRelationalDatabaseParametersRequest(params)
8640//
8641//    err := req.Send()
8642//    if err == nil { // resp is now filled
8643//        fmt.Println(resp)
8644//    }
8645//
8646// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
8647func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) {
8648	op := &request.Operation{
8649		Name:       opGetRelationalDatabaseParameters,
8650		HTTPMethod: "POST",
8651		HTTPPath:   "/",
8652	}
8653
8654	if input == nil {
8655		input = &GetRelationalDatabaseParametersInput{}
8656	}
8657
8658	output = &GetRelationalDatabaseParametersOutput{}
8659	req = c.newRequest(op, input, output)
8660	return
8661}
8662
8663// GetRelationalDatabaseParameters API operation for Amazon Lightsail.
8664//
8665// Returns all of the runtime parameters offered by the underlying database
8666// software, or engine, for a specific database in Amazon Lightsail.
8667//
8668// In addition to the parameter names and values, this operation returns other
8669// information about each parameter. This information includes whether changes
8670// require a reboot, whether the parameter is modifiable, the allowed values,
8671// and the data types.
8672//
8673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8674// with awserr.Error's Code and Message methods to get detailed information about
8675// the error.
8676//
8677// See the AWS API reference guide for Amazon Lightsail's
8678// API operation GetRelationalDatabaseParameters for usage and error information.
8679//
8680// Returned Error Codes:
8681//   * ErrCodeServiceException "ServiceException"
8682//   A general service exception.
8683//
8684//   * ErrCodeInvalidInputException "InvalidInputException"
8685//   Lightsail throws this exception when user input does not conform to the validation
8686//   rules of an input field.
8687//
8688//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8689//   Please set your AWS Region configuration to us-east-1 to create, view, or
8690//   edit these resources.
8691//
8692//   * ErrCodeNotFoundException "NotFoundException"
8693//   Lightsail throws this exception when it cannot find a resource.
8694//
8695//   * ErrCodeOperationFailureException "OperationFailureException"
8696//   Lightsail throws this exception when an operation fails to execute.
8697//
8698//   * ErrCodeAccessDeniedException "AccessDeniedException"
8699//   Lightsail throws this exception when the user cannot be authenticated or
8700//   uses invalid credentials to access a resource.
8701//
8702//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8703//   Lightsail throws this exception when an account is still in the setup in
8704//   progress state.
8705//
8706//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8707//   Lightsail throws this exception when the user has not been authenticated.
8708//
8709// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters
8710func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) {
8711	req, out := c.GetRelationalDatabaseParametersRequest(input)
8712	return out, req.Send()
8713}
8714
8715// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of
8716// the ability to pass a context and additional request options.
8717//
8718// See GetRelationalDatabaseParameters for details on how to use this API operation.
8719//
8720// The context must be non-nil and will be used for request cancellation. If
8721// the context is nil a panic will occur. In the future the SDK may create
8722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8723// for more information on using Contexts.
8724func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) {
8725	req, out := c.GetRelationalDatabaseParametersRequest(input)
8726	req.SetContext(ctx)
8727	req.ApplyOptions(opts...)
8728	return out, req.Send()
8729}
8730
8731const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot"
8732
8733// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the
8734// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return
8735// value will be populated with the request's response once the request completes
8736// successfully.
8737//
8738// Use "Send" method on the returned Request to send the API call to the service.
8739// the "output" return value is not valid until after Send returns without error.
8740//
8741// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot
8742// API call, and error handling.
8743//
8744// This method is useful when you want to inject custom logic or configuration
8745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8746//
8747//
8748//    // Example sending a request using the GetRelationalDatabaseSnapshotRequest method.
8749//    req, resp := client.GetRelationalDatabaseSnapshotRequest(params)
8750//
8751//    err := req.Send()
8752//    if err == nil { // resp is now filled
8753//        fmt.Println(resp)
8754//    }
8755//
8756// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
8757func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) {
8758	op := &request.Operation{
8759		Name:       opGetRelationalDatabaseSnapshot,
8760		HTTPMethod: "POST",
8761		HTTPPath:   "/",
8762	}
8763
8764	if input == nil {
8765		input = &GetRelationalDatabaseSnapshotInput{}
8766	}
8767
8768	output = &GetRelationalDatabaseSnapshotOutput{}
8769	req = c.newRequest(op, input, output)
8770	return
8771}
8772
8773// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail.
8774//
8775// Returns information about a specific database snapshot in Amazon Lightsail.
8776//
8777// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8778// with awserr.Error's Code and Message methods to get detailed information about
8779// the error.
8780//
8781// See the AWS API reference guide for Amazon Lightsail's
8782// API operation GetRelationalDatabaseSnapshot for usage and error information.
8783//
8784// Returned Error Codes:
8785//   * ErrCodeServiceException "ServiceException"
8786//   A general service exception.
8787//
8788//   * ErrCodeInvalidInputException "InvalidInputException"
8789//   Lightsail throws this exception when user input does not conform to the validation
8790//   rules of an input field.
8791//
8792//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8793//   Please set your AWS Region configuration to us-east-1 to create, view, or
8794//   edit these resources.
8795//
8796//   * ErrCodeNotFoundException "NotFoundException"
8797//   Lightsail throws this exception when it cannot find a resource.
8798//
8799//   * ErrCodeOperationFailureException "OperationFailureException"
8800//   Lightsail throws this exception when an operation fails to execute.
8801//
8802//   * ErrCodeAccessDeniedException "AccessDeniedException"
8803//   Lightsail throws this exception when the user cannot be authenticated or
8804//   uses invalid credentials to access a resource.
8805//
8806//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8807//   Lightsail throws this exception when an account is still in the setup in
8808//   progress state.
8809//
8810//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8811//   Lightsail throws this exception when the user has not been authenticated.
8812//
8813// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot
8814func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) {
8815	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
8816	return out, req.Send()
8817}
8818
8819// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of
8820// the ability to pass a context and additional request options.
8821//
8822// See GetRelationalDatabaseSnapshot for details on how to use this API operation.
8823//
8824// The context must be non-nil and will be used for request cancellation. If
8825// the context is nil a panic will occur. In the future the SDK may create
8826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8827// for more information on using Contexts.
8828func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) {
8829	req, out := c.GetRelationalDatabaseSnapshotRequest(input)
8830	req.SetContext(ctx)
8831	req.ApplyOptions(opts...)
8832	return out, req.Send()
8833}
8834
8835const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots"
8836
8837// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the
8838// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return
8839// value will be populated with the request's response once the request completes
8840// successfully.
8841//
8842// Use "Send" method on the returned Request to send the API call to the service.
8843// the "output" return value is not valid until after Send returns without error.
8844//
8845// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots
8846// API call, and error handling.
8847//
8848// This method is useful when you want to inject custom logic or configuration
8849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8850//
8851//
8852//    // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method.
8853//    req, resp := client.GetRelationalDatabaseSnapshotsRequest(params)
8854//
8855//    err := req.Send()
8856//    if err == nil { // resp is now filled
8857//        fmt.Println(resp)
8858//    }
8859//
8860// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
8861func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) {
8862	op := &request.Operation{
8863		Name:       opGetRelationalDatabaseSnapshots,
8864		HTTPMethod: "POST",
8865		HTTPPath:   "/",
8866	}
8867
8868	if input == nil {
8869		input = &GetRelationalDatabaseSnapshotsInput{}
8870	}
8871
8872	output = &GetRelationalDatabaseSnapshotsOutput{}
8873	req = c.newRequest(op, input, output)
8874	return
8875}
8876
8877// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail.
8878//
8879// Returns information about all of your database snapshots in Amazon Lightsail.
8880//
8881// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8882// with awserr.Error's Code and Message methods to get detailed information about
8883// the error.
8884//
8885// See the AWS API reference guide for Amazon Lightsail's
8886// API operation GetRelationalDatabaseSnapshots for usage and error information.
8887//
8888// Returned Error Codes:
8889//   * ErrCodeServiceException "ServiceException"
8890//   A general service exception.
8891//
8892//   * ErrCodeInvalidInputException "InvalidInputException"
8893//   Lightsail throws this exception when user input does not conform to the validation
8894//   rules of an input field.
8895//
8896//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
8897//   Please set your AWS Region configuration to us-east-1 to create, view, or
8898//   edit these resources.
8899//
8900//   * ErrCodeNotFoundException "NotFoundException"
8901//   Lightsail throws this exception when it cannot find a resource.
8902//
8903//   * ErrCodeOperationFailureException "OperationFailureException"
8904//   Lightsail throws this exception when an operation fails to execute.
8905//
8906//   * ErrCodeAccessDeniedException "AccessDeniedException"
8907//   Lightsail throws this exception when the user cannot be authenticated or
8908//   uses invalid credentials to access a resource.
8909//
8910//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
8911//   Lightsail throws this exception when an account is still in the setup in
8912//   progress state.
8913//
8914//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
8915//   Lightsail throws this exception when the user has not been authenticated.
8916//
8917// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots
8918func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) {
8919	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
8920	return out, req.Send()
8921}
8922
8923// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of
8924// the ability to pass a context and additional request options.
8925//
8926// See GetRelationalDatabaseSnapshots for details on how to use this API operation.
8927//
8928// The context must be non-nil and will be used for request cancellation. If
8929// the context is nil a panic will occur. In the future the SDK may create
8930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8931// for more information on using Contexts.
8932func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) {
8933	req, out := c.GetRelationalDatabaseSnapshotsRequest(input)
8934	req.SetContext(ctx)
8935	req.ApplyOptions(opts...)
8936	return out, req.Send()
8937}
8938
8939const opGetRelationalDatabases = "GetRelationalDatabases"
8940
8941// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the
8942// client's request for the GetRelationalDatabases operation. The "output" return
8943// value will be populated with the request's response once the request completes
8944// successfully.
8945//
8946// Use "Send" method on the returned Request to send the API call to the service.
8947// the "output" return value is not valid until after Send returns without error.
8948//
8949// See GetRelationalDatabases for more information on using the GetRelationalDatabases
8950// API call, and error handling.
8951//
8952// This method is useful when you want to inject custom logic or configuration
8953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8954//
8955//
8956//    // Example sending a request using the GetRelationalDatabasesRequest method.
8957//    req, resp := client.GetRelationalDatabasesRequest(params)
8958//
8959//    err := req.Send()
8960//    if err == nil { // resp is now filled
8961//        fmt.Println(resp)
8962//    }
8963//
8964// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
8965func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) {
8966	op := &request.Operation{
8967		Name:       opGetRelationalDatabases,
8968		HTTPMethod: "POST",
8969		HTTPPath:   "/",
8970	}
8971
8972	if input == nil {
8973		input = &GetRelationalDatabasesInput{}
8974	}
8975
8976	output = &GetRelationalDatabasesOutput{}
8977	req = c.newRequest(op, input, output)
8978	return
8979}
8980
8981// GetRelationalDatabases API operation for Amazon Lightsail.
8982//
8983// Returns information about all of your databases in Amazon Lightsail.
8984//
8985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8986// with awserr.Error's Code and Message methods to get detailed information about
8987// the error.
8988//
8989// See the AWS API reference guide for Amazon Lightsail's
8990// API operation GetRelationalDatabases for usage and error information.
8991//
8992// Returned Error Codes:
8993//   * ErrCodeServiceException "ServiceException"
8994//   A general service exception.
8995//
8996//   * ErrCodeInvalidInputException "InvalidInputException"
8997//   Lightsail throws this exception when user input does not conform to the validation
8998//   rules of an input field.
8999//
9000//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9001//   Please set your AWS Region configuration to us-east-1 to create, view, or
9002//   edit these resources.
9003//
9004//   * ErrCodeNotFoundException "NotFoundException"
9005//   Lightsail throws this exception when it cannot find a resource.
9006//
9007//   * ErrCodeOperationFailureException "OperationFailureException"
9008//   Lightsail throws this exception when an operation fails to execute.
9009//
9010//   * ErrCodeAccessDeniedException "AccessDeniedException"
9011//   Lightsail throws this exception when the user cannot be authenticated or
9012//   uses invalid credentials to access a resource.
9013//
9014//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9015//   Lightsail throws this exception when an account is still in the setup in
9016//   progress state.
9017//
9018//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9019//   Lightsail throws this exception when the user has not been authenticated.
9020//
9021// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases
9022func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) {
9023	req, out := c.GetRelationalDatabasesRequest(input)
9024	return out, req.Send()
9025}
9026
9027// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of
9028// the ability to pass a context and additional request options.
9029//
9030// See GetRelationalDatabases for details on how to use this API operation.
9031//
9032// The context must be non-nil and will be used for request cancellation. If
9033// the context is nil a panic will occur. In the future the SDK may create
9034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9035// for more information on using Contexts.
9036func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) {
9037	req, out := c.GetRelationalDatabasesRequest(input)
9038	req.SetContext(ctx)
9039	req.ApplyOptions(opts...)
9040	return out, req.Send()
9041}
9042
9043const opGetStaticIp = "GetStaticIp"
9044
9045// GetStaticIpRequest generates a "aws/request.Request" representing the
9046// client's request for the GetStaticIp operation. The "output" return
9047// value will be populated with the request's response once the request completes
9048// successfully.
9049//
9050// Use "Send" method on the returned Request to send the API call to the service.
9051// the "output" return value is not valid until after Send returns without error.
9052//
9053// See GetStaticIp for more information on using the GetStaticIp
9054// API call, and error handling.
9055//
9056// This method is useful when you want to inject custom logic or configuration
9057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9058//
9059//
9060//    // Example sending a request using the GetStaticIpRequest method.
9061//    req, resp := client.GetStaticIpRequest(params)
9062//
9063//    err := req.Send()
9064//    if err == nil { // resp is now filled
9065//        fmt.Println(resp)
9066//    }
9067//
9068// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
9069func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) {
9070	op := &request.Operation{
9071		Name:       opGetStaticIp,
9072		HTTPMethod: "POST",
9073		HTTPPath:   "/",
9074	}
9075
9076	if input == nil {
9077		input = &GetStaticIpInput{}
9078	}
9079
9080	output = &GetStaticIpOutput{}
9081	req = c.newRequest(op, input, output)
9082	return
9083}
9084
9085// GetStaticIp API operation for Amazon Lightsail.
9086//
9087// Returns information about a specific static IP.
9088//
9089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9090// with awserr.Error's Code and Message methods to get detailed information about
9091// the error.
9092//
9093// See the AWS API reference guide for Amazon Lightsail's
9094// API operation GetStaticIp for usage and error information.
9095//
9096// Returned Error Codes:
9097//   * ErrCodeServiceException "ServiceException"
9098//   A general service exception.
9099//
9100//   * ErrCodeInvalidInputException "InvalidInputException"
9101//   Lightsail throws this exception when user input does not conform to the validation
9102//   rules of an input field.
9103//
9104//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9105//   Please set your AWS Region configuration to us-east-1 to create, view, or
9106//   edit these resources.
9107//
9108//   * ErrCodeNotFoundException "NotFoundException"
9109//   Lightsail throws this exception when it cannot find a resource.
9110//
9111//   * ErrCodeOperationFailureException "OperationFailureException"
9112//   Lightsail throws this exception when an operation fails to execute.
9113//
9114//   * ErrCodeAccessDeniedException "AccessDeniedException"
9115//   Lightsail throws this exception when the user cannot be authenticated or
9116//   uses invalid credentials to access a resource.
9117//
9118//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9119//   Lightsail throws this exception when an account is still in the setup in
9120//   progress state.
9121//
9122//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9123//   Lightsail throws this exception when the user has not been authenticated.
9124//
9125// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp
9126func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) {
9127	req, out := c.GetStaticIpRequest(input)
9128	return out, req.Send()
9129}
9130
9131// GetStaticIpWithContext is the same as GetStaticIp with the addition of
9132// the ability to pass a context and additional request options.
9133//
9134// See GetStaticIp for details on how to use this API operation.
9135//
9136// The context must be non-nil and will be used for request cancellation. If
9137// the context is nil a panic will occur. In the future the SDK may create
9138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9139// for more information on using Contexts.
9140func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) {
9141	req, out := c.GetStaticIpRequest(input)
9142	req.SetContext(ctx)
9143	req.ApplyOptions(opts...)
9144	return out, req.Send()
9145}
9146
9147const opGetStaticIps = "GetStaticIps"
9148
9149// GetStaticIpsRequest generates a "aws/request.Request" representing the
9150// client's request for the GetStaticIps operation. The "output" return
9151// value will be populated with the request's response once the request completes
9152// successfully.
9153//
9154// Use "Send" method on the returned Request to send the API call to the service.
9155// the "output" return value is not valid until after Send returns without error.
9156//
9157// See GetStaticIps for more information on using the GetStaticIps
9158// API call, and error handling.
9159//
9160// This method is useful when you want to inject custom logic or configuration
9161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9162//
9163//
9164//    // Example sending a request using the GetStaticIpsRequest method.
9165//    req, resp := client.GetStaticIpsRequest(params)
9166//
9167//    err := req.Send()
9168//    if err == nil { // resp is now filled
9169//        fmt.Println(resp)
9170//    }
9171//
9172// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
9173func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) {
9174	op := &request.Operation{
9175		Name:       opGetStaticIps,
9176		HTTPMethod: "POST",
9177		HTTPPath:   "/",
9178	}
9179
9180	if input == nil {
9181		input = &GetStaticIpsInput{}
9182	}
9183
9184	output = &GetStaticIpsOutput{}
9185	req = c.newRequest(op, input, output)
9186	return
9187}
9188
9189// GetStaticIps API operation for Amazon Lightsail.
9190//
9191// Returns information about all static IPs in the user's account.
9192//
9193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9194// with awserr.Error's Code and Message methods to get detailed information about
9195// the error.
9196//
9197// See the AWS API reference guide for Amazon Lightsail's
9198// API operation GetStaticIps for usage and error information.
9199//
9200// Returned Error Codes:
9201//   * ErrCodeServiceException "ServiceException"
9202//   A general service exception.
9203//
9204//   * ErrCodeInvalidInputException "InvalidInputException"
9205//   Lightsail throws this exception when user input does not conform to the validation
9206//   rules of an input field.
9207//
9208//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9209//   Please set your AWS Region configuration to us-east-1 to create, view, or
9210//   edit these resources.
9211//
9212//   * ErrCodeNotFoundException "NotFoundException"
9213//   Lightsail throws this exception when it cannot find a resource.
9214//
9215//   * ErrCodeOperationFailureException "OperationFailureException"
9216//   Lightsail throws this exception when an operation fails to execute.
9217//
9218//   * ErrCodeAccessDeniedException "AccessDeniedException"
9219//   Lightsail throws this exception when the user cannot be authenticated or
9220//   uses invalid credentials to access a resource.
9221//
9222//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9223//   Lightsail throws this exception when an account is still in the setup in
9224//   progress state.
9225//
9226//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9227//   Lightsail throws this exception when the user has not been authenticated.
9228//
9229// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps
9230func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) {
9231	req, out := c.GetStaticIpsRequest(input)
9232	return out, req.Send()
9233}
9234
9235// GetStaticIpsWithContext is the same as GetStaticIps with the addition of
9236// the ability to pass a context and additional request options.
9237//
9238// See GetStaticIps for details on how to use this API operation.
9239//
9240// The context must be non-nil and will be used for request cancellation. If
9241// the context is nil a panic will occur. In the future the SDK may create
9242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9243// for more information on using Contexts.
9244func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) {
9245	req, out := c.GetStaticIpsRequest(input)
9246	req.SetContext(ctx)
9247	req.ApplyOptions(opts...)
9248	return out, req.Send()
9249}
9250
9251const opImportKeyPair = "ImportKeyPair"
9252
9253// ImportKeyPairRequest generates a "aws/request.Request" representing the
9254// client's request for the ImportKeyPair operation. The "output" return
9255// value will be populated with the request's response once the request completes
9256// successfully.
9257//
9258// Use "Send" method on the returned Request to send the API call to the service.
9259// the "output" return value is not valid until after Send returns without error.
9260//
9261// See ImportKeyPair for more information on using the ImportKeyPair
9262// API call, and error handling.
9263//
9264// This method is useful when you want to inject custom logic or configuration
9265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9266//
9267//
9268//    // Example sending a request using the ImportKeyPairRequest method.
9269//    req, resp := client.ImportKeyPairRequest(params)
9270//
9271//    err := req.Send()
9272//    if err == nil { // resp is now filled
9273//        fmt.Println(resp)
9274//    }
9275//
9276// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
9277func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
9278	op := &request.Operation{
9279		Name:       opImportKeyPair,
9280		HTTPMethod: "POST",
9281		HTTPPath:   "/",
9282	}
9283
9284	if input == nil {
9285		input = &ImportKeyPairInput{}
9286	}
9287
9288	output = &ImportKeyPairOutput{}
9289	req = c.newRequest(op, input, output)
9290	return
9291}
9292
9293// ImportKeyPair API operation for Amazon Lightsail.
9294//
9295// Imports a public SSH key from a specific key pair.
9296//
9297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9298// with awserr.Error's Code and Message methods to get detailed information about
9299// the error.
9300//
9301// See the AWS API reference guide for Amazon Lightsail's
9302// API operation ImportKeyPair for usage and error information.
9303//
9304// Returned Error Codes:
9305//   * ErrCodeServiceException "ServiceException"
9306//   A general service exception.
9307//
9308//   * ErrCodeInvalidInputException "InvalidInputException"
9309//   Lightsail throws this exception when user input does not conform to the validation
9310//   rules of an input field.
9311//
9312//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9313//   Please set your AWS Region configuration to us-east-1 to create, view, or
9314//   edit these resources.
9315//
9316//   * ErrCodeNotFoundException "NotFoundException"
9317//   Lightsail throws this exception when it cannot find a resource.
9318//
9319//   * ErrCodeOperationFailureException "OperationFailureException"
9320//   Lightsail throws this exception when an operation fails to execute.
9321//
9322//   * ErrCodeAccessDeniedException "AccessDeniedException"
9323//   Lightsail throws this exception when the user cannot be authenticated or
9324//   uses invalid credentials to access a resource.
9325//
9326//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9327//   Lightsail throws this exception when an account is still in the setup in
9328//   progress state.
9329//
9330//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9331//   Lightsail throws this exception when the user has not been authenticated.
9332//
9333// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair
9334func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
9335	req, out := c.ImportKeyPairRequest(input)
9336	return out, req.Send()
9337}
9338
9339// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
9340// the ability to pass a context and additional request options.
9341//
9342// See ImportKeyPair for details on how to use this API operation.
9343//
9344// The context must be non-nil and will be used for request cancellation. If
9345// the context is nil a panic will occur. In the future the SDK may create
9346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9347// for more information on using Contexts.
9348func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
9349	req, out := c.ImportKeyPairRequest(input)
9350	req.SetContext(ctx)
9351	req.ApplyOptions(opts...)
9352	return out, req.Send()
9353}
9354
9355const opIsVpcPeered = "IsVpcPeered"
9356
9357// IsVpcPeeredRequest generates a "aws/request.Request" representing the
9358// client's request for the IsVpcPeered operation. The "output" return
9359// value will be populated with the request's response once the request completes
9360// successfully.
9361//
9362// Use "Send" method on the returned Request to send the API call to the service.
9363// the "output" return value is not valid until after Send returns without error.
9364//
9365// See IsVpcPeered for more information on using the IsVpcPeered
9366// API call, and error handling.
9367//
9368// This method is useful when you want to inject custom logic or configuration
9369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9370//
9371//
9372//    // Example sending a request using the IsVpcPeeredRequest method.
9373//    req, resp := client.IsVpcPeeredRequest(params)
9374//
9375//    err := req.Send()
9376//    if err == nil { // resp is now filled
9377//        fmt.Println(resp)
9378//    }
9379//
9380// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
9381func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) {
9382	op := &request.Operation{
9383		Name:       opIsVpcPeered,
9384		HTTPMethod: "POST",
9385		HTTPPath:   "/",
9386	}
9387
9388	if input == nil {
9389		input = &IsVpcPeeredInput{}
9390	}
9391
9392	output = &IsVpcPeeredOutput{}
9393	req = c.newRequest(op, input, output)
9394	return
9395}
9396
9397// IsVpcPeered API operation for Amazon Lightsail.
9398//
9399// Returns a Boolean value indicating whether your Lightsail VPC is peered.
9400//
9401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9402// with awserr.Error's Code and Message methods to get detailed information about
9403// the error.
9404//
9405// See the AWS API reference guide for Amazon Lightsail's
9406// API operation IsVpcPeered for usage and error information.
9407//
9408// Returned Error Codes:
9409//   * ErrCodeServiceException "ServiceException"
9410//   A general service exception.
9411//
9412//   * ErrCodeInvalidInputException "InvalidInputException"
9413//   Lightsail throws this exception when user input does not conform to the validation
9414//   rules of an input field.
9415//
9416//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9417//   Please set your AWS Region configuration to us-east-1 to create, view, or
9418//   edit these resources.
9419//
9420//   * ErrCodeNotFoundException "NotFoundException"
9421//   Lightsail throws this exception when it cannot find a resource.
9422//
9423//   * ErrCodeOperationFailureException "OperationFailureException"
9424//   Lightsail throws this exception when an operation fails to execute.
9425//
9426//   * ErrCodeAccessDeniedException "AccessDeniedException"
9427//   Lightsail throws this exception when the user cannot be authenticated or
9428//   uses invalid credentials to access a resource.
9429//
9430//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9431//   Lightsail throws this exception when an account is still in the setup in
9432//   progress state.
9433//
9434//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9435//   Lightsail throws this exception when the user has not been authenticated.
9436//
9437// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered
9438func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) {
9439	req, out := c.IsVpcPeeredRequest(input)
9440	return out, req.Send()
9441}
9442
9443// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of
9444// the ability to pass a context and additional request options.
9445//
9446// See IsVpcPeered for details on how to use this API operation.
9447//
9448// The context must be non-nil and will be used for request cancellation. If
9449// the context is nil a panic will occur. In the future the SDK may create
9450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9451// for more information on using Contexts.
9452func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) {
9453	req, out := c.IsVpcPeeredRequest(input)
9454	req.SetContext(ctx)
9455	req.ApplyOptions(opts...)
9456	return out, req.Send()
9457}
9458
9459const opOpenInstancePublicPorts = "OpenInstancePublicPorts"
9460
9461// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the
9462// client's request for the OpenInstancePublicPorts operation. The "output" return
9463// value will be populated with the request's response once the request completes
9464// successfully.
9465//
9466// Use "Send" method on the returned Request to send the API call to the service.
9467// the "output" return value is not valid until after Send returns without error.
9468//
9469// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts
9470// API call, and error handling.
9471//
9472// This method is useful when you want to inject custom logic or configuration
9473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9474//
9475//
9476//    // Example sending a request using the OpenInstancePublicPortsRequest method.
9477//    req, resp := client.OpenInstancePublicPortsRequest(params)
9478//
9479//    err := req.Send()
9480//    if err == nil { // resp is now filled
9481//        fmt.Println(resp)
9482//    }
9483//
9484// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
9485func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) {
9486	op := &request.Operation{
9487		Name:       opOpenInstancePublicPorts,
9488		HTTPMethod: "POST",
9489		HTTPPath:   "/",
9490	}
9491
9492	if input == nil {
9493		input = &OpenInstancePublicPortsInput{}
9494	}
9495
9496	output = &OpenInstancePublicPortsOutput{}
9497	req = c.newRequest(op, input, output)
9498	return
9499}
9500
9501// OpenInstancePublicPorts API operation for Amazon Lightsail.
9502//
9503// Adds public ports to an Amazon Lightsail instance.
9504//
9505// The open instance public ports operation supports tag-based access control
9506// via resource tags applied to the resource identified by instance name. For
9507// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9508//
9509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9510// with awserr.Error's Code and Message methods to get detailed information about
9511// the error.
9512//
9513// See the AWS API reference guide for Amazon Lightsail's
9514// API operation OpenInstancePublicPorts for usage and error information.
9515//
9516// Returned Error Codes:
9517//   * ErrCodeServiceException "ServiceException"
9518//   A general service exception.
9519//
9520//   * ErrCodeInvalidInputException "InvalidInputException"
9521//   Lightsail throws this exception when user input does not conform to the validation
9522//   rules of an input field.
9523//
9524//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9525//   Please set your AWS Region configuration to us-east-1 to create, view, or
9526//   edit these resources.
9527//
9528//   * ErrCodeNotFoundException "NotFoundException"
9529//   Lightsail throws this exception when it cannot find a resource.
9530//
9531//   * ErrCodeOperationFailureException "OperationFailureException"
9532//   Lightsail throws this exception when an operation fails to execute.
9533//
9534//   * ErrCodeAccessDeniedException "AccessDeniedException"
9535//   Lightsail throws this exception when the user cannot be authenticated or
9536//   uses invalid credentials to access a resource.
9537//
9538//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9539//   Lightsail throws this exception when an account is still in the setup in
9540//   progress state.
9541//
9542//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9543//   Lightsail throws this exception when the user has not been authenticated.
9544//
9545// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts
9546func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) {
9547	req, out := c.OpenInstancePublicPortsRequest(input)
9548	return out, req.Send()
9549}
9550
9551// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of
9552// the ability to pass a context and additional request options.
9553//
9554// See OpenInstancePublicPorts for details on how to use this API operation.
9555//
9556// The context must be non-nil and will be used for request cancellation. If
9557// the context is nil a panic will occur. In the future the SDK may create
9558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9559// for more information on using Contexts.
9560func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) {
9561	req, out := c.OpenInstancePublicPortsRequest(input)
9562	req.SetContext(ctx)
9563	req.ApplyOptions(opts...)
9564	return out, req.Send()
9565}
9566
9567const opPeerVpc = "PeerVpc"
9568
9569// PeerVpcRequest generates a "aws/request.Request" representing the
9570// client's request for the PeerVpc operation. The "output" return
9571// value will be populated with the request's response once the request completes
9572// successfully.
9573//
9574// Use "Send" method on the returned Request to send the API call to the service.
9575// the "output" return value is not valid until after Send returns without error.
9576//
9577// See PeerVpc for more information on using the PeerVpc
9578// API call, and error handling.
9579//
9580// This method is useful when you want to inject custom logic or configuration
9581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9582//
9583//
9584//    // Example sending a request using the PeerVpcRequest method.
9585//    req, resp := client.PeerVpcRequest(params)
9586//
9587//    err := req.Send()
9588//    if err == nil { // resp is now filled
9589//        fmt.Println(resp)
9590//    }
9591//
9592// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
9593func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) {
9594	op := &request.Operation{
9595		Name:       opPeerVpc,
9596		HTTPMethod: "POST",
9597		HTTPPath:   "/",
9598	}
9599
9600	if input == nil {
9601		input = &PeerVpcInput{}
9602	}
9603
9604	output = &PeerVpcOutput{}
9605	req = c.newRequest(op, input, output)
9606	return
9607}
9608
9609// PeerVpc API operation for Amazon Lightsail.
9610//
9611// Tries to peer the Lightsail VPC with the user's default VPC.
9612//
9613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9614// with awserr.Error's Code and Message methods to get detailed information about
9615// the error.
9616//
9617// See the AWS API reference guide for Amazon Lightsail's
9618// API operation PeerVpc for usage and error information.
9619//
9620// Returned Error Codes:
9621//   * ErrCodeServiceException "ServiceException"
9622//   A general service exception.
9623//
9624//   * ErrCodeInvalidInputException "InvalidInputException"
9625//   Lightsail throws this exception when user input does not conform to the validation
9626//   rules of an input field.
9627//
9628//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9629//   Please set your AWS Region configuration to us-east-1 to create, view, or
9630//   edit these resources.
9631//
9632//   * ErrCodeNotFoundException "NotFoundException"
9633//   Lightsail throws this exception when it cannot find a resource.
9634//
9635//   * ErrCodeOperationFailureException "OperationFailureException"
9636//   Lightsail throws this exception when an operation fails to execute.
9637//
9638//   * ErrCodeAccessDeniedException "AccessDeniedException"
9639//   Lightsail throws this exception when the user cannot be authenticated or
9640//   uses invalid credentials to access a resource.
9641//
9642//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9643//   Lightsail throws this exception when an account is still in the setup in
9644//   progress state.
9645//
9646//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9647//   Lightsail throws this exception when the user has not been authenticated.
9648//
9649// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc
9650func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) {
9651	req, out := c.PeerVpcRequest(input)
9652	return out, req.Send()
9653}
9654
9655// PeerVpcWithContext is the same as PeerVpc with the addition of
9656// the ability to pass a context and additional request options.
9657//
9658// See PeerVpc for details on how to use this API operation.
9659//
9660// The context must be non-nil and will be used for request cancellation. If
9661// the context is nil a panic will occur. In the future the SDK may create
9662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9663// for more information on using Contexts.
9664func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) {
9665	req, out := c.PeerVpcRequest(input)
9666	req.SetContext(ctx)
9667	req.ApplyOptions(opts...)
9668	return out, req.Send()
9669}
9670
9671const opPutInstancePublicPorts = "PutInstancePublicPorts"
9672
9673// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the
9674// client's request for the PutInstancePublicPorts operation. The "output" return
9675// value will be populated with the request's response once the request completes
9676// successfully.
9677//
9678// Use "Send" method on the returned Request to send the API call to the service.
9679// the "output" return value is not valid until after Send returns without error.
9680//
9681// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts
9682// API call, and error handling.
9683//
9684// This method is useful when you want to inject custom logic or configuration
9685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9686//
9687//
9688//    // Example sending a request using the PutInstancePublicPortsRequest method.
9689//    req, resp := client.PutInstancePublicPortsRequest(params)
9690//
9691//    err := req.Send()
9692//    if err == nil { // resp is now filled
9693//        fmt.Println(resp)
9694//    }
9695//
9696// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
9697func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) {
9698	op := &request.Operation{
9699		Name:       opPutInstancePublicPorts,
9700		HTTPMethod: "POST",
9701		HTTPPath:   "/",
9702	}
9703
9704	if input == nil {
9705		input = &PutInstancePublicPortsInput{}
9706	}
9707
9708	output = &PutInstancePublicPortsOutput{}
9709	req = c.newRequest(op, input, output)
9710	return
9711}
9712
9713// PutInstancePublicPorts API operation for Amazon Lightsail.
9714//
9715// Sets the specified open ports for an Amazon Lightsail instance, and closes
9716// all ports for every protocol not included in the current request.
9717//
9718// The put instance public ports operation supports tag-based access control
9719// via resource tags applied to the resource identified by instance name. For
9720// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9721//
9722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9723// with awserr.Error's Code and Message methods to get detailed information about
9724// the error.
9725//
9726// See the AWS API reference guide for Amazon Lightsail's
9727// API operation PutInstancePublicPorts for usage and error information.
9728//
9729// Returned Error Codes:
9730//   * ErrCodeServiceException "ServiceException"
9731//   A general service exception.
9732//
9733//   * ErrCodeInvalidInputException "InvalidInputException"
9734//   Lightsail throws this exception when user input does not conform to the validation
9735//   rules of an input field.
9736//
9737//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9738//   Please set your AWS Region configuration to us-east-1 to create, view, or
9739//   edit these resources.
9740//
9741//   * ErrCodeNotFoundException "NotFoundException"
9742//   Lightsail throws this exception when it cannot find a resource.
9743//
9744//   * ErrCodeOperationFailureException "OperationFailureException"
9745//   Lightsail throws this exception when an operation fails to execute.
9746//
9747//   * ErrCodeAccessDeniedException "AccessDeniedException"
9748//   Lightsail throws this exception when the user cannot be authenticated or
9749//   uses invalid credentials to access a resource.
9750//
9751//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9752//   Lightsail throws this exception when an account is still in the setup in
9753//   progress state.
9754//
9755//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9756//   Lightsail throws this exception when the user has not been authenticated.
9757//
9758// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts
9759func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) {
9760	req, out := c.PutInstancePublicPortsRequest(input)
9761	return out, req.Send()
9762}
9763
9764// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of
9765// the ability to pass a context and additional request options.
9766//
9767// See PutInstancePublicPorts for details on how to use this API operation.
9768//
9769// The context must be non-nil and will be used for request cancellation. If
9770// the context is nil a panic will occur. In the future the SDK may create
9771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9772// for more information on using Contexts.
9773func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) {
9774	req, out := c.PutInstancePublicPortsRequest(input)
9775	req.SetContext(ctx)
9776	req.ApplyOptions(opts...)
9777	return out, req.Send()
9778}
9779
9780const opRebootInstance = "RebootInstance"
9781
9782// RebootInstanceRequest generates a "aws/request.Request" representing the
9783// client's request for the RebootInstance operation. The "output" return
9784// value will be populated with the request's response once the request completes
9785// successfully.
9786//
9787// Use "Send" method on the returned Request to send the API call to the service.
9788// the "output" return value is not valid until after Send returns without error.
9789//
9790// See RebootInstance for more information on using the RebootInstance
9791// API call, and error handling.
9792//
9793// This method is useful when you want to inject custom logic or configuration
9794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9795//
9796//
9797//    // Example sending a request using the RebootInstanceRequest method.
9798//    req, resp := client.RebootInstanceRequest(params)
9799//
9800//    err := req.Send()
9801//    if err == nil { // resp is now filled
9802//        fmt.Println(resp)
9803//    }
9804//
9805// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
9806func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) {
9807	op := &request.Operation{
9808		Name:       opRebootInstance,
9809		HTTPMethod: "POST",
9810		HTTPPath:   "/",
9811	}
9812
9813	if input == nil {
9814		input = &RebootInstanceInput{}
9815	}
9816
9817	output = &RebootInstanceOutput{}
9818	req = c.newRequest(op, input, output)
9819	return
9820}
9821
9822// RebootInstance API operation for Amazon Lightsail.
9823//
9824// Restarts a specific instance.
9825//
9826// The reboot instance operation supports tag-based access control via resource
9827// tags applied to the resource identified by instance name. For more information,
9828// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9829//
9830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9831// with awserr.Error's Code and Message methods to get detailed information about
9832// the error.
9833//
9834// See the AWS API reference guide for Amazon Lightsail's
9835// API operation RebootInstance for usage and error information.
9836//
9837// Returned Error Codes:
9838//   * ErrCodeServiceException "ServiceException"
9839//   A general service exception.
9840//
9841//   * ErrCodeInvalidInputException "InvalidInputException"
9842//   Lightsail throws this exception when user input does not conform to the validation
9843//   rules of an input field.
9844//
9845//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9846//   Please set your AWS Region configuration to us-east-1 to create, view, or
9847//   edit these resources.
9848//
9849//   * ErrCodeNotFoundException "NotFoundException"
9850//   Lightsail throws this exception when it cannot find a resource.
9851//
9852//   * ErrCodeOperationFailureException "OperationFailureException"
9853//   Lightsail throws this exception when an operation fails to execute.
9854//
9855//   * ErrCodeAccessDeniedException "AccessDeniedException"
9856//   Lightsail throws this exception when the user cannot be authenticated or
9857//   uses invalid credentials to access a resource.
9858//
9859//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9860//   Lightsail throws this exception when an account is still in the setup in
9861//   progress state.
9862//
9863//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9864//   Lightsail throws this exception when the user has not been authenticated.
9865//
9866// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance
9867func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) {
9868	req, out := c.RebootInstanceRequest(input)
9869	return out, req.Send()
9870}
9871
9872// RebootInstanceWithContext is the same as RebootInstance with the addition of
9873// the ability to pass a context and additional request options.
9874//
9875// See RebootInstance for details on how to use this API operation.
9876//
9877// The context must be non-nil and will be used for request cancellation. If
9878// the context is nil a panic will occur. In the future the SDK may create
9879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9880// for more information on using Contexts.
9881func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) {
9882	req, out := c.RebootInstanceRequest(input)
9883	req.SetContext(ctx)
9884	req.ApplyOptions(opts...)
9885	return out, req.Send()
9886}
9887
9888const opRebootRelationalDatabase = "RebootRelationalDatabase"
9889
9890// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the
9891// client's request for the RebootRelationalDatabase operation. The "output" return
9892// value will be populated with the request's response once the request completes
9893// successfully.
9894//
9895// Use "Send" method on the returned Request to send the API call to the service.
9896// the "output" return value is not valid until after Send returns without error.
9897//
9898// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase
9899// API call, and error handling.
9900//
9901// This method is useful when you want to inject custom logic or configuration
9902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9903//
9904//
9905//    // Example sending a request using the RebootRelationalDatabaseRequest method.
9906//    req, resp := client.RebootRelationalDatabaseRequest(params)
9907//
9908//    err := req.Send()
9909//    if err == nil { // resp is now filled
9910//        fmt.Println(resp)
9911//    }
9912//
9913// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
9914func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) {
9915	op := &request.Operation{
9916		Name:       opRebootRelationalDatabase,
9917		HTTPMethod: "POST",
9918		HTTPPath:   "/",
9919	}
9920
9921	if input == nil {
9922		input = &RebootRelationalDatabaseInput{}
9923	}
9924
9925	output = &RebootRelationalDatabaseOutput{}
9926	req = c.newRequest(op, input, output)
9927	return
9928}
9929
9930// RebootRelationalDatabase API operation for Amazon Lightsail.
9931//
9932// Restarts a specific database in Amazon Lightsail.
9933//
9934// The reboot relational database operation supports tag-based access control
9935// via resource tags applied to the resource identified by relationalDatabaseName.
9936// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
9937//
9938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9939// with awserr.Error's Code and Message methods to get detailed information about
9940// the error.
9941//
9942// See the AWS API reference guide for Amazon Lightsail's
9943// API operation RebootRelationalDatabase for usage and error information.
9944//
9945// Returned Error Codes:
9946//   * ErrCodeServiceException "ServiceException"
9947//   A general service exception.
9948//
9949//   * ErrCodeInvalidInputException "InvalidInputException"
9950//   Lightsail throws this exception when user input does not conform to the validation
9951//   rules of an input field.
9952//
9953//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
9954//   Please set your AWS Region configuration to us-east-1 to create, view, or
9955//   edit these resources.
9956//
9957//   * ErrCodeNotFoundException "NotFoundException"
9958//   Lightsail throws this exception when it cannot find a resource.
9959//
9960//   * ErrCodeOperationFailureException "OperationFailureException"
9961//   Lightsail throws this exception when an operation fails to execute.
9962//
9963//   * ErrCodeAccessDeniedException "AccessDeniedException"
9964//   Lightsail throws this exception when the user cannot be authenticated or
9965//   uses invalid credentials to access a resource.
9966//
9967//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
9968//   Lightsail throws this exception when an account is still in the setup in
9969//   progress state.
9970//
9971//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
9972//   Lightsail throws this exception when the user has not been authenticated.
9973//
9974// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase
9975func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) {
9976	req, out := c.RebootRelationalDatabaseRequest(input)
9977	return out, req.Send()
9978}
9979
9980// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of
9981// the ability to pass a context and additional request options.
9982//
9983// See RebootRelationalDatabase for details on how to use this API operation.
9984//
9985// The context must be non-nil and will be used for request cancellation. If
9986// the context is nil a panic will occur. In the future the SDK may create
9987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9988// for more information on using Contexts.
9989func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) {
9990	req, out := c.RebootRelationalDatabaseRequest(input)
9991	req.SetContext(ctx)
9992	req.ApplyOptions(opts...)
9993	return out, req.Send()
9994}
9995
9996const opReleaseStaticIp = "ReleaseStaticIp"
9997
9998// ReleaseStaticIpRequest generates a "aws/request.Request" representing the
9999// client's request for the ReleaseStaticIp operation. The "output" return
10000// value will be populated with the request's response once the request completes
10001// successfully.
10002//
10003// Use "Send" method on the returned Request to send the API call to the service.
10004// the "output" return value is not valid until after Send returns without error.
10005//
10006// See ReleaseStaticIp for more information on using the ReleaseStaticIp
10007// API call, and error handling.
10008//
10009// This method is useful when you want to inject custom logic or configuration
10010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10011//
10012//
10013//    // Example sending a request using the ReleaseStaticIpRequest method.
10014//    req, resp := client.ReleaseStaticIpRequest(params)
10015//
10016//    err := req.Send()
10017//    if err == nil { // resp is now filled
10018//        fmt.Println(resp)
10019//    }
10020//
10021// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
10022func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) {
10023	op := &request.Operation{
10024		Name:       opReleaseStaticIp,
10025		HTTPMethod: "POST",
10026		HTTPPath:   "/",
10027	}
10028
10029	if input == nil {
10030		input = &ReleaseStaticIpInput{}
10031	}
10032
10033	output = &ReleaseStaticIpOutput{}
10034	req = c.newRequest(op, input, output)
10035	return
10036}
10037
10038// ReleaseStaticIp API operation for Amazon Lightsail.
10039//
10040// Deletes a specific static IP from your account.
10041//
10042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10043// with awserr.Error's Code and Message methods to get detailed information about
10044// the error.
10045//
10046// See the AWS API reference guide for Amazon Lightsail's
10047// API operation ReleaseStaticIp for usage and error information.
10048//
10049// Returned Error Codes:
10050//   * ErrCodeServiceException "ServiceException"
10051//   A general service exception.
10052//
10053//   * ErrCodeInvalidInputException "InvalidInputException"
10054//   Lightsail throws this exception when user input does not conform to the validation
10055//   rules of an input field.
10056//
10057//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10058//   Please set your AWS Region configuration to us-east-1 to create, view, or
10059//   edit these resources.
10060//
10061//   * ErrCodeNotFoundException "NotFoundException"
10062//   Lightsail throws this exception when it cannot find a resource.
10063//
10064//   * ErrCodeOperationFailureException "OperationFailureException"
10065//   Lightsail throws this exception when an operation fails to execute.
10066//
10067//   * ErrCodeAccessDeniedException "AccessDeniedException"
10068//   Lightsail throws this exception when the user cannot be authenticated or
10069//   uses invalid credentials to access a resource.
10070//
10071//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10072//   Lightsail throws this exception when an account is still in the setup in
10073//   progress state.
10074//
10075//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10076//   Lightsail throws this exception when the user has not been authenticated.
10077//
10078// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp
10079func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) {
10080	req, out := c.ReleaseStaticIpRequest(input)
10081	return out, req.Send()
10082}
10083
10084// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of
10085// the ability to pass a context and additional request options.
10086//
10087// See ReleaseStaticIp for details on how to use this API operation.
10088//
10089// The context must be non-nil and will be used for request cancellation. If
10090// the context is nil a panic will occur. In the future the SDK may create
10091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10092// for more information on using Contexts.
10093func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) {
10094	req, out := c.ReleaseStaticIpRequest(input)
10095	req.SetContext(ctx)
10096	req.ApplyOptions(opts...)
10097	return out, req.Send()
10098}
10099
10100const opStartInstance = "StartInstance"
10101
10102// StartInstanceRequest generates a "aws/request.Request" representing the
10103// client's request for the StartInstance operation. The "output" return
10104// value will be populated with the request's response once the request completes
10105// successfully.
10106//
10107// Use "Send" method on the returned Request to send the API call to the service.
10108// the "output" return value is not valid until after Send returns without error.
10109//
10110// See StartInstance for more information on using the StartInstance
10111// API call, and error handling.
10112//
10113// This method is useful when you want to inject custom logic or configuration
10114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10115//
10116//
10117//    // Example sending a request using the StartInstanceRequest method.
10118//    req, resp := client.StartInstanceRequest(params)
10119//
10120//    err := req.Send()
10121//    if err == nil { // resp is now filled
10122//        fmt.Println(resp)
10123//    }
10124//
10125// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
10126func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) {
10127	op := &request.Operation{
10128		Name:       opStartInstance,
10129		HTTPMethod: "POST",
10130		HTTPPath:   "/",
10131	}
10132
10133	if input == nil {
10134		input = &StartInstanceInput{}
10135	}
10136
10137	output = &StartInstanceOutput{}
10138	req = c.newRequest(op, input, output)
10139	return
10140}
10141
10142// StartInstance API operation for Amazon Lightsail.
10143//
10144// Starts a specific Amazon Lightsail instance from a stopped state. To restart
10145// an instance, use the reboot instance operation.
10146//
10147// When you start a stopped instance, Lightsail assigns a new public IP address
10148// to the instance. To use the same IP address after stopping and starting an
10149// instance, create a static IP address and attach it to the instance. For more
10150// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
10151//
10152// The start instance operation supports tag-based access control via resource
10153// tags applied to the resource identified by instance name. For more information,
10154// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10155//
10156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10157// with awserr.Error's Code and Message methods to get detailed information about
10158// the error.
10159//
10160// See the AWS API reference guide for Amazon Lightsail's
10161// API operation StartInstance for usage and error information.
10162//
10163// Returned Error Codes:
10164//   * ErrCodeServiceException "ServiceException"
10165//   A general service exception.
10166//
10167//   * ErrCodeInvalidInputException "InvalidInputException"
10168//   Lightsail throws this exception when user input does not conform to the validation
10169//   rules of an input field.
10170//
10171//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10172//   Please set your AWS Region configuration to us-east-1 to create, view, or
10173//   edit these resources.
10174//
10175//   * ErrCodeNotFoundException "NotFoundException"
10176//   Lightsail throws this exception when it cannot find a resource.
10177//
10178//   * ErrCodeOperationFailureException "OperationFailureException"
10179//   Lightsail throws this exception when an operation fails to execute.
10180//
10181//   * ErrCodeAccessDeniedException "AccessDeniedException"
10182//   Lightsail throws this exception when the user cannot be authenticated or
10183//   uses invalid credentials to access a resource.
10184//
10185//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10186//   Lightsail throws this exception when an account is still in the setup in
10187//   progress state.
10188//
10189//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10190//   Lightsail throws this exception when the user has not been authenticated.
10191//
10192// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance
10193func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) {
10194	req, out := c.StartInstanceRequest(input)
10195	return out, req.Send()
10196}
10197
10198// StartInstanceWithContext is the same as StartInstance with the addition of
10199// the ability to pass a context and additional request options.
10200//
10201// See StartInstance for details on how to use this API operation.
10202//
10203// The context must be non-nil and will be used for request cancellation. If
10204// the context is nil a panic will occur. In the future the SDK may create
10205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10206// for more information on using Contexts.
10207func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) {
10208	req, out := c.StartInstanceRequest(input)
10209	req.SetContext(ctx)
10210	req.ApplyOptions(opts...)
10211	return out, req.Send()
10212}
10213
10214const opStartRelationalDatabase = "StartRelationalDatabase"
10215
10216// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the
10217// client's request for the StartRelationalDatabase operation. The "output" return
10218// value will be populated with the request's response once the request completes
10219// successfully.
10220//
10221// Use "Send" method on the returned Request to send the API call to the service.
10222// the "output" return value is not valid until after Send returns without error.
10223//
10224// See StartRelationalDatabase for more information on using the StartRelationalDatabase
10225// API call, and error handling.
10226//
10227// This method is useful when you want to inject custom logic or configuration
10228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10229//
10230//
10231//    // Example sending a request using the StartRelationalDatabaseRequest method.
10232//    req, resp := client.StartRelationalDatabaseRequest(params)
10233//
10234//    err := req.Send()
10235//    if err == nil { // resp is now filled
10236//        fmt.Println(resp)
10237//    }
10238//
10239// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
10240func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) {
10241	op := &request.Operation{
10242		Name:       opStartRelationalDatabase,
10243		HTTPMethod: "POST",
10244		HTTPPath:   "/",
10245	}
10246
10247	if input == nil {
10248		input = &StartRelationalDatabaseInput{}
10249	}
10250
10251	output = &StartRelationalDatabaseOutput{}
10252	req = c.newRequest(op, input, output)
10253	return
10254}
10255
10256// StartRelationalDatabase API operation for Amazon Lightsail.
10257//
10258// Starts a specific database from a stopped state in Amazon Lightsail. To restart
10259// a database, use the reboot relational database operation.
10260//
10261// The start relational database operation supports tag-based access control
10262// via resource tags applied to the resource identified by relationalDatabaseName.
10263// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10264//
10265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10266// with awserr.Error's Code and Message methods to get detailed information about
10267// the error.
10268//
10269// See the AWS API reference guide for Amazon Lightsail's
10270// API operation StartRelationalDatabase for usage and error information.
10271//
10272// Returned Error Codes:
10273//   * ErrCodeServiceException "ServiceException"
10274//   A general service exception.
10275//
10276//   * ErrCodeInvalidInputException "InvalidInputException"
10277//   Lightsail throws this exception when user input does not conform to the validation
10278//   rules of an input field.
10279//
10280//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10281//   Please set your AWS Region configuration to us-east-1 to create, view, or
10282//   edit these resources.
10283//
10284//   * ErrCodeNotFoundException "NotFoundException"
10285//   Lightsail throws this exception when it cannot find a resource.
10286//
10287//   * ErrCodeOperationFailureException "OperationFailureException"
10288//   Lightsail throws this exception when an operation fails to execute.
10289//
10290//   * ErrCodeAccessDeniedException "AccessDeniedException"
10291//   Lightsail throws this exception when the user cannot be authenticated or
10292//   uses invalid credentials to access a resource.
10293//
10294//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10295//   Lightsail throws this exception when an account is still in the setup in
10296//   progress state.
10297//
10298//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10299//   Lightsail throws this exception when the user has not been authenticated.
10300//
10301// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase
10302func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) {
10303	req, out := c.StartRelationalDatabaseRequest(input)
10304	return out, req.Send()
10305}
10306
10307// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of
10308// the ability to pass a context and additional request options.
10309//
10310// See StartRelationalDatabase for details on how to use this API operation.
10311//
10312// The context must be non-nil and will be used for request cancellation. If
10313// the context is nil a panic will occur. In the future the SDK may create
10314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10315// for more information on using Contexts.
10316func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) {
10317	req, out := c.StartRelationalDatabaseRequest(input)
10318	req.SetContext(ctx)
10319	req.ApplyOptions(opts...)
10320	return out, req.Send()
10321}
10322
10323const opStopInstance = "StopInstance"
10324
10325// StopInstanceRequest generates a "aws/request.Request" representing the
10326// client's request for the StopInstance operation. The "output" return
10327// value will be populated with the request's response once the request completes
10328// successfully.
10329//
10330// Use "Send" method on the returned Request to send the API call to the service.
10331// the "output" return value is not valid until after Send returns without error.
10332//
10333// See StopInstance for more information on using the StopInstance
10334// API call, and error handling.
10335//
10336// This method is useful when you want to inject custom logic or configuration
10337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10338//
10339//
10340//    // Example sending a request using the StopInstanceRequest method.
10341//    req, resp := client.StopInstanceRequest(params)
10342//
10343//    err := req.Send()
10344//    if err == nil { // resp is now filled
10345//        fmt.Println(resp)
10346//    }
10347//
10348// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
10349func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) {
10350	op := &request.Operation{
10351		Name:       opStopInstance,
10352		HTTPMethod: "POST",
10353		HTTPPath:   "/",
10354	}
10355
10356	if input == nil {
10357		input = &StopInstanceInput{}
10358	}
10359
10360	output = &StopInstanceOutput{}
10361	req = c.newRequest(op, input, output)
10362	return
10363}
10364
10365// StopInstance API operation for Amazon Lightsail.
10366//
10367// Stops a specific Amazon Lightsail instance that is currently running.
10368//
10369// When you start a stopped instance, Lightsail assigns a new public IP address
10370// to the instance. To use the same IP address after stopping and starting an
10371// instance, create a static IP address and attach it to the instance. For more
10372// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip).
10373//
10374// The stop instance operation supports tag-based access control via resource
10375// tags applied to the resource identified by instance name. For more information,
10376// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10377//
10378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10379// with awserr.Error's Code and Message methods to get detailed information about
10380// the error.
10381//
10382// See the AWS API reference guide for Amazon Lightsail's
10383// API operation StopInstance for usage and error information.
10384//
10385// Returned Error Codes:
10386//   * ErrCodeServiceException "ServiceException"
10387//   A general service exception.
10388//
10389//   * ErrCodeInvalidInputException "InvalidInputException"
10390//   Lightsail throws this exception when user input does not conform to the validation
10391//   rules of an input field.
10392//
10393//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10394//   Please set your AWS Region configuration to us-east-1 to create, view, or
10395//   edit these resources.
10396//
10397//   * ErrCodeNotFoundException "NotFoundException"
10398//   Lightsail throws this exception when it cannot find a resource.
10399//
10400//   * ErrCodeOperationFailureException "OperationFailureException"
10401//   Lightsail throws this exception when an operation fails to execute.
10402//
10403//   * ErrCodeAccessDeniedException "AccessDeniedException"
10404//   Lightsail throws this exception when the user cannot be authenticated or
10405//   uses invalid credentials to access a resource.
10406//
10407//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10408//   Lightsail throws this exception when an account is still in the setup in
10409//   progress state.
10410//
10411//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10412//   Lightsail throws this exception when the user has not been authenticated.
10413//
10414// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance
10415func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) {
10416	req, out := c.StopInstanceRequest(input)
10417	return out, req.Send()
10418}
10419
10420// StopInstanceWithContext is the same as StopInstance with the addition of
10421// the ability to pass a context and additional request options.
10422//
10423// See StopInstance for details on how to use this API operation.
10424//
10425// The context must be non-nil and will be used for request cancellation. If
10426// the context is nil a panic will occur. In the future the SDK may create
10427// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10428// for more information on using Contexts.
10429func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) {
10430	req, out := c.StopInstanceRequest(input)
10431	req.SetContext(ctx)
10432	req.ApplyOptions(opts...)
10433	return out, req.Send()
10434}
10435
10436const opStopRelationalDatabase = "StopRelationalDatabase"
10437
10438// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the
10439// client's request for the StopRelationalDatabase operation. The "output" return
10440// value will be populated with the request's response once the request completes
10441// successfully.
10442//
10443// Use "Send" method on the returned Request to send the API call to the service.
10444// the "output" return value is not valid until after Send returns without error.
10445//
10446// See StopRelationalDatabase for more information on using the StopRelationalDatabase
10447// API call, and error handling.
10448//
10449// This method is useful when you want to inject custom logic or configuration
10450// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10451//
10452//
10453//    // Example sending a request using the StopRelationalDatabaseRequest method.
10454//    req, resp := client.StopRelationalDatabaseRequest(params)
10455//
10456//    err := req.Send()
10457//    if err == nil { // resp is now filled
10458//        fmt.Println(resp)
10459//    }
10460//
10461// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
10462func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) {
10463	op := &request.Operation{
10464		Name:       opStopRelationalDatabase,
10465		HTTPMethod: "POST",
10466		HTTPPath:   "/",
10467	}
10468
10469	if input == nil {
10470		input = &StopRelationalDatabaseInput{}
10471	}
10472
10473	output = &StopRelationalDatabaseOutput{}
10474	req = c.newRequest(op, input, output)
10475	return
10476}
10477
10478// StopRelationalDatabase API operation for Amazon Lightsail.
10479//
10480// Stops a specific database that is currently running in Amazon Lightsail.
10481//
10482// The stop relational database operation supports tag-based access control
10483// via resource tags applied to the resource identified by relationalDatabaseName.
10484// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10485//
10486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10487// with awserr.Error's Code and Message methods to get detailed information about
10488// the error.
10489//
10490// See the AWS API reference guide for Amazon Lightsail's
10491// API operation StopRelationalDatabase for usage and error information.
10492//
10493// Returned Error Codes:
10494//   * ErrCodeServiceException "ServiceException"
10495//   A general service exception.
10496//
10497//   * ErrCodeInvalidInputException "InvalidInputException"
10498//   Lightsail throws this exception when user input does not conform to the validation
10499//   rules of an input field.
10500//
10501//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10502//   Please set your AWS Region configuration to us-east-1 to create, view, or
10503//   edit these resources.
10504//
10505//   * ErrCodeNotFoundException "NotFoundException"
10506//   Lightsail throws this exception when it cannot find a resource.
10507//
10508//   * ErrCodeOperationFailureException "OperationFailureException"
10509//   Lightsail throws this exception when an operation fails to execute.
10510//
10511//   * ErrCodeAccessDeniedException "AccessDeniedException"
10512//   Lightsail throws this exception when the user cannot be authenticated or
10513//   uses invalid credentials to access a resource.
10514//
10515//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10516//   Lightsail throws this exception when an account is still in the setup in
10517//   progress state.
10518//
10519//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10520//   Lightsail throws this exception when the user has not been authenticated.
10521//
10522// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase
10523func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) {
10524	req, out := c.StopRelationalDatabaseRequest(input)
10525	return out, req.Send()
10526}
10527
10528// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of
10529// the ability to pass a context and additional request options.
10530//
10531// See StopRelationalDatabase for details on how to use this API operation.
10532//
10533// The context must be non-nil and will be used for request cancellation. If
10534// the context is nil a panic will occur. In the future the SDK may create
10535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10536// for more information on using Contexts.
10537func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) {
10538	req, out := c.StopRelationalDatabaseRequest(input)
10539	req.SetContext(ctx)
10540	req.ApplyOptions(opts...)
10541	return out, req.Send()
10542}
10543
10544const opTagResource = "TagResource"
10545
10546// TagResourceRequest generates a "aws/request.Request" representing the
10547// client's request for the TagResource operation. The "output" return
10548// value will be populated with the request's response once the request completes
10549// successfully.
10550//
10551// Use "Send" method on the returned Request to send the API call to the service.
10552// the "output" return value is not valid until after Send returns without error.
10553//
10554// See TagResource for more information on using the TagResource
10555// API call, and error handling.
10556//
10557// This method is useful when you want to inject custom logic or configuration
10558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10559//
10560//
10561//    // Example sending a request using the TagResourceRequest method.
10562//    req, resp := client.TagResourceRequest(params)
10563//
10564//    err := req.Send()
10565//    if err == nil { // resp is now filled
10566//        fmt.Println(resp)
10567//    }
10568//
10569// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
10570func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
10571	op := &request.Operation{
10572		Name:       opTagResource,
10573		HTTPMethod: "POST",
10574		HTTPPath:   "/",
10575	}
10576
10577	if input == nil {
10578		input = &TagResourceInput{}
10579	}
10580
10581	output = &TagResourceOutput{}
10582	req = c.newRequest(op, input, output)
10583	return
10584}
10585
10586// TagResource API operation for Amazon Lightsail.
10587//
10588// Adds one or more tags to the specified Amazon Lightsail resource. Each resource
10589// can have a maximum of 50 tags. Each tag consists of a key and an optional
10590// value. Tag keys must be unique per resource. For more information about tags,
10591// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
10592//
10593// The tag resource operation supports tag-based access control via request
10594// tags and resource tags applied to the resource identified by resource name.
10595// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10596//
10597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10598// with awserr.Error's Code and Message methods to get detailed information about
10599// the error.
10600//
10601// See the AWS API reference guide for Amazon Lightsail's
10602// API operation TagResource for usage and error information.
10603//
10604// Returned Error Codes:
10605//   * ErrCodeServiceException "ServiceException"
10606//   A general service exception.
10607//
10608//   * ErrCodeInvalidInputException "InvalidInputException"
10609//   Lightsail throws this exception when user input does not conform to the validation
10610//   rules of an input field.
10611//
10612//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10613//   Please set your AWS Region configuration to us-east-1 to create, view, or
10614//   edit these resources.
10615//
10616//   * ErrCodeNotFoundException "NotFoundException"
10617//   Lightsail throws this exception when it cannot find a resource.
10618//
10619//   * ErrCodeOperationFailureException "OperationFailureException"
10620//   Lightsail throws this exception when an operation fails to execute.
10621//
10622//   * ErrCodeAccessDeniedException "AccessDeniedException"
10623//   Lightsail throws this exception when the user cannot be authenticated or
10624//   uses invalid credentials to access a resource.
10625//
10626//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10627//   Lightsail throws this exception when an account is still in the setup in
10628//   progress state.
10629//
10630//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10631//   Lightsail throws this exception when the user has not been authenticated.
10632//
10633// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource
10634func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
10635	req, out := c.TagResourceRequest(input)
10636	return out, req.Send()
10637}
10638
10639// TagResourceWithContext is the same as TagResource with the addition of
10640// the ability to pass a context and additional request options.
10641//
10642// See TagResource for details on how to use this API operation.
10643//
10644// The context must be non-nil and will be used for request cancellation. If
10645// the context is nil a panic will occur. In the future the SDK may create
10646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10647// for more information on using Contexts.
10648func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
10649	req, out := c.TagResourceRequest(input)
10650	req.SetContext(ctx)
10651	req.ApplyOptions(opts...)
10652	return out, req.Send()
10653}
10654
10655const opUnpeerVpc = "UnpeerVpc"
10656
10657// UnpeerVpcRequest generates a "aws/request.Request" representing the
10658// client's request for the UnpeerVpc operation. The "output" return
10659// value will be populated with the request's response once the request completes
10660// successfully.
10661//
10662// Use "Send" method on the returned Request to send the API call to the service.
10663// the "output" return value is not valid until after Send returns without error.
10664//
10665// See UnpeerVpc for more information on using the UnpeerVpc
10666// API call, and error handling.
10667//
10668// This method is useful when you want to inject custom logic or configuration
10669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10670//
10671//
10672//    // Example sending a request using the UnpeerVpcRequest method.
10673//    req, resp := client.UnpeerVpcRequest(params)
10674//
10675//    err := req.Send()
10676//    if err == nil { // resp is now filled
10677//        fmt.Println(resp)
10678//    }
10679//
10680// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
10681func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) {
10682	op := &request.Operation{
10683		Name:       opUnpeerVpc,
10684		HTTPMethod: "POST",
10685		HTTPPath:   "/",
10686	}
10687
10688	if input == nil {
10689		input = &UnpeerVpcInput{}
10690	}
10691
10692	output = &UnpeerVpcOutput{}
10693	req = c.newRequest(op, input, output)
10694	return
10695}
10696
10697// UnpeerVpc API operation for Amazon Lightsail.
10698//
10699// Attempts to unpeer the Lightsail VPC from the user's default VPC.
10700//
10701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10702// with awserr.Error's Code and Message methods to get detailed information about
10703// the error.
10704//
10705// See the AWS API reference guide for Amazon Lightsail's
10706// API operation UnpeerVpc for usage and error information.
10707//
10708// Returned Error Codes:
10709//   * ErrCodeServiceException "ServiceException"
10710//   A general service exception.
10711//
10712//   * ErrCodeInvalidInputException "InvalidInputException"
10713//   Lightsail throws this exception when user input does not conform to the validation
10714//   rules of an input field.
10715//
10716//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10717//   Please set your AWS Region configuration to us-east-1 to create, view, or
10718//   edit these resources.
10719//
10720//   * ErrCodeNotFoundException "NotFoundException"
10721//   Lightsail throws this exception when it cannot find a resource.
10722//
10723//   * ErrCodeOperationFailureException "OperationFailureException"
10724//   Lightsail throws this exception when an operation fails to execute.
10725//
10726//   * ErrCodeAccessDeniedException "AccessDeniedException"
10727//   Lightsail throws this exception when the user cannot be authenticated or
10728//   uses invalid credentials to access a resource.
10729//
10730//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10731//   Lightsail throws this exception when an account is still in the setup in
10732//   progress state.
10733//
10734//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10735//   Lightsail throws this exception when the user has not been authenticated.
10736//
10737// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc
10738func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) {
10739	req, out := c.UnpeerVpcRequest(input)
10740	return out, req.Send()
10741}
10742
10743// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of
10744// the ability to pass a context and additional request options.
10745//
10746// See UnpeerVpc for details on how to use this API operation.
10747//
10748// The context must be non-nil and will be used for request cancellation. If
10749// the context is nil a panic will occur. In the future the SDK may create
10750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10751// for more information on using Contexts.
10752func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) {
10753	req, out := c.UnpeerVpcRequest(input)
10754	req.SetContext(ctx)
10755	req.ApplyOptions(opts...)
10756	return out, req.Send()
10757}
10758
10759const opUntagResource = "UntagResource"
10760
10761// UntagResourceRequest generates a "aws/request.Request" representing the
10762// client's request for the UntagResource operation. The "output" return
10763// value will be populated with the request's response once the request completes
10764// successfully.
10765//
10766// Use "Send" method on the returned Request to send the API call to the service.
10767// the "output" return value is not valid until after Send returns without error.
10768//
10769// See UntagResource for more information on using the UntagResource
10770// API call, and error handling.
10771//
10772// This method is useful when you want to inject custom logic or configuration
10773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10774//
10775//
10776//    // Example sending a request using the UntagResourceRequest method.
10777//    req, resp := client.UntagResourceRequest(params)
10778//
10779//    err := req.Send()
10780//    if err == nil { // resp is now filled
10781//        fmt.Println(resp)
10782//    }
10783//
10784// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
10785func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
10786	op := &request.Operation{
10787		Name:       opUntagResource,
10788		HTTPMethod: "POST",
10789		HTTPPath:   "/",
10790	}
10791
10792	if input == nil {
10793		input = &UntagResourceInput{}
10794	}
10795
10796	output = &UntagResourceOutput{}
10797	req = c.newRequest(op, input, output)
10798	return
10799}
10800
10801// UntagResource API operation for Amazon Lightsail.
10802//
10803// Deletes the specified set of tag keys and their values from the specified
10804// Amazon Lightsail resource.
10805//
10806// The untag resource operation supports tag-based access control via request
10807// tags and resource tags applied to the resource identified by resource name.
10808// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10809//
10810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10811// with awserr.Error's Code and Message methods to get detailed information about
10812// the error.
10813//
10814// See the AWS API reference guide for Amazon Lightsail's
10815// API operation UntagResource for usage and error information.
10816//
10817// Returned Error Codes:
10818//   * ErrCodeServiceException "ServiceException"
10819//   A general service exception.
10820//
10821//   * ErrCodeInvalidInputException "InvalidInputException"
10822//   Lightsail throws this exception when user input does not conform to the validation
10823//   rules of an input field.
10824//
10825//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10826//   Please set your AWS Region configuration to us-east-1 to create, view, or
10827//   edit these resources.
10828//
10829//   * ErrCodeNotFoundException "NotFoundException"
10830//   Lightsail throws this exception when it cannot find a resource.
10831//
10832//   * ErrCodeOperationFailureException "OperationFailureException"
10833//   Lightsail throws this exception when an operation fails to execute.
10834//
10835//   * ErrCodeAccessDeniedException "AccessDeniedException"
10836//   Lightsail throws this exception when the user cannot be authenticated or
10837//   uses invalid credentials to access a resource.
10838//
10839//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10840//   Lightsail throws this exception when an account is still in the setup in
10841//   progress state.
10842//
10843//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10844//   Lightsail throws this exception when the user has not been authenticated.
10845//
10846// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource
10847func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
10848	req, out := c.UntagResourceRequest(input)
10849	return out, req.Send()
10850}
10851
10852// UntagResourceWithContext is the same as UntagResource with the addition of
10853// the ability to pass a context and additional request options.
10854//
10855// See UntagResource for details on how to use this API operation.
10856//
10857// The context must be non-nil and will be used for request cancellation. If
10858// the context is nil a panic will occur. In the future the SDK may create
10859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10860// for more information on using Contexts.
10861func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
10862	req, out := c.UntagResourceRequest(input)
10863	req.SetContext(ctx)
10864	req.ApplyOptions(opts...)
10865	return out, req.Send()
10866}
10867
10868const opUpdateDomainEntry = "UpdateDomainEntry"
10869
10870// UpdateDomainEntryRequest generates a "aws/request.Request" representing the
10871// client's request for the UpdateDomainEntry operation. The "output" return
10872// value will be populated with the request's response once the request completes
10873// successfully.
10874//
10875// Use "Send" method on the returned Request to send the API call to the service.
10876// the "output" return value is not valid until after Send returns without error.
10877//
10878// See UpdateDomainEntry for more information on using the UpdateDomainEntry
10879// API call, and error handling.
10880//
10881// This method is useful when you want to inject custom logic or configuration
10882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10883//
10884//
10885//    // Example sending a request using the UpdateDomainEntryRequest method.
10886//    req, resp := client.UpdateDomainEntryRequest(params)
10887//
10888//    err := req.Send()
10889//    if err == nil { // resp is now filled
10890//        fmt.Println(resp)
10891//    }
10892//
10893// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
10894func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) {
10895	op := &request.Operation{
10896		Name:       opUpdateDomainEntry,
10897		HTTPMethod: "POST",
10898		HTTPPath:   "/",
10899	}
10900
10901	if input == nil {
10902		input = &UpdateDomainEntryInput{}
10903	}
10904
10905	output = &UpdateDomainEntryOutput{}
10906	req = c.newRequest(op, input, output)
10907	return
10908}
10909
10910// UpdateDomainEntry API operation for Amazon Lightsail.
10911//
10912// Updates a domain recordset after it is created.
10913//
10914// The update domain entry operation supports tag-based access control via resource
10915// tags applied to the resource identified by domain name. For more information,
10916// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
10917//
10918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10919// with awserr.Error's Code and Message methods to get detailed information about
10920// the error.
10921//
10922// See the AWS API reference guide for Amazon Lightsail's
10923// API operation UpdateDomainEntry for usage and error information.
10924//
10925// Returned Error Codes:
10926//   * ErrCodeServiceException "ServiceException"
10927//   A general service exception.
10928//
10929//   * ErrCodeInvalidInputException "InvalidInputException"
10930//   Lightsail throws this exception when user input does not conform to the validation
10931//   rules of an input field.
10932//
10933//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
10934//   Please set your AWS Region configuration to us-east-1 to create, view, or
10935//   edit these resources.
10936//
10937//   * ErrCodeNotFoundException "NotFoundException"
10938//   Lightsail throws this exception when it cannot find a resource.
10939//
10940//   * ErrCodeOperationFailureException "OperationFailureException"
10941//   Lightsail throws this exception when an operation fails to execute.
10942//
10943//   * ErrCodeAccessDeniedException "AccessDeniedException"
10944//   Lightsail throws this exception when the user cannot be authenticated or
10945//   uses invalid credentials to access a resource.
10946//
10947//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
10948//   Lightsail throws this exception when an account is still in the setup in
10949//   progress state.
10950//
10951//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
10952//   Lightsail throws this exception when the user has not been authenticated.
10953//
10954// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry
10955func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) {
10956	req, out := c.UpdateDomainEntryRequest(input)
10957	return out, req.Send()
10958}
10959
10960// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of
10961// the ability to pass a context and additional request options.
10962//
10963// See UpdateDomainEntry for details on how to use this API operation.
10964//
10965// The context must be non-nil and will be used for request cancellation. If
10966// the context is nil a panic will occur. In the future the SDK may create
10967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10968// for more information on using Contexts.
10969func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) {
10970	req, out := c.UpdateDomainEntryRequest(input)
10971	req.SetContext(ctx)
10972	req.ApplyOptions(opts...)
10973	return out, req.Send()
10974}
10975
10976const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
10977
10978// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the
10979// client's request for the UpdateLoadBalancerAttribute operation. The "output" return
10980// value will be populated with the request's response once the request completes
10981// successfully.
10982//
10983// Use "Send" method on the returned Request to send the API call to the service.
10984// the "output" return value is not valid until after Send returns without error.
10985//
10986// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute
10987// API call, and error handling.
10988//
10989// This method is useful when you want to inject custom logic or configuration
10990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10991//
10992//
10993//    // Example sending a request using the UpdateLoadBalancerAttributeRequest method.
10994//    req, resp := client.UpdateLoadBalancerAttributeRequest(params)
10995//
10996//    err := req.Send()
10997//    if err == nil { // resp is now filled
10998//        fmt.Println(resp)
10999//    }
11000//
11001// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
11002func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) {
11003	op := &request.Operation{
11004		Name:       opUpdateLoadBalancerAttribute,
11005		HTTPMethod: "POST",
11006		HTTPPath:   "/",
11007	}
11008
11009	if input == nil {
11010		input = &UpdateLoadBalancerAttributeInput{}
11011	}
11012
11013	output = &UpdateLoadBalancerAttributeOutput{}
11014	req = c.newRequest(op, input, output)
11015	return
11016}
11017
11018// UpdateLoadBalancerAttribute API operation for Amazon Lightsail.
11019//
11020// Updates the specified attribute for a load balancer. You can only update
11021// one attribute at a time.
11022//
11023// The update load balancer attribute operation supports tag-based access control
11024// via resource tags applied to the resource identified by load balancer name.
11025// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11026//
11027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11028// with awserr.Error's Code and Message methods to get detailed information about
11029// the error.
11030//
11031// See the AWS API reference guide for Amazon Lightsail's
11032// API operation UpdateLoadBalancerAttribute for usage and error information.
11033//
11034// Returned Error Codes:
11035//   * ErrCodeServiceException "ServiceException"
11036//   A general service exception.
11037//
11038//   * ErrCodeInvalidInputException "InvalidInputException"
11039//   Lightsail throws this exception when user input does not conform to the validation
11040//   rules of an input field.
11041//
11042//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11043//   Please set your AWS Region configuration to us-east-1 to create, view, or
11044//   edit these resources.
11045//
11046//   * ErrCodeNotFoundException "NotFoundException"
11047//   Lightsail throws this exception when it cannot find a resource.
11048//
11049//   * ErrCodeOperationFailureException "OperationFailureException"
11050//   Lightsail throws this exception when an operation fails to execute.
11051//
11052//   * ErrCodeAccessDeniedException "AccessDeniedException"
11053//   Lightsail throws this exception when the user cannot be authenticated or
11054//   uses invalid credentials to access a resource.
11055//
11056//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
11057//   Lightsail throws this exception when an account is still in the setup in
11058//   progress state.
11059//
11060//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
11061//   Lightsail throws this exception when the user has not been authenticated.
11062//
11063// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute
11064func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) {
11065	req, out := c.UpdateLoadBalancerAttributeRequest(input)
11066	return out, req.Send()
11067}
11068
11069// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of
11070// the ability to pass a context and additional request options.
11071//
11072// See UpdateLoadBalancerAttribute for details on how to use this API operation.
11073//
11074// The context must be non-nil and will be used for request cancellation. If
11075// the context is nil a panic will occur. In the future the SDK may create
11076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11077// for more information on using Contexts.
11078func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) {
11079	req, out := c.UpdateLoadBalancerAttributeRequest(input)
11080	req.SetContext(ctx)
11081	req.ApplyOptions(opts...)
11082	return out, req.Send()
11083}
11084
11085const opUpdateRelationalDatabase = "UpdateRelationalDatabase"
11086
11087// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the
11088// client's request for the UpdateRelationalDatabase operation. The "output" return
11089// value will be populated with the request's response once the request completes
11090// successfully.
11091//
11092// Use "Send" method on the returned Request to send the API call to the service.
11093// the "output" return value is not valid until after Send returns without error.
11094//
11095// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase
11096// API call, and error handling.
11097//
11098// This method is useful when you want to inject custom logic or configuration
11099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11100//
11101//
11102//    // Example sending a request using the UpdateRelationalDatabaseRequest method.
11103//    req, resp := client.UpdateRelationalDatabaseRequest(params)
11104//
11105//    err := req.Send()
11106//    if err == nil { // resp is now filled
11107//        fmt.Println(resp)
11108//    }
11109//
11110// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
11111func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) {
11112	op := &request.Operation{
11113		Name:       opUpdateRelationalDatabase,
11114		HTTPMethod: "POST",
11115		HTTPPath:   "/",
11116	}
11117
11118	if input == nil {
11119		input = &UpdateRelationalDatabaseInput{}
11120	}
11121
11122	output = &UpdateRelationalDatabaseOutput{}
11123	req = c.newRequest(op, input, output)
11124	return
11125}
11126
11127// UpdateRelationalDatabase API operation for Amazon Lightsail.
11128//
11129// Allows the update of one or more attributes of a database in Amazon Lightsail.
11130//
11131// Updates are applied immediately, or in cases where the updates could result
11132// in an outage, are applied during the database's predefined maintenance window.
11133//
11134// The update relational database operation supports tag-based access control
11135// via resource tags applied to the resource identified by relationalDatabaseName.
11136// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11137//
11138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11139// with awserr.Error's Code and Message methods to get detailed information about
11140// the error.
11141//
11142// See the AWS API reference guide for Amazon Lightsail's
11143// API operation UpdateRelationalDatabase for usage and error information.
11144//
11145// Returned Error Codes:
11146//   * ErrCodeServiceException "ServiceException"
11147//   A general service exception.
11148//
11149//   * ErrCodeInvalidInputException "InvalidInputException"
11150//   Lightsail throws this exception when user input does not conform to the validation
11151//   rules of an input field.
11152//
11153//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11154//   Please set your AWS Region configuration to us-east-1 to create, view, or
11155//   edit these resources.
11156//
11157//   * ErrCodeNotFoundException "NotFoundException"
11158//   Lightsail throws this exception when it cannot find a resource.
11159//
11160//   * ErrCodeOperationFailureException "OperationFailureException"
11161//   Lightsail throws this exception when an operation fails to execute.
11162//
11163//   * ErrCodeAccessDeniedException "AccessDeniedException"
11164//   Lightsail throws this exception when the user cannot be authenticated or
11165//   uses invalid credentials to access a resource.
11166//
11167//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
11168//   Lightsail throws this exception when an account is still in the setup in
11169//   progress state.
11170//
11171//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
11172//   Lightsail throws this exception when the user has not been authenticated.
11173//
11174// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase
11175func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) {
11176	req, out := c.UpdateRelationalDatabaseRequest(input)
11177	return out, req.Send()
11178}
11179
11180// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of
11181// the ability to pass a context and additional request options.
11182//
11183// See UpdateRelationalDatabase for details on how to use this API operation.
11184//
11185// The context must be non-nil and will be used for request cancellation. If
11186// the context is nil a panic will occur. In the future the SDK may create
11187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11188// for more information on using Contexts.
11189func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) {
11190	req, out := c.UpdateRelationalDatabaseRequest(input)
11191	req.SetContext(ctx)
11192	req.ApplyOptions(opts...)
11193	return out, req.Send()
11194}
11195
11196const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
11197
11198// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the
11199// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return
11200// value will be populated with the request's response once the request completes
11201// successfully.
11202//
11203// Use "Send" method on the returned Request to send the API call to the service.
11204// the "output" return value is not valid until after Send returns without error.
11205//
11206// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters
11207// API call, and error handling.
11208//
11209// This method is useful when you want to inject custom logic or configuration
11210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11211//
11212//
11213//    // Example sending a request using the UpdateRelationalDatabaseParametersRequest method.
11214//    req, resp := client.UpdateRelationalDatabaseParametersRequest(params)
11215//
11216//    err := req.Send()
11217//    if err == nil { // resp is now filled
11218//        fmt.Println(resp)
11219//    }
11220//
11221// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
11222func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) {
11223	op := &request.Operation{
11224		Name:       opUpdateRelationalDatabaseParameters,
11225		HTTPMethod: "POST",
11226		HTTPPath:   "/",
11227	}
11228
11229	if input == nil {
11230		input = &UpdateRelationalDatabaseParametersInput{}
11231	}
11232
11233	output = &UpdateRelationalDatabaseParametersOutput{}
11234	req = c.newRequest(op, input, output)
11235	return
11236}
11237
11238// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail.
11239//
11240// Allows the update of one or more parameters of a database in Amazon Lightsail.
11241//
11242// Parameter updates don't cause outages; therefore, their application is not
11243// subject to the preferred maintenance window. However, there are two ways
11244// in which parameter updates are applied: dynamic or pending-reboot. Parameters
11245// marked with a dynamic apply type are applied immediately. Parameters marked
11246// with a pending-reboot apply type are applied only after the database is rebooted
11247// using the reboot relational database operation.
11248//
11249// The update relational database parameters operation supports tag-based access
11250// control via resource tags applied to the resource identified by relationalDatabaseName.
11251// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags).
11252//
11253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11254// with awserr.Error's Code and Message methods to get detailed information about
11255// the error.
11256//
11257// See the AWS API reference guide for Amazon Lightsail's
11258// API operation UpdateRelationalDatabaseParameters for usage and error information.
11259//
11260// Returned Error Codes:
11261//   * ErrCodeServiceException "ServiceException"
11262//   A general service exception.
11263//
11264//   * ErrCodeInvalidInputException "InvalidInputException"
11265//   Lightsail throws this exception when user input does not conform to the validation
11266//   rules of an input field.
11267//
11268//   Domain-related APIs are only available in the N. Virginia (us-east-1) Region.
11269//   Please set your AWS Region configuration to us-east-1 to create, view, or
11270//   edit these resources.
11271//
11272//   * ErrCodeNotFoundException "NotFoundException"
11273//   Lightsail throws this exception when it cannot find a resource.
11274//
11275//   * ErrCodeOperationFailureException "OperationFailureException"
11276//   Lightsail throws this exception when an operation fails to execute.
11277//
11278//   * ErrCodeAccessDeniedException "AccessDeniedException"
11279//   Lightsail throws this exception when the user cannot be authenticated or
11280//   uses invalid credentials to access a resource.
11281//
11282//   * ErrCodeAccountSetupInProgressException "AccountSetupInProgressException"
11283//   Lightsail throws this exception when an account is still in the setup in
11284//   progress state.
11285//
11286//   * ErrCodeUnauthenticatedException "UnauthenticatedException"
11287//   Lightsail throws this exception when the user has not been authenticated.
11288//
11289// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters
11290func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) {
11291	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
11292	return out, req.Send()
11293}
11294
11295// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of
11296// the ability to pass a context and additional request options.
11297//
11298// See UpdateRelationalDatabaseParameters for details on how to use this API operation.
11299//
11300// The context must be non-nil and will be used for request cancellation. If
11301// the context is nil a panic will occur. In the future the SDK may create
11302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11303// for more information on using Contexts.
11304func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) {
11305	req, out := c.UpdateRelationalDatabaseParametersRequest(input)
11306	req.SetContext(ctx)
11307	req.ApplyOptions(opts...)
11308	return out, req.Send()
11309}
11310
11311// Describes an add-on that is enabled for an Amazon Lightsail resource.
11312type AddOn struct {
11313	_ struct{} `type:"structure"`
11314
11315	// The name of the add-on.
11316	Name *string `locationName:"name" type:"string"`
11317
11318	// The next daily time an automatic snapshot will be created.
11319	//
11320	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
11321	//
11322	// The snapshot is automatically created between the time shown and up to 45
11323	// minutes after.
11324	NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"`
11325
11326	// The daily time when an automatic snapshot is created.
11327	//
11328	// The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).
11329	//
11330	// The snapshot is automatically created between the time shown and up to 45
11331	// minutes after.
11332	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
11333
11334	// The status of the add-on.
11335	Status *string `locationName:"status" type:"string"`
11336}
11337
11338// String returns the string representation
11339func (s AddOn) String() string {
11340	return awsutil.Prettify(s)
11341}
11342
11343// GoString returns the string representation
11344func (s AddOn) GoString() string {
11345	return s.String()
11346}
11347
11348// SetName sets the Name field's value.
11349func (s *AddOn) SetName(v string) *AddOn {
11350	s.Name = &v
11351	return s
11352}
11353
11354// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value.
11355func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn {
11356	s.NextSnapshotTimeOfDay = &v
11357	return s
11358}
11359
11360// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
11361func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn {
11362	s.SnapshotTimeOfDay = &v
11363	return s
11364}
11365
11366// SetStatus sets the Status field's value.
11367func (s *AddOn) SetStatus(v string) *AddOn {
11368	s.Status = &v
11369	return s
11370}
11371
11372// Describes a request to enable, modify, or disable an add-on for an Amazon
11373// Lightsail resource.
11374//
11375// An additional cost may be associated with enabling add-ons. For more information,
11376// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/).
11377type AddOnRequest struct {
11378	_ struct{} `type:"structure"`
11379
11380	// The add-on type.
11381	//
11382	// AddOnType is a required field
11383	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
11384
11385	// An object that represents additional parameters when enabling or modifying
11386	// the automatic snapshot add-on.
11387	AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"`
11388}
11389
11390// String returns the string representation
11391func (s AddOnRequest) String() string {
11392	return awsutil.Prettify(s)
11393}
11394
11395// GoString returns the string representation
11396func (s AddOnRequest) GoString() string {
11397	return s.String()
11398}
11399
11400// Validate inspects the fields of the type to determine if they are valid.
11401func (s *AddOnRequest) Validate() error {
11402	invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"}
11403	if s.AddOnType == nil {
11404		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
11405	}
11406
11407	if invalidParams.Len() > 0 {
11408		return invalidParams
11409	}
11410	return nil
11411}
11412
11413// SetAddOnType sets the AddOnType field's value.
11414func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest {
11415	s.AddOnType = &v
11416	return s
11417}
11418
11419// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value.
11420func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest {
11421	s.AutoSnapshotAddOnRequest = v
11422	return s
11423}
11424
11425type AllocateStaticIpInput struct {
11426	_ struct{} `type:"structure"`
11427
11428	// The name of the static IP address.
11429	//
11430	// StaticIpName is a required field
11431	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
11432}
11433
11434// String returns the string representation
11435func (s AllocateStaticIpInput) String() string {
11436	return awsutil.Prettify(s)
11437}
11438
11439// GoString returns the string representation
11440func (s AllocateStaticIpInput) GoString() string {
11441	return s.String()
11442}
11443
11444// Validate inspects the fields of the type to determine if they are valid.
11445func (s *AllocateStaticIpInput) Validate() error {
11446	invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"}
11447	if s.StaticIpName == nil {
11448		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
11449	}
11450
11451	if invalidParams.Len() > 0 {
11452		return invalidParams
11453	}
11454	return nil
11455}
11456
11457// SetStaticIpName sets the StaticIpName field's value.
11458func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput {
11459	s.StaticIpName = &v
11460	return s
11461}
11462
11463type AllocateStaticIpOutput struct {
11464	_ struct{} `type:"structure"`
11465
11466	// An array of key-value pairs containing information about the static IP address
11467	// you allocated.
11468	Operations []*Operation `locationName:"operations" type:"list"`
11469}
11470
11471// String returns the string representation
11472func (s AllocateStaticIpOutput) String() string {
11473	return awsutil.Prettify(s)
11474}
11475
11476// GoString returns the string representation
11477func (s AllocateStaticIpOutput) GoString() string {
11478	return s.String()
11479}
11480
11481// SetOperations sets the Operations field's value.
11482func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput {
11483	s.Operations = v
11484	return s
11485}
11486
11487type AttachDiskInput struct {
11488	_ struct{} `type:"structure"`
11489
11490	// The unique Lightsail disk name (e.g., my-disk).
11491	//
11492	// DiskName is a required field
11493	DiskName *string `locationName:"diskName" type:"string" required:"true"`
11494
11495	// The disk path to expose to the instance (e.g., /dev/xvdf).
11496	//
11497	// DiskPath is a required field
11498	DiskPath *string `locationName:"diskPath" type:"string" required:"true"`
11499
11500	// The name of the Lightsail instance where you want to utilize the storage
11501	// disk.
11502	//
11503	// InstanceName is a required field
11504	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
11505}
11506
11507// String returns the string representation
11508func (s AttachDiskInput) String() string {
11509	return awsutil.Prettify(s)
11510}
11511
11512// GoString returns the string representation
11513func (s AttachDiskInput) GoString() string {
11514	return s.String()
11515}
11516
11517// Validate inspects the fields of the type to determine if they are valid.
11518func (s *AttachDiskInput) Validate() error {
11519	invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"}
11520	if s.DiskName == nil {
11521		invalidParams.Add(request.NewErrParamRequired("DiskName"))
11522	}
11523	if s.DiskPath == nil {
11524		invalidParams.Add(request.NewErrParamRequired("DiskPath"))
11525	}
11526	if s.InstanceName == nil {
11527		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
11528	}
11529
11530	if invalidParams.Len() > 0 {
11531		return invalidParams
11532	}
11533	return nil
11534}
11535
11536// SetDiskName sets the DiskName field's value.
11537func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput {
11538	s.DiskName = &v
11539	return s
11540}
11541
11542// SetDiskPath sets the DiskPath field's value.
11543func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput {
11544	s.DiskPath = &v
11545	return s
11546}
11547
11548// SetInstanceName sets the InstanceName field's value.
11549func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput {
11550	s.InstanceName = &v
11551	return s
11552}
11553
11554type AttachDiskOutput struct {
11555	_ struct{} `type:"structure"`
11556
11557	// An object describing the API operations.
11558	Operations []*Operation `locationName:"operations" type:"list"`
11559}
11560
11561// String returns the string representation
11562func (s AttachDiskOutput) String() string {
11563	return awsutil.Prettify(s)
11564}
11565
11566// GoString returns the string representation
11567func (s AttachDiskOutput) GoString() string {
11568	return s.String()
11569}
11570
11571// SetOperations sets the Operations field's value.
11572func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput {
11573	s.Operations = v
11574	return s
11575}
11576
11577type AttachInstancesToLoadBalancerInput struct {
11578	_ struct{} `type:"structure"`
11579
11580	// An array of strings representing the instance name(s) you want to attach
11581	// to your load balancer.
11582	//
11583	// An instance must be running before you can attach it to your load balancer.
11584	//
11585	// There are no additional limits on the number of instances you can attach
11586	// to your load balancer, aside from the limit of Lightsail instances you can
11587	// create in your account (20).
11588	//
11589	// InstanceNames is a required field
11590	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
11591
11592	// The name of the load balancer.
11593	//
11594	// LoadBalancerName is a required field
11595	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
11596}
11597
11598// String returns the string representation
11599func (s AttachInstancesToLoadBalancerInput) String() string {
11600	return awsutil.Prettify(s)
11601}
11602
11603// GoString returns the string representation
11604func (s AttachInstancesToLoadBalancerInput) GoString() string {
11605	return s.String()
11606}
11607
11608// Validate inspects the fields of the type to determine if they are valid.
11609func (s *AttachInstancesToLoadBalancerInput) Validate() error {
11610	invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"}
11611	if s.InstanceNames == nil {
11612		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
11613	}
11614	if s.LoadBalancerName == nil {
11615		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
11616	}
11617
11618	if invalidParams.Len() > 0 {
11619		return invalidParams
11620	}
11621	return nil
11622}
11623
11624// SetInstanceNames sets the InstanceNames field's value.
11625func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput {
11626	s.InstanceNames = v
11627	return s
11628}
11629
11630// SetLoadBalancerName sets the LoadBalancerName field's value.
11631func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput {
11632	s.LoadBalancerName = &v
11633	return s
11634}
11635
11636type AttachInstancesToLoadBalancerOutput struct {
11637	_ struct{} `type:"structure"`
11638
11639	// An object representing the API operations.
11640	Operations []*Operation `locationName:"operations" type:"list"`
11641}
11642
11643// String returns the string representation
11644func (s AttachInstancesToLoadBalancerOutput) String() string {
11645	return awsutil.Prettify(s)
11646}
11647
11648// GoString returns the string representation
11649func (s AttachInstancesToLoadBalancerOutput) GoString() string {
11650	return s.String()
11651}
11652
11653// SetOperations sets the Operations field's value.
11654func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput {
11655	s.Operations = v
11656	return s
11657}
11658
11659type AttachLoadBalancerTlsCertificateInput struct {
11660	_ struct{} `type:"structure"`
11661
11662	// The name of your SSL/TLS certificate.
11663	//
11664	// CertificateName is a required field
11665	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
11666
11667	// The name of the load balancer to which you want to associate the SSL/TLS
11668	// certificate.
11669	//
11670	// LoadBalancerName is a required field
11671	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
11672}
11673
11674// String returns the string representation
11675func (s AttachLoadBalancerTlsCertificateInput) String() string {
11676	return awsutil.Prettify(s)
11677}
11678
11679// GoString returns the string representation
11680func (s AttachLoadBalancerTlsCertificateInput) GoString() string {
11681	return s.String()
11682}
11683
11684// Validate inspects the fields of the type to determine if they are valid.
11685func (s *AttachLoadBalancerTlsCertificateInput) Validate() error {
11686	invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"}
11687	if s.CertificateName == nil {
11688		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
11689	}
11690	if s.LoadBalancerName == nil {
11691		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
11692	}
11693
11694	if invalidParams.Len() > 0 {
11695		return invalidParams
11696	}
11697	return nil
11698}
11699
11700// SetCertificateName sets the CertificateName field's value.
11701func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput {
11702	s.CertificateName = &v
11703	return s
11704}
11705
11706// SetLoadBalancerName sets the LoadBalancerName field's value.
11707func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput {
11708	s.LoadBalancerName = &v
11709	return s
11710}
11711
11712type AttachLoadBalancerTlsCertificateOutput struct {
11713	_ struct{} `type:"structure"`
11714
11715	// An object representing the API operations.
11716	//
11717	// These SSL/TLS certificates are only usable by Lightsail load balancers. You
11718	// can't get the certificate and use it for another purpose.
11719	Operations []*Operation `locationName:"operations" type:"list"`
11720}
11721
11722// String returns the string representation
11723func (s AttachLoadBalancerTlsCertificateOutput) String() string {
11724	return awsutil.Prettify(s)
11725}
11726
11727// GoString returns the string representation
11728func (s AttachLoadBalancerTlsCertificateOutput) GoString() string {
11729	return s.String()
11730}
11731
11732// SetOperations sets the Operations field's value.
11733func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput {
11734	s.Operations = v
11735	return s
11736}
11737
11738type AttachStaticIpInput struct {
11739	_ struct{} `type:"structure"`
11740
11741	// The instance name to which you want to attach the static IP address.
11742	//
11743	// InstanceName is a required field
11744	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
11745
11746	// The name of the static IP.
11747	//
11748	// StaticIpName is a required field
11749	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
11750}
11751
11752// String returns the string representation
11753func (s AttachStaticIpInput) String() string {
11754	return awsutil.Prettify(s)
11755}
11756
11757// GoString returns the string representation
11758func (s AttachStaticIpInput) GoString() string {
11759	return s.String()
11760}
11761
11762// Validate inspects the fields of the type to determine if they are valid.
11763func (s *AttachStaticIpInput) Validate() error {
11764	invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"}
11765	if s.InstanceName == nil {
11766		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
11767	}
11768	if s.StaticIpName == nil {
11769		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
11770	}
11771
11772	if invalidParams.Len() > 0 {
11773		return invalidParams
11774	}
11775	return nil
11776}
11777
11778// SetInstanceName sets the InstanceName field's value.
11779func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput {
11780	s.InstanceName = &v
11781	return s
11782}
11783
11784// SetStaticIpName sets the StaticIpName field's value.
11785func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput {
11786	s.StaticIpName = &v
11787	return s
11788}
11789
11790type AttachStaticIpOutput struct {
11791	_ struct{} `type:"structure"`
11792
11793	// An array of key-value pairs containing information about your API operations.
11794	Operations []*Operation `locationName:"operations" type:"list"`
11795}
11796
11797// String returns the string representation
11798func (s AttachStaticIpOutput) String() string {
11799	return awsutil.Prettify(s)
11800}
11801
11802// GoString returns the string representation
11803func (s AttachStaticIpOutput) GoString() string {
11804	return s.String()
11805}
11806
11807// SetOperations sets the Operations field's value.
11808func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput {
11809	s.Operations = v
11810	return s
11811}
11812
11813// Describes a block storage disk that is attached to an instance, and is included
11814// in an automatic snapshot.
11815type AttachedDisk struct {
11816	_ struct{} `type:"structure"`
11817
11818	// The path of the disk (e.g., /dev/xvdf).
11819	Path *string `locationName:"path" type:"string"`
11820
11821	// The size of the disk in GB.
11822	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
11823}
11824
11825// String returns the string representation
11826func (s AttachedDisk) String() string {
11827	return awsutil.Prettify(s)
11828}
11829
11830// GoString returns the string representation
11831func (s AttachedDisk) GoString() string {
11832	return s.String()
11833}
11834
11835// SetPath sets the Path field's value.
11836func (s *AttachedDisk) SetPath(v string) *AttachedDisk {
11837	s.Path = &v
11838	return s
11839}
11840
11841// SetSizeInGb sets the SizeInGb field's value.
11842func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk {
11843	s.SizeInGb = &v
11844	return s
11845}
11846
11847// Describes a request to enable or modify the automatic snapshot add-on for
11848// an Amazon Lightsail instance or disk.
11849//
11850// When you modify the automatic snapshot time for a resource, it is typically
11851// effective immediately except under the following conditions:
11852//
11853//    * If an automatic snapshot has been created for the current day, and you
11854//    change the snapshot time to a later time of day, then the new snapshot
11855//    time will be effective the following day. This ensures that two snapshots
11856//    are not created for the current day.
11857//
11858//    * If an automatic snapshot has not yet been created for the current day,
11859//    and you change the snapshot time to an earlier time of day, then the new
11860//    snapshot time will be effective the following day and a snapshot is automatically
11861//    created at the previously set time for the current day. This ensures that
11862//    a snapshot is created for the current day.
11863//
11864//    * If an automatic snapshot has not yet been created for the current day,
11865//    and you change the snapshot time to a time that is within 30 minutes from
11866//    your current time, then the new snapshot time will be effective the following
11867//    day and a snapshot is automatically created at the previously set time
11868//    for the current day. This ensures that a snapshot is created for the current
11869//    day, because 30 minutes is required between your current time and the
11870//    new snapshot time that you specify.
11871//
11872//    * If an automatic snapshot is scheduled to be created within 30 minutes
11873//    from your current time and you change the snapshot time, then the new
11874//    snapshot time will be effective the following day and a snapshot is automatically
11875//    created at the previously set time for the current day. This ensures that
11876//    a snapshot is created for the current day, because 30 minutes is required
11877//    between your current time and the new snapshot time that you specify.
11878type AutoSnapshotAddOnRequest struct {
11879	_ struct{} `type:"structure"`
11880
11881	// The daily time when an automatic snapshot will be created.
11882	//
11883	// Constraints:
11884	//
11885	//    * Must be in HH:00 format, and in an hourly increment.
11886	//
11887	//    * Specified in Coordinated Universal Time (UTC).
11888	//
11889	//    * The snapshot will be automatically created between the time specified
11890	//    and up to 45 minutes after.
11891	SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"`
11892}
11893
11894// String returns the string representation
11895func (s AutoSnapshotAddOnRequest) String() string {
11896	return awsutil.Prettify(s)
11897}
11898
11899// GoString returns the string representation
11900func (s AutoSnapshotAddOnRequest) GoString() string {
11901	return s.String()
11902}
11903
11904// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value.
11905func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest {
11906	s.SnapshotTimeOfDay = &v
11907	return s
11908}
11909
11910// Describes an automatic snapshot.
11911type AutoSnapshotDetails struct {
11912	_ struct{} `type:"structure"`
11913
11914	// The timestamp when the automatic snapshot was created.
11915	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11916
11917	// The date of the automatic snapshot in YYYY-MM-DD format.
11918	Date *string `locationName:"date" type:"string"`
11919
11920	// An array of objects that describe the block storage disks attached to the
11921	// instance when the automatic snapshot was created.
11922	FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"`
11923
11924	// The status of the automatic snapshot.
11925	Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"`
11926}
11927
11928// String returns the string representation
11929func (s AutoSnapshotDetails) String() string {
11930	return awsutil.Prettify(s)
11931}
11932
11933// GoString returns the string representation
11934func (s AutoSnapshotDetails) GoString() string {
11935	return s.String()
11936}
11937
11938// SetCreatedAt sets the CreatedAt field's value.
11939func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails {
11940	s.CreatedAt = &v
11941	return s
11942}
11943
11944// SetDate sets the Date field's value.
11945func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails {
11946	s.Date = &v
11947	return s
11948}
11949
11950// SetFromAttachedDisks sets the FromAttachedDisks field's value.
11951func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails {
11952	s.FromAttachedDisks = v
11953	return s
11954}
11955
11956// SetStatus sets the Status field's value.
11957func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails {
11958	s.Status = &v
11959	return s
11960}
11961
11962// Describes an Availability Zone.
11963type AvailabilityZone struct {
11964	_ struct{} `type:"structure"`
11965
11966	// The state of the Availability Zone.
11967	State *string `locationName:"state" type:"string"`
11968
11969	// The name of the Availability Zone. The format is us-east-2a (case-sensitive).
11970	ZoneName *string `locationName:"zoneName" type:"string"`
11971}
11972
11973// String returns the string representation
11974func (s AvailabilityZone) String() string {
11975	return awsutil.Prettify(s)
11976}
11977
11978// GoString returns the string representation
11979func (s AvailabilityZone) GoString() string {
11980	return s.String()
11981}
11982
11983// SetState sets the State field's value.
11984func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
11985	s.State = &v
11986	return s
11987}
11988
11989// SetZoneName sets the ZoneName field's value.
11990func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
11991	s.ZoneName = &v
11992	return s
11993}
11994
11995// Describes a blueprint (a virtual private server image).
11996type Blueprint struct {
11997	_ struct{} `type:"structure"`
11998
11999	// The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
12000	BlueprintId *string `locationName:"blueprintId" type:"string"`
12001
12002	// The description of the blueprint.
12003	Description *string `locationName:"description" type:"string"`
12004
12005	// The group name of the blueprint (e.g., amazon-linux).
12006	Group *string `locationName:"group" type:"string"`
12007
12008	// A Boolean value indicating whether the blueprint is active. Inactive blueprints
12009	// are listed to support customers with existing instances but are not necessarily
12010	// available for launch of new instances. Blueprints are marked inactive when
12011	// they become outdated due to operating system updates or new application releases.
12012	IsActive *bool `locationName:"isActive" type:"boolean"`
12013
12014	// The end-user license agreement URL for the image or blueprint.
12015	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
12016
12017	// The minimum bundle power required to run this blueprint. For example, you
12018	// need a bundle with a power value of 500 or more to create an instance that
12019	// uses a blueprint with a minimum power value of 500. 0 indicates that the
12020	// blueprint runs on all instance sizes.
12021	MinPower *int64 `locationName:"minPower" type:"integer"`
12022
12023	// The friendly name of the blueprint (e.g., Amazon Linux).
12024	Name *string `locationName:"name" type:"string"`
12025
12026	// The operating system platform (either Linux/Unix-based or Windows Server-based)
12027	// of the blueprint.
12028	Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"`
12029
12030	// The product URL to learn more about the image or blueprint.
12031	ProductUrl *string `locationName:"productUrl" type:"string"`
12032
12033	// The type of the blueprint (e.g., os or app).
12034	Type *string `locationName:"type" type:"string" enum:"BlueprintType"`
12035
12036	// The version number of the operating system, application, or stack (e.g.,
12037	// 2016.03.0).
12038	Version *string `locationName:"version" type:"string"`
12039
12040	// The version code.
12041	VersionCode *string `locationName:"versionCode" type:"string"`
12042}
12043
12044// String returns the string representation
12045func (s Blueprint) String() string {
12046	return awsutil.Prettify(s)
12047}
12048
12049// GoString returns the string representation
12050func (s Blueprint) GoString() string {
12051	return s.String()
12052}
12053
12054// SetBlueprintId sets the BlueprintId field's value.
12055func (s *Blueprint) SetBlueprintId(v string) *Blueprint {
12056	s.BlueprintId = &v
12057	return s
12058}
12059
12060// SetDescription sets the Description field's value.
12061func (s *Blueprint) SetDescription(v string) *Blueprint {
12062	s.Description = &v
12063	return s
12064}
12065
12066// SetGroup sets the Group field's value.
12067func (s *Blueprint) SetGroup(v string) *Blueprint {
12068	s.Group = &v
12069	return s
12070}
12071
12072// SetIsActive sets the IsActive field's value.
12073func (s *Blueprint) SetIsActive(v bool) *Blueprint {
12074	s.IsActive = &v
12075	return s
12076}
12077
12078// SetLicenseUrl sets the LicenseUrl field's value.
12079func (s *Blueprint) SetLicenseUrl(v string) *Blueprint {
12080	s.LicenseUrl = &v
12081	return s
12082}
12083
12084// SetMinPower sets the MinPower field's value.
12085func (s *Blueprint) SetMinPower(v int64) *Blueprint {
12086	s.MinPower = &v
12087	return s
12088}
12089
12090// SetName sets the Name field's value.
12091func (s *Blueprint) SetName(v string) *Blueprint {
12092	s.Name = &v
12093	return s
12094}
12095
12096// SetPlatform sets the Platform field's value.
12097func (s *Blueprint) SetPlatform(v string) *Blueprint {
12098	s.Platform = &v
12099	return s
12100}
12101
12102// SetProductUrl sets the ProductUrl field's value.
12103func (s *Blueprint) SetProductUrl(v string) *Blueprint {
12104	s.ProductUrl = &v
12105	return s
12106}
12107
12108// SetType sets the Type field's value.
12109func (s *Blueprint) SetType(v string) *Blueprint {
12110	s.Type = &v
12111	return s
12112}
12113
12114// SetVersion sets the Version field's value.
12115func (s *Blueprint) SetVersion(v string) *Blueprint {
12116	s.Version = &v
12117	return s
12118}
12119
12120// SetVersionCode sets the VersionCode field's value.
12121func (s *Blueprint) SetVersionCode(v string) *Blueprint {
12122	s.VersionCode = &v
12123	return s
12124}
12125
12126// Describes a bundle, which is a set of specs describing your virtual private
12127// server (or instance).
12128type Bundle struct {
12129	_ struct{} `type:"structure"`
12130
12131	// The bundle ID (e.g., micro_1_0).
12132	BundleId *string `locationName:"bundleId" type:"string"`
12133
12134	// The number of vCPUs included in the bundle (e.g., 2).
12135	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
12136
12137	// The size of the SSD (e.g., 30).
12138	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
12139
12140	// The Amazon EC2 instance type (e.g., t2.micro).
12141	InstanceType *string `locationName:"instanceType" type:"string"`
12142
12143	// A Boolean value indicating whether the bundle is active.
12144	IsActive *bool `locationName:"isActive" type:"boolean"`
12145
12146	// A friendly name for the bundle (e.g., Micro).
12147	Name *string `locationName:"name" type:"string"`
12148
12149	// A numeric value that represents the power of the bundle (e.g., 500). You
12150	// can use the bundle's power value in conjunction with a blueprint's minimum
12151	// power value to determine whether the blueprint will run on the bundle. For
12152	// example, you need a bundle with a power value of 500 or more to create an
12153	// instance that uses a blueprint with a minimum power value of 500.
12154	Power *int64 `locationName:"power" type:"integer"`
12155
12156	// The price in US dollars (e.g., 5.0).
12157	Price *float64 `locationName:"price" type:"float"`
12158
12159	// The amount of RAM in GB (e.g., 2.0).
12160	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
12161
12162	// The operating system platform (Linux/Unix-based or Windows Server-based)
12163	// that the bundle supports. You can only launch a WINDOWS bundle on a blueprint
12164	// that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX
12165	// bundle.
12166	SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"`
12167
12168	// The data transfer rate per month in GB (e.g., 2000).
12169	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
12170}
12171
12172// String returns the string representation
12173func (s Bundle) String() string {
12174	return awsutil.Prettify(s)
12175}
12176
12177// GoString returns the string representation
12178func (s Bundle) GoString() string {
12179	return s.String()
12180}
12181
12182// SetBundleId sets the BundleId field's value.
12183func (s *Bundle) SetBundleId(v string) *Bundle {
12184	s.BundleId = &v
12185	return s
12186}
12187
12188// SetCpuCount sets the CpuCount field's value.
12189func (s *Bundle) SetCpuCount(v int64) *Bundle {
12190	s.CpuCount = &v
12191	return s
12192}
12193
12194// SetDiskSizeInGb sets the DiskSizeInGb field's value.
12195func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle {
12196	s.DiskSizeInGb = &v
12197	return s
12198}
12199
12200// SetInstanceType sets the InstanceType field's value.
12201func (s *Bundle) SetInstanceType(v string) *Bundle {
12202	s.InstanceType = &v
12203	return s
12204}
12205
12206// SetIsActive sets the IsActive field's value.
12207func (s *Bundle) SetIsActive(v bool) *Bundle {
12208	s.IsActive = &v
12209	return s
12210}
12211
12212// SetName sets the Name field's value.
12213func (s *Bundle) SetName(v string) *Bundle {
12214	s.Name = &v
12215	return s
12216}
12217
12218// SetPower sets the Power field's value.
12219func (s *Bundle) SetPower(v int64) *Bundle {
12220	s.Power = &v
12221	return s
12222}
12223
12224// SetPrice sets the Price field's value.
12225func (s *Bundle) SetPrice(v float64) *Bundle {
12226	s.Price = &v
12227	return s
12228}
12229
12230// SetRamSizeInGb sets the RamSizeInGb field's value.
12231func (s *Bundle) SetRamSizeInGb(v float64) *Bundle {
12232	s.RamSizeInGb = &v
12233	return s
12234}
12235
12236// SetSupportedPlatforms sets the SupportedPlatforms field's value.
12237func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle {
12238	s.SupportedPlatforms = v
12239	return s
12240}
12241
12242// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
12243func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle {
12244	s.TransferPerMonthInGb = &v
12245	return s
12246}
12247
12248type CloseInstancePublicPortsInput struct {
12249	_ struct{} `type:"structure"`
12250
12251	// The name of the instance on which you're attempting to close the public ports.
12252	//
12253	// InstanceName is a required field
12254	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
12255
12256	// Information about the public port you are trying to close.
12257	//
12258	// PortInfo is a required field
12259	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
12260}
12261
12262// String returns the string representation
12263func (s CloseInstancePublicPortsInput) String() string {
12264	return awsutil.Prettify(s)
12265}
12266
12267// GoString returns the string representation
12268func (s CloseInstancePublicPortsInput) GoString() string {
12269	return s.String()
12270}
12271
12272// Validate inspects the fields of the type to determine if they are valid.
12273func (s *CloseInstancePublicPortsInput) Validate() error {
12274	invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"}
12275	if s.InstanceName == nil {
12276		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
12277	}
12278	if s.PortInfo == nil {
12279		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
12280	}
12281
12282	if invalidParams.Len() > 0 {
12283		return invalidParams
12284	}
12285	return nil
12286}
12287
12288// SetInstanceName sets the InstanceName field's value.
12289func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput {
12290	s.InstanceName = &v
12291	return s
12292}
12293
12294// SetPortInfo sets the PortInfo field's value.
12295func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput {
12296	s.PortInfo = v
12297	return s
12298}
12299
12300type CloseInstancePublicPortsOutput struct {
12301	_ struct{} `type:"structure"`
12302
12303	// An array of key-value pairs that contains information about the operation.
12304	Operation *Operation `locationName:"operation" type:"structure"`
12305}
12306
12307// String returns the string representation
12308func (s CloseInstancePublicPortsOutput) String() string {
12309	return awsutil.Prettify(s)
12310}
12311
12312// GoString returns the string representation
12313func (s CloseInstancePublicPortsOutput) GoString() string {
12314	return s.String()
12315}
12316
12317// SetOperation sets the Operation field's value.
12318func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput {
12319	s.Operation = v
12320	return s
12321}
12322
12323// Describes a CloudFormation stack record created as a result of the create
12324// cloud formation stack operation.
12325//
12326// A CloudFormation stack record provides information about the AWS CloudFormation
12327// stack used to create a new Amazon Elastic Compute Cloud instance from an
12328// exported Lightsail instance snapshot.
12329type CloudFormationStackRecord struct {
12330	_ struct{} `type:"structure"`
12331
12332	// The Amazon Resource Name (ARN) of the CloudFormation stack record.
12333	Arn *string `locationName:"arn" type:"string"`
12334
12335	// The date when the CloudFormation stack record was created.
12336	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
12337
12338	// A list of objects describing the destination service, which is AWS CloudFormation,
12339	// and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.
12340	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
12341
12342	// A list of objects describing the Availability Zone and AWS Region of the
12343	// CloudFormation stack record.
12344	Location *ResourceLocation `locationName:"location" type:"structure"`
12345
12346	// The name of the CloudFormation stack record. It starts with CloudFormationStackRecord
12347	// followed by a GUID.
12348	Name *string `locationName:"name" type:"string"`
12349
12350	// The Lightsail resource type (e.g., CloudFormationStackRecord).
12351	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
12352
12353	// A list of objects describing the source of the CloudFormation stack record.
12354	SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"`
12355
12356	// The current state of the CloudFormation stack record.
12357	State *string `locationName:"state" type:"string" enum:"RecordState"`
12358}
12359
12360// String returns the string representation
12361func (s CloudFormationStackRecord) String() string {
12362	return awsutil.Prettify(s)
12363}
12364
12365// GoString returns the string representation
12366func (s CloudFormationStackRecord) GoString() string {
12367	return s.String()
12368}
12369
12370// SetArn sets the Arn field's value.
12371func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord {
12372	s.Arn = &v
12373	return s
12374}
12375
12376// SetCreatedAt sets the CreatedAt field's value.
12377func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord {
12378	s.CreatedAt = &v
12379	return s
12380}
12381
12382// SetDestinationInfo sets the DestinationInfo field's value.
12383func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord {
12384	s.DestinationInfo = v
12385	return s
12386}
12387
12388// SetLocation sets the Location field's value.
12389func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord {
12390	s.Location = v
12391	return s
12392}
12393
12394// SetName sets the Name field's value.
12395func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord {
12396	s.Name = &v
12397	return s
12398}
12399
12400// SetResourceType sets the ResourceType field's value.
12401func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord {
12402	s.ResourceType = &v
12403	return s
12404}
12405
12406// SetSourceInfo sets the SourceInfo field's value.
12407func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord {
12408	s.SourceInfo = v
12409	return s
12410}
12411
12412// SetState sets the State field's value.
12413func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord {
12414	s.State = &v
12415	return s
12416}
12417
12418// Describes the source of a CloudFormation stack record (i.e., the export snapshot
12419// record).
12420type CloudFormationStackRecordSourceInfo struct {
12421	_ struct{} `type:"structure"`
12422
12423	// The Amazon Resource Name (ARN) of the export snapshot record.
12424	Arn *string `locationName:"arn" type:"string"`
12425
12426	// The name of the record.
12427	Name *string `locationName:"name" type:"string"`
12428
12429	// The Lightsail resource type (e.g., ExportSnapshotRecord).
12430	ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"`
12431}
12432
12433// String returns the string representation
12434func (s CloudFormationStackRecordSourceInfo) String() string {
12435	return awsutil.Prettify(s)
12436}
12437
12438// GoString returns the string representation
12439func (s CloudFormationStackRecordSourceInfo) GoString() string {
12440	return s.String()
12441}
12442
12443// SetArn sets the Arn field's value.
12444func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo {
12445	s.Arn = &v
12446	return s
12447}
12448
12449// SetName sets the Name field's value.
12450func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo {
12451	s.Name = &v
12452	return s
12453}
12454
12455// SetResourceType sets the ResourceType field's value.
12456func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo {
12457	s.ResourceType = &v
12458	return s
12459}
12460
12461type CopySnapshotInput struct {
12462	_ struct{} `type:"structure"`
12463
12464	// The date of the source automatic snapshot to copy. Use the get auto snapshots
12465	// operation to identify the dates of the available automatic snapshots.
12466	//
12467	// Constraints:
12468	//
12469	//    * Must be specified in YYYY-MM-DD format.
12470	//
12471	//    * This parameter cannot be defined together with the use latest restorable
12472	//    auto snapshot parameter. The restore date and use latest restorable auto
12473	//    snapshot parameters are mutually exclusive.
12474	//
12475	//    * Define this parameter only when copying an automatic snapshot as a manual
12476	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
12477	RestoreDate *string `locationName:"restoreDate" type:"string"`
12478
12479	// The AWS Region where the source manual or automatic snapshot is located.
12480	//
12481	// SourceRegion is a required field
12482	SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"`
12483
12484	// The name of the source instance or disk from which the source automatic snapshot
12485	// was created.
12486	//
12487	// Constraint:
12488	//
12489	//    * Define this parameter only when copying an automatic snapshot as a manual
12490	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
12491	SourceResourceName *string `locationName:"sourceResourceName" type:"string"`
12492
12493	// The name of the source manual snapshot to copy.
12494	//
12495	// Constraint:
12496	//
12497	//    * Define this parameter only when copying a manual snapshot as another
12498	//    manual snapshot.
12499	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"`
12500
12501	// The name of the new manual snapshot to be created as a copy.
12502	//
12503	// TargetSnapshotName is a required field
12504	TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"`
12505
12506	// A Boolean value to indicate whether to use the latest available automatic
12507	// snapshot of the specified source instance or disk.
12508	//
12509	// Constraints:
12510	//
12511	//    * This parameter cannot be defined together with the restore date parameter.
12512	//    The use latest restorable auto snapshot and restore date parameters are
12513	//    mutually exclusive.
12514	//
12515	//    * Define this parameter only when copying an automatic snapshot as a manual
12516	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots).
12517	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
12518}
12519
12520// String returns the string representation
12521func (s CopySnapshotInput) String() string {
12522	return awsutil.Prettify(s)
12523}
12524
12525// GoString returns the string representation
12526func (s CopySnapshotInput) GoString() string {
12527	return s.String()
12528}
12529
12530// Validate inspects the fields of the type to determine if they are valid.
12531func (s *CopySnapshotInput) Validate() error {
12532	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
12533	if s.SourceRegion == nil {
12534		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
12535	}
12536	if s.TargetSnapshotName == nil {
12537		invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName"))
12538	}
12539
12540	if invalidParams.Len() > 0 {
12541		return invalidParams
12542	}
12543	return nil
12544}
12545
12546// SetRestoreDate sets the RestoreDate field's value.
12547func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput {
12548	s.RestoreDate = &v
12549	return s
12550}
12551
12552// SetSourceRegion sets the SourceRegion field's value.
12553func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
12554	s.SourceRegion = &v
12555	return s
12556}
12557
12558// SetSourceResourceName sets the SourceResourceName field's value.
12559func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput {
12560	s.SourceResourceName = &v
12561	return s
12562}
12563
12564// SetSourceSnapshotName sets the SourceSnapshotName field's value.
12565func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput {
12566	s.SourceSnapshotName = &v
12567	return s
12568}
12569
12570// SetTargetSnapshotName sets the TargetSnapshotName field's value.
12571func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput {
12572	s.TargetSnapshotName = &v
12573	return s
12574}
12575
12576// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
12577func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput {
12578	s.UseLatestRestorableAutoSnapshot = &v
12579	return s
12580}
12581
12582type CopySnapshotOutput struct {
12583	_ struct{} `type:"structure"`
12584
12585	// A list of objects describing the API operation.
12586	Operations []*Operation `locationName:"operations" type:"list"`
12587}
12588
12589// String returns the string representation
12590func (s CopySnapshotOutput) String() string {
12591	return awsutil.Prettify(s)
12592}
12593
12594// GoString returns the string representation
12595func (s CopySnapshotOutput) GoString() string {
12596	return s.String()
12597}
12598
12599// SetOperations sets the Operations field's value.
12600func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput {
12601	s.Operations = v
12602	return s
12603}
12604
12605type CreateCloudFormationStackInput struct {
12606	_ struct{} `type:"structure"`
12607
12608	// An array of parameters that will be used to create the new Amazon EC2 instance.
12609	// You can only pass one instance entry at a time in this array. You will get
12610	// an invalid parameter error if you pass more than one instance entry in this
12611	// array.
12612	//
12613	// Instances is a required field
12614	Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"`
12615}
12616
12617// String returns the string representation
12618func (s CreateCloudFormationStackInput) String() string {
12619	return awsutil.Prettify(s)
12620}
12621
12622// GoString returns the string representation
12623func (s CreateCloudFormationStackInput) GoString() string {
12624	return s.String()
12625}
12626
12627// Validate inspects the fields of the type to determine if they are valid.
12628func (s *CreateCloudFormationStackInput) Validate() error {
12629	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"}
12630	if s.Instances == nil {
12631		invalidParams.Add(request.NewErrParamRequired("Instances"))
12632	}
12633	if s.Instances != nil {
12634		for i, v := range s.Instances {
12635			if v == nil {
12636				continue
12637			}
12638			if err := v.Validate(); err != nil {
12639				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams))
12640			}
12641		}
12642	}
12643
12644	if invalidParams.Len() > 0 {
12645		return invalidParams
12646	}
12647	return nil
12648}
12649
12650// SetInstances sets the Instances field's value.
12651func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput {
12652	s.Instances = v
12653	return s
12654}
12655
12656type CreateCloudFormationStackOutput struct {
12657	_ struct{} `type:"structure"`
12658
12659	// A list of objects describing the API operation.
12660	Operations []*Operation `locationName:"operations" type:"list"`
12661}
12662
12663// String returns the string representation
12664func (s CreateCloudFormationStackOutput) String() string {
12665	return awsutil.Prettify(s)
12666}
12667
12668// GoString returns the string representation
12669func (s CreateCloudFormationStackOutput) GoString() string {
12670	return s.String()
12671}
12672
12673// SetOperations sets the Operations field's value.
12674func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput {
12675	s.Operations = v
12676	return s
12677}
12678
12679type CreateDiskFromSnapshotInput struct {
12680	_ struct{} `type:"structure"`
12681
12682	// An array of objects that represent the add-ons to enable for the new disk.
12683	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
12684
12685	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
12686	// Choose the same Availability Zone as the Lightsail instance where you want
12687	// to create the disk.
12688	//
12689	// Use the GetRegions operation to list the Availability Zones where Lightsail
12690	// is currently available.
12691	//
12692	// AvailabilityZone is a required field
12693	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
12694
12695	// The unique Lightsail disk name (e.g., my-disk).
12696	//
12697	// DiskName is a required field
12698	DiskName *string `locationName:"diskName" type:"string" required:"true"`
12699
12700	// The name of the disk snapshot (e.g., my-snapshot) from which to create the
12701	// new storage disk.
12702	//
12703	// Constraint:
12704	//
12705	//    * This parameter cannot be defined together with the source disk name
12706	//    parameter. The disk snapshot name and source disk name parameters are
12707	//    mutually exclusive.
12708	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"`
12709
12710	// The date of the automatic snapshot to use for the new disk. Use the get auto
12711	// snapshots operation to identify the dates of the available automatic snapshots.
12712	//
12713	// Constraints:
12714	//
12715	//    * Must be specified in YYYY-MM-DD format.
12716	//
12717	//    * This parameter cannot be defined together with the use latest restorable
12718	//    auto snapshot parameter. The restore date and use latest restorable auto
12719	//    snapshot parameters are mutually exclusive.
12720	//
12721	//    * Define this parameter only when creating a new disk from an automatic
12722	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
12723	RestoreDate *string `locationName:"restoreDate" type:"string"`
12724
12725	// The size of the disk in GB (e.g., 32).
12726	//
12727	// SizeInGb is a required field
12728	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
12729
12730	// The name of the source disk from which the source automatic snapshot was
12731	// created.
12732	//
12733	// Constraints:
12734	//
12735	//    * This parameter cannot be defined together with the disk snapshot name
12736	//    parameter. The source disk name and disk snapshot name parameters are
12737	//    mutually exclusive.
12738	//
12739	//    * Define this parameter only when creating a new disk from an automatic
12740	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
12741	SourceDiskName *string `locationName:"sourceDiskName" type:"string"`
12742
12743	// The tag keys and optional values to add to the resource during create.
12744	//
12745	// To tag a resource after it has been created, see the tag resource operation.
12746	Tags []*Tag `locationName:"tags" type:"list"`
12747
12748	// A Boolean value to indicate whether to use the latest available automatic
12749	// snapshot.
12750	//
12751	// Constraints:
12752	//
12753	//    * This parameter cannot be defined together with the restore date parameter.
12754	//    The use latest restorable auto snapshot and restore date parameters are
12755	//    mutually exclusive.
12756	//
12757	//    * Define this parameter only when creating a new disk from an automatic
12758	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
12759	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
12760}
12761
12762// String returns the string representation
12763func (s CreateDiskFromSnapshotInput) String() string {
12764	return awsutil.Prettify(s)
12765}
12766
12767// GoString returns the string representation
12768func (s CreateDiskFromSnapshotInput) GoString() string {
12769	return s.String()
12770}
12771
12772// Validate inspects the fields of the type to determine if they are valid.
12773func (s *CreateDiskFromSnapshotInput) Validate() error {
12774	invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"}
12775	if s.AvailabilityZone == nil {
12776		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12777	}
12778	if s.DiskName == nil {
12779		invalidParams.Add(request.NewErrParamRequired("DiskName"))
12780	}
12781	if s.SizeInGb == nil {
12782		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
12783	}
12784	if s.AddOns != nil {
12785		for i, v := range s.AddOns {
12786			if v == nil {
12787				continue
12788			}
12789			if err := v.Validate(); err != nil {
12790				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
12791			}
12792		}
12793	}
12794
12795	if invalidParams.Len() > 0 {
12796		return invalidParams
12797	}
12798	return nil
12799}
12800
12801// SetAddOns sets the AddOns field's value.
12802func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput {
12803	s.AddOns = v
12804	return s
12805}
12806
12807// SetAvailabilityZone sets the AvailabilityZone field's value.
12808func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput {
12809	s.AvailabilityZone = &v
12810	return s
12811}
12812
12813// SetDiskName sets the DiskName field's value.
12814func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput {
12815	s.DiskName = &v
12816	return s
12817}
12818
12819// SetDiskSnapshotName sets the DiskSnapshotName field's value.
12820func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput {
12821	s.DiskSnapshotName = &v
12822	return s
12823}
12824
12825// SetRestoreDate sets the RestoreDate field's value.
12826func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput {
12827	s.RestoreDate = &v
12828	return s
12829}
12830
12831// SetSizeInGb sets the SizeInGb field's value.
12832func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput {
12833	s.SizeInGb = &v
12834	return s
12835}
12836
12837// SetSourceDiskName sets the SourceDiskName field's value.
12838func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput {
12839	s.SourceDiskName = &v
12840	return s
12841}
12842
12843// SetTags sets the Tags field's value.
12844func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput {
12845	s.Tags = v
12846	return s
12847}
12848
12849// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
12850func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput {
12851	s.UseLatestRestorableAutoSnapshot = &v
12852	return s
12853}
12854
12855type CreateDiskFromSnapshotOutput struct {
12856	_ struct{} `type:"structure"`
12857
12858	// An object describing the API operations.
12859	Operations []*Operation `locationName:"operations" type:"list"`
12860}
12861
12862// String returns the string representation
12863func (s CreateDiskFromSnapshotOutput) String() string {
12864	return awsutil.Prettify(s)
12865}
12866
12867// GoString returns the string representation
12868func (s CreateDiskFromSnapshotOutput) GoString() string {
12869	return s.String()
12870}
12871
12872// SetOperations sets the Operations field's value.
12873func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput {
12874	s.Operations = v
12875	return s
12876}
12877
12878type CreateDiskInput struct {
12879	_ struct{} `type:"structure"`
12880
12881	// An array of objects that represent the add-ons to enable for the new disk.
12882	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
12883
12884	// The Availability Zone where you want to create the disk (e.g., us-east-2a).
12885	// Use the same Availability Zone as the Lightsail instance to which you want
12886	// to attach the disk.
12887	//
12888	// Use the get regions operation to list the Availability Zones where Lightsail
12889	// is currently available.
12890	//
12891	// AvailabilityZone is a required field
12892	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
12893
12894	// The unique Lightsail disk name (e.g., my-disk).
12895	//
12896	// DiskName is a required field
12897	DiskName *string `locationName:"diskName" type:"string" required:"true"`
12898
12899	// The size of the disk in GB (e.g., 32).
12900	//
12901	// SizeInGb is a required field
12902	SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"`
12903
12904	// The tag keys and optional values to add to the resource during create.
12905	//
12906	// To tag a resource after it has been created, see the tag resource operation.
12907	Tags []*Tag `locationName:"tags" type:"list"`
12908}
12909
12910// String returns the string representation
12911func (s CreateDiskInput) String() string {
12912	return awsutil.Prettify(s)
12913}
12914
12915// GoString returns the string representation
12916func (s CreateDiskInput) GoString() string {
12917	return s.String()
12918}
12919
12920// Validate inspects the fields of the type to determine if they are valid.
12921func (s *CreateDiskInput) Validate() error {
12922	invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"}
12923	if s.AvailabilityZone == nil {
12924		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
12925	}
12926	if s.DiskName == nil {
12927		invalidParams.Add(request.NewErrParamRequired("DiskName"))
12928	}
12929	if s.SizeInGb == nil {
12930		invalidParams.Add(request.NewErrParamRequired("SizeInGb"))
12931	}
12932	if s.AddOns != nil {
12933		for i, v := range s.AddOns {
12934			if v == nil {
12935				continue
12936			}
12937			if err := v.Validate(); err != nil {
12938				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
12939			}
12940		}
12941	}
12942
12943	if invalidParams.Len() > 0 {
12944		return invalidParams
12945	}
12946	return nil
12947}
12948
12949// SetAddOns sets the AddOns field's value.
12950func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput {
12951	s.AddOns = v
12952	return s
12953}
12954
12955// SetAvailabilityZone sets the AvailabilityZone field's value.
12956func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput {
12957	s.AvailabilityZone = &v
12958	return s
12959}
12960
12961// SetDiskName sets the DiskName field's value.
12962func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput {
12963	s.DiskName = &v
12964	return s
12965}
12966
12967// SetSizeInGb sets the SizeInGb field's value.
12968func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput {
12969	s.SizeInGb = &v
12970	return s
12971}
12972
12973// SetTags sets the Tags field's value.
12974func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput {
12975	s.Tags = v
12976	return s
12977}
12978
12979type CreateDiskOutput struct {
12980	_ struct{} `type:"structure"`
12981
12982	// An object describing the API operations.
12983	Operations []*Operation `locationName:"operations" type:"list"`
12984}
12985
12986// String returns the string representation
12987func (s CreateDiskOutput) String() string {
12988	return awsutil.Prettify(s)
12989}
12990
12991// GoString returns the string representation
12992func (s CreateDiskOutput) GoString() string {
12993	return s.String()
12994}
12995
12996// SetOperations sets the Operations field's value.
12997func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput {
12998	s.Operations = v
12999	return s
13000}
13001
13002type CreateDiskSnapshotInput struct {
13003	_ struct{} `type:"structure"`
13004
13005	// The unique name of the source disk (e.g., Disk-Virginia-1).
13006	//
13007	// This parameter cannot be defined together with the instance name parameter.
13008	// The disk name and instance name parameters are mutually exclusive.
13009	DiskName *string `locationName:"diskName" type:"string"`
13010
13011	// The name of the destination disk snapshot (e.g., my-disk-snapshot) based
13012	// on the source disk.
13013	//
13014	// DiskSnapshotName is a required field
13015	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
13016
13017	// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1).
13018	// When this is defined, a snapshot of the instance's system volume is created.
13019	//
13020	// This parameter cannot be defined together with the disk name parameter. The
13021	// instance name and disk name parameters are mutually exclusive.
13022	InstanceName *string `locationName:"instanceName" type:"string"`
13023
13024	// The tag keys and optional values to add to the resource during create.
13025	//
13026	// To tag a resource after it has been created, see the tag resource operation.
13027	Tags []*Tag `locationName:"tags" type:"list"`
13028}
13029
13030// String returns the string representation
13031func (s CreateDiskSnapshotInput) String() string {
13032	return awsutil.Prettify(s)
13033}
13034
13035// GoString returns the string representation
13036func (s CreateDiskSnapshotInput) GoString() string {
13037	return s.String()
13038}
13039
13040// Validate inspects the fields of the type to determine if they are valid.
13041func (s *CreateDiskSnapshotInput) Validate() error {
13042	invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"}
13043	if s.DiskSnapshotName == nil {
13044		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
13045	}
13046
13047	if invalidParams.Len() > 0 {
13048		return invalidParams
13049	}
13050	return nil
13051}
13052
13053// SetDiskName sets the DiskName field's value.
13054func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput {
13055	s.DiskName = &v
13056	return s
13057}
13058
13059// SetDiskSnapshotName sets the DiskSnapshotName field's value.
13060func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput {
13061	s.DiskSnapshotName = &v
13062	return s
13063}
13064
13065// SetInstanceName sets the InstanceName field's value.
13066func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput {
13067	s.InstanceName = &v
13068	return s
13069}
13070
13071// SetTags sets the Tags field's value.
13072func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput {
13073	s.Tags = v
13074	return s
13075}
13076
13077type CreateDiskSnapshotOutput struct {
13078	_ struct{} `type:"structure"`
13079
13080	// An object describing the API operations.
13081	Operations []*Operation `locationName:"operations" type:"list"`
13082}
13083
13084// String returns the string representation
13085func (s CreateDiskSnapshotOutput) String() string {
13086	return awsutil.Prettify(s)
13087}
13088
13089// GoString returns the string representation
13090func (s CreateDiskSnapshotOutput) GoString() string {
13091	return s.String()
13092}
13093
13094// SetOperations sets the Operations field's value.
13095func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput {
13096	s.Operations = v
13097	return s
13098}
13099
13100type CreateDomainEntryInput struct {
13101	_ struct{} `type:"structure"`
13102
13103	// An array of key-value pairs containing information about the domain entry
13104	// request.
13105	//
13106	// DomainEntry is a required field
13107	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
13108
13109	// The domain name (e.g., example.com) for which you want to create the domain
13110	// entry.
13111	//
13112	// DomainName is a required field
13113	DomainName *string `locationName:"domainName" type:"string" required:"true"`
13114}
13115
13116// String returns the string representation
13117func (s CreateDomainEntryInput) String() string {
13118	return awsutil.Prettify(s)
13119}
13120
13121// GoString returns the string representation
13122func (s CreateDomainEntryInput) GoString() string {
13123	return s.String()
13124}
13125
13126// Validate inspects the fields of the type to determine if they are valid.
13127func (s *CreateDomainEntryInput) Validate() error {
13128	invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"}
13129	if s.DomainEntry == nil {
13130		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
13131	}
13132	if s.DomainName == nil {
13133		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13134	}
13135
13136	if invalidParams.Len() > 0 {
13137		return invalidParams
13138	}
13139	return nil
13140}
13141
13142// SetDomainEntry sets the DomainEntry field's value.
13143func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput {
13144	s.DomainEntry = v
13145	return s
13146}
13147
13148// SetDomainName sets the DomainName field's value.
13149func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput {
13150	s.DomainName = &v
13151	return s
13152}
13153
13154type CreateDomainEntryOutput struct {
13155	_ struct{} `type:"structure"`
13156
13157	// An array of key-value pairs containing information about the operation.
13158	Operation *Operation `locationName:"operation" type:"structure"`
13159}
13160
13161// String returns the string representation
13162func (s CreateDomainEntryOutput) String() string {
13163	return awsutil.Prettify(s)
13164}
13165
13166// GoString returns the string representation
13167func (s CreateDomainEntryOutput) GoString() string {
13168	return s.String()
13169}
13170
13171// SetOperation sets the Operation field's value.
13172func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput {
13173	s.Operation = v
13174	return s
13175}
13176
13177type CreateDomainInput struct {
13178	_ struct{} `type:"structure"`
13179
13180	// The domain name to manage (e.g., example.com).
13181	//
13182	// You cannot register a new domain name using Lightsail. You must register
13183	// a domain name using Amazon Route 53 or another domain name registrar. If
13184	// you have already registered your domain, you can enter its name in this parameter
13185	// to manage the DNS records for that domain.
13186	//
13187	// DomainName is a required field
13188	DomainName *string `locationName:"domainName" type:"string" required:"true"`
13189
13190	// The tag keys and optional values to add to the resource during create.
13191	//
13192	// To tag a resource after it has been created, see the tag resource operation.
13193	Tags []*Tag `locationName:"tags" type:"list"`
13194}
13195
13196// String returns the string representation
13197func (s CreateDomainInput) String() string {
13198	return awsutil.Prettify(s)
13199}
13200
13201// GoString returns the string representation
13202func (s CreateDomainInput) GoString() string {
13203	return s.String()
13204}
13205
13206// Validate inspects the fields of the type to determine if they are valid.
13207func (s *CreateDomainInput) Validate() error {
13208	invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"}
13209	if s.DomainName == nil {
13210		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13211	}
13212
13213	if invalidParams.Len() > 0 {
13214		return invalidParams
13215	}
13216	return nil
13217}
13218
13219// SetDomainName sets the DomainName field's value.
13220func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput {
13221	s.DomainName = &v
13222	return s
13223}
13224
13225// SetTags sets the Tags field's value.
13226func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput {
13227	s.Tags = v
13228	return s
13229}
13230
13231type CreateDomainOutput struct {
13232	_ struct{} `type:"structure"`
13233
13234	// An array of key-value pairs containing information about the domain resource
13235	// you created.
13236	Operation *Operation `locationName:"operation" type:"structure"`
13237}
13238
13239// String returns the string representation
13240func (s CreateDomainOutput) String() string {
13241	return awsutil.Prettify(s)
13242}
13243
13244// GoString returns the string representation
13245func (s CreateDomainOutput) GoString() string {
13246	return s.String()
13247}
13248
13249// SetOperation sets the Operation field's value.
13250func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput {
13251	s.Operation = v
13252	return s
13253}
13254
13255type CreateInstanceSnapshotInput struct {
13256	_ struct{} `type:"structure"`
13257
13258	// The Lightsail instance on which to base your snapshot.
13259	//
13260	// InstanceName is a required field
13261	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
13262
13263	// The name for your new snapshot.
13264	//
13265	// InstanceSnapshotName is a required field
13266	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
13267
13268	// The tag keys and optional values to add to the resource during create.
13269	//
13270	// To tag a resource after it has been created, see the tag resource operation.
13271	Tags []*Tag `locationName:"tags" type:"list"`
13272}
13273
13274// String returns the string representation
13275func (s CreateInstanceSnapshotInput) String() string {
13276	return awsutil.Prettify(s)
13277}
13278
13279// GoString returns the string representation
13280func (s CreateInstanceSnapshotInput) GoString() string {
13281	return s.String()
13282}
13283
13284// Validate inspects the fields of the type to determine if they are valid.
13285func (s *CreateInstanceSnapshotInput) Validate() error {
13286	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"}
13287	if s.InstanceName == nil {
13288		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
13289	}
13290	if s.InstanceSnapshotName == nil {
13291		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
13292	}
13293
13294	if invalidParams.Len() > 0 {
13295		return invalidParams
13296	}
13297	return nil
13298}
13299
13300// SetInstanceName sets the InstanceName field's value.
13301func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput {
13302	s.InstanceName = &v
13303	return s
13304}
13305
13306// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
13307func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput {
13308	s.InstanceSnapshotName = &v
13309	return s
13310}
13311
13312// SetTags sets the Tags field's value.
13313func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput {
13314	s.Tags = v
13315	return s
13316}
13317
13318type CreateInstanceSnapshotOutput struct {
13319	_ struct{} `type:"structure"`
13320
13321	// An array of key-value pairs containing information about the results of your
13322	// create instances snapshot request.
13323	Operations []*Operation `locationName:"operations" type:"list"`
13324}
13325
13326// String returns the string representation
13327func (s CreateInstanceSnapshotOutput) String() string {
13328	return awsutil.Prettify(s)
13329}
13330
13331// GoString returns the string representation
13332func (s CreateInstanceSnapshotOutput) GoString() string {
13333	return s.String()
13334}
13335
13336// SetOperations sets the Operations field's value.
13337func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput {
13338	s.Operations = v
13339	return s
13340}
13341
13342type CreateInstancesFromSnapshotInput struct {
13343	_ struct{} `type:"structure"`
13344
13345	// An array of objects representing the add-ons to enable for the new instance.
13346	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
13347
13348	// An object containing information about one or more disk mappings.
13349	AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"`
13350
13351	// The Availability Zone where you want to create your instances. Use the following
13352	// formatting: us-east-2a (case sensitive). You can get a list of Availability
13353	// Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
13354	// operation. Be sure to add the include Availability Zones parameter to your
13355	// request.
13356	//
13357	// AvailabilityZone is a required field
13358	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
13359
13360	// The bundle of specification information for your virtual private server (or
13361	// instance), including the pricing plan (e.g., micro_1_0).
13362	//
13363	// BundleId is a required field
13364	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
13365
13366	// The names for your new instances.
13367	//
13368	// InstanceNames is a required field
13369	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
13370
13371	// The name of the instance snapshot on which you are basing your new instances.
13372	// Use the get instance snapshots operation to return information about your
13373	// existing snapshots.
13374	//
13375	// Constraint:
13376	//
13377	//    * This parameter cannot be defined together with the source instance name
13378	//    parameter. The instance snapshot name and source instance name parameters
13379	//    are mutually exclusive.
13380	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"`
13381
13382	// The name for your key pair.
13383	KeyPairName *string `locationName:"keyPairName" type:"string"`
13384
13385	// The date of the automatic snapshot to use for the new instance. Use the get
13386	// auto snapshots operation to identify the dates of the available automatic
13387	// snapshots.
13388	//
13389	// Constraints:
13390	//
13391	//    * Must be specified in YYYY-MM-DD format.
13392	//
13393	//    * This parameter cannot be defined together with the use latest restorable
13394	//    auto snapshot parameter. The restore date and use latest restorable auto
13395	//    snapshot parameters are mutually exclusive.
13396	//
13397	//    * Define this parameter only when creating a new instance from an automatic
13398	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
13399	RestoreDate *string `locationName:"restoreDate" type:"string"`
13400
13401	// The name of the source instance from which the source automatic snapshot
13402	// was created.
13403	//
13404	// Constraints:
13405	//
13406	//    * This parameter cannot be defined together with the instance snapshot
13407	//    name parameter. The source instance name and instance snapshot name parameters
13408	//    are mutually exclusive.
13409	//
13410	//    * Define this parameter only when creating a new instance from an automatic
13411	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
13412	SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"`
13413
13414	// The tag keys and optional values to add to the resource during create.
13415	//
13416	// To tag a resource after it has been created, see the tag resource operation.
13417	Tags []*Tag `locationName:"tags" type:"list"`
13418
13419	// A Boolean value to indicate whether to use the latest available automatic
13420	// snapshot.
13421	//
13422	// Constraints:
13423	//
13424	//    * This parameter cannot be defined together with the restore date parameter.
13425	//    The use latest restorable auto snapshot and restore date parameters are
13426	//    mutually exclusive.
13427	//
13428	//    * Define this parameter only when creating a new instance from an automatic
13429	//    snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots).
13430	UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"`
13431
13432	// You can create a launch script that configures a server with additional user
13433	// data. For example, apt-get -y update.
13434	//
13435	// Depending on the machine image you choose, the command to get software on
13436	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
13437	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
13438	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
13439	UserData *string `locationName:"userData" type:"string"`
13440}
13441
13442// String returns the string representation
13443func (s CreateInstancesFromSnapshotInput) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s CreateInstancesFromSnapshotInput) GoString() string {
13449	return s.String()
13450}
13451
13452// Validate inspects the fields of the type to determine if they are valid.
13453func (s *CreateInstancesFromSnapshotInput) Validate() error {
13454	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"}
13455	if s.AvailabilityZone == nil {
13456		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
13457	}
13458	if s.BundleId == nil {
13459		invalidParams.Add(request.NewErrParamRequired("BundleId"))
13460	}
13461	if s.InstanceNames == nil {
13462		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
13463	}
13464	if s.AddOns != nil {
13465		for i, v := range s.AddOns {
13466			if v == nil {
13467				continue
13468			}
13469			if err := v.Validate(); err != nil {
13470				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
13471			}
13472		}
13473	}
13474
13475	if invalidParams.Len() > 0 {
13476		return invalidParams
13477	}
13478	return nil
13479}
13480
13481// SetAddOns sets the AddOns field's value.
13482func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput {
13483	s.AddOns = v
13484	return s
13485}
13486
13487// SetAttachedDiskMapping sets the AttachedDiskMapping field's value.
13488func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput {
13489	s.AttachedDiskMapping = v
13490	return s
13491}
13492
13493// SetAvailabilityZone sets the AvailabilityZone field's value.
13494func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput {
13495	s.AvailabilityZone = &v
13496	return s
13497}
13498
13499// SetBundleId sets the BundleId field's value.
13500func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput {
13501	s.BundleId = &v
13502	return s
13503}
13504
13505// SetInstanceNames sets the InstanceNames field's value.
13506func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput {
13507	s.InstanceNames = v
13508	return s
13509}
13510
13511// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
13512func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput {
13513	s.InstanceSnapshotName = &v
13514	return s
13515}
13516
13517// SetKeyPairName sets the KeyPairName field's value.
13518func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput {
13519	s.KeyPairName = &v
13520	return s
13521}
13522
13523// SetRestoreDate sets the RestoreDate field's value.
13524func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput {
13525	s.RestoreDate = &v
13526	return s
13527}
13528
13529// SetSourceInstanceName sets the SourceInstanceName field's value.
13530func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput {
13531	s.SourceInstanceName = &v
13532	return s
13533}
13534
13535// SetTags sets the Tags field's value.
13536func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput {
13537	s.Tags = v
13538	return s
13539}
13540
13541// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value.
13542func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput {
13543	s.UseLatestRestorableAutoSnapshot = &v
13544	return s
13545}
13546
13547// SetUserData sets the UserData field's value.
13548func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput {
13549	s.UserData = &v
13550	return s
13551}
13552
13553type CreateInstancesFromSnapshotOutput struct {
13554	_ struct{} `type:"structure"`
13555
13556	// An array of key-value pairs containing information about the results of your
13557	// create instances from snapshot request.
13558	Operations []*Operation `locationName:"operations" type:"list"`
13559}
13560
13561// String returns the string representation
13562func (s CreateInstancesFromSnapshotOutput) String() string {
13563	return awsutil.Prettify(s)
13564}
13565
13566// GoString returns the string representation
13567func (s CreateInstancesFromSnapshotOutput) GoString() string {
13568	return s.String()
13569}
13570
13571// SetOperations sets the Operations field's value.
13572func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput {
13573	s.Operations = v
13574	return s
13575}
13576
13577type CreateInstancesInput struct {
13578	_ struct{} `type:"structure"`
13579
13580	// An array of objects representing the add-ons to enable for the new instance.
13581	AddOns []*AddOnRequest `locationName:"addOns" type:"list"`
13582
13583	// The Availability Zone in which to create your instance. Use the following
13584	// format: us-east-2a (case sensitive). You can get a list of Availability Zones
13585	// by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html)
13586	// operation. Be sure to add the include Availability Zones parameter to your
13587	// request.
13588	//
13589	// AvailabilityZone is a required field
13590	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
13591
13592	// The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).
13593	// Use the get blueprints operation to return a list of available images (or
13594	// blueprints).
13595	//
13596	// Use active blueprints when creating new instances. Inactive blueprints are
13597	// listed to support customers with existing instances and are not necessarily
13598	// available to create new instances. Blueprints are marked inactive when they
13599	// become outdated due to operating system updates or new application releases.
13600	//
13601	// BlueprintId is a required field
13602	BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"`
13603
13604	// The bundle of specification information for your virtual private server (or
13605	// instance), including the pricing plan (e.g., micro_1_0).
13606	//
13607	// BundleId is a required field
13608	BundleId *string `locationName:"bundleId" type:"string" required:"true"`
13609
13610	// (Deprecated) The name for your custom image.
13611	//
13612	// In releases prior to June 12, 2017, this parameter was ignored by the API.
13613	// It is now deprecated.
13614	//
13615	// Deprecated: CustomImageName has been deprecated
13616	CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"`
13617
13618	// The names to use for your new Lightsail instances. Separate multiple values
13619	// using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]
13620	//
13621	// InstanceNames is a required field
13622	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
13623
13624	// The name of your key pair.
13625	KeyPairName *string `locationName:"keyPairName" type:"string"`
13626
13627	// The tag keys and optional values to add to the resource during create.
13628	//
13629	// To tag a resource after it has been created, see the tag resource operation.
13630	Tags []*Tag `locationName:"tags" type:"list"`
13631
13632	// A launch script you can create that configures a server with additional user
13633	// data. For example, you might want to run apt-get -y update.
13634	//
13635	// Depending on the machine image you choose, the command to get software on
13636	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
13637	// use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide
13638	// (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image).
13639	UserData *string `locationName:"userData" type:"string"`
13640}
13641
13642// String returns the string representation
13643func (s CreateInstancesInput) String() string {
13644	return awsutil.Prettify(s)
13645}
13646
13647// GoString returns the string representation
13648func (s CreateInstancesInput) GoString() string {
13649	return s.String()
13650}
13651
13652// Validate inspects the fields of the type to determine if they are valid.
13653func (s *CreateInstancesInput) Validate() error {
13654	invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"}
13655	if s.AvailabilityZone == nil {
13656		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
13657	}
13658	if s.BlueprintId == nil {
13659		invalidParams.Add(request.NewErrParamRequired("BlueprintId"))
13660	}
13661	if s.BundleId == nil {
13662		invalidParams.Add(request.NewErrParamRequired("BundleId"))
13663	}
13664	if s.InstanceNames == nil {
13665		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
13666	}
13667	if s.AddOns != nil {
13668		for i, v := range s.AddOns {
13669			if v == nil {
13670				continue
13671			}
13672			if err := v.Validate(); err != nil {
13673				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams))
13674			}
13675		}
13676	}
13677
13678	if invalidParams.Len() > 0 {
13679		return invalidParams
13680	}
13681	return nil
13682}
13683
13684// SetAddOns sets the AddOns field's value.
13685func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput {
13686	s.AddOns = v
13687	return s
13688}
13689
13690// SetAvailabilityZone sets the AvailabilityZone field's value.
13691func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput {
13692	s.AvailabilityZone = &v
13693	return s
13694}
13695
13696// SetBlueprintId sets the BlueprintId field's value.
13697func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput {
13698	s.BlueprintId = &v
13699	return s
13700}
13701
13702// SetBundleId sets the BundleId field's value.
13703func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput {
13704	s.BundleId = &v
13705	return s
13706}
13707
13708// SetCustomImageName sets the CustomImageName field's value.
13709func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput {
13710	s.CustomImageName = &v
13711	return s
13712}
13713
13714// SetInstanceNames sets the InstanceNames field's value.
13715func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput {
13716	s.InstanceNames = v
13717	return s
13718}
13719
13720// SetKeyPairName sets the KeyPairName field's value.
13721func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput {
13722	s.KeyPairName = &v
13723	return s
13724}
13725
13726// SetTags sets the Tags field's value.
13727func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput {
13728	s.Tags = v
13729	return s
13730}
13731
13732// SetUserData sets the UserData field's value.
13733func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput {
13734	s.UserData = &v
13735	return s
13736}
13737
13738type CreateInstancesOutput struct {
13739	_ struct{} `type:"structure"`
13740
13741	// An array of key-value pairs containing information about the results of your
13742	// create instances request.
13743	Operations []*Operation `locationName:"operations" type:"list"`
13744}
13745
13746// String returns the string representation
13747func (s CreateInstancesOutput) String() string {
13748	return awsutil.Prettify(s)
13749}
13750
13751// GoString returns the string representation
13752func (s CreateInstancesOutput) GoString() string {
13753	return s.String()
13754}
13755
13756// SetOperations sets the Operations field's value.
13757func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput {
13758	s.Operations = v
13759	return s
13760}
13761
13762type CreateKeyPairInput struct {
13763	_ struct{} `type:"structure"`
13764
13765	// The name for your new key pair.
13766	//
13767	// KeyPairName is a required field
13768	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
13769
13770	// The tag keys and optional values to add to the resource during create.
13771	//
13772	// To tag a resource after it has been created, see the tag resource operation.
13773	Tags []*Tag `locationName:"tags" type:"list"`
13774}
13775
13776// String returns the string representation
13777func (s CreateKeyPairInput) String() string {
13778	return awsutil.Prettify(s)
13779}
13780
13781// GoString returns the string representation
13782func (s CreateKeyPairInput) GoString() string {
13783	return s.String()
13784}
13785
13786// Validate inspects the fields of the type to determine if they are valid.
13787func (s *CreateKeyPairInput) Validate() error {
13788	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
13789	if s.KeyPairName == nil {
13790		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
13791	}
13792
13793	if invalidParams.Len() > 0 {
13794		return invalidParams
13795	}
13796	return nil
13797}
13798
13799// SetKeyPairName sets the KeyPairName field's value.
13800func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput {
13801	s.KeyPairName = &v
13802	return s
13803}
13804
13805// SetTags sets the Tags field's value.
13806func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput {
13807	s.Tags = v
13808	return s
13809}
13810
13811type CreateKeyPairOutput struct {
13812	_ struct{} `type:"structure"`
13813
13814	// An array of key-value pairs containing information about the new key pair
13815	// you just created.
13816	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
13817
13818	// An array of key-value pairs containing information about the results of your
13819	// create key pair request.
13820	Operation *Operation `locationName:"operation" type:"structure"`
13821
13822	// A base64-encoded RSA private key.
13823	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
13824
13825	// A base64-encoded public key of the ssh-rsa type.
13826	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
13827}
13828
13829// String returns the string representation
13830func (s CreateKeyPairOutput) String() string {
13831	return awsutil.Prettify(s)
13832}
13833
13834// GoString returns the string representation
13835func (s CreateKeyPairOutput) GoString() string {
13836	return s.String()
13837}
13838
13839// SetKeyPair sets the KeyPair field's value.
13840func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput {
13841	s.KeyPair = v
13842	return s
13843}
13844
13845// SetOperation sets the Operation field's value.
13846func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput {
13847	s.Operation = v
13848	return s
13849}
13850
13851// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
13852func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput {
13853	s.PrivateKeyBase64 = &v
13854	return s
13855}
13856
13857// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
13858func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput {
13859	s.PublicKeyBase64 = &v
13860	return s
13861}
13862
13863type CreateLoadBalancerInput struct {
13864	_ struct{} `type:"structure"`
13865
13866	// The optional alternative domains and subdomains to use with your SSL/TLS
13867	// certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).
13868	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
13869
13870	// The domain name with which your certificate is associated (e.g., example.com).
13871	//
13872	// If you specify certificateDomainName, then certificateName is required (and
13873	// vice-versa).
13874	CertificateDomainName *string `locationName:"certificateDomainName" type:"string"`
13875
13876	// The name of the SSL/TLS certificate.
13877	//
13878	// If you specify certificateName, then certificateDomainName is required (and
13879	// vice-versa).
13880	CertificateName *string `locationName:"certificateName" type:"string"`
13881
13882	// The path you provided to perform the load balancer health check. If you didn't
13883	// specify a health check path, Lightsail uses the root path of your website
13884	// (e.g., "/").
13885	//
13886	// You may want to specify a custom health check path other than the root of
13887	// your application if your home page loads slowly or has a lot of media or
13888	// scripting on it.
13889	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
13890
13891	// The instance port where you're creating your load balancer.
13892	//
13893	// InstancePort is a required field
13894	InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"`
13895
13896	// The name of your load balancer.
13897	//
13898	// LoadBalancerName is a required field
13899	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
13900
13901	// The tag keys and optional values to add to the resource during create.
13902	//
13903	// To tag a resource after it has been created, see the tag resource operation.
13904	Tags []*Tag `locationName:"tags" type:"list"`
13905}
13906
13907// String returns the string representation
13908func (s CreateLoadBalancerInput) String() string {
13909	return awsutil.Prettify(s)
13910}
13911
13912// GoString returns the string representation
13913func (s CreateLoadBalancerInput) GoString() string {
13914	return s.String()
13915}
13916
13917// Validate inspects the fields of the type to determine if they are valid.
13918func (s *CreateLoadBalancerInput) Validate() error {
13919	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"}
13920	if s.InstancePort == nil {
13921		invalidParams.Add(request.NewErrParamRequired("InstancePort"))
13922	}
13923	if s.LoadBalancerName == nil {
13924		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
13925	}
13926
13927	if invalidParams.Len() > 0 {
13928		return invalidParams
13929	}
13930	return nil
13931}
13932
13933// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
13934func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput {
13935	s.CertificateAlternativeNames = v
13936	return s
13937}
13938
13939// SetCertificateDomainName sets the CertificateDomainName field's value.
13940func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput {
13941	s.CertificateDomainName = &v
13942	return s
13943}
13944
13945// SetCertificateName sets the CertificateName field's value.
13946func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput {
13947	s.CertificateName = &v
13948	return s
13949}
13950
13951// SetHealthCheckPath sets the HealthCheckPath field's value.
13952func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput {
13953	s.HealthCheckPath = &v
13954	return s
13955}
13956
13957// SetInstancePort sets the InstancePort field's value.
13958func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput {
13959	s.InstancePort = &v
13960	return s
13961}
13962
13963// SetLoadBalancerName sets the LoadBalancerName field's value.
13964func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput {
13965	s.LoadBalancerName = &v
13966	return s
13967}
13968
13969// SetTags sets the Tags field's value.
13970func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput {
13971	s.Tags = v
13972	return s
13973}
13974
13975type CreateLoadBalancerOutput struct {
13976	_ struct{} `type:"structure"`
13977
13978	// An object containing information about the API operations.
13979	Operations []*Operation `locationName:"operations" type:"list"`
13980}
13981
13982// String returns the string representation
13983func (s CreateLoadBalancerOutput) String() string {
13984	return awsutil.Prettify(s)
13985}
13986
13987// GoString returns the string representation
13988func (s CreateLoadBalancerOutput) GoString() string {
13989	return s.String()
13990}
13991
13992// SetOperations sets the Operations field's value.
13993func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput {
13994	s.Operations = v
13995	return s
13996}
13997
13998type CreateLoadBalancerTlsCertificateInput struct {
13999	_ struct{} `type:"structure"`
14000
14001	// An array of strings listing alternative domains and subdomains for your SSL/TLS
14002	// certificate. Lightsail will de-dupe the names for you. You can have a maximum
14003	// of 9 alternative names (in addition to the 1 primary domain). We do not support
14004	// wildcards (e.g., *.example.com).
14005	CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"`
14006
14007	// The domain name (e.g., example.com) for your SSL/TLS certificate.
14008	//
14009	// CertificateDomainName is a required field
14010	CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"`
14011
14012	// The SSL/TLS certificate name.
14013	//
14014	// You can have up to 10 certificates in your account at one time. Each Lightsail
14015	// load balancer can have up to 2 certificates associated with it at one time.
14016	// There is also an overall limit to the number of certificates that can be
14017	// issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html).
14018	//
14019	// CertificateName is a required field
14020	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
14021
14022	// The load balancer name where you want to create the SSL/TLS certificate.
14023	//
14024	// LoadBalancerName is a required field
14025	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
14026
14027	// The tag keys and optional values to add to the resource during create.
14028	//
14029	// To tag a resource after it has been created, see the tag resource operation.
14030	Tags []*Tag `locationName:"tags" type:"list"`
14031}
14032
14033// String returns the string representation
14034func (s CreateLoadBalancerTlsCertificateInput) String() string {
14035	return awsutil.Prettify(s)
14036}
14037
14038// GoString returns the string representation
14039func (s CreateLoadBalancerTlsCertificateInput) GoString() string {
14040	return s.String()
14041}
14042
14043// Validate inspects the fields of the type to determine if they are valid.
14044func (s *CreateLoadBalancerTlsCertificateInput) Validate() error {
14045	invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"}
14046	if s.CertificateDomainName == nil {
14047		invalidParams.Add(request.NewErrParamRequired("CertificateDomainName"))
14048	}
14049	if s.CertificateName == nil {
14050		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
14051	}
14052	if s.LoadBalancerName == nil {
14053		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
14054	}
14055
14056	if invalidParams.Len() > 0 {
14057		return invalidParams
14058	}
14059	return nil
14060}
14061
14062// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value.
14063func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput {
14064	s.CertificateAlternativeNames = v
14065	return s
14066}
14067
14068// SetCertificateDomainName sets the CertificateDomainName field's value.
14069func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput {
14070	s.CertificateDomainName = &v
14071	return s
14072}
14073
14074// SetCertificateName sets the CertificateName field's value.
14075func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput {
14076	s.CertificateName = &v
14077	return s
14078}
14079
14080// SetLoadBalancerName sets the LoadBalancerName field's value.
14081func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput {
14082	s.LoadBalancerName = &v
14083	return s
14084}
14085
14086// SetTags sets the Tags field's value.
14087func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput {
14088	s.Tags = v
14089	return s
14090}
14091
14092type CreateLoadBalancerTlsCertificateOutput struct {
14093	_ struct{} `type:"structure"`
14094
14095	// An object containing information about the API operations.
14096	Operations []*Operation `locationName:"operations" type:"list"`
14097}
14098
14099// String returns the string representation
14100func (s CreateLoadBalancerTlsCertificateOutput) String() string {
14101	return awsutil.Prettify(s)
14102}
14103
14104// GoString returns the string representation
14105func (s CreateLoadBalancerTlsCertificateOutput) GoString() string {
14106	return s.String()
14107}
14108
14109// SetOperations sets the Operations field's value.
14110func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput {
14111	s.Operations = v
14112	return s
14113}
14114
14115type CreateRelationalDatabaseFromSnapshotInput struct {
14116	_ struct{} `type:"structure"`
14117
14118	// The Availability Zone in which to create your new database. Use the us-east-2a
14119	// case-sensitive format.
14120	//
14121	// You can get a list of Availability Zones by using the get regions operation.
14122	// Be sure to add the include relational database Availability Zones parameter
14123	// to your request.
14124	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
14125
14126	// Specifies the accessibility options for your new database. A value of true
14127	// specifies a database that is available to resources outside of your Lightsail
14128	// account. A value of false specifies a database that is available only to
14129	// your Lightsail resources in the same region as your database.
14130	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
14131
14132	// The bundle ID for your new database. A bundle describes the performance specifications
14133	// for your database.
14134	//
14135	// You can get a list of database bundle IDs by using the get relational database
14136	// bundles operation.
14137	//
14138	// When creating a new database from a snapshot, you cannot choose a bundle
14139	// that is smaller than the bundle of the source database.
14140	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
14141
14142	// The name to use for your new database.
14143	//
14144	// Constraints:
14145	//
14146	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
14147	//
14148	//    * The first and last character must be a letter or number.
14149	//
14150	// RelationalDatabaseName is a required field
14151	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
14152
14153	// The name of the database snapshot from which to create your new database.
14154	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
14155
14156	// The date and time to restore your database from.
14157	//
14158	// Constraints:
14159	//
14160	//    * Must be before the latest restorable time for the database.
14161	//
14162	//    * Cannot be specified if the use latest restorable time parameter is true.
14163	//
14164	//    * Specified in Coordinated Universal Time (UTC).
14165	//
14166	//    * Specified in the Unix time format. For example, if you wish to use a
14167	//    restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000
14168	//    as the restore time.
14169	RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"`
14170
14171	// The name of the source database.
14172	SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"`
14173
14174	// The tag keys and optional values to add to the resource during create.
14175	//
14176	// To tag a resource after it has been created, see the tag resource operation.
14177	Tags []*Tag `locationName:"tags" type:"list"`
14178
14179	// Specifies whether your database is restored from the latest backup time.
14180	// A value of true restores from the latest backup time.
14181	//
14182	// Default: false
14183	//
14184	// Constraints: Cannot be specified if the restore time parameter is provided.
14185	UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"`
14186}
14187
14188// String returns the string representation
14189func (s CreateRelationalDatabaseFromSnapshotInput) String() string {
14190	return awsutil.Prettify(s)
14191}
14192
14193// GoString returns the string representation
14194func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string {
14195	return s.String()
14196}
14197
14198// Validate inspects the fields of the type to determine if they are valid.
14199func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error {
14200	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"}
14201	if s.RelationalDatabaseName == nil {
14202		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
14203	}
14204
14205	if invalidParams.Len() > 0 {
14206		return invalidParams
14207	}
14208	return nil
14209}
14210
14211// SetAvailabilityZone sets the AvailabilityZone field's value.
14212func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput {
14213	s.AvailabilityZone = &v
14214	return s
14215}
14216
14217// SetPubliclyAccessible sets the PubliclyAccessible field's value.
14218func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput {
14219	s.PubliclyAccessible = &v
14220	return s
14221}
14222
14223// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
14224func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput {
14225	s.RelationalDatabaseBundleId = &v
14226	return s
14227}
14228
14229// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
14230func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
14231	s.RelationalDatabaseName = &v
14232	return s
14233}
14234
14235// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
14236func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput {
14237	s.RelationalDatabaseSnapshotName = &v
14238	return s
14239}
14240
14241// SetRestoreTime sets the RestoreTime field's value.
14242func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput {
14243	s.RestoreTime = &v
14244	return s
14245}
14246
14247// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value.
14248func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput {
14249	s.SourceRelationalDatabaseName = &v
14250	return s
14251}
14252
14253// SetTags sets the Tags field's value.
14254func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput {
14255	s.Tags = v
14256	return s
14257}
14258
14259// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
14260func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput {
14261	s.UseLatestRestorableTime = &v
14262	return s
14263}
14264
14265type CreateRelationalDatabaseFromSnapshotOutput struct {
14266	_ struct{} `type:"structure"`
14267
14268	// An object describing the result of your create relational database from snapshot
14269	// request.
14270	Operations []*Operation `locationName:"operations" type:"list"`
14271}
14272
14273// String returns the string representation
14274func (s CreateRelationalDatabaseFromSnapshotOutput) String() string {
14275	return awsutil.Prettify(s)
14276}
14277
14278// GoString returns the string representation
14279func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string {
14280	return s.String()
14281}
14282
14283// SetOperations sets the Operations field's value.
14284func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput {
14285	s.Operations = v
14286	return s
14287}
14288
14289type CreateRelationalDatabaseInput struct {
14290	_ struct{} `type:"structure"`
14291
14292	// The Availability Zone in which to create your new database. Use the us-east-2a
14293	// case-sensitive format.
14294	//
14295	// You can get a list of Availability Zones by using the get regions operation.
14296	// Be sure to add the include relational database Availability Zones parameter
14297	// to your request.
14298	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
14299
14300	// The name of the master database created when the Lightsail database resource
14301	// is created.
14302	//
14303	// Constraints:
14304	//
14305	//    * Must contain from 1 to 64 alphanumeric characters.
14306	//
14307	//    * Cannot be a word reserved by the specified database engine
14308	//
14309	// MasterDatabaseName is a required field
14310	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"`
14311
14312	// The password for the master user of your new database. The password can include
14313	// any printable ASCII character except "/", """, or "@".
14314	//
14315	// Constraints: Must contain 8 to 41 characters.
14316	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
14317
14318	// The master user name for your new database.
14319	//
14320	// Constraints:
14321	//
14322	//    * Master user name is required.
14323	//
14324	//    * Must contain from 1 to 16 alphanumeric characters.
14325	//
14326	//    * The first character must be a letter.
14327	//
14328	//    * Cannot be a reserved word for the database engine you choose. For more
14329	//    information about reserved words in MySQL 5.6 or 5.7, see the Keywords
14330	//    and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html)
14331	//    or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively.
14332	//
14333	// MasterUsername is a required field
14334	MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"`
14335
14336	// The daily time range during which automated backups are created for your
14337	// new database if automated backups are enabled.
14338	//
14339	// The default is a 30-minute window selected at random from an 8-hour block
14340	// of time for each AWS Region. For more information about the preferred backup
14341	// 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)
14342	// guide in the Amazon Relational Database Service (Amazon RDS) documentation.
14343	//
14344	// Constraints:
14345	//
14346	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
14347	//
14348	//    * Specified in Coordinated Universal Time (UTC).
14349	//
14350	//    * Must not conflict with the preferred maintenance window.
14351	//
14352	//    * Must be at least 30 minutes.
14353	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
14354
14355	// The weekly time range during which system maintenance can occur on your new
14356	// database.
14357	//
14358	// The default is a 30-minute window selected at random from an 8-hour block
14359	// of time for each AWS Region, occurring on a random day of the week.
14360	//
14361	// Constraints:
14362	//
14363	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
14364	//
14365	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
14366	//
14367	//    * Must be at least 30 minutes.
14368	//
14369	//    * Specified in Coordinated Universal Time (UTC).
14370	//
14371	//    * Example: Tue:17:00-Tue:17:30
14372	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
14373
14374	// Specifies the accessibility options for your new database. A value of true
14375	// specifies a database that is available to resources outside of your Lightsail
14376	// account. A value of false specifies a database that is available only to
14377	// your Lightsail resources in the same region as your database.
14378	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
14379
14380	// The blueprint ID for your new database. A blueprint describes the major engine
14381	// version of a database.
14382	//
14383	// You can get a list of database blueprints IDs by using the get relational
14384	// database blueprints operation.
14385	//
14386	// RelationalDatabaseBlueprintId is a required field
14387	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"`
14388
14389	// The bundle ID for your new database. A bundle describes the performance specifications
14390	// for your database.
14391	//
14392	// You can get a list of database bundle IDs by using the get relational database
14393	// bundles operation.
14394	//
14395	// RelationalDatabaseBundleId is a required field
14396	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"`
14397
14398	// The name to use for your new database.
14399	//
14400	// Constraints:
14401	//
14402	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
14403	//
14404	//    * The first and last character must be a letter or number.
14405	//
14406	// RelationalDatabaseName is a required field
14407	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
14408
14409	// The tag keys and optional values to add to the resource during create.
14410	//
14411	// To tag a resource after it has been created, see the tag resource operation.
14412	Tags []*Tag `locationName:"tags" type:"list"`
14413}
14414
14415// String returns the string representation
14416func (s CreateRelationalDatabaseInput) String() string {
14417	return awsutil.Prettify(s)
14418}
14419
14420// GoString returns the string representation
14421func (s CreateRelationalDatabaseInput) GoString() string {
14422	return s.String()
14423}
14424
14425// Validate inspects the fields of the type to determine if they are valid.
14426func (s *CreateRelationalDatabaseInput) Validate() error {
14427	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"}
14428	if s.MasterDatabaseName == nil {
14429		invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName"))
14430	}
14431	if s.MasterUsername == nil {
14432		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
14433	}
14434	if s.RelationalDatabaseBlueprintId == nil {
14435		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId"))
14436	}
14437	if s.RelationalDatabaseBundleId == nil {
14438		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId"))
14439	}
14440	if s.RelationalDatabaseName == nil {
14441		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
14442	}
14443
14444	if invalidParams.Len() > 0 {
14445		return invalidParams
14446	}
14447	return nil
14448}
14449
14450// SetAvailabilityZone sets the AvailabilityZone field's value.
14451func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput {
14452	s.AvailabilityZone = &v
14453	return s
14454}
14455
14456// SetMasterDatabaseName sets the MasterDatabaseName field's value.
14457func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput {
14458	s.MasterDatabaseName = &v
14459	return s
14460}
14461
14462// SetMasterUserPassword sets the MasterUserPassword field's value.
14463func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput {
14464	s.MasterUserPassword = &v
14465	return s
14466}
14467
14468// SetMasterUsername sets the MasterUsername field's value.
14469func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput {
14470	s.MasterUsername = &v
14471	return s
14472}
14473
14474// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14475func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput {
14476	s.PreferredBackupWindow = &v
14477	return s
14478}
14479
14480// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14481func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput {
14482	s.PreferredMaintenanceWindow = &v
14483	return s
14484}
14485
14486// SetPubliclyAccessible sets the PubliclyAccessible field's value.
14487func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput {
14488	s.PubliclyAccessible = &v
14489	return s
14490}
14491
14492// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
14493func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput {
14494	s.RelationalDatabaseBlueprintId = &v
14495	return s
14496}
14497
14498// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
14499func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput {
14500	s.RelationalDatabaseBundleId = &v
14501	return s
14502}
14503
14504// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
14505func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput {
14506	s.RelationalDatabaseName = &v
14507	return s
14508}
14509
14510// SetTags sets the Tags field's value.
14511func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput {
14512	s.Tags = v
14513	return s
14514}
14515
14516type CreateRelationalDatabaseOutput struct {
14517	_ struct{} `type:"structure"`
14518
14519	// An object describing the result of your create relational database request.
14520	Operations []*Operation `locationName:"operations" type:"list"`
14521}
14522
14523// String returns the string representation
14524func (s CreateRelationalDatabaseOutput) String() string {
14525	return awsutil.Prettify(s)
14526}
14527
14528// GoString returns the string representation
14529func (s CreateRelationalDatabaseOutput) GoString() string {
14530	return s.String()
14531}
14532
14533// SetOperations sets the Operations field's value.
14534func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput {
14535	s.Operations = v
14536	return s
14537}
14538
14539type CreateRelationalDatabaseSnapshotInput struct {
14540	_ struct{} `type:"structure"`
14541
14542	// The name of the database on which to base your new snapshot.
14543	//
14544	// RelationalDatabaseName is a required field
14545	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
14546
14547	// The name for your new database snapshot.
14548	//
14549	// Constraints:
14550	//
14551	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
14552	//
14553	//    * The first and last character must be a letter or number.
14554	//
14555	// RelationalDatabaseSnapshotName is a required field
14556	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
14557
14558	// The tag keys and optional values to add to the resource during create.
14559	//
14560	// To tag a resource after it has been created, see the tag resource operation.
14561	Tags []*Tag `locationName:"tags" type:"list"`
14562}
14563
14564// String returns the string representation
14565func (s CreateRelationalDatabaseSnapshotInput) String() string {
14566	return awsutil.Prettify(s)
14567}
14568
14569// GoString returns the string representation
14570func (s CreateRelationalDatabaseSnapshotInput) GoString() string {
14571	return s.String()
14572}
14573
14574// Validate inspects the fields of the type to determine if they are valid.
14575func (s *CreateRelationalDatabaseSnapshotInput) Validate() error {
14576	invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"}
14577	if s.RelationalDatabaseName == nil {
14578		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
14579	}
14580	if s.RelationalDatabaseSnapshotName == nil {
14581		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
14582	}
14583
14584	if invalidParams.Len() > 0 {
14585		return invalidParams
14586	}
14587	return nil
14588}
14589
14590// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
14591func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput {
14592	s.RelationalDatabaseName = &v
14593	return s
14594}
14595
14596// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
14597func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput {
14598	s.RelationalDatabaseSnapshotName = &v
14599	return s
14600}
14601
14602// SetTags sets the Tags field's value.
14603func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput {
14604	s.Tags = v
14605	return s
14606}
14607
14608type CreateRelationalDatabaseSnapshotOutput struct {
14609	_ struct{} `type:"structure"`
14610
14611	// An object describing the result of your create relational database snapshot
14612	// request.
14613	Operations []*Operation `locationName:"operations" type:"list"`
14614}
14615
14616// String returns the string representation
14617func (s CreateRelationalDatabaseSnapshotOutput) String() string {
14618	return awsutil.Prettify(s)
14619}
14620
14621// GoString returns the string representation
14622func (s CreateRelationalDatabaseSnapshotOutput) GoString() string {
14623	return s.String()
14624}
14625
14626// SetOperations sets the Operations field's value.
14627func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput {
14628	s.Operations = v
14629	return s
14630}
14631
14632type DeleteAutoSnapshotInput struct {
14633	_ struct{} `type:"structure"`
14634
14635	// The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the
14636	// get auto snapshots operation to get the available automatic snapshots for
14637	// a resource.
14638	//
14639	// Date is a required field
14640	Date *string `locationName:"date" type:"string" required:"true"`
14641
14642	// The name of the source instance or disk from which to delete the automatic
14643	// snapshot.
14644	//
14645	// ResourceName is a required field
14646	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
14647}
14648
14649// String returns the string representation
14650func (s DeleteAutoSnapshotInput) String() string {
14651	return awsutil.Prettify(s)
14652}
14653
14654// GoString returns the string representation
14655func (s DeleteAutoSnapshotInput) GoString() string {
14656	return s.String()
14657}
14658
14659// Validate inspects the fields of the type to determine if they are valid.
14660func (s *DeleteAutoSnapshotInput) Validate() error {
14661	invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"}
14662	if s.Date == nil {
14663		invalidParams.Add(request.NewErrParamRequired("Date"))
14664	}
14665	if s.ResourceName == nil {
14666		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
14667	}
14668
14669	if invalidParams.Len() > 0 {
14670		return invalidParams
14671	}
14672	return nil
14673}
14674
14675// SetDate sets the Date field's value.
14676func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput {
14677	s.Date = &v
14678	return s
14679}
14680
14681// SetResourceName sets the ResourceName field's value.
14682func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput {
14683	s.ResourceName = &v
14684	return s
14685}
14686
14687type DeleteAutoSnapshotOutput struct {
14688	_ struct{} `type:"structure"`
14689
14690	// An array of objects that describe the result of your request.
14691	Operations []*Operation `locationName:"operations" type:"list"`
14692}
14693
14694// String returns the string representation
14695func (s DeleteAutoSnapshotOutput) String() string {
14696	return awsutil.Prettify(s)
14697}
14698
14699// GoString returns the string representation
14700func (s DeleteAutoSnapshotOutput) GoString() string {
14701	return s.String()
14702}
14703
14704// SetOperations sets the Operations field's value.
14705func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput {
14706	s.Operations = v
14707	return s
14708}
14709
14710type DeleteDiskInput struct {
14711	_ struct{} `type:"structure"`
14712
14713	// The unique name of the disk you want to delete (e.g., my-disk).
14714	//
14715	// DiskName is a required field
14716	DiskName *string `locationName:"diskName" type:"string" required:"true"`
14717
14718	// A Boolean value to indicate whether to delete the enabled add-ons for the
14719	// disk.
14720	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
14721}
14722
14723// String returns the string representation
14724func (s DeleteDiskInput) String() string {
14725	return awsutil.Prettify(s)
14726}
14727
14728// GoString returns the string representation
14729func (s DeleteDiskInput) GoString() string {
14730	return s.String()
14731}
14732
14733// Validate inspects the fields of the type to determine if they are valid.
14734func (s *DeleteDiskInput) Validate() error {
14735	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"}
14736	if s.DiskName == nil {
14737		invalidParams.Add(request.NewErrParamRequired("DiskName"))
14738	}
14739
14740	if invalidParams.Len() > 0 {
14741		return invalidParams
14742	}
14743	return nil
14744}
14745
14746// SetDiskName sets the DiskName field's value.
14747func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput {
14748	s.DiskName = &v
14749	return s
14750}
14751
14752// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
14753func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput {
14754	s.ForceDeleteAddOns = &v
14755	return s
14756}
14757
14758type DeleteDiskOutput struct {
14759	_ struct{} `type:"structure"`
14760
14761	// An array of objects that describe the result of your request.
14762	Operations []*Operation `locationName:"operations" type:"list"`
14763}
14764
14765// String returns the string representation
14766func (s DeleteDiskOutput) String() string {
14767	return awsutil.Prettify(s)
14768}
14769
14770// GoString returns the string representation
14771func (s DeleteDiskOutput) GoString() string {
14772	return s.String()
14773}
14774
14775// SetOperations sets the Operations field's value.
14776func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput {
14777	s.Operations = v
14778	return s
14779}
14780
14781type DeleteDiskSnapshotInput struct {
14782	_ struct{} `type:"structure"`
14783
14784	// The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).
14785	//
14786	// DiskSnapshotName is a required field
14787	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
14788}
14789
14790// String returns the string representation
14791func (s DeleteDiskSnapshotInput) String() string {
14792	return awsutil.Prettify(s)
14793}
14794
14795// GoString returns the string representation
14796func (s DeleteDiskSnapshotInput) GoString() string {
14797	return s.String()
14798}
14799
14800// Validate inspects the fields of the type to determine if they are valid.
14801func (s *DeleteDiskSnapshotInput) Validate() error {
14802	invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"}
14803	if s.DiskSnapshotName == nil {
14804		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
14805	}
14806
14807	if invalidParams.Len() > 0 {
14808		return invalidParams
14809	}
14810	return nil
14811}
14812
14813// SetDiskSnapshotName sets the DiskSnapshotName field's value.
14814func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput {
14815	s.DiskSnapshotName = &v
14816	return s
14817}
14818
14819type DeleteDiskSnapshotOutput struct {
14820	_ struct{} `type:"structure"`
14821
14822	// An object describing the API operations.
14823	Operations []*Operation `locationName:"operations" type:"list"`
14824}
14825
14826// String returns the string representation
14827func (s DeleteDiskSnapshotOutput) String() string {
14828	return awsutil.Prettify(s)
14829}
14830
14831// GoString returns the string representation
14832func (s DeleteDiskSnapshotOutput) GoString() string {
14833	return s.String()
14834}
14835
14836// SetOperations sets the Operations field's value.
14837func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput {
14838	s.Operations = v
14839	return s
14840}
14841
14842type DeleteDomainEntryInput struct {
14843	_ struct{} `type:"structure"`
14844
14845	// An array of key-value pairs containing information about your domain entries.
14846	//
14847	// DomainEntry is a required field
14848	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
14849
14850	// The name of the domain entry to delete.
14851	//
14852	// DomainName is a required field
14853	DomainName *string `locationName:"domainName" type:"string" required:"true"`
14854}
14855
14856// String returns the string representation
14857func (s DeleteDomainEntryInput) String() string {
14858	return awsutil.Prettify(s)
14859}
14860
14861// GoString returns the string representation
14862func (s DeleteDomainEntryInput) GoString() string {
14863	return s.String()
14864}
14865
14866// Validate inspects the fields of the type to determine if they are valid.
14867func (s *DeleteDomainEntryInput) Validate() error {
14868	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"}
14869	if s.DomainEntry == nil {
14870		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
14871	}
14872	if s.DomainName == nil {
14873		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14874	}
14875
14876	if invalidParams.Len() > 0 {
14877		return invalidParams
14878	}
14879	return nil
14880}
14881
14882// SetDomainEntry sets the DomainEntry field's value.
14883func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput {
14884	s.DomainEntry = v
14885	return s
14886}
14887
14888// SetDomainName sets the DomainName field's value.
14889func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput {
14890	s.DomainName = &v
14891	return s
14892}
14893
14894type DeleteDomainEntryOutput struct {
14895	_ struct{} `type:"structure"`
14896
14897	// An array of key-value pairs containing information about the results of your
14898	// delete domain entry request.
14899	Operation *Operation `locationName:"operation" type:"structure"`
14900}
14901
14902// String returns the string representation
14903func (s DeleteDomainEntryOutput) String() string {
14904	return awsutil.Prettify(s)
14905}
14906
14907// GoString returns the string representation
14908func (s DeleteDomainEntryOutput) GoString() string {
14909	return s.String()
14910}
14911
14912// SetOperation sets the Operation field's value.
14913func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput {
14914	s.Operation = v
14915	return s
14916}
14917
14918type DeleteDomainInput struct {
14919	_ struct{} `type:"structure"`
14920
14921	// The specific domain name to delete.
14922	//
14923	// DomainName is a required field
14924	DomainName *string `locationName:"domainName" type:"string" required:"true"`
14925}
14926
14927// String returns the string representation
14928func (s DeleteDomainInput) String() string {
14929	return awsutil.Prettify(s)
14930}
14931
14932// GoString returns the string representation
14933func (s DeleteDomainInput) GoString() string {
14934	return s.String()
14935}
14936
14937// Validate inspects the fields of the type to determine if they are valid.
14938func (s *DeleteDomainInput) Validate() error {
14939	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"}
14940	if s.DomainName == nil {
14941		invalidParams.Add(request.NewErrParamRequired("DomainName"))
14942	}
14943
14944	if invalidParams.Len() > 0 {
14945		return invalidParams
14946	}
14947	return nil
14948}
14949
14950// SetDomainName sets the DomainName field's value.
14951func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput {
14952	s.DomainName = &v
14953	return s
14954}
14955
14956type DeleteDomainOutput struct {
14957	_ struct{} `type:"structure"`
14958
14959	// An array of key-value pairs containing information about the results of your
14960	// delete domain request.
14961	Operation *Operation `locationName:"operation" type:"structure"`
14962}
14963
14964// String returns the string representation
14965func (s DeleteDomainOutput) String() string {
14966	return awsutil.Prettify(s)
14967}
14968
14969// GoString returns the string representation
14970func (s DeleteDomainOutput) GoString() string {
14971	return s.String()
14972}
14973
14974// SetOperation sets the Operation field's value.
14975func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput {
14976	s.Operation = v
14977	return s
14978}
14979
14980type DeleteInstanceInput struct {
14981	_ struct{} `type:"structure"`
14982
14983	// A Boolean value to indicate whether to delete the enabled add-ons for the
14984	// disk.
14985	ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"`
14986
14987	// The name of the instance to delete.
14988	//
14989	// InstanceName is a required field
14990	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
14991}
14992
14993// String returns the string representation
14994func (s DeleteInstanceInput) String() string {
14995	return awsutil.Prettify(s)
14996}
14997
14998// GoString returns the string representation
14999func (s DeleteInstanceInput) GoString() string {
15000	return s.String()
15001}
15002
15003// Validate inspects the fields of the type to determine if they are valid.
15004func (s *DeleteInstanceInput) Validate() error {
15005	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
15006	if s.InstanceName == nil {
15007		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
15008	}
15009
15010	if invalidParams.Len() > 0 {
15011		return invalidParams
15012	}
15013	return nil
15014}
15015
15016// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value.
15017func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput {
15018	s.ForceDeleteAddOns = &v
15019	return s
15020}
15021
15022// SetInstanceName sets the InstanceName field's value.
15023func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput {
15024	s.InstanceName = &v
15025	return s
15026}
15027
15028type DeleteInstanceOutput struct {
15029	_ struct{} `type:"structure"`
15030
15031	// An array of key-value pairs containing information about the results of your
15032	// delete instance request.
15033	Operations []*Operation `locationName:"operations" type:"list"`
15034}
15035
15036// String returns the string representation
15037func (s DeleteInstanceOutput) String() string {
15038	return awsutil.Prettify(s)
15039}
15040
15041// GoString returns the string representation
15042func (s DeleteInstanceOutput) GoString() string {
15043	return s.String()
15044}
15045
15046// SetOperations sets the Operations field's value.
15047func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput {
15048	s.Operations = v
15049	return s
15050}
15051
15052type DeleteInstanceSnapshotInput struct {
15053	_ struct{} `type:"structure"`
15054
15055	// The name of the snapshot to delete.
15056	//
15057	// InstanceSnapshotName is a required field
15058	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
15059}
15060
15061// String returns the string representation
15062func (s DeleteInstanceSnapshotInput) String() string {
15063	return awsutil.Prettify(s)
15064}
15065
15066// GoString returns the string representation
15067func (s DeleteInstanceSnapshotInput) GoString() string {
15068	return s.String()
15069}
15070
15071// Validate inspects the fields of the type to determine if they are valid.
15072func (s *DeleteInstanceSnapshotInput) Validate() error {
15073	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"}
15074	if s.InstanceSnapshotName == nil {
15075		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
15076	}
15077
15078	if invalidParams.Len() > 0 {
15079		return invalidParams
15080	}
15081	return nil
15082}
15083
15084// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
15085func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput {
15086	s.InstanceSnapshotName = &v
15087	return s
15088}
15089
15090type DeleteInstanceSnapshotOutput struct {
15091	_ struct{} `type:"structure"`
15092
15093	// An array of key-value pairs containing information about the results of your
15094	// delete instance snapshot request.
15095	Operations []*Operation `locationName:"operations" type:"list"`
15096}
15097
15098// String returns the string representation
15099func (s DeleteInstanceSnapshotOutput) String() string {
15100	return awsutil.Prettify(s)
15101}
15102
15103// GoString returns the string representation
15104func (s DeleteInstanceSnapshotOutput) GoString() string {
15105	return s.String()
15106}
15107
15108// SetOperations sets the Operations field's value.
15109func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput {
15110	s.Operations = v
15111	return s
15112}
15113
15114type DeleteKeyPairInput struct {
15115	_ struct{} `type:"structure"`
15116
15117	// The name of the key pair to delete.
15118	//
15119	// KeyPairName is a required field
15120	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
15121}
15122
15123// String returns the string representation
15124func (s DeleteKeyPairInput) String() string {
15125	return awsutil.Prettify(s)
15126}
15127
15128// GoString returns the string representation
15129func (s DeleteKeyPairInput) GoString() string {
15130	return s.String()
15131}
15132
15133// Validate inspects the fields of the type to determine if they are valid.
15134func (s *DeleteKeyPairInput) Validate() error {
15135	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
15136	if s.KeyPairName == nil {
15137		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
15138	}
15139
15140	if invalidParams.Len() > 0 {
15141		return invalidParams
15142	}
15143	return nil
15144}
15145
15146// SetKeyPairName sets the KeyPairName field's value.
15147func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput {
15148	s.KeyPairName = &v
15149	return s
15150}
15151
15152type DeleteKeyPairOutput struct {
15153	_ struct{} `type:"structure"`
15154
15155	// An array of key-value pairs containing information about the results of your
15156	// delete key pair request.
15157	Operation *Operation `locationName:"operation" type:"structure"`
15158}
15159
15160// String returns the string representation
15161func (s DeleteKeyPairOutput) String() string {
15162	return awsutil.Prettify(s)
15163}
15164
15165// GoString returns the string representation
15166func (s DeleteKeyPairOutput) GoString() string {
15167	return s.String()
15168}
15169
15170// SetOperation sets the Operation field's value.
15171func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput {
15172	s.Operation = v
15173	return s
15174}
15175
15176type DeleteKnownHostKeysInput struct {
15177	_ struct{} `type:"structure"`
15178
15179	// The name of the instance for which you want to reset the host key or certificate.
15180	//
15181	// InstanceName is a required field
15182	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
15183}
15184
15185// String returns the string representation
15186func (s DeleteKnownHostKeysInput) String() string {
15187	return awsutil.Prettify(s)
15188}
15189
15190// GoString returns the string representation
15191func (s DeleteKnownHostKeysInput) GoString() string {
15192	return s.String()
15193}
15194
15195// Validate inspects the fields of the type to determine if they are valid.
15196func (s *DeleteKnownHostKeysInput) Validate() error {
15197	invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"}
15198	if s.InstanceName == nil {
15199		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
15200	}
15201
15202	if invalidParams.Len() > 0 {
15203		return invalidParams
15204	}
15205	return nil
15206}
15207
15208// SetInstanceName sets the InstanceName field's value.
15209func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput {
15210	s.InstanceName = &v
15211	return s
15212}
15213
15214type DeleteKnownHostKeysOutput struct {
15215	_ struct{} `type:"structure"`
15216
15217	// A list of objects describing the API operation.
15218	Operations []*Operation `locationName:"operations" type:"list"`
15219}
15220
15221// String returns the string representation
15222func (s DeleteKnownHostKeysOutput) String() string {
15223	return awsutil.Prettify(s)
15224}
15225
15226// GoString returns the string representation
15227func (s DeleteKnownHostKeysOutput) GoString() string {
15228	return s.String()
15229}
15230
15231// SetOperations sets the Operations field's value.
15232func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput {
15233	s.Operations = v
15234	return s
15235}
15236
15237type DeleteLoadBalancerInput struct {
15238	_ struct{} `type:"structure"`
15239
15240	// The name of the load balancer you want to delete.
15241	//
15242	// LoadBalancerName is a required field
15243	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15244}
15245
15246// String returns the string representation
15247func (s DeleteLoadBalancerInput) String() string {
15248	return awsutil.Prettify(s)
15249}
15250
15251// GoString returns the string representation
15252func (s DeleteLoadBalancerInput) GoString() string {
15253	return s.String()
15254}
15255
15256// Validate inspects the fields of the type to determine if they are valid.
15257func (s *DeleteLoadBalancerInput) Validate() error {
15258	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"}
15259	if s.LoadBalancerName == nil {
15260		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15261	}
15262
15263	if invalidParams.Len() > 0 {
15264		return invalidParams
15265	}
15266	return nil
15267}
15268
15269// SetLoadBalancerName sets the LoadBalancerName field's value.
15270func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput {
15271	s.LoadBalancerName = &v
15272	return s
15273}
15274
15275type DeleteLoadBalancerOutput struct {
15276	_ struct{} `type:"structure"`
15277
15278	// An object describing the API operations.
15279	Operations []*Operation `locationName:"operations" type:"list"`
15280}
15281
15282// String returns the string representation
15283func (s DeleteLoadBalancerOutput) String() string {
15284	return awsutil.Prettify(s)
15285}
15286
15287// GoString returns the string representation
15288func (s DeleteLoadBalancerOutput) GoString() string {
15289	return s.String()
15290}
15291
15292// SetOperations sets the Operations field's value.
15293func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput {
15294	s.Operations = v
15295	return s
15296}
15297
15298type DeleteLoadBalancerTlsCertificateInput struct {
15299	_ struct{} `type:"structure"`
15300
15301	// The SSL/TLS certificate name.
15302	//
15303	// CertificateName is a required field
15304	CertificateName *string `locationName:"certificateName" type:"string" required:"true"`
15305
15306	// When true, forces the deletion of an SSL/TLS certificate.
15307	//
15308	// There can be two certificates associated with a Lightsail load balancer:
15309	// the primary and the backup. The force parameter is required when the primary
15310	// SSL/TLS certificate is in use by an instance attached to the load balancer.
15311	Force *bool `locationName:"force" type:"boolean"`
15312
15313	// The load balancer name.
15314	//
15315	// LoadBalancerName is a required field
15316	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15317}
15318
15319// String returns the string representation
15320func (s DeleteLoadBalancerTlsCertificateInput) String() string {
15321	return awsutil.Prettify(s)
15322}
15323
15324// GoString returns the string representation
15325func (s DeleteLoadBalancerTlsCertificateInput) GoString() string {
15326	return s.String()
15327}
15328
15329// Validate inspects the fields of the type to determine if they are valid.
15330func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error {
15331	invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"}
15332	if s.CertificateName == nil {
15333		invalidParams.Add(request.NewErrParamRequired("CertificateName"))
15334	}
15335	if s.LoadBalancerName == nil {
15336		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15337	}
15338
15339	if invalidParams.Len() > 0 {
15340		return invalidParams
15341	}
15342	return nil
15343}
15344
15345// SetCertificateName sets the CertificateName field's value.
15346func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput {
15347	s.CertificateName = &v
15348	return s
15349}
15350
15351// SetForce sets the Force field's value.
15352func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput {
15353	s.Force = &v
15354	return s
15355}
15356
15357// SetLoadBalancerName sets the LoadBalancerName field's value.
15358func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput {
15359	s.LoadBalancerName = &v
15360	return s
15361}
15362
15363type DeleteLoadBalancerTlsCertificateOutput struct {
15364	_ struct{} `type:"structure"`
15365
15366	// An object describing the API operations.
15367	Operations []*Operation `locationName:"operations" type:"list"`
15368}
15369
15370// String returns the string representation
15371func (s DeleteLoadBalancerTlsCertificateOutput) String() string {
15372	return awsutil.Prettify(s)
15373}
15374
15375// GoString returns the string representation
15376func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string {
15377	return s.String()
15378}
15379
15380// SetOperations sets the Operations field's value.
15381func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput {
15382	s.Operations = v
15383	return s
15384}
15385
15386type DeleteRelationalDatabaseInput struct {
15387	_ struct{} `type:"structure"`
15388
15389	// The name of the database snapshot created if skip final snapshot is false,
15390	// which is the default value for that parameter.
15391	//
15392	// Specifying this parameter and also specifying the skip final snapshot parameter
15393	// to true results in an error.
15394	//
15395	// Constraints:
15396	//
15397	//    * Must contain from 2 to 255 alphanumeric characters, or hyphens.
15398	//
15399	//    * The first and last character must be a letter or number.
15400	FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"`
15401
15402	// The name of the database that you are deleting.
15403	//
15404	// RelationalDatabaseName is a required field
15405	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
15406
15407	// Determines whether a final database snapshot is created before your database
15408	// is deleted. If true is specified, no database snapshot is created. If false
15409	// is specified, a database snapshot is created before your database is deleted.
15410	//
15411	// You must specify the final relational database snapshot name parameter if
15412	// the skip final snapshot parameter is false.
15413	//
15414	// Default: false
15415	SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"`
15416}
15417
15418// String returns the string representation
15419func (s DeleteRelationalDatabaseInput) String() string {
15420	return awsutil.Prettify(s)
15421}
15422
15423// GoString returns the string representation
15424func (s DeleteRelationalDatabaseInput) GoString() string {
15425	return s.String()
15426}
15427
15428// Validate inspects the fields of the type to determine if they are valid.
15429func (s *DeleteRelationalDatabaseInput) Validate() error {
15430	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"}
15431	if s.RelationalDatabaseName == nil {
15432		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
15433	}
15434
15435	if invalidParams.Len() > 0 {
15436		return invalidParams
15437	}
15438	return nil
15439}
15440
15441// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value.
15442func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput {
15443	s.FinalRelationalDatabaseSnapshotName = &v
15444	return s
15445}
15446
15447// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
15448func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput {
15449	s.RelationalDatabaseName = &v
15450	return s
15451}
15452
15453// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
15454func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput {
15455	s.SkipFinalSnapshot = &v
15456	return s
15457}
15458
15459type DeleteRelationalDatabaseOutput struct {
15460	_ struct{} `type:"structure"`
15461
15462	// An object describing the result of your delete relational database request.
15463	Operations []*Operation `locationName:"operations" type:"list"`
15464}
15465
15466// String returns the string representation
15467func (s DeleteRelationalDatabaseOutput) String() string {
15468	return awsutil.Prettify(s)
15469}
15470
15471// GoString returns the string representation
15472func (s DeleteRelationalDatabaseOutput) GoString() string {
15473	return s.String()
15474}
15475
15476// SetOperations sets the Operations field's value.
15477func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput {
15478	s.Operations = v
15479	return s
15480}
15481
15482type DeleteRelationalDatabaseSnapshotInput struct {
15483	_ struct{} `type:"structure"`
15484
15485	// The name of the database snapshot that you are deleting.
15486	//
15487	// RelationalDatabaseSnapshotName is a required field
15488	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
15489}
15490
15491// String returns the string representation
15492func (s DeleteRelationalDatabaseSnapshotInput) String() string {
15493	return awsutil.Prettify(s)
15494}
15495
15496// GoString returns the string representation
15497func (s DeleteRelationalDatabaseSnapshotInput) GoString() string {
15498	return s.String()
15499}
15500
15501// Validate inspects the fields of the type to determine if they are valid.
15502func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error {
15503	invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"}
15504	if s.RelationalDatabaseSnapshotName == nil {
15505		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
15506	}
15507
15508	if invalidParams.Len() > 0 {
15509		return invalidParams
15510	}
15511	return nil
15512}
15513
15514// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
15515func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput {
15516	s.RelationalDatabaseSnapshotName = &v
15517	return s
15518}
15519
15520type DeleteRelationalDatabaseSnapshotOutput struct {
15521	_ struct{} `type:"structure"`
15522
15523	// An object describing the result of your delete relational database snapshot
15524	// request.
15525	Operations []*Operation `locationName:"operations" type:"list"`
15526}
15527
15528// String returns the string representation
15529func (s DeleteRelationalDatabaseSnapshotOutput) String() string {
15530	return awsutil.Prettify(s)
15531}
15532
15533// GoString returns the string representation
15534func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string {
15535	return s.String()
15536}
15537
15538// SetOperations sets the Operations field's value.
15539func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput {
15540	s.Operations = v
15541	return s
15542}
15543
15544// Describes the destination of a record.
15545type DestinationInfo struct {
15546	_ struct{} `type:"structure"`
15547
15548	// The ID of the resource created at the destination.
15549	Id *string `locationName:"id" type:"string"`
15550
15551	// The destination service of the record.
15552	Service *string `locationName:"service" type:"string"`
15553}
15554
15555// String returns the string representation
15556func (s DestinationInfo) String() string {
15557	return awsutil.Prettify(s)
15558}
15559
15560// GoString returns the string representation
15561func (s DestinationInfo) GoString() string {
15562	return s.String()
15563}
15564
15565// SetId sets the Id field's value.
15566func (s *DestinationInfo) SetId(v string) *DestinationInfo {
15567	s.Id = &v
15568	return s
15569}
15570
15571// SetService sets the Service field's value.
15572func (s *DestinationInfo) SetService(v string) *DestinationInfo {
15573	s.Service = &v
15574	return s
15575}
15576
15577type DetachDiskInput struct {
15578	_ struct{} `type:"structure"`
15579
15580	// The unique name of the disk you want to detach from your instance (e.g.,
15581	// my-disk).
15582	//
15583	// DiskName is a required field
15584	DiskName *string `locationName:"diskName" type:"string" required:"true"`
15585}
15586
15587// String returns the string representation
15588func (s DetachDiskInput) String() string {
15589	return awsutil.Prettify(s)
15590}
15591
15592// GoString returns the string representation
15593func (s DetachDiskInput) GoString() string {
15594	return s.String()
15595}
15596
15597// Validate inspects the fields of the type to determine if they are valid.
15598func (s *DetachDiskInput) Validate() error {
15599	invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"}
15600	if s.DiskName == nil {
15601		invalidParams.Add(request.NewErrParamRequired("DiskName"))
15602	}
15603
15604	if invalidParams.Len() > 0 {
15605		return invalidParams
15606	}
15607	return nil
15608}
15609
15610// SetDiskName sets the DiskName field's value.
15611func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput {
15612	s.DiskName = &v
15613	return s
15614}
15615
15616type DetachDiskOutput struct {
15617	_ struct{} `type:"structure"`
15618
15619	// An object describing the API operations.
15620	Operations []*Operation `locationName:"operations" type:"list"`
15621}
15622
15623// String returns the string representation
15624func (s DetachDiskOutput) String() string {
15625	return awsutil.Prettify(s)
15626}
15627
15628// GoString returns the string representation
15629func (s DetachDiskOutput) GoString() string {
15630	return s.String()
15631}
15632
15633// SetOperations sets the Operations field's value.
15634func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput {
15635	s.Operations = v
15636	return s
15637}
15638
15639type DetachInstancesFromLoadBalancerInput struct {
15640	_ struct{} `type:"structure"`
15641
15642	// An array of strings containing the names of the instances you want to detach
15643	// from the load balancer.
15644	//
15645	// InstanceNames is a required field
15646	InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"`
15647
15648	// The name of the Lightsail load balancer.
15649	//
15650	// LoadBalancerName is a required field
15651	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
15652}
15653
15654// String returns the string representation
15655func (s DetachInstancesFromLoadBalancerInput) String() string {
15656	return awsutil.Prettify(s)
15657}
15658
15659// GoString returns the string representation
15660func (s DetachInstancesFromLoadBalancerInput) GoString() string {
15661	return s.String()
15662}
15663
15664// Validate inspects the fields of the type to determine if they are valid.
15665func (s *DetachInstancesFromLoadBalancerInput) Validate() error {
15666	invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"}
15667	if s.InstanceNames == nil {
15668		invalidParams.Add(request.NewErrParamRequired("InstanceNames"))
15669	}
15670	if s.LoadBalancerName == nil {
15671		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
15672	}
15673
15674	if invalidParams.Len() > 0 {
15675		return invalidParams
15676	}
15677	return nil
15678}
15679
15680// SetInstanceNames sets the InstanceNames field's value.
15681func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput {
15682	s.InstanceNames = v
15683	return s
15684}
15685
15686// SetLoadBalancerName sets the LoadBalancerName field's value.
15687func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput {
15688	s.LoadBalancerName = &v
15689	return s
15690}
15691
15692type DetachInstancesFromLoadBalancerOutput struct {
15693	_ struct{} `type:"structure"`
15694
15695	// An object describing the API operations.
15696	Operations []*Operation `locationName:"operations" type:"list"`
15697}
15698
15699// String returns the string representation
15700func (s DetachInstancesFromLoadBalancerOutput) String() string {
15701	return awsutil.Prettify(s)
15702}
15703
15704// GoString returns the string representation
15705func (s DetachInstancesFromLoadBalancerOutput) GoString() string {
15706	return s.String()
15707}
15708
15709// SetOperations sets the Operations field's value.
15710func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput {
15711	s.Operations = v
15712	return s
15713}
15714
15715type DetachStaticIpInput struct {
15716	_ struct{} `type:"structure"`
15717
15718	// The name of the static IP to detach from the instance.
15719	//
15720	// StaticIpName is a required field
15721	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
15722}
15723
15724// String returns the string representation
15725func (s DetachStaticIpInput) String() string {
15726	return awsutil.Prettify(s)
15727}
15728
15729// GoString returns the string representation
15730func (s DetachStaticIpInput) GoString() string {
15731	return s.String()
15732}
15733
15734// Validate inspects the fields of the type to determine if they are valid.
15735func (s *DetachStaticIpInput) Validate() error {
15736	invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"}
15737	if s.StaticIpName == nil {
15738		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
15739	}
15740
15741	if invalidParams.Len() > 0 {
15742		return invalidParams
15743	}
15744	return nil
15745}
15746
15747// SetStaticIpName sets the StaticIpName field's value.
15748func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput {
15749	s.StaticIpName = &v
15750	return s
15751}
15752
15753type DetachStaticIpOutput struct {
15754	_ struct{} `type:"structure"`
15755
15756	// An array of key-value pairs containing information about the results of your
15757	// detach static IP request.
15758	Operations []*Operation `locationName:"operations" type:"list"`
15759}
15760
15761// String returns the string representation
15762func (s DetachStaticIpOutput) String() string {
15763	return awsutil.Prettify(s)
15764}
15765
15766// GoString returns the string representation
15767func (s DetachStaticIpOutput) GoString() string {
15768	return s.String()
15769}
15770
15771// SetOperations sets the Operations field's value.
15772func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput {
15773	s.Operations = v
15774	return s
15775}
15776
15777type DisableAddOnInput struct {
15778	_ struct{} `type:"structure"`
15779
15780	// The add-on type to disable.
15781	//
15782	// AddOnType is a required field
15783	AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"`
15784
15785	// The name of the source resource for which to disable the add-on.
15786	//
15787	// ResourceName is a required field
15788	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
15789}
15790
15791// String returns the string representation
15792func (s DisableAddOnInput) String() string {
15793	return awsutil.Prettify(s)
15794}
15795
15796// GoString returns the string representation
15797func (s DisableAddOnInput) GoString() string {
15798	return s.String()
15799}
15800
15801// Validate inspects the fields of the type to determine if they are valid.
15802func (s *DisableAddOnInput) Validate() error {
15803	invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"}
15804	if s.AddOnType == nil {
15805		invalidParams.Add(request.NewErrParamRequired("AddOnType"))
15806	}
15807	if s.ResourceName == nil {
15808		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
15809	}
15810
15811	if invalidParams.Len() > 0 {
15812		return invalidParams
15813	}
15814	return nil
15815}
15816
15817// SetAddOnType sets the AddOnType field's value.
15818func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput {
15819	s.AddOnType = &v
15820	return s
15821}
15822
15823// SetResourceName sets the ResourceName field's value.
15824func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput {
15825	s.ResourceName = &v
15826	return s
15827}
15828
15829type DisableAddOnOutput struct {
15830	_ struct{} `type:"structure"`
15831
15832	// An array of objects that describe the result of your request.
15833	Operations []*Operation `locationName:"operations" type:"list"`
15834}
15835
15836// String returns the string representation
15837func (s DisableAddOnOutput) String() string {
15838	return awsutil.Prettify(s)
15839}
15840
15841// GoString returns the string representation
15842func (s DisableAddOnOutput) GoString() string {
15843	return s.String()
15844}
15845
15846// SetOperations sets the Operations field's value.
15847func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput {
15848	s.Operations = v
15849	return s
15850}
15851
15852// Describes a system disk or a block storage disk.
15853type Disk struct {
15854	_ struct{} `type:"structure"`
15855
15856	// An array of objects representing the add-ons enabled on the disk.
15857	AddOns []*AddOn `locationName:"addOns" type:"list"`
15858
15859	// The Amazon Resource Name (ARN) of the disk.
15860	Arn *string `locationName:"arn" type:"string"`
15861
15862	// The resources to which the disk is attached.
15863	AttachedTo *string `locationName:"attachedTo" type:"string"`
15864
15865	// (Deprecated) The attachment state of the disk.
15866	//
15867	// In releases prior to November 14, 2017, this parameter returned attached
15868	// for system disks in the API response. It is now deprecated, but still included
15869	// in the response. Use isAttached instead.
15870	//
15871	// Deprecated: AttachmentState has been deprecated
15872	AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"`
15873
15874	// The date when the disk was created.
15875	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15876
15877	// (Deprecated) The number of GB in use by the disk.
15878	//
15879	// In releases prior to November 14, 2017, this parameter was not included in
15880	// the API response. It is now deprecated.
15881	//
15882	// Deprecated: GbInUse has been deprecated
15883	GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"`
15884
15885	// The input/output operations per second (IOPS) of the disk.
15886	Iops *int64 `locationName:"iops" type:"integer"`
15887
15888	// A Boolean value indicating whether the disk is attached.
15889	IsAttached *bool `locationName:"isAttached" type:"boolean"`
15890
15891	// A Boolean value indicating whether this disk is a system disk (has an operating
15892	// system loaded on it).
15893	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
15894
15895	// The AWS Region and Availability Zone where the disk is located.
15896	Location *ResourceLocation `locationName:"location" type:"structure"`
15897
15898	// The unique name of the disk.
15899	Name *string `locationName:"name" type:"string"`
15900
15901	// The disk path.
15902	Path *string `locationName:"path" type:"string"`
15903
15904	// The Lightsail resource type (e.g., Disk).
15905	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
15906
15907	// The size of the disk in GB.
15908	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
15909
15910	// Describes the status of the disk.
15911	State *string `locationName:"state" type:"string" enum:"DiskState"`
15912
15913	// The support code. Include this code in your email to support when you have
15914	// questions about an instance or another resource in Lightsail. This code enables
15915	// our support team to look up your Lightsail information more easily.
15916	SupportCode *string `locationName:"supportCode" type:"string"`
15917
15918	// The tag keys and optional values for the resource. For more information about
15919	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
15920	Tags []*Tag `locationName:"tags" type:"list"`
15921}
15922
15923// String returns the string representation
15924func (s Disk) String() string {
15925	return awsutil.Prettify(s)
15926}
15927
15928// GoString returns the string representation
15929func (s Disk) GoString() string {
15930	return s.String()
15931}
15932
15933// SetAddOns sets the AddOns field's value.
15934func (s *Disk) SetAddOns(v []*AddOn) *Disk {
15935	s.AddOns = v
15936	return s
15937}
15938
15939// SetArn sets the Arn field's value.
15940func (s *Disk) SetArn(v string) *Disk {
15941	s.Arn = &v
15942	return s
15943}
15944
15945// SetAttachedTo sets the AttachedTo field's value.
15946func (s *Disk) SetAttachedTo(v string) *Disk {
15947	s.AttachedTo = &v
15948	return s
15949}
15950
15951// SetAttachmentState sets the AttachmentState field's value.
15952func (s *Disk) SetAttachmentState(v string) *Disk {
15953	s.AttachmentState = &v
15954	return s
15955}
15956
15957// SetCreatedAt sets the CreatedAt field's value.
15958func (s *Disk) SetCreatedAt(v time.Time) *Disk {
15959	s.CreatedAt = &v
15960	return s
15961}
15962
15963// SetGbInUse sets the GbInUse field's value.
15964func (s *Disk) SetGbInUse(v int64) *Disk {
15965	s.GbInUse = &v
15966	return s
15967}
15968
15969// SetIops sets the Iops field's value.
15970func (s *Disk) SetIops(v int64) *Disk {
15971	s.Iops = &v
15972	return s
15973}
15974
15975// SetIsAttached sets the IsAttached field's value.
15976func (s *Disk) SetIsAttached(v bool) *Disk {
15977	s.IsAttached = &v
15978	return s
15979}
15980
15981// SetIsSystemDisk sets the IsSystemDisk field's value.
15982func (s *Disk) SetIsSystemDisk(v bool) *Disk {
15983	s.IsSystemDisk = &v
15984	return s
15985}
15986
15987// SetLocation sets the Location field's value.
15988func (s *Disk) SetLocation(v *ResourceLocation) *Disk {
15989	s.Location = v
15990	return s
15991}
15992
15993// SetName sets the Name field's value.
15994func (s *Disk) SetName(v string) *Disk {
15995	s.Name = &v
15996	return s
15997}
15998
15999// SetPath sets the Path field's value.
16000func (s *Disk) SetPath(v string) *Disk {
16001	s.Path = &v
16002	return s
16003}
16004
16005// SetResourceType sets the ResourceType field's value.
16006func (s *Disk) SetResourceType(v string) *Disk {
16007	s.ResourceType = &v
16008	return s
16009}
16010
16011// SetSizeInGb sets the SizeInGb field's value.
16012func (s *Disk) SetSizeInGb(v int64) *Disk {
16013	s.SizeInGb = &v
16014	return s
16015}
16016
16017// SetState sets the State field's value.
16018func (s *Disk) SetState(v string) *Disk {
16019	s.State = &v
16020	return s
16021}
16022
16023// SetSupportCode sets the SupportCode field's value.
16024func (s *Disk) SetSupportCode(v string) *Disk {
16025	s.SupportCode = &v
16026	return s
16027}
16028
16029// SetTags sets the Tags field's value.
16030func (s *Disk) SetTags(v []*Tag) *Disk {
16031	s.Tags = v
16032	return s
16033}
16034
16035// Describes a disk.
16036type DiskInfo struct {
16037	_ struct{} `type:"structure"`
16038
16039	// A Boolean value indicating whether this disk is a system disk (has an operating
16040	// system loaded on it).
16041	IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"`
16042
16043	// The disk name.
16044	Name *string `locationName:"name" type:"string"`
16045
16046	// The disk path.
16047	Path *string `locationName:"path" type:"string"`
16048
16049	// The size of the disk in GB (e.g., 32).
16050	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
16051}
16052
16053// String returns the string representation
16054func (s DiskInfo) String() string {
16055	return awsutil.Prettify(s)
16056}
16057
16058// GoString returns the string representation
16059func (s DiskInfo) GoString() string {
16060	return s.String()
16061}
16062
16063// SetIsSystemDisk sets the IsSystemDisk field's value.
16064func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo {
16065	s.IsSystemDisk = &v
16066	return s
16067}
16068
16069// SetName sets the Name field's value.
16070func (s *DiskInfo) SetName(v string) *DiskInfo {
16071	s.Name = &v
16072	return s
16073}
16074
16075// SetPath sets the Path field's value.
16076func (s *DiskInfo) SetPath(v string) *DiskInfo {
16077	s.Path = &v
16078	return s
16079}
16080
16081// SetSizeInGb sets the SizeInGb field's value.
16082func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo {
16083	s.SizeInGb = &v
16084	return s
16085}
16086
16087// Describes a block storage disk mapping.
16088type DiskMap struct {
16089	_ struct{} `type:"structure"`
16090
16091	// The new disk name (e.g., my-new-disk).
16092	NewDiskName *string `locationName:"newDiskName" type:"string"`
16093
16094	// The original disk path exposed to the instance (for example, /dev/sdh).
16095	OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"`
16096}
16097
16098// String returns the string representation
16099func (s DiskMap) String() string {
16100	return awsutil.Prettify(s)
16101}
16102
16103// GoString returns the string representation
16104func (s DiskMap) GoString() string {
16105	return s.String()
16106}
16107
16108// SetNewDiskName sets the NewDiskName field's value.
16109func (s *DiskMap) SetNewDiskName(v string) *DiskMap {
16110	s.NewDiskName = &v
16111	return s
16112}
16113
16114// SetOriginalDiskPath sets the OriginalDiskPath field's value.
16115func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap {
16116	s.OriginalDiskPath = &v
16117	return s
16118}
16119
16120// Describes a block storage disk snapshot.
16121type DiskSnapshot struct {
16122	_ struct{} `type:"structure"`
16123
16124	// The Amazon Resource Name (ARN) of the disk snapshot.
16125	Arn *string `locationName:"arn" type:"string"`
16126
16127	// The date when the disk snapshot was created.
16128	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16129
16130	// The Amazon Resource Name (ARN) of the source disk from which the disk snapshot
16131	// was created.
16132	FromDiskArn *string `locationName:"fromDiskArn" type:"string"`
16133
16134	// The unique name of the source disk from which the disk snapshot was created.
16135	FromDiskName *string `locationName:"fromDiskName" type:"string"`
16136
16137	// The Amazon Resource Name (ARN) of the source instance from which the disk
16138	// (system volume) snapshot was created.
16139	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
16140
16141	// The unique name of the source instance from which the disk (system volume)
16142	// snapshot was created.
16143	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
16144
16145	// A Boolean value indicating whether the snapshot was created from an automatic
16146	// snapshot.
16147	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
16148
16149	// The AWS Region and Availability Zone where the disk snapshot was created.
16150	Location *ResourceLocation `locationName:"location" type:"structure"`
16151
16152	// The name of the disk snapshot (e.g., my-disk-snapshot).
16153	Name *string `locationName:"name" type:"string"`
16154
16155	// The progress of the disk snapshot operation.
16156	Progress *string `locationName:"progress" type:"string"`
16157
16158	// The Lightsail resource type (e.g., DiskSnapshot).
16159	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16160
16161	// The size of the disk in GB.
16162	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
16163
16164	// The status of the disk snapshot operation.
16165	State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"`
16166
16167	// The support code. Include this code in your email to support when you have
16168	// questions about an instance or another resource in Lightsail. This code enables
16169	// our support team to look up your Lightsail information more easily.
16170	SupportCode *string `locationName:"supportCode" type:"string"`
16171
16172	// The tag keys and optional values for the resource. For more information about
16173	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
16174	Tags []*Tag `locationName:"tags" type:"list"`
16175}
16176
16177// String returns the string representation
16178func (s DiskSnapshot) String() string {
16179	return awsutil.Prettify(s)
16180}
16181
16182// GoString returns the string representation
16183func (s DiskSnapshot) GoString() string {
16184	return s.String()
16185}
16186
16187// SetArn sets the Arn field's value.
16188func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot {
16189	s.Arn = &v
16190	return s
16191}
16192
16193// SetCreatedAt sets the CreatedAt field's value.
16194func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot {
16195	s.CreatedAt = &v
16196	return s
16197}
16198
16199// SetFromDiskArn sets the FromDiskArn field's value.
16200func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot {
16201	s.FromDiskArn = &v
16202	return s
16203}
16204
16205// SetFromDiskName sets the FromDiskName field's value.
16206func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot {
16207	s.FromDiskName = &v
16208	return s
16209}
16210
16211// SetFromInstanceArn sets the FromInstanceArn field's value.
16212func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot {
16213	s.FromInstanceArn = &v
16214	return s
16215}
16216
16217// SetFromInstanceName sets the FromInstanceName field's value.
16218func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot {
16219	s.FromInstanceName = &v
16220	return s
16221}
16222
16223// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
16224func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot {
16225	s.IsFromAutoSnapshot = &v
16226	return s
16227}
16228
16229// SetLocation sets the Location field's value.
16230func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot {
16231	s.Location = v
16232	return s
16233}
16234
16235// SetName sets the Name field's value.
16236func (s *DiskSnapshot) SetName(v string) *DiskSnapshot {
16237	s.Name = &v
16238	return s
16239}
16240
16241// SetProgress sets the Progress field's value.
16242func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot {
16243	s.Progress = &v
16244	return s
16245}
16246
16247// SetResourceType sets the ResourceType field's value.
16248func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot {
16249	s.ResourceType = &v
16250	return s
16251}
16252
16253// SetSizeInGb sets the SizeInGb field's value.
16254func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot {
16255	s.SizeInGb = &v
16256	return s
16257}
16258
16259// SetState sets the State field's value.
16260func (s *DiskSnapshot) SetState(v string) *DiskSnapshot {
16261	s.State = &v
16262	return s
16263}
16264
16265// SetSupportCode sets the SupportCode field's value.
16266func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot {
16267	s.SupportCode = &v
16268	return s
16269}
16270
16271// SetTags sets the Tags field's value.
16272func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot {
16273	s.Tags = v
16274	return s
16275}
16276
16277// Describes a disk snapshot.
16278type DiskSnapshotInfo struct {
16279	_ struct{} `type:"structure"`
16280
16281	// The size of the disk in GB (e.g., 32).
16282	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
16283}
16284
16285// String returns the string representation
16286func (s DiskSnapshotInfo) String() string {
16287	return awsutil.Prettify(s)
16288}
16289
16290// GoString returns the string representation
16291func (s DiskSnapshotInfo) GoString() string {
16292	return s.String()
16293}
16294
16295// SetSizeInGb sets the SizeInGb field's value.
16296func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo {
16297	s.SizeInGb = &v
16298	return s
16299}
16300
16301// Describes a domain where you are storing recordsets in Lightsail.
16302type Domain struct {
16303	_ struct{} `type:"structure"`
16304
16305	// The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).
16306	Arn *string `locationName:"arn" type:"string"`
16307
16308	// The date when the domain recordset was created.
16309	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16310
16311	// An array of key-value pairs containing information about the domain entries.
16312	DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"`
16313
16314	// The AWS Region and Availability Zones where the domain recordset was created.
16315	Location *ResourceLocation `locationName:"location" type:"structure"`
16316
16317	// The name of the domain.
16318	Name *string `locationName:"name" type:"string"`
16319
16320	// The resource type.
16321	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16322
16323	// The support code. Include this code in your email to support when you have
16324	// questions about an instance or another resource in Lightsail. This code enables
16325	// our support team to look up your Lightsail information more easily.
16326	SupportCode *string `locationName:"supportCode" type:"string"`
16327
16328	// The tag keys and optional values for the resource. For more information about
16329	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
16330	Tags []*Tag `locationName:"tags" type:"list"`
16331}
16332
16333// String returns the string representation
16334func (s Domain) String() string {
16335	return awsutil.Prettify(s)
16336}
16337
16338// GoString returns the string representation
16339func (s Domain) GoString() string {
16340	return s.String()
16341}
16342
16343// SetArn sets the Arn field's value.
16344func (s *Domain) SetArn(v string) *Domain {
16345	s.Arn = &v
16346	return s
16347}
16348
16349// SetCreatedAt sets the CreatedAt field's value.
16350func (s *Domain) SetCreatedAt(v time.Time) *Domain {
16351	s.CreatedAt = &v
16352	return s
16353}
16354
16355// SetDomainEntries sets the DomainEntries field's value.
16356func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain {
16357	s.DomainEntries = v
16358	return s
16359}
16360
16361// SetLocation sets the Location field's value.
16362func (s *Domain) SetLocation(v *ResourceLocation) *Domain {
16363	s.Location = v
16364	return s
16365}
16366
16367// SetName sets the Name field's value.
16368func (s *Domain) SetName(v string) *Domain {
16369	s.Name = &v
16370	return s
16371}
16372
16373// SetResourceType sets the ResourceType field's value.
16374func (s *Domain) SetResourceType(v string) *Domain {
16375	s.ResourceType = &v
16376	return s
16377}
16378
16379// SetSupportCode sets the SupportCode field's value.
16380func (s *Domain) SetSupportCode(v string) *Domain {
16381	s.SupportCode = &v
16382	return s
16383}
16384
16385// SetTags sets the Tags field's value.
16386func (s *Domain) SetTags(v []*Tag) *Domain {
16387	s.Tags = v
16388	return s
16389}
16390
16391// Describes a domain recordset entry.
16392type DomainEntry struct {
16393	_ struct{} `type:"structure"`
16394
16395	// The ID of the domain recordset entry.
16396	Id *string `locationName:"id" type:"string"`
16397
16398	// When true, specifies whether the domain entry is an alias used by the Lightsail
16399	// load balancer. You can include an alias (A type) record in your request,
16400	// which points to a load balancer DNS name and routes traffic to your load
16401	// balancer
16402	IsAlias *bool `locationName:"isAlias" type:"boolean"`
16403
16404	// The name of the domain.
16405	Name *string `locationName:"name" type:"string"`
16406
16407	// (Deprecated) The options for the domain entry.
16408	//
16409	// In releases prior to November 29, 2017, this parameter was not included in
16410	// the API response. It is now deprecated.
16411	//
16412	// Deprecated: Options has been deprecated
16413	Options map[string]*string `locationName:"options" deprecated:"true" type:"map"`
16414
16415	// The target AWS name server (e.g., ns-111.awsdns-22.com.).
16416	//
16417	// For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com.
16418	// Be sure to also set isAlias to true when setting up an A record for a load
16419	// balancer.
16420	Target *string `locationName:"target" type:"string"`
16421
16422	// The type of domain entry, such as address (A), canonical name (CNAME), mail
16423	// exchanger (MX), name server (NS), start of authority (SOA), service locator
16424	// (SRV), or text (TXT).
16425	//
16426	// The following domain entry types can be used:
16427	//
16428	//    * A
16429	//
16430	//    * CNAME
16431	//
16432	//    * MX
16433	//
16434	//    * NS
16435	//
16436	//    * SOA
16437	//
16438	//    * SRV
16439	//
16440	//    * TXT
16441	Type *string `locationName:"type" type:"string"`
16442}
16443
16444// String returns the string representation
16445func (s DomainEntry) String() string {
16446	return awsutil.Prettify(s)
16447}
16448
16449// GoString returns the string representation
16450func (s DomainEntry) GoString() string {
16451	return s.String()
16452}
16453
16454// SetId sets the Id field's value.
16455func (s *DomainEntry) SetId(v string) *DomainEntry {
16456	s.Id = &v
16457	return s
16458}
16459
16460// SetIsAlias sets the IsAlias field's value.
16461func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry {
16462	s.IsAlias = &v
16463	return s
16464}
16465
16466// SetName sets the Name field's value.
16467func (s *DomainEntry) SetName(v string) *DomainEntry {
16468	s.Name = &v
16469	return s
16470}
16471
16472// SetOptions sets the Options field's value.
16473func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry {
16474	s.Options = v
16475	return s
16476}
16477
16478// SetTarget sets the Target field's value.
16479func (s *DomainEntry) SetTarget(v string) *DomainEntry {
16480	s.Target = &v
16481	return s
16482}
16483
16484// SetType sets the Type field's value.
16485func (s *DomainEntry) SetType(v string) *DomainEntry {
16486	s.Type = &v
16487	return s
16488}
16489
16490type DownloadDefaultKeyPairInput struct {
16491	_ struct{} `type:"structure"`
16492}
16493
16494// String returns the string representation
16495func (s DownloadDefaultKeyPairInput) String() string {
16496	return awsutil.Prettify(s)
16497}
16498
16499// GoString returns the string representation
16500func (s DownloadDefaultKeyPairInput) GoString() string {
16501	return s.String()
16502}
16503
16504type DownloadDefaultKeyPairOutput struct {
16505	_ struct{} `type:"structure"`
16506
16507	// A base64-encoded RSA private key.
16508	PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"`
16509
16510	// A base64-encoded public key of the ssh-rsa type.
16511	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"`
16512}
16513
16514// String returns the string representation
16515func (s DownloadDefaultKeyPairOutput) String() string {
16516	return awsutil.Prettify(s)
16517}
16518
16519// GoString returns the string representation
16520func (s DownloadDefaultKeyPairOutput) GoString() string {
16521	return s.String()
16522}
16523
16524// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value.
16525func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput {
16526	s.PrivateKeyBase64 = &v
16527	return s
16528}
16529
16530// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
16531func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput {
16532	s.PublicKeyBase64 = &v
16533	return s
16534}
16535
16536type EnableAddOnInput struct {
16537	_ struct{} `type:"structure"`
16538
16539	// An array of strings representing the add-on to enable or modify.
16540	//
16541	// AddOnRequest is a required field
16542	AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"`
16543
16544	// The name of the source resource for which to enable or modify the add-on.
16545	//
16546	// ResourceName is a required field
16547	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
16548}
16549
16550// String returns the string representation
16551func (s EnableAddOnInput) String() string {
16552	return awsutil.Prettify(s)
16553}
16554
16555// GoString returns the string representation
16556func (s EnableAddOnInput) GoString() string {
16557	return s.String()
16558}
16559
16560// Validate inspects the fields of the type to determine if they are valid.
16561func (s *EnableAddOnInput) Validate() error {
16562	invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"}
16563	if s.AddOnRequest == nil {
16564		invalidParams.Add(request.NewErrParamRequired("AddOnRequest"))
16565	}
16566	if s.ResourceName == nil {
16567		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
16568	}
16569	if s.AddOnRequest != nil {
16570		if err := s.AddOnRequest.Validate(); err != nil {
16571			invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams))
16572		}
16573	}
16574
16575	if invalidParams.Len() > 0 {
16576		return invalidParams
16577	}
16578	return nil
16579}
16580
16581// SetAddOnRequest sets the AddOnRequest field's value.
16582func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput {
16583	s.AddOnRequest = v
16584	return s
16585}
16586
16587// SetResourceName sets the ResourceName field's value.
16588func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput {
16589	s.ResourceName = &v
16590	return s
16591}
16592
16593type EnableAddOnOutput struct {
16594	_ struct{} `type:"structure"`
16595
16596	// An array of objects that describe the result of your request.
16597	Operations []*Operation `locationName:"operations" type:"list"`
16598}
16599
16600// String returns the string representation
16601func (s EnableAddOnOutput) String() string {
16602	return awsutil.Prettify(s)
16603}
16604
16605// GoString returns the string representation
16606func (s EnableAddOnOutput) GoString() string {
16607	return s.String()
16608}
16609
16610// SetOperations sets the Operations field's value.
16611func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput {
16612	s.Operations = v
16613	return s
16614}
16615
16616type ExportSnapshotInput struct {
16617	_ struct{} `type:"structure"`
16618
16619	// The name of the instance or disk snapshot to be exported to Amazon EC2.
16620	//
16621	// SourceSnapshotName is a required field
16622	SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"`
16623}
16624
16625// String returns the string representation
16626func (s ExportSnapshotInput) String() string {
16627	return awsutil.Prettify(s)
16628}
16629
16630// GoString returns the string representation
16631func (s ExportSnapshotInput) GoString() string {
16632	return s.String()
16633}
16634
16635// Validate inspects the fields of the type to determine if they are valid.
16636func (s *ExportSnapshotInput) Validate() error {
16637	invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"}
16638	if s.SourceSnapshotName == nil {
16639		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName"))
16640	}
16641
16642	if invalidParams.Len() > 0 {
16643		return invalidParams
16644	}
16645	return nil
16646}
16647
16648// SetSourceSnapshotName sets the SourceSnapshotName field's value.
16649func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput {
16650	s.SourceSnapshotName = &v
16651	return s
16652}
16653
16654type ExportSnapshotOutput struct {
16655	_ struct{} `type:"structure"`
16656
16657	// A list of objects describing the API operation.
16658	Operations []*Operation `locationName:"operations" type:"list"`
16659}
16660
16661// String returns the string representation
16662func (s ExportSnapshotOutput) String() string {
16663	return awsutil.Prettify(s)
16664}
16665
16666// GoString returns the string representation
16667func (s ExportSnapshotOutput) GoString() string {
16668	return s.String()
16669}
16670
16671// SetOperations sets the Operations field's value.
16672func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput {
16673	s.Operations = v
16674	return s
16675}
16676
16677// Describes an export snapshot record.
16678type ExportSnapshotRecord struct {
16679	_ struct{} `type:"structure"`
16680
16681	// The Amazon Resource Name (ARN) of the export snapshot record.
16682	Arn *string `locationName:"arn" type:"string"`
16683
16684	// The date when the export snapshot record was created.
16685	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16686
16687	// A list of objects describing the destination of the export snapshot record.
16688	DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"`
16689
16690	// The AWS Region and Availability Zone where the export snapshot record is
16691	// located.
16692	Location *ResourceLocation `locationName:"location" type:"structure"`
16693
16694	// The export snapshot record name.
16695	Name *string `locationName:"name" type:"string"`
16696
16697	// The Lightsail resource type (e.g., ExportSnapshotRecord).
16698	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16699
16700	// A list of objects describing the source of the export snapshot record.
16701	SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"`
16702
16703	// The state of the export snapshot record.
16704	State *string `locationName:"state" type:"string" enum:"RecordState"`
16705}
16706
16707// String returns the string representation
16708func (s ExportSnapshotRecord) String() string {
16709	return awsutil.Prettify(s)
16710}
16711
16712// GoString returns the string representation
16713func (s ExportSnapshotRecord) GoString() string {
16714	return s.String()
16715}
16716
16717// SetArn sets the Arn field's value.
16718func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord {
16719	s.Arn = &v
16720	return s
16721}
16722
16723// SetCreatedAt sets the CreatedAt field's value.
16724func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord {
16725	s.CreatedAt = &v
16726	return s
16727}
16728
16729// SetDestinationInfo sets the DestinationInfo field's value.
16730func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord {
16731	s.DestinationInfo = v
16732	return s
16733}
16734
16735// SetLocation sets the Location field's value.
16736func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord {
16737	s.Location = v
16738	return s
16739}
16740
16741// SetName sets the Name field's value.
16742func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord {
16743	s.Name = &v
16744	return s
16745}
16746
16747// SetResourceType sets the ResourceType field's value.
16748func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord {
16749	s.ResourceType = &v
16750	return s
16751}
16752
16753// SetSourceInfo sets the SourceInfo field's value.
16754func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord {
16755	s.SourceInfo = v
16756	return s
16757}
16758
16759// SetState sets the State field's value.
16760func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord {
16761	s.State = &v
16762	return s
16763}
16764
16765// Describes the source of an export snapshot record.
16766type ExportSnapshotRecordSourceInfo struct {
16767	_ struct{} `type:"structure"`
16768
16769	// The Amazon Resource Name (ARN) of the source instance or disk snapshot.
16770	Arn *string `locationName:"arn" type:"string"`
16771
16772	// The date when the source instance or disk snapshot was created.
16773	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16774
16775	// A list of objects describing a disk snapshot.
16776	DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"`
16777
16778	// The Amazon Resource Name (ARN) of the snapshot's source instance or disk.
16779	FromResourceArn *string `locationName:"fromResourceArn" type:"string"`
16780
16781	// The name of the snapshot's source instance or disk.
16782	FromResourceName *string `locationName:"fromResourceName" type:"string"`
16783
16784	// A list of objects describing an instance snapshot.
16785	InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"`
16786
16787	// The name of the source instance or disk snapshot.
16788	Name *string `locationName:"name" type:"string"`
16789
16790	// The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).
16791	ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"`
16792}
16793
16794// String returns the string representation
16795func (s ExportSnapshotRecordSourceInfo) String() string {
16796	return awsutil.Prettify(s)
16797}
16798
16799// GoString returns the string representation
16800func (s ExportSnapshotRecordSourceInfo) GoString() string {
16801	return s.String()
16802}
16803
16804// SetArn sets the Arn field's value.
16805func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo {
16806	s.Arn = &v
16807	return s
16808}
16809
16810// SetCreatedAt sets the CreatedAt field's value.
16811func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo {
16812	s.CreatedAt = &v
16813	return s
16814}
16815
16816// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value.
16817func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo {
16818	s.DiskSnapshotInfo = v
16819	return s
16820}
16821
16822// SetFromResourceArn sets the FromResourceArn field's value.
16823func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo {
16824	s.FromResourceArn = &v
16825	return s
16826}
16827
16828// SetFromResourceName sets the FromResourceName field's value.
16829func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo {
16830	s.FromResourceName = &v
16831	return s
16832}
16833
16834// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value.
16835func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo {
16836	s.InstanceSnapshotInfo = v
16837	return s
16838}
16839
16840// SetName sets the Name field's value.
16841func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo {
16842	s.Name = &v
16843	return s
16844}
16845
16846// SetResourceType sets the ResourceType field's value.
16847func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo {
16848	s.ResourceType = &v
16849	return s
16850}
16851
16852type GetActiveNamesInput struct {
16853	_ struct{} `type:"structure"`
16854
16855	// A token used for paginating results from your get active names request.
16856	PageToken *string `locationName:"pageToken" type:"string"`
16857}
16858
16859// String returns the string representation
16860func (s GetActiveNamesInput) String() string {
16861	return awsutil.Prettify(s)
16862}
16863
16864// GoString returns the string representation
16865func (s GetActiveNamesInput) GoString() string {
16866	return s.String()
16867}
16868
16869// SetPageToken sets the PageToken field's value.
16870func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput {
16871	s.PageToken = &v
16872	return s
16873}
16874
16875type GetActiveNamesOutput struct {
16876	_ struct{} `type:"structure"`
16877
16878	// The list of active names returned by the get active names request.
16879	ActiveNames []*string `locationName:"activeNames" type:"list"`
16880
16881	// A token used for advancing to the next page of results from your get active
16882	// names request.
16883	NextPageToken *string `locationName:"nextPageToken" type:"string"`
16884}
16885
16886// String returns the string representation
16887func (s GetActiveNamesOutput) String() string {
16888	return awsutil.Prettify(s)
16889}
16890
16891// GoString returns the string representation
16892func (s GetActiveNamesOutput) GoString() string {
16893	return s.String()
16894}
16895
16896// SetActiveNames sets the ActiveNames field's value.
16897func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput {
16898	s.ActiveNames = v
16899	return s
16900}
16901
16902// SetNextPageToken sets the NextPageToken field's value.
16903func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput {
16904	s.NextPageToken = &v
16905	return s
16906}
16907
16908type GetAutoSnapshotsInput struct {
16909	_ struct{} `type:"structure"`
16910
16911	// The name of the source instance or disk from which to get automatic snapshot
16912	// information.
16913	//
16914	// ResourceName is a required field
16915	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
16916}
16917
16918// String returns the string representation
16919func (s GetAutoSnapshotsInput) String() string {
16920	return awsutil.Prettify(s)
16921}
16922
16923// GoString returns the string representation
16924func (s GetAutoSnapshotsInput) GoString() string {
16925	return s.String()
16926}
16927
16928// Validate inspects the fields of the type to determine if they are valid.
16929func (s *GetAutoSnapshotsInput) Validate() error {
16930	invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"}
16931	if s.ResourceName == nil {
16932		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
16933	}
16934
16935	if invalidParams.Len() > 0 {
16936		return invalidParams
16937	}
16938	return nil
16939}
16940
16941// SetResourceName sets the ResourceName field's value.
16942func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput {
16943	s.ResourceName = &v
16944	return s
16945}
16946
16947type GetAutoSnapshotsOutput struct {
16948	_ struct{} `type:"structure"`
16949
16950	// An array of objects that describe the automatic snapshots that are available
16951	// for the specified source instance or disk.
16952	AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"`
16953
16954	// The name of the source instance or disk for the automatic snapshots.
16955	ResourceName *string `locationName:"resourceName" type:"string"`
16956
16957	// The resource type (e.g., Instance or Disk).
16958	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
16959}
16960
16961// String returns the string representation
16962func (s GetAutoSnapshotsOutput) String() string {
16963	return awsutil.Prettify(s)
16964}
16965
16966// GoString returns the string representation
16967func (s GetAutoSnapshotsOutput) GoString() string {
16968	return s.String()
16969}
16970
16971// SetAutoSnapshots sets the AutoSnapshots field's value.
16972func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput {
16973	s.AutoSnapshots = v
16974	return s
16975}
16976
16977// SetResourceName sets the ResourceName field's value.
16978func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput {
16979	s.ResourceName = &v
16980	return s
16981}
16982
16983// SetResourceType sets the ResourceType field's value.
16984func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput {
16985	s.ResourceType = &v
16986	return s
16987}
16988
16989type GetBlueprintsInput struct {
16990	_ struct{} `type:"structure"`
16991
16992	// A Boolean value indicating whether to include inactive results in your request.
16993	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
16994
16995	// A token used for advancing to the next page of results from your get blueprints
16996	// request.
16997	PageToken *string `locationName:"pageToken" type:"string"`
16998}
16999
17000// String returns the string representation
17001func (s GetBlueprintsInput) String() string {
17002	return awsutil.Prettify(s)
17003}
17004
17005// GoString returns the string representation
17006func (s GetBlueprintsInput) GoString() string {
17007	return s.String()
17008}
17009
17010// SetIncludeInactive sets the IncludeInactive field's value.
17011func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput {
17012	s.IncludeInactive = &v
17013	return s
17014}
17015
17016// SetPageToken sets the PageToken field's value.
17017func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput {
17018	s.PageToken = &v
17019	return s
17020}
17021
17022type GetBlueprintsOutput struct {
17023	_ struct{} `type:"structure"`
17024
17025	// An array of key-value pairs that contains information about the available
17026	// blueprints.
17027	Blueprints []*Blueprint `locationName:"blueprints" type:"list"`
17028
17029	// A token used for advancing to the next page of results from your get blueprints
17030	// request.
17031	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17032}
17033
17034// String returns the string representation
17035func (s GetBlueprintsOutput) String() string {
17036	return awsutil.Prettify(s)
17037}
17038
17039// GoString returns the string representation
17040func (s GetBlueprintsOutput) GoString() string {
17041	return s.String()
17042}
17043
17044// SetBlueprints sets the Blueprints field's value.
17045func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput {
17046	s.Blueprints = v
17047	return s
17048}
17049
17050// SetNextPageToken sets the NextPageToken field's value.
17051func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput {
17052	s.NextPageToken = &v
17053	return s
17054}
17055
17056type GetBundlesInput struct {
17057	_ struct{} `type:"structure"`
17058
17059	// A Boolean value that indicates whether to include inactive bundle results
17060	// in your request.
17061	IncludeInactive *bool `locationName:"includeInactive" type:"boolean"`
17062
17063	// A token used for advancing to the next page of results from your get bundles
17064	// request.
17065	PageToken *string `locationName:"pageToken" type:"string"`
17066}
17067
17068// String returns the string representation
17069func (s GetBundlesInput) String() string {
17070	return awsutil.Prettify(s)
17071}
17072
17073// GoString returns the string representation
17074func (s GetBundlesInput) GoString() string {
17075	return s.String()
17076}
17077
17078// SetIncludeInactive sets the IncludeInactive field's value.
17079func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput {
17080	s.IncludeInactive = &v
17081	return s
17082}
17083
17084// SetPageToken sets the PageToken field's value.
17085func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput {
17086	s.PageToken = &v
17087	return s
17088}
17089
17090type GetBundlesOutput struct {
17091	_ struct{} `type:"structure"`
17092
17093	// An array of key-value pairs that contains information about the available
17094	// bundles.
17095	Bundles []*Bundle `locationName:"bundles" type:"list"`
17096
17097	// A token used for advancing to the next page of results from your get active
17098	// names request.
17099	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17100}
17101
17102// String returns the string representation
17103func (s GetBundlesOutput) String() string {
17104	return awsutil.Prettify(s)
17105}
17106
17107// GoString returns the string representation
17108func (s GetBundlesOutput) GoString() string {
17109	return s.String()
17110}
17111
17112// SetBundles sets the Bundles field's value.
17113func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput {
17114	s.Bundles = v
17115	return s
17116}
17117
17118// SetNextPageToken sets the NextPageToken field's value.
17119func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput {
17120	s.NextPageToken = &v
17121	return s
17122}
17123
17124type GetCloudFormationStackRecordsInput struct {
17125	_ struct{} `type:"structure"`
17126
17127	// A token used for advancing to a specific page of results for your get cloud
17128	// formation stack records request.
17129	PageToken *string `locationName:"pageToken" type:"string"`
17130}
17131
17132// String returns the string representation
17133func (s GetCloudFormationStackRecordsInput) String() string {
17134	return awsutil.Prettify(s)
17135}
17136
17137// GoString returns the string representation
17138func (s GetCloudFormationStackRecordsInput) GoString() string {
17139	return s.String()
17140}
17141
17142// SetPageToken sets the PageToken field's value.
17143func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput {
17144	s.PageToken = &v
17145	return s
17146}
17147
17148type GetCloudFormationStackRecordsOutput struct {
17149	_ struct{} `type:"structure"`
17150
17151	// A list of objects describing the CloudFormation stack records.
17152	CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"`
17153
17154	// A token used for advancing to the next page of results of your get relational
17155	// database bundles request.
17156	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17157}
17158
17159// String returns the string representation
17160func (s GetCloudFormationStackRecordsOutput) String() string {
17161	return awsutil.Prettify(s)
17162}
17163
17164// GoString returns the string representation
17165func (s GetCloudFormationStackRecordsOutput) GoString() string {
17166	return s.String()
17167}
17168
17169// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value.
17170func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput {
17171	s.CloudFormationStackRecords = v
17172	return s
17173}
17174
17175// SetNextPageToken sets the NextPageToken field's value.
17176func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput {
17177	s.NextPageToken = &v
17178	return s
17179}
17180
17181type GetDiskInput struct {
17182	_ struct{} `type:"structure"`
17183
17184	// The name of the disk (e.g., my-disk).
17185	//
17186	// DiskName is a required field
17187	DiskName *string `locationName:"diskName" type:"string" required:"true"`
17188}
17189
17190// String returns the string representation
17191func (s GetDiskInput) String() string {
17192	return awsutil.Prettify(s)
17193}
17194
17195// GoString returns the string representation
17196func (s GetDiskInput) GoString() string {
17197	return s.String()
17198}
17199
17200// Validate inspects the fields of the type to determine if they are valid.
17201func (s *GetDiskInput) Validate() error {
17202	invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"}
17203	if s.DiskName == nil {
17204		invalidParams.Add(request.NewErrParamRequired("DiskName"))
17205	}
17206
17207	if invalidParams.Len() > 0 {
17208		return invalidParams
17209	}
17210	return nil
17211}
17212
17213// SetDiskName sets the DiskName field's value.
17214func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput {
17215	s.DiskName = &v
17216	return s
17217}
17218
17219type GetDiskOutput struct {
17220	_ struct{} `type:"structure"`
17221
17222	// An object containing information about the disk.
17223	Disk *Disk `locationName:"disk" type:"structure"`
17224}
17225
17226// String returns the string representation
17227func (s GetDiskOutput) String() string {
17228	return awsutil.Prettify(s)
17229}
17230
17231// GoString returns the string representation
17232func (s GetDiskOutput) GoString() string {
17233	return s.String()
17234}
17235
17236// SetDisk sets the Disk field's value.
17237func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput {
17238	s.Disk = v
17239	return s
17240}
17241
17242type GetDiskSnapshotInput struct {
17243	_ struct{} `type:"structure"`
17244
17245	// The name of the disk snapshot (e.g., my-disk-snapshot).
17246	//
17247	// DiskSnapshotName is a required field
17248	DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"`
17249}
17250
17251// String returns the string representation
17252func (s GetDiskSnapshotInput) String() string {
17253	return awsutil.Prettify(s)
17254}
17255
17256// GoString returns the string representation
17257func (s GetDiskSnapshotInput) GoString() string {
17258	return s.String()
17259}
17260
17261// Validate inspects the fields of the type to determine if they are valid.
17262func (s *GetDiskSnapshotInput) Validate() error {
17263	invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"}
17264	if s.DiskSnapshotName == nil {
17265		invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName"))
17266	}
17267
17268	if invalidParams.Len() > 0 {
17269		return invalidParams
17270	}
17271	return nil
17272}
17273
17274// SetDiskSnapshotName sets the DiskSnapshotName field's value.
17275func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput {
17276	s.DiskSnapshotName = &v
17277	return s
17278}
17279
17280type GetDiskSnapshotOutput struct {
17281	_ struct{} `type:"structure"`
17282
17283	// An object containing information about the disk snapshot.
17284	DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"`
17285}
17286
17287// String returns the string representation
17288func (s GetDiskSnapshotOutput) String() string {
17289	return awsutil.Prettify(s)
17290}
17291
17292// GoString returns the string representation
17293func (s GetDiskSnapshotOutput) GoString() string {
17294	return s.String()
17295}
17296
17297// SetDiskSnapshot sets the DiskSnapshot field's value.
17298func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput {
17299	s.DiskSnapshot = v
17300	return s
17301}
17302
17303type GetDiskSnapshotsInput struct {
17304	_ struct{} `type:"structure"`
17305
17306	// A token used for advancing to the next page of results from your GetDiskSnapshots
17307	// request.
17308	PageToken *string `locationName:"pageToken" type:"string"`
17309}
17310
17311// String returns the string representation
17312func (s GetDiskSnapshotsInput) String() string {
17313	return awsutil.Prettify(s)
17314}
17315
17316// GoString returns the string representation
17317func (s GetDiskSnapshotsInput) GoString() string {
17318	return s.String()
17319}
17320
17321// SetPageToken sets the PageToken field's value.
17322func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput {
17323	s.PageToken = &v
17324	return s
17325}
17326
17327type GetDiskSnapshotsOutput struct {
17328	_ struct{} `type:"structure"`
17329
17330	// An array of objects containing information about all block storage disk snapshots.
17331	DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"`
17332
17333	// A token used for advancing to the next page of results from your GetDiskSnapshots
17334	// request.
17335	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17336}
17337
17338// String returns the string representation
17339func (s GetDiskSnapshotsOutput) String() string {
17340	return awsutil.Prettify(s)
17341}
17342
17343// GoString returns the string representation
17344func (s GetDiskSnapshotsOutput) GoString() string {
17345	return s.String()
17346}
17347
17348// SetDiskSnapshots sets the DiskSnapshots field's value.
17349func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput {
17350	s.DiskSnapshots = v
17351	return s
17352}
17353
17354// SetNextPageToken sets the NextPageToken field's value.
17355func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput {
17356	s.NextPageToken = &v
17357	return s
17358}
17359
17360type GetDisksInput struct {
17361	_ struct{} `type:"structure"`
17362
17363	// A token used for advancing to the next page of results from your GetDisks
17364	// request.
17365	PageToken *string `locationName:"pageToken" type:"string"`
17366}
17367
17368// String returns the string representation
17369func (s GetDisksInput) String() string {
17370	return awsutil.Prettify(s)
17371}
17372
17373// GoString returns the string representation
17374func (s GetDisksInput) GoString() string {
17375	return s.String()
17376}
17377
17378// SetPageToken sets the PageToken field's value.
17379func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput {
17380	s.PageToken = &v
17381	return s
17382}
17383
17384type GetDisksOutput struct {
17385	_ struct{} `type:"structure"`
17386
17387	// An array of objects containing information about all block storage disks.
17388	Disks []*Disk `locationName:"disks" type:"list"`
17389
17390	// A token used for advancing to the next page of results from your GetDisks
17391	// request.
17392	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17393}
17394
17395// String returns the string representation
17396func (s GetDisksOutput) String() string {
17397	return awsutil.Prettify(s)
17398}
17399
17400// GoString returns the string representation
17401func (s GetDisksOutput) GoString() string {
17402	return s.String()
17403}
17404
17405// SetDisks sets the Disks field's value.
17406func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput {
17407	s.Disks = v
17408	return s
17409}
17410
17411// SetNextPageToken sets the NextPageToken field's value.
17412func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput {
17413	s.NextPageToken = &v
17414	return s
17415}
17416
17417type GetDomainInput struct {
17418	_ struct{} `type:"structure"`
17419
17420	// The domain name for which your want to return information about.
17421	//
17422	// DomainName is a required field
17423	DomainName *string `locationName:"domainName" type:"string" required:"true"`
17424}
17425
17426// String returns the string representation
17427func (s GetDomainInput) String() string {
17428	return awsutil.Prettify(s)
17429}
17430
17431// GoString returns the string representation
17432func (s GetDomainInput) GoString() string {
17433	return s.String()
17434}
17435
17436// Validate inspects the fields of the type to determine if they are valid.
17437func (s *GetDomainInput) Validate() error {
17438	invalidParams := request.ErrInvalidParams{Context: "GetDomainInput"}
17439	if s.DomainName == nil {
17440		invalidParams.Add(request.NewErrParamRequired("DomainName"))
17441	}
17442
17443	if invalidParams.Len() > 0 {
17444		return invalidParams
17445	}
17446	return nil
17447}
17448
17449// SetDomainName sets the DomainName field's value.
17450func (s *GetDomainInput) SetDomainName(v string) *GetDomainInput {
17451	s.DomainName = &v
17452	return s
17453}
17454
17455type GetDomainOutput struct {
17456	_ struct{} `type:"structure"`
17457
17458	// An array of key-value pairs containing information about your get domain
17459	// request.
17460	Domain *Domain `locationName:"domain" type:"structure"`
17461}
17462
17463// String returns the string representation
17464func (s GetDomainOutput) String() string {
17465	return awsutil.Prettify(s)
17466}
17467
17468// GoString returns the string representation
17469func (s GetDomainOutput) GoString() string {
17470	return s.String()
17471}
17472
17473// SetDomain sets the Domain field's value.
17474func (s *GetDomainOutput) SetDomain(v *Domain) *GetDomainOutput {
17475	s.Domain = v
17476	return s
17477}
17478
17479type GetDomainsInput struct {
17480	_ struct{} `type:"structure"`
17481
17482	// A token used for advancing to the next page of results from your get domains
17483	// request.
17484	PageToken *string `locationName:"pageToken" type:"string"`
17485}
17486
17487// String returns the string representation
17488func (s GetDomainsInput) String() string {
17489	return awsutil.Prettify(s)
17490}
17491
17492// GoString returns the string representation
17493func (s GetDomainsInput) GoString() string {
17494	return s.String()
17495}
17496
17497// SetPageToken sets the PageToken field's value.
17498func (s *GetDomainsInput) SetPageToken(v string) *GetDomainsInput {
17499	s.PageToken = &v
17500	return s
17501}
17502
17503type GetDomainsOutput struct {
17504	_ struct{} `type:"structure"`
17505
17506	// An array of key-value pairs containing information about each of the domain
17507	// entries in the user's account.
17508	Domains []*Domain `locationName:"domains" type:"list"`
17509
17510	// A token used for advancing to the next page of results from your get active
17511	// names request.
17512	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17513}
17514
17515// String returns the string representation
17516func (s GetDomainsOutput) String() string {
17517	return awsutil.Prettify(s)
17518}
17519
17520// GoString returns the string representation
17521func (s GetDomainsOutput) GoString() string {
17522	return s.String()
17523}
17524
17525// SetDomains sets the Domains field's value.
17526func (s *GetDomainsOutput) SetDomains(v []*Domain) *GetDomainsOutput {
17527	s.Domains = v
17528	return s
17529}
17530
17531// SetNextPageToken sets the NextPageToken field's value.
17532func (s *GetDomainsOutput) SetNextPageToken(v string) *GetDomainsOutput {
17533	s.NextPageToken = &v
17534	return s
17535}
17536
17537type GetExportSnapshotRecordsInput struct {
17538	_ struct{} `type:"structure"`
17539
17540	// A token used for advancing to a specific page of results for your get export
17541	// snapshot records request.
17542	PageToken *string `locationName:"pageToken" type:"string"`
17543}
17544
17545// String returns the string representation
17546func (s GetExportSnapshotRecordsInput) String() string {
17547	return awsutil.Prettify(s)
17548}
17549
17550// GoString returns the string representation
17551func (s GetExportSnapshotRecordsInput) GoString() string {
17552	return s.String()
17553}
17554
17555// SetPageToken sets the PageToken field's value.
17556func (s *GetExportSnapshotRecordsInput) SetPageToken(v string) *GetExportSnapshotRecordsInput {
17557	s.PageToken = &v
17558	return s
17559}
17560
17561type GetExportSnapshotRecordsOutput struct {
17562	_ struct{} `type:"structure"`
17563
17564	// A list of objects describing the export snapshot records.
17565	ExportSnapshotRecords []*ExportSnapshotRecord `locationName:"exportSnapshotRecords" type:"list"`
17566
17567	// A token used for advancing to the next page of results of your get relational
17568	// database bundles request.
17569	NextPageToken *string `locationName:"nextPageToken" type:"string"`
17570}
17571
17572// String returns the string representation
17573func (s GetExportSnapshotRecordsOutput) String() string {
17574	return awsutil.Prettify(s)
17575}
17576
17577// GoString returns the string representation
17578func (s GetExportSnapshotRecordsOutput) GoString() string {
17579	return s.String()
17580}
17581
17582// SetExportSnapshotRecords sets the ExportSnapshotRecords field's value.
17583func (s *GetExportSnapshotRecordsOutput) SetExportSnapshotRecords(v []*ExportSnapshotRecord) *GetExportSnapshotRecordsOutput {
17584	s.ExportSnapshotRecords = v
17585	return s
17586}
17587
17588// SetNextPageToken sets the NextPageToken field's value.
17589func (s *GetExportSnapshotRecordsOutput) SetNextPageToken(v string) *GetExportSnapshotRecordsOutput {
17590	s.NextPageToken = &v
17591	return s
17592}
17593
17594type GetInstanceAccessDetailsInput struct {
17595	_ struct{} `type:"structure"`
17596
17597	// The name of the instance to access.
17598	//
17599	// InstanceName is a required field
17600	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17601
17602	// The protocol to use to connect to your instance. Defaults to ssh.
17603	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
17604}
17605
17606// String returns the string representation
17607func (s GetInstanceAccessDetailsInput) String() string {
17608	return awsutil.Prettify(s)
17609}
17610
17611// GoString returns the string representation
17612func (s GetInstanceAccessDetailsInput) GoString() string {
17613	return s.String()
17614}
17615
17616// Validate inspects the fields of the type to determine if they are valid.
17617func (s *GetInstanceAccessDetailsInput) Validate() error {
17618	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessDetailsInput"}
17619	if s.InstanceName == nil {
17620		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17621	}
17622
17623	if invalidParams.Len() > 0 {
17624		return invalidParams
17625	}
17626	return nil
17627}
17628
17629// SetInstanceName sets the InstanceName field's value.
17630func (s *GetInstanceAccessDetailsInput) SetInstanceName(v string) *GetInstanceAccessDetailsInput {
17631	s.InstanceName = &v
17632	return s
17633}
17634
17635// SetProtocol sets the Protocol field's value.
17636func (s *GetInstanceAccessDetailsInput) SetProtocol(v string) *GetInstanceAccessDetailsInput {
17637	s.Protocol = &v
17638	return s
17639}
17640
17641type GetInstanceAccessDetailsOutput struct {
17642	_ struct{} `type:"structure"`
17643
17644	// An array of key-value pairs containing information about a get instance access
17645	// request.
17646	AccessDetails *InstanceAccessDetails `locationName:"accessDetails" type:"structure"`
17647}
17648
17649// String returns the string representation
17650func (s GetInstanceAccessDetailsOutput) String() string {
17651	return awsutil.Prettify(s)
17652}
17653
17654// GoString returns the string representation
17655func (s GetInstanceAccessDetailsOutput) GoString() string {
17656	return s.String()
17657}
17658
17659// SetAccessDetails sets the AccessDetails field's value.
17660func (s *GetInstanceAccessDetailsOutput) SetAccessDetails(v *InstanceAccessDetails) *GetInstanceAccessDetailsOutput {
17661	s.AccessDetails = v
17662	return s
17663}
17664
17665type GetInstanceInput struct {
17666	_ struct{} `type:"structure"`
17667
17668	// The name of the instance.
17669	//
17670	// InstanceName is a required field
17671	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17672}
17673
17674// String returns the string representation
17675func (s GetInstanceInput) String() string {
17676	return awsutil.Prettify(s)
17677}
17678
17679// GoString returns the string representation
17680func (s GetInstanceInput) GoString() string {
17681	return s.String()
17682}
17683
17684// Validate inspects the fields of the type to determine if they are valid.
17685func (s *GetInstanceInput) Validate() error {
17686	invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"}
17687	if s.InstanceName == nil {
17688		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17689	}
17690
17691	if invalidParams.Len() > 0 {
17692		return invalidParams
17693	}
17694	return nil
17695}
17696
17697// SetInstanceName sets the InstanceName field's value.
17698func (s *GetInstanceInput) SetInstanceName(v string) *GetInstanceInput {
17699	s.InstanceName = &v
17700	return s
17701}
17702
17703type GetInstanceMetricDataInput struct {
17704	_ struct{} `type:"structure"`
17705
17706	// The end time of the time period.
17707	//
17708	// EndTime is a required field
17709	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
17710
17711	// The name of the instance for which you want to get metrics data.
17712	//
17713	// InstanceName is a required field
17714	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17715
17716	// The metric name to get data about.
17717	//
17718	// MetricName is a required field
17719	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"`
17720
17721	// The granularity, in seconds, of the returned data points.
17722	//
17723	// Period is a required field
17724	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
17725
17726	// The start time of the time period.
17727	//
17728	// StartTime is a required field
17729	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
17730
17731	// The instance statistics.
17732	//
17733	// Statistics is a required field
17734	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
17735
17736	// The unit. The list of valid values is below.
17737	//
17738	// Unit is a required field
17739	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
17740}
17741
17742// String returns the string representation
17743func (s GetInstanceMetricDataInput) String() string {
17744	return awsutil.Prettify(s)
17745}
17746
17747// GoString returns the string representation
17748func (s GetInstanceMetricDataInput) GoString() string {
17749	return s.String()
17750}
17751
17752// Validate inspects the fields of the type to determine if they are valid.
17753func (s *GetInstanceMetricDataInput) Validate() error {
17754	invalidParams := request.ErrInvalidParams{Context: "GetInstanceMetricDataInput"}
17755	if s.EndTime == nil {
17756		invalidParams.Add(request.NewErrParamRequired("EndTime"))
17757	}
17758	if s.InstanceName == nil {
17759		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17760	}
17761	if s.MetricName == nil {
17762		invalidParams.Add(request.NewErrParamRequired("MetricName"))
17763	}
17764	if s.Period == nil {
17765		invalidParams.Add(request.NewErrParamRequired("Period"))
17766	}
17767	if s.Period != nil && *s.Period < 60 {
17768		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
17769	}
17770	if s.StartTime == nil {
17771		invalidParams.Add(request.NewErrParamRequired("StartTime"))
17772	}
17773	if s.Statistics == nil {
17774		invalidParams.Add(request.NewErrParamRequired("Statistics"))
17775	}
17776	if s.Unit == nil {
17777		invalidParams.Add(request.NewErrParamRequired("Unit"))
17778	}
17779
17780	if invalidParams.Len() > 0 {
17781		return invalidParams
17782	}
17783	return nil
17784}
17785
17786// SetEndTime sets the EndTime field's value.
17787func (s *GetInstanceMetricDataInput) SetEndTime(v time.Time) *GetInstanceMetricDataInput {
17788	s.EndTime = &v
17789	return s
17790}
17791
17792// SetInstanceName sets the InstanceName field's value.
17793func (s *GetInstanceMetricDataInput) SetInstanceName(v string) *GetInstanceMetricDataInput {
17794	s.InstanceName = &v
17795	return s
17796}
17797
17798// SetMetricName sets the MetricName field's value.
17799func (s *GetInstanceMetricDataInput) SetMetricName(v string) *GetInstanceMetricDataInput {
17800	s.MetricName = &v
17801	return s
17802}
17803
17804// SetPeriod sets the Period field's value.
17805func (s *GetInstanceMetricDataInput) SetPeriod(v int64) *GetInstanceMetricDataInput {
17806	s.Period = &v
17807	return s
17808}
17809
17810// SetStartTime sets the StartTime field's value.
17811func (s *GetInstanceMetricDataInput) SetStartTime(v time.Time) *GetInstanceMetricDataInput {
17812	s.StartTime = &v
17813	return s
17814}
17815
17816// SetStatistics sets the Statistics field's value.
17817func (s *GetInstanceMetricDataInput) SetStatistics(v []*string) *GetInstanceMetricDataInput {
17818	s.Statistics = v
17819	return s
17820}
17821
17822// SetUnit sets the Unit field's value.
17823func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInput {
17824	s.Unit = &v
17825	return s
17826}
17827
17828type GetInstanceMetricDataOutput struct {
17829	_ struct{} `type:"structure"`
17830
17831	// An array of key-value pairs containing information about the results of your
17832	// get instance metric data request.
17833	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
17834
17835	// The metric name to return data for.
17836	MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"`
17837}
17838
17839// String returns the string representation
17840func (s GetInstanceMetricDataOutput) String() string {
17841	return awsutil.Prettify(s)
17842}
17843
17844// GoString returns the string representation
17845func (s GetInstanceMetricDataOutput) GoString() string {
17846	return s.String()
17847}
17848
17849// SetMetricData sets the MetricData field's value.
17850func (s *GetInstanceMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetInstanceMetricDataOutput {
17851	s.MetricData = v
17852	return s
17853}
17854
17855// SetMetricName sets the MetricName field's value.
17856func (s *GetInstanceMetricDataOutput) SetMetricName(v string) *GetInstanceMetricDataOutput {
17857	s.MetricName = &v
17858	return s
17859}
17860
17861type GetInstanceOutput struct {
17862	_ struct{} `type:"structure"`
17863
17864	// An array of key-value pairs containing information about the specified instance.
17865	Instance *Instance `locationName:"instance" type:"structure"`
17866}
17867
17868// String returns the string representation
17869func (s GetInstanceOutput) String() string {
17870	return awsutil.Prettify(s)
17871}
17872
17873// GoString returns the string representation
17874func (s GetInstanceOutput) GoString() string {
17875	return s.String()
17876}
17877
17878// SetInstance sets the Instance field's value.
17879func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput {
17880	s.Instance = v
17881	return s
17882}
17883
17884type GetInstancePortStatesInput struct {
17885	_ struct{} `type:"structure"`
17886
17887	// The name of the instance.
17888	//
17889	// InstanceName is a required field
17890	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
17891}
17892
17893// String returns the string representation
17894func (s GetInstancePortStatesInput) String() string {
17895	return awsutil.Prettify(s)
17896}
17897
17898// GoString returns the string representation
17899func (s GetInstancePortStatesInput) GoString() string {
17900	return s.String()
17901}
17902
17903// Validate inspects the fields of the type to determine if they are valid.
17904func (s *GetInstancePortStatesInput) Validate() error {
17905	invalidParams := request.ErrInvalidParams{Context: "GetInstancePortStatesInput"}
17906	if s.InstanceName == nil {
17907		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
17908	}
17909
17910	if invalidParams.Len() > 0 {
17911		return invalidParams
17912	}
17913	return nil
17914}
17915
17916// SetInstanceName sets the InstanceName field's value.
17917func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortStatesInput {
17918	s.InstanceName = &v
17919	return s
17920}
17921
17922type GetInstancePortStatesOutput struct {
17923	_ struct{} `type:"structure"`
17924
17925	// Information about the port states resulting from your request.
17926	PortStates []*InstancePortState `locationName:"portStates" type:"list"`
17927}
17928
17929// String returns the string representation
17930func (s GetInstancePortStatesOutput) String() string {
17931	return awsutil.Prettify(s)
17932}
17933
17934// GoString returns the string representation
17935func (s GetInstancePortStatesOutput) GoString() string {
17936	return s.String()
17937}
17938
17939// SetPortStates sets the PortStates field's value.
17940func (s *GetInstancePortStatesOutput) SetPortStates(v []*InstancePortState) *GetInstancePortStatesOutput {
17941	s.PortStates = v
17942	return s
17943}
17944
17945type GetInstanceSnapshotInput struct {
17946	_ struct{} `type:"structure"`
17947
17948	// The name of the snapshot for which you are requesting information.
17949	//
17950	// InstanceSnapshotName is a required field
17951	InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"`
17952}
17953
17954// String returns the string representation
17955func (s GetInstanceSnapshotInput) String() string {
17956	return awsutil.Prettify(s)
17957}
17958
17959// GoString returns the string representation
17960func (s GetInstanceSnapshotInput) GoString() string {
17961	return s.String()
17962}
17963
17964// Validate inspects the fields of the type to determine if they are valid.
17965func (s *GetInstanceSnapshotInput) Validate() error {
17966	invalidParams := request.ErrInvalidParams{Context: "GetInstanceSnapshotInput"}
17967	if s.InstanceSnapshotName == nil {
17968		invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName"))
17969	}
17970
17971	if invalidParams.Len() > 0 {
17972		return invalidParams
17973	}
17974	return nil
17975}
17976
17977// SetInstanceSnapshotName sets the InstanceSnapshotName field's value.
17978func (s *GetInstanceSnapshotInput) SetInstanceSnapshotName(v string) *GetInstanceSnapshotInput {
17979	s.InstanceSnapshotName = &v
17980	return s
17981}
17982
17983type GetInstanceSnapshotOutput struct {
17984	_ struct{} `type:"structure"`
17985
17986	// An array of key-value pairs containing information about the results of your
17987	// get instance snapshot request.
17988	InstanceSnapshot *InstanceSnapshot `locationName:"instanceSnapshot" type:"structure"`
17989}
17990
17991// String returns the string representation
17992func (s GetInstanceSnapshotOutput) String() string {
17993	return awsutil.Prettify(s)
17994}
17995
17996// GoString returns the string representation
17997func (s GetInstanceSnapshotOutput) GoString() string {
17998	return s.String()
17999}
18000
18001// SetInstanceSnapshot sets the InstanceSnapshot field's value.
18002func (s *GetInstanceSnapshotOutput) SetInstanceSnapshot(v *InstanceSnapshot) *GetInstanceSnapshotOutput {
18003	s.InstanceSnapshot = v
18004	return s
18005}
18006
18007type GetInstanceSnapshotsInput struct {
18008	_ struct{} `type:"structure"`
18009
18010	// A token used for advancing to the next page of results from your get instance
18011	// snapshots request.
18012	PageToken *string `locationName:"pageToken" type:"string"`
18013}
18014
18015// String returns the string representation
18016func (s GetInstanceSnapshotsInput) String() string {
18017	return awsutil.Prettify(s)
18018}
18019
18020// GoString returns the string representation
18021func (s GetInstanceSnapshotsInput) GoString() string {
18022	return s.String()
18023}
18024
18025// SetPageToken sets the PageToken field's value.
18026func (s *GetInstanceSnapshotsInput) SetPageToken(v string) *GetInstanceSnapshotsInput {
18027	s.PageToken = &v
18028	return s
18029}
18030
18031type GetInstanceSnapshotsOutput struct {
18032	_ struct{} `type:"structure"`
18033
18034	// An array of key-value pairs containing information about the results of your
18035	// get instance snapshots request.
18036	InstanceSnapshots []*InstanceSnapshot `locationName:"instanceSnapshots" type:"list"`
18037
18038	// A token used for advancing to the next page of results from your get instance
18039	// snapshots request.
18040	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18041}
18042
18043// String returns the string representation
18044func (s GetInstanceSnapshotsOutput) String() string {
18045	return awsutil.Prettify(s)
18046}
18047
18048// GoString returns the string representation
18049func (s GetInstanceSnapshotsOutput) GoString() string {
18050	return s.String()
18051}
18052
18053// SetInstanceSnapshots sets the InstanceSnapshots field's value.
18054func (s *GetInstanceSnapshotsOutput) SetInstanceSnapshots(v []*InstanceSnapshot) *GetInstanceSnapshotsOutput {
18055	s.InstanceSnapshots = v
18056	return s
18057}
18058
18059// SetNextPageToken sets the NextPageToken field's value.
18060func (s *GetInstanceSnapshotsOutput) SetNextPageToken(v string) *GetInstanceSnapshotsOutput {
18061	s.NextPageToken = &v
18062	return s
18063}
18064
18065type GetInstanceStateInput struct {
18066	_ struct{} `type:"structure"`
18067
18068	// The name of the instance to get state information about.
18069	//
18070	// InstanceName is a required field
18071	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
18072}
18073
18074// String returns the string representation
18075func (s GetInstanceStateInput) String() string {
18076	return awsutil.Prettify(s)
18077}
18078
18079// GoString returns the string representation
18080func (s GetInstanceStateInput) GoString() string {
18081	return s.String()
18082}
18083
18084// Validate inspects the fields of the type to determine if they are valid.
18085func (s *GetInstanceStateInput) Validate() error {
18086	invalidParams := request.ErrInvalidParams{Context: "GetInstanceStateInput"}
18087	if s.InstanceName == nil {
18088		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
18089	}
18090
18091	if invalidParams.Len() > 0 {
18092		return invalidParams
18093	}
18094	return nil
18095}
18096
18097// SetInstanceName sets the InstanceName field's value.
18098func (s *GetInstanceStateInput) SetInstanceName(v string) *GetInstanceStateInput {
18099	s.InstanceName = &v
18100	return s
18101}
18102
18103type GetInstanceStateOutput struct {
18104	_ struct{} `type:"structure"`
18105
18106	// The state of the instance.
18107	State *InstanceState `locationName:"state" type:"structure"`
18108}
18109
18110// String returns the string representation
18111func (s GetInstanceStateOutput) String() string {
18112	return awsutil.Prettify(s)
18113}
18114
18115// GoString returns the string representation
18116func (s GetInstanceStateOutput) GoString() string {
18117	return s.String()
18118}
18119
18120// SetState sets the State field's value.
18121func (s *GetInstanceStateOutput) SetState(v *InstanceState) *GetInstanceStateOutput {
18122	s.State = v
18123	return s
18124}
18125
18126type GetInstancesInput struct {
18127	_ struct{} `type:"structure"`
18128
18129	// A token used for advancing to the next page of results from your get instances
18130	// request.
18131	PageToken *string `locationName:"pageToken" type:"string"`
18132}
18133
18134// String returns the string representation
18135func (s GetInstancesInput) String() string {
18136	return awsutil.Prettify(s)
18137}
18138
18139// GoString returns the string representation
18140func (s GetInstancesInput) GoString() string {
18141	return s.String()
18142}
18143
18144// SetPageToken sets the PageToken field's value.
18145func (s *GetInstancesInput) SetPageToken(v string) *GetInstancesInput {
18146	s.PageToken = &v
18147	return s
18148}
18149
18150type GetInstancesOutput struct {
18151	_ struct{} `type:"structure"`
18152
18153	// An array of key-value pairs containing information about your instances.
18154	Instances []*Instance `locationName:"instances" type:"list"`
18155
18156	// A token used for advancing to the next page of results from your get instances
18157	// request.
18158	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18159}
18160
18161// String returns the string representation
18162func (s GetInstancesOutput) String() string {
18163	return awsutil.Prettify(s)
18164}
18165
18166// GoString returns the string representation
18167func (s GetInstancesOutput) GoString() string {
18168	return s.String()
18169}
18170
18171// SetInstances sets the Instances field's value.
18172func (s *GetInstancesOutput) SetInstances(v []*Instance) *GetInstancesOutput {
18173	s.Instances = v
18174	return s
18175}
18176
18177// SetNextPageToken sets the NextPageToken field's value.
18178func (s *GetInstancesOutput) SetNextPageToken(v string) *GetInstancesOutput {
18179	s.NextPageToken = &v
18180	return s
18181}
18182
18183type GetKeyPairInput struct {
18184	_ struct{} `type:"structure"`
18185
18186	// The name of the key pair for which you are requesting information.
18187	//
18188	// KeyPairName is a required field
18189	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
18190}
18191
18192// String returns the string representation
18193func (s GetKeyPairInput) String() string {
18194	return awsutil.Prettify(s)
18195}
18196
18197// GoString returns the string representation
18198func (s GetKeyPairInput) GoString() string {
18199	return s.String()
18200}
18201
18202// Validate inspects the fields of the type to determine if they are valid.
18203func (s *GetKeyPairInput) Validate() error {
18204	invalidParams := request.ErrInvalidParams{Context: "GetKeyPairInput"}
18205	if s.KeyPairName == nil {
18206		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
18207	}
18208
18209	if invalidParams.Len() > 0 {
18210		return invalidParams
18211	}
18212	return nil
18213}
18214
18215// SetKeyPairName sets the KeyPairName field's value.
18216func (s *GetKeyPairInput) SetKeyPairName(v string) *GetKeyPairInput {
18217	s.KeyPairName = &v
18218	return s
18219}
18220
18221type GetKeyPairOutput struct {
18222	_ struct{} `type:"structure"`
18223
18224	// An array of key-value pairs containing information about the key pair.
18225	KeyPair *KeyPair `locationName:"keyPair" type:"structure"`
18226}
18227
18228// String returns the string representation
18229func (s GetKeyPairOutput) String() string {
18230	return awsutil.Prettify(s)
18231}
18232
18233// GoString returns the string representation
18234func (s GetKeyPairOutput) GoString() string {
18235	return s.String()
18236}
18237
18238// SetKeyPair sets the KeyPair field's value.
18239func (s *GetKeyPairOutput) SetKeyPair(v *KeyPair) *GetKeyPairOutput {
18240	s.KeyPair = v
18241	return s
18242}
18243
18244type GetKeyPairsInput struct {
18245	_ struct{} `type:"structure"`
18246
18247	// A token used for advancing to the next page of results from your get key
18248	// pairs request.
18249	PageToken *string `locationName:"pageToken" type:"string"`
18250}
18251
18252// String returns the string representation
18253func (s GetKeyPairsInput) String() string {
18254	return awsutil.Prettify(s)
18255}
18256
18257// GoString returns the string representation
18258func (s GetKeyPairsInput) GoString() string {
18259	return s.String()
18260}
18261
18262// SetPageToken sets the PageToken field's value.
18263func (s *GetKeyPairsInput) SetPageToken(v string) *GetKeyPairsInput {
18264	s.PageToken = &v
18265	return s
18266}
18267
18268type GetKeyPairsOutput struct {
18269	_ struct{} `type:"structure"`
18270
18271	// An array of key-value pairs containing information about the key pairs.
18272	KeyPairs []*KeyPair `locationName:"keyPairs" type:"list"`
18273
18274	// A token used for advancing to the next page of results from your get key
18275	// pairs request.
18276	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18277}
18278
18279// String returns the string representation
18280func (s GetKeyPairsOutput) String() string {
18281	return awsutil.Prettify(s)
18282}
18283
18284// GoString returns the string representation
18285func (s GetKeyPairsOutput) GoString() string {
18286	return s.String()
18287}
18288
18289// SetKeyPairs sets the KeyPairs field's value.
18290func (s *GetKeyPairsOutput) SetKeyPairs(v []*KeyPair) *GetKeyPairsOutput {
18291	s.KeyPairs = v
18292	return s
18293}
18294
18295// SetNextPageToken sets the NextPageToken field's value.
18296func (s *GetKeyPairsOutput) SetNextPageToken(v string) *GetKeyPairsOutput {
18297	s.NextPageToken = &v
18298	return s
18299}
18300
18301type GetLoadBalancerInput struct {
18302	_ struct{} `type:"structure"`
18303
18304	// The name of the load balancer.
18305	//
18306	// LoadBalancerName is a required field
18307	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
18308}
18309
18310// String returns the string representation
18311func (s GetLoadBalancerInput) String() string {
18312	return awsutil.Prettify(s)
18313}
18314
18315// GoString returns the string representation
18316func (s GetLoadBalancerInput) GoString() string {
18317	return s.String()
18318}
18319
18320// Validate inspects the fields of the type to determine if they are valid.
18321func (s *GetLoadBalancerInput) Validate() error {
18322	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerInput"}
18323	if s.LoadBalancerName == nil {
18324		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
18325	}
18326
18327	if invalidParams.Len() > 0 {
18328		return invalidParams
18329	}
18330	return nil
18331}
18332
18333// SetLoadBalancerName sets the LoadBalancerName field's value.
18334func (s *GetLoadBalancerInput) SetLoadBalancerName(v string) *GetLoadBalancerInput {
18335	s.LoadBalancerName = &v
18336	return s
18337}
18338
18339type GetLoadBalancerMetricDataInput struct {
18340	_ struct{} `type:"structure"`
18341
18342	// The end time of the period.
18343	//
18344	// EndTime is a required field
18345	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
18346
18347	// The name of the load balancer.
18348	//
18349	// LoadBalancerName is a required field
18350	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
18351
18352	// The metric about which you want to return information. Valid values are listed
18353	// below, along with the most useful statistics to include in your request.
18354	//
18355	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
18356	//    by the client that did not establish a session with the load balancer.
18357	//    Possible causes include a mismatch of ciphers or protocols. Statistics:
18358	//    The most useful statistic is Sum.
18359	//
18360	//    * HealthyHostCount - The number of target instances that are considered
18361	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
18362	//    Maximum.
18363	//
18364	//    * UnhealthyHostCount - The number of target instances that are considered
18365	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
18366	//    and Maximum.
18367	//
18368	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
18369	//    originate from the load balancer. Client errors are generated when requests
18370	//    are malformed or incomplete. These requests have not been received by
18371	//    the target instance. This count does not include any response codes generated
18372	//    by the target instances. Statistics: The most useful statistic is Sum.
18373	//    Note that Minimum, Maximum, and Average all return 1.
18374	//
18375	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
18376	//    originate from the load balancer. This count does not include any response
18377	//    codes generated by the target instances. Statistics: The most useful statistic
18378	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Note that
18379	//    Minimum, Maximum, and Average all return 1.
18380	//
18381	//    * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated
18382	//    by the target instances. This does not include any response codes generated
18383	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18384	//    that Minimum, Maximum, and Average all return 1.
18385	//
18386	//    * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated
18387	//    by the target instances. This does not include any response codes generated
18388	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18389	//    that Minimum, Maximum, and Average all return 1.
18390	//
18391	//    * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated
18392	//    by the target instances. This does not include any response codes generated
18393	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18394	//    that Minimum, Maximum, and Average all return 1.
18395	//
18396	//    * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated
18397	//    by the target instances. This does not include any response codes generated
18398	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18399	//    that Minimum, Maximum, and Average all return 1.
18400	//
18401	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
18402	//    leaves the load balancer until a response from the target instance is
18403	//    received. Statistics: The most useful statistic is Average.
18404	//
18405	//    * RejectedConnectionCount - The number of connections that were rejected
18406	//    because the load balancer had reached its maximum number of connections.
18407	//    Statistics: The most useful statistic is Sum.
18408	//
18409	//    * RequestCount - The number of requests processed over IPv4. This count
18410	//    includes only the requests with a response generated by a target instance
18411	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
18412	//    that Minimum, Maximum, and Average all return 1.
18413	//
18414	// MetricName is a required field
18415	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"LoadBalancerMetricName"`
18416
18417	// The granularity, in seconds, of the returned data points.
18418	//
18419	// Period is a required field
18420	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
18421
18422	// The start time of the period.
18423	//
18424	// StartTime is a required field
18425	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
18426
18427	// An array of statistics that you want to request metrics for. Valid values
18428	// are listed below.
18429	//
18430	//    * SampleCount - The count (number) of data points used for the statistical
18431	//    calculation.
18432	//
18433	//    * Average - The value of Sum / SampleCount during the specified period.
18434	//    By comparing this statistic with the Minimum and Maximum, you can determine
18435	//    the full scope of a metric and how close the average use is to the Minimum
18436	//    and Maximum. This comparison helps you to know when to increase or decrease
18437	//    your resources as needed.
18438	//
18439	//    * Sum - All values submitted for the matching metric added together. This
18440	//    statistic can be useful for determining the total volume of a metric.
18441	//
18442	//    * Minimum - The lowest value observed during the specified period. You
18443	//    can use this value to determine low volumes of activity for your application.
18444	//
18445	//    * Maximum - The highest value observed during the specified period. You
18446	//    can use this value to determine high volumes of activity for your application.
18447	//
18448	// Statistics is a required field
18449	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
18450
18451	// The unit for the time period request. Valid values are listed below.
18452	//
18453	// Unit is a required field
18454	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
18455}
18456
18457// String returns the string representation
18458func (s GetLoadBalancerMetricDataInput) String() string {
18459	return awsutil.Prettify(s)
18460}
18461
18462// GoString returns the string representation
18463func (s GetLoadBalancerMetricDataInput) GoString() string {
18464	return s.String()
18465}
18466
18467// Validate inspects the fields of the type to determine if they are valid.
18468func (s *GetLoadBalancerMetricDataInput) Validate() error {
18469	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerMetricDataInput"}
18470	if s.EndTime == nil {
18471		invalidParams.Add(request.NewErrParamRequired("EndTime"))
18472	}
18473	if s.LoadBalancerName == nil {
18474		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
18475	}
18476	if s.MetricName == nil {
18477		invalidParams.Add(request.NewErrParamRequired("MetricName"))
18478	}
18479	if s.Period == nil {
18480		invalidParams.Add(request.NewErrParamRequired("Period"))
18481	}
18482	if s.Period != nil && *s.Period < 60 {
18483		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
18484	}
18485	if s.StartTime == nil {
18486		invalidParams.Add(request.NewErrParamRequired("StartTime"))
18487	}
18488	if s.Statistics == nil {
18489		invalidParams.Add(request.NewErrParamRequired("Statistics"))
18490	}
18491	if s.Unit == nil {
18492		invalidParams.Add(request.NewErrParamRequired("Unit"))
18493	}
18494
18495	if invalidParams.Len() > 0 {
18496		return invalidParams
18497	}
18498	return nil
18499}
18500
18501// SetEndTime sets the EndTime field's value.
18502func (s *GetLoadBalancerMetricDataInput) SetEndTime(v time.Time) *GetLoadBalancerMetricDataInput {
18503	s.EndTime = &v
18504	return s
18505}
18506
18507// SetLoadBalancerName sets the LoadBalancerName field's value.
18508func (s *GetLoadBalancerMetricDataInput) SetLoadBalancerName(v string) *GetLoadBalancerMetricDataInput {
18509	s.LoadBalancerName = &v
18510	return s
18511}
18512
18513// SetMetricName sets the MetricName field's value.
18514func (s *GetLoadBalancerMetricDataInput) SetMetricName(v string) *GetLoadBalancerMetricDataInput {
18515	s.MetricName = &v
18516	return s
18517}
18518
18519// SetPeriod sets the Period field's value.
18520func (s *GetLoadBalancerMetricDataInput) SetPeriod(v int64) *GetLoadBalancerMetricDataInput {
18521	s.Period = &v
18522	return s
18523}
18524
18525// SetStartTime sets the StartTime field's value.
18526func (s *GetLoadBalancerMetricDataInput) SetStartTime(v time.Time) *GetLoadBalancerMetricDataInput {
18527	s.StartTime = &v
18528	return s
18529}
18530
18531// SetStatistics sets the Statistics field's value.
18532func (s *GetLoadBalancerMetricDataInput) SetStatistics(v []*string) *GetLoadBalancerMetricDataInput {
18533	s.Statistics = v
18534	return s
18535}
18536
18537// SetUnit sets the Unit field's value.
18538func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetricDataInput {
18539	s.Unit = &v
18540	return s
18541}
18542
18543type GetLoadBalancerMetricDataOutput struct {
18544	_ struct{} `type:"structure"`
18545
18546	// An array of metric datapoint objects.
18547	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
18548
18549	// The metric about which you are receiving information. Valid values are listed
18550	// below, along with the most useful statistics to include in your request.
18551	//
18552	//    * ClientTLSNegotiationErrorCount - The number of TLS connections initiated
18553	//    by the client that did not establish a session with the load balancer.
18554	//    Possible causes include a mismatch of ciphers or protocols. Statistics:
18555	//    The most useful statistic is Sum.
18556	//
18557	//    * HealthyHostCount - The number of target instances that are considered
18558	//    healthy. Statistics: The most useful statistic are Average, Minimum, and
18559	//    Maximum.
18560	//
18561	//    * UnhealthyHostCount - The number of target instances that are considered
18562	//    unhealthy. Statistics: The most useful statistic are Average, Minimum,
18563	//    and Maximum.
18564	//
18565	//    * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that
18566	//    originate from the load balancer. Client errors are generated when requests
18567	//    are malformed or incomplete. These requests have not been received by
18568	//    the target instance. This count does not include any response codes generated
18569	//    by the target instances. Statistics: The most useful statistic is Sum.
18570	//    Note that Minimum, Maximum, and Average all return 1.
18571	//
18572	//    * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that
18573	//    originate from the load balancer. This count does not include any response
18574	//    codes generated by the target instances. Statistics: The most useful statistic
18575	//    is Sum. Note that Minimum, Maximum, and Average all return 1. Note that
18576	//    Minimum, Maximum, and Average all return 1.
18577	//
18578	//    * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated
18579	//    by the target instances. This does not include any response codes generated
18580	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18581	//    that Minimum, Maximum, and Average all return 1.
18582	//
18583	//    * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated
18584	//    by the target instances. This does not include any response codes generated
18585	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18586	//    that Minimum, Maximum, and Average all return 1.
18587	//
18588	//    * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated
18589	//    by the target instances. This does not include any response codes generated
18590	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18591	//    that Minimum, Maximum, and Average all return 1.
18592	//
18593	//    * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated
18594	//    by the target instances. This does not include any response codes generated
18595	//    by the load balancer. Statistics: The most useful statistic is Sum. Note
18596	//    that Minimum, Maximum, and Average all return 1.
18597	//
18598	//    * InstanceResponseTime - The time elapsed, in seconds, after the request
18599	//    leaves the load balancer until a response from the target instance is
18600	//    received. Statistics: The most useful statistic is Average.
18601	//
18602	//    * RejectedConnectionCount - The number of connections that were rejected
18603	//    because the load balancer had reached its maximum number of connections.
18604	//    Statistics: The most useful statistic is Sum.
18605	//
18606	//    * RequestCount - The number of requests processed over IPv4. This count
18607	//    includes only the requests with a response generated by a target instance
18608	//    of the load balancer. Statistics: The most useful statistic is Sum. Note
18609	//    that Minimum, Maximum, and Average all return 1.
18610	MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"`
18611}
18612
18613// String returns the string representation
18614func (s GetLoadBalancerMetricDataOutput) String() string {
18615	return awsutil.Prettify(s)
18616}
18617
18618// GoString returns the string representation
18619func (s GetLoadBalancerMetricDataOutput) GoString() string {
18620	return s.String()
18621}
18622
18623// SetMetricData sets the MetricData field's value.
18624func (s *GetLoadBalancerMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetLoadBalancerMetricDataOutput {
18625	s.MetricData = v
18626	return s
18627}
18628
18629// SetMetricName sets the MetricName field's value.
18630func (s *GetLoadBalancerMetricDataOutput) SetMetricName(v string) *GetLoadBalancerMetricDataOutput {
18631	s.MetricName = &v
18632	return s
18633}
18634
18635type GetLoadBalancerOutput struct {
18636	_ struct{} `type:"structure"`
18637
18638	// An object containing information about your load balancer.
18639	LoadBalancer *LoadBalancer `locationName:"loadBalancer" type:"structure"`
18640}
18641
18642// String returns the string representation
18643func (s GetLoadBalancerOutput) String() string {
18644	return awsutil.Prettify(s)
18645}
18646
18647// GoString returns the string representation
18648func (s GetLoadBalancerOutput) GoString() string {
18649	return s.String()
18650}
18651
18652// SetLoadBalancer sets the LoadBalancer field's value.
18653func (s *GetLoadBalancerOutput) SetLoadBalancer(v *LoadBalancer) *GetLoadBalancerOutput {
18654	s.LoadBalancer = v
18655	return s
18656}
18657
18658type GetLoadBalancerTlsCertificatesInput struct {
18659	_ struct{} `type:"structure"`
18660
18661	// The name of the load balancer you associated with your SSL/TLS certificate.
18662	//
18663	// LoadBalancerName is a required field
18664	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
18665}
18666
18667// String returns the string representation
18668func (s GetLoadBalancerTlsCertificatesInput) String() string {
18669	return awsutil.Prettify(s)
18670}
18671
18672// GoString returns the string representation
18673func (s GetLoadBalancerTlsCertificatesInput) GoString() string {
18674	return s.String()
18675}
18676
18677// Validate inspects the fields of the type to determine if they are valid.
18678func (s *GetLoadBalancerTlsCertificatesInput) Validate() error {
18679	invalidParams := request.ErrInvalidParams{Context: "GetLoadBalancerTlsCertificatesInput"}
18680	if s.LoadBalancerName == nil {
18681		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
18682	}
18683
18684	if invalidParams.Len() > 0 {
18685		return invalidParams
18686	}
18687	return nil
18688}
18689
18690// SetLoadBalancerName sets the LoadBalancerName field's value.
18691func (s *GetLoadBalancerTlsCertificatesInput) SetLoadBalancerName(v string) *GetLoadBalancerTlsCertificatesInput {
18692	s.LoadBalancerName = &v
18693	return s
18694}
18695
18696type GetLoadBalancerTlsCertificatesOutput struct {
18697	_ struct{} `type:"structure"`
18698
18699	// An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.
18700	TlsCertificates []*LoadBalancerTlsCertificate `locationName:"tlsCertificates" type:"list"`
18701}
18702
18703// String returns the string representation
18704func (s GetLoadBalancerTlsCertificatesOutput) String() string {
18705	return awsutil.Prettify(s)
18706}
18707
18708// GoString returns the string representation
18709func (s GetLoadBalancerTlsCertificatesOutput) GoString() string {
18710	return s.String()
18711}
18712
18713// SetTlsCertificates sets the TlsCertificates field's value.
18714func (s *GetLoadBalancerTlsCertificatesOutput) SetTlsCertificates(v []*LoadBalancerTlsCertificate) *GetLoadBalancerTlsCertificatesOutput {
18715	s.TlsCertificates = v
18716	return s
18717}
18718
18719type GetLoadBalancersInput struct {
18720	_ struct{} `type:"structure"`
18721
18722	// A token used for paginating the results from your GetLoadBalancers request.
18723	PageToken *string `locationName:"pageToken" type:"string"`
18724}
18725
18726// String returns the string representation
18727func (s GetLoadBalancersInput) String() string {
18728	return awsutil.Prettify(s)
18729}
18730
18731// GoString returns the string representation
18732func (s GetLoadBalancersInput) GoString() string {
18733	return s.String()
18734}
18735
18736// SetPageToken sets the PageToken field's value.
18737func (s *GetLoadBalancersInput) SetPageToken(v string) *GetLoadBalancersInput {
18738	s.PageToken = &v
18739	return s
18740}
18741
18742type GetLoadBalancersOutput struct {
18743	_ struct{} `type:"structure"`
18744
18745	// An array of LoadBalancer objects describing your load balancers.
18746	LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
18747
18748	// A token used for advancing to the next page of results from your GetLoadBalancers
18749	// request.
18750	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18751}
18752
18753// String returns the string representation
18754func (s GetLoadBalancersOutput) String() string {
18755	return awsutil.Prettify(s)
18756}
18757
18758// GoString returns the string representation
18759func (s GetLoadBalancersOutput) GoString() string {
18760	return s.String()
18761}
18762
18763// SetLoadBalancers sets the LoadBalancers field's value.
18764func (s *GetLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancer) *GetLoadBalancersOutput {
18765	s.LoadBalancers = v
18766	return s
18767}
18768
18769// SetNextPageToken sets the NextPageToken field's value.
18770func (s *GetLoadBalancersOutput) SetNextPageToken(v string) *GetLoadBalancersOutput {
18771	s.NextPageToken = &v
18772	return s
18773}
18774
18775type GetOperationInput struct {
18776	_ struct{} `type:"structure"`
18777
18778	// A GUID used to identify the operation.
18779	//
18780	// OperationId is a required field
18781	OperationId *string `locationName:"operationId" type:"string" required:"true"`
18782}
18783
18784// String returns the string representation
18785func (s GetOperationInput) String() string {
18786	return awsutil.Prettify(s)
18787}
18788
18789// GoString returns the string representation
18790func (s GetOperationInput) GoString() string {
18791	return s.String()
18792}
18793
18794// Validate inspects the fields of the type to determine if they are valid.
18795func (s *GetOperationInput) Validate() error {
18796	invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"}
18797	if s.OperationId == nil {
18798		invalidParams.Add(request.NewErrParamRequired("OperationId"))
18799	}
18800
18801	if invalidParams.Len() > 0 {
18802		return invalidParams
18803	}
18804	return nil
18805}
18806
18807// SetOperationId sets the OperationId field's value.
18808func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput {
18809	s.OperationId = &v
18810	return s
18811}
18812
18813type GetOperationOutput struct {
18814	_ struct{} `type:"structure"`
18815
18816	// An array of key-value pairs containing information about the results of your
18817	// get operation request.
18818	Operation *Operation `locationName:"operation" type:"structure"`
18819}
18820
18821// String returns the string representation
18822func (s GetOperationOutput) String() string {
18823	return awsutil.Prettify(s)
18824}
18825
18826// GoString returns the string representation
18827func (s GetOperationOutput) GoString() string {
18828	return s.String()
18829}
18830
18831// SetOperation sets the Operation field's value.
18832func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput {
18833	s.Operation = v
18834	return s
18835}
18836
18837type GetOperationsForResourceInput struct {
18838	_ struct{} `type:"structure"`
18839
18840	// A token used for advancing to the next page of results from your get operations
18841	// for resource request.
18842	PageToken *string `locationName:"pageToken" type:"string"`
18843
18844	// The name of the resource for which you are requesting information.
18845	//
18846	// ResourceName is a required field
18847	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
18848}
18849
18850// String returns the string representation
18851func (s GetOperationsForResourceInput) String() string {
18852	return awsutil.Prettify(s)
18853}
18854
18855// GoString returns the string representation
18856func (s GetOperationsForResourceInput) GoString() string {
18857	return s.String()
18858}
18859
18860// Validate inspects the fields of the type to determine if they are valid.
18861func (s *GetOperationsForResourceInput) Validate() error {
18862	invalidParams := request.ErrInvalidParams{Context: "GetOperationsForResourceInput"}
18863	if s.ResourceName == nil {
18864		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
18865	}
18866
18867	if invalidParams.Len() > 0 {
18868		return invalidParams
18869	}
18870	return nil
18871}
18872
18873// SetPageToken sets the PageToken field's value.
18874func (s *GetOperationsForResourceInput) SetPageToken(v string) *GetOperationsForResourceInput {
18875	s.PageToken = &v
18876	return s
18877}
18878
18879// SetResourceName sets the ResourceName field's value.
18880func (s *GetOperationsForResourceInput) SetResourceName(v string) *GetOperationsForResourceInput {
18881	s.ResourceName = &v
18882	return s
18883}
18884
18885type GetOperationsForResourceOutput struct {
18886	_ struct{} `type:"structure"`
18887
18888	// (Deprecated) Returns the number of pages of results that remain.
18889	//
18890	// In releases prior to June 12, 2017, this parameter returned null by the API.
18891	// It is now deprecated, and the API returns the next page token parameter instead.
18892	//
18893	// Deprecated: NextPageCount has been deprecated
18894	NextPageCount *string `locationName:"nextPageCount" deprecated:"true" type:"string"`
18895
18896	// An identifier that was returned from the previous call to this operation,
18897	// which can be used to return the next set of items in the list.
18898	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18899
18900	// An array of key-value pairs containing information about the results of your
18901	// get operations for resource request.
18902	Operations []*Operation `locationName:"operations" type:"list"`
18903}
18904
18905// String returns the string representation
18906func (s GetOperationsForResourceOutput) String() string {
18907	return awsutil.Prettify(s)
18908}
18909
18910// GoString returns the string representation
18911func (s GetOperationsForResourceOutput) GoString() string {
18912	return s.String()
18913}
18914
18915// SetNextPageCount sets the NextPageCount field's value.
18916func (s *GetOperationsForResourceOutput) SetNextPageCount(v string) *GetOperationsForResourceOutput {
18917	s.NextPageCount = &v
18918	return s
18919}
18920
18921// SetNextPageToken sets the NextPageToken field's value.
18922func (s *GetOperationsForResourceOutput) SetNextPageToken(v string) *GetOperationsForResourceOutput {
18923	s.NextPageToken = &v
18924	return s
18925}
18926
18927// SetOperations sets the Operations field's value.
18928func (s *GetOperationsForResourceOutput) SetOperations(v []*Operation) *GetOperationsForResourceOutput {
18929	s.Operations = v
18930	return s
18931}
18932
18933type GetOperationsInput struct {
18934	_ struct{} `type:"structure"`
18935
18936	// A token used for advancing to the next page of results from your get operations
18937	// request.
18938	PageToken *string `locationName:"pageToken" type:"string"`
18939}
18940
18941// String returns the string representation
18942func (s GetOperationsInput) String() string {
18943	return awsutil.Prettify(s)
18944}
18945
18946// GoString returns the string representation
18947func (s GetOperationsInput) GoString() string {
18948	return s.String()
18949}
18950
18951// SetPageToken sets the PageToken field's value.
18952func (s *GetOperationsInput) SetPageToken(v string) *GetOperationsInput {
18953	s.PageToken = &v
18954	return s
18955}
18956
18957type GetOperationsOutput struct {
18958	_ struct{} `type:"structure"`
18959
18960	// A token used for advancing to the next page of results from your get operations
18961	// request.
18962	NextPageToken *string `locationName:"nextPageToken" type:"string"`
18963
18964	// An array of key-value pairs containing information about the results of your
18965	// get operations request.
18966	Operations []*Operation `locationName:"operations" type:"list"`
18967}
18968
18969// String returns the string representation
18970func (s GetOperationsOutput) String() string {
18971	return awsutil.Prettify(s)
18972}
18973
18974// GoString returns the string representation
18975func (s GetOperationsOutput) GoString() string {
18976	return s.String()
18977}
18978
18979// SetNextPageToken sets the NextPageToken field's value.
18980func (s *GetOperationsOutput) SetNextPageToken(v string) *GetOperationsOutput {
18981	s.NextPageToken = &v
18982	return s
18983}
18984
18985// SetOperations sets the Operations field's value.
18986func (s *GetOperationsOutput) SetOperations(v []*Operation) *GetOperationsOutput {
18987	s.Operations = v
18988	return s
18989}
18990
18991type GetRegionsInput struct {
18992	_ struct{} `type:"structure"`
18993
18994	// A Boolean value indicating whether to also include Availability Zones in
18995	// your get regions request. Availability Zones are indicated with a letter:
18996	// e.g., us-east-2a.
18997	IncludeAvailabilityZones *bool `locationName:"includeAvailabilityZones" type:"boolean"`
18998
18999	// >A Boolean value indicating whether to also include Availability Zones for
19000	// databases in your get regions request. Availability Zones are indicated with
19001	// a letter (e.g., us-east-2a).
19002	IncludeRelationalDatabaseAvailabilityZones *bool `locationName:"includeRelationalDatabaseAvailabilityZones" type:"boolean"`
19003}
19004
19005// String returns the string representation
19006func (s GetRegionsInput) String() string {
19007	return awsutil.Prettify(s)
19008}
19009
19010// GoString returns the string representation
19011func (s GetRegionsInput) GoString() string {
19012	return s.String()
19013}
19014
19015// SetIncludeAvailabilityZones sets the IncludeAvailabilityZones field's value.
19016func (s *GetRegionsInput) SetIncludeAvailabilityZones(v bool) *GetRegionsInput {
19017	s.IncludeAvailabilityZones = &v
19018	return s
19019}
19020
19021// SetIncludeRelationalDatabaseAvailabilityZones sets the IncludeRelationalDatabaseAvailabilityZones field's value.
19022func (s *GetRegionsInput) SetIncludeRelationalDatabaseAvailabilityZones(v bool) *GetRegionsInput {
19023	s.IncludeRelationalDatabaseAvailabilityZones = &v
19024	return s
19025}
19026
19027type GetRegionsOutput struct {
19028	_ struct{} `type:"structure"`
19029
19030	// An array of key-value pairs containing information about your get regions
19031	// request.
19032	Regions []*Region `locationName:"regions" type:"list"`
19033}
19034
19035// String returns the string representation
19036func (s GetRegionsOutput) String() string {
19037	return awsutil.Prettify(s)
19038}
19039
19040// GoString returns the string representation
19041func (s GetRegionsOutput) GoString() string {
19042	return s.String()
19043}
19044
19045// SetRegions sets the Regions field's value.
19046func (s *GetRegionsOutput) SetRegions(v []*Region) *GetRegionsOutput {
19047	s.Regions = v
19048	return s
19049}
19050
19051type GetRelationalDatabaseBlueprintsInput struct {
19052	_ struct{} `type:"structure"`
19053
19054	// A token used for advancing to a specific page of results for your get relational
19055	// database blueprints request.
19056	PageToken *string `locationName:"pageToken" type:"string"`
19057}
19058
19059// String returns the string representation
19060func (s GetRelationalDatabaseBlueprintsInput) String() string {
19061	return awsutil.Prettify(s)
19062}
19063
19064// GoString returns the string representation
19065func (s GetRelationalDatabaseBlueprintsInput) GoString() string {
19066	return s.String()
19067}
19068
19069// SetPageToken sets the PageToken field's value.
19070func (s *GetRelationalDatabaseBlueprintsInput) SetPageToken(v string) *GetRelationalDatabaseBlueprintsInput {
19071	s.PageToken = &v
19072	return s
19073}
19074
19075type GetRelationalDatabaseBlueprintsOutput struct {
19076	_ struct{} `type:"structure"`
19077
19078	// An object describing the result of your get relational database blueprints
19079	// request.
19080	Blueprints []*RelationalDatabaseBlueprint `locationName:"blueprints" type:"list"`
19081
19082	// A token used for advancing to the next page of results of your get relational
19083	// database blueprints request.
19084	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19085}
19086
19087// String returns the string representation
19088func (s GetRelationalDatabaseBlueprintsOutput) String() string {
19089	return awsutil.Prettify(s)
19090}
19091
19092// GoString returns the string representation
19093func (s GetRelationalDatabaseBlueprintsOutput) GoString() string {
19094	return s.String()
19095}
19096
19097// SetBlueprints sets the Blueprints field's value.
19098func (s *GetRelationalDatabaseBlueprintsOutput) SetBlueprints(v []*RelationalDatabaseBlueprint) *GetRelationalDatabaseBlueprintsOutput {
19099	s.Blueprints = v
19100	return s
19101}
19102
19103// SetNextPageToken sets the NextPageToken field's value.
19104func (s *GetRelationalDatabaseBlueprintsOutput) SetNextPageToken(v string) *GetRelationalDatabaseBlueprintsOutput {
19105	s.NextPageToken = &v
19106	return s
19107}
19108
19109type GetRelationalDatabaseBundlesInput struct {
19110	_ struct{} `type:"structure"`
19111
19112	// A token used for advancing to a specific page of results for your get relational
19113	// database bundles request.
19114	PageToken *string `locationName:"pageToken" type:"string"`
19115}
19116
19117// String returns the string representation
19118func (s GetRelationalDatabaseBundlesInput) String() string {
19119	return awsutil.Prettify(s)
19120}
19121
19122// GoString returns the string representation
19123func (s GetRelationalDatabaseBundlesInput) GoString() string {
19124	return s.String()
19125}
19126
19127// SetPageToken sets the PageToken field's value.
19128func (s *GetRelationalDatabaseBundlesInput) SetPageToken(v string) *GetRelationalDatabaseBundlesInput {
19129	s.PageToken = &v
19130	return s
19131}
19132
19133type GetRelationalDatabaseBundlesOutput struct {
19134	_ struct{} `type:"structure"`
19135
19136	// An object describing the result of your get relational database bundles request.
19137	Bundles []*RelationalDatabaseBundle `locationName:"bundles" type:"list"`
19138
19139	// A token used for advancing to the next page of results of your get relational
19140	// database bundles request.
19141	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19142}
19143
19144// String returns the string representation
19145func (s GetRelationalDatabaseBundlesOutput) String() string {
19146	return awsutil.Prettify(s)
19147}
19148
19149// GoString returns the string representation
19150func (s GetRelationalDatabaseBundlesOutput) GoString() string {
19151	return s.String()
19152}
19153
19154// SetBundles sets the Bundles field's value.
19155func (s *GetRelationalDatabaseBundlesOutput) SetBundles(v []*RelationalDatabaseBundle) *GetRelationalDatabaseBundlesOutput {
19156	s.Bundles = v
19157	return s
19158}
19159
19160// SetNextPageToken sets the NextPageToken field's value.
19161func (s *GetRelationalDatabaseBundlesOutput) SetNextPageToken(v string) *GetRelationalDatabaseBundlesOutput {
19162	s.NextPageToken = &v
19163	return s
19164}
19165
19166type GetRelationalDatabaseEventsInput struct {
19167	_ struct{} `type:"structure"`
19168
19169	// The number of minutes in the past from which to retrieve events. For example,
19170	// to get all events from the past 2 hours, enter 120.
19171	//
19172	// Default: 60
19173	//
19174	// The minimum is 1 and the maximum is 14 days (20160 minutes).
19175	DurationInMinutes *int64 `locationName:"durationInMinutes" type:"integer"`
19176
19177	// A token used for advancing to a specific page of results from for get relational
19178	// database events request.
19179	PageToken *string `locationName:"pageToken" type:"string"`
19180
19181	// The name of the database from which to get events.
19182	//
19183	// RelationalDatabaseName is a required field
19184	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19185}
19186
19187// String returns the string representation
19188func (s GetRelationalDatabaseEventsInput) String() string {
19189	return awsutil.Prettify(s)
19190}
19191
19192// GoString returns the string representation
19193func (s GetRelationalDatabaseEventsInput) GoString() string {
19194	return s.String()
19195}
19196
19197// Validate inspects the fields of the type to determine if they are valid.
19198func (s *GetRelationalDatabaseEventsInput) Validate() error {
19199	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseEventsInput"}
19200	if s.RelationalDatabaseName == nil {
19201		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19202	}
19203
19204	if invalidParams.Len() > 0 {
19205		return invalidParams
19206	}
19207	return nil
19208}
19209
19210// SetDurationInMinutes sets the DurationInMinutes field's value.
19211func (s *GetRelationalDatabaseEventsInput) SetDurationInMinutes(v int64) *GetRelationalDatabaseEventsInput {
19212	s.DurationInMinutes = &v
19213	return s
19214}
19215
19216// SetPageToken sets the PageToken field's value.
19217func (s *GetRelationalDatabaseEventsInput) SetPageToken(v string) *GetRelationalDatabaseEventsInput {
19218	s.PageToken = &v
19219	return s
19220}
19221
19222// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19223func (s *GetRelationalDatabaseEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseEventsInput {
19224	s.RelationalDatabaseName = &v
19225	return s
19226}
19227
19228type GetRelationalDatabaseEventsOutput struct {
19229	_ struct{} `type:"structure"`
19230
19231	// A token used for advancing to the next page of results from your get relational
19232	// database events request.
19233	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19234
19235	// An object describing the result of your get relational database events request.
19236	RelationalDatabaseEvents []*RelationalDatabaseEvent `locationName:"relationalDatabaseEvents" type:"list"`
19237}
19238
19239// String returns the string representation
19240func (s GetRelationalDatabaseEventsOutput) String() string {
19241	return awsutil.Prettify(s)
19242}
19243
19244// GoString returns the string representation
19245func (s GetRelationalDatabaseEventsOutput) GoString() string {
19246	return s.String()
19247}
19248
19249// SetNextPageToken sets the NextPageToken field's value.
19250func (s *GetRelationalDatabaseEventsOutput) SetNextPageToken(v string) *GetRelationalDatabaseEventsOutput {
19251	s.NextPageToken = &v
19252	return s
19253}
19254
19255// SetRelationalDatabaseEvents sets the RelationalDatabaseEvents field's value.
19256func (s *GetRelationalDatabaseEventsOutput) SetRelationalDatabaseEvents(v []*RelationalDatabaseEvent) *GetRelationalDatabaseEventsOutput {
19257	s.RelationalDatabaseEvents = v
19258	return s
19259}
19260
19261type GetRelationalDatabaseInput struct {
19262	_ struct{} `type:"structure"`
19263
19264	// The name of the database that you are looking up.
19265	//
19266	// RelationalDatabaseName is a required field
19267	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19268}
19269
19270// String returns the string representation
19271func (s GetRelationalDatabaseInput) String() string {
19272	return awsutil.Prettify(s)
19273}
19274
19275// GoString returns the string representation
19276func (s GetRelationalDatabaseInput) GoString() string {
19277	return s.String()
19278}
19279
19280// Validate inspects the fields of the type to determine if they are valid.
19281func (s *GetRelationalDatabaseInput) Validate() error {
19282	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseInput"}
19283	if s.RelationalDatabaseName == nil {
19284		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19285	}
19286
19287	if invalidParams.Len() > 0 {
19288		return invalidParams
19289	}
19290	return nil
19291}
19292
19293// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19294func (s *GetRelationalDatabaseInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseInput {
19295	s.RelationalDatabaseName = &v
19296	return s
19297}
19298
19299type GetRelationalDatabaseLogEventsInput struct {
19300	_ struct{} `type:"structure"`
19301
19302	// The end of the time interval from which to get log events.
19303	//
19304	// Constraints:
19305	//
19306	//    * Specified in Coordinated Universal Time (UTC).
19307	//
19308	//    * Specified in the Unix time format. For example, if you wish to use an
19309	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
19310	//    the end time.
19311	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
19312
19313	// The name of the log stream.
19314	//
19315	// Use the get relational database log streams operation to get a list of available
19316	// log streams.
19317	//
19318	// LogStreamName is a required field
19319	LogStreamName *string `locationName:"logStreamName" type:"string" required:"true"`
19320
19321	// A token used for advancing to a specific page of results for your get relational
19322	// database log events request.
19323	PageToken *string `locationName:"pageToken" type:"string"`
19324
19325	// The name of your database for which to get log events.
19326	//
19327	// RelationalDatabaseName is a required field
19328	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19329
19330	// Parameter to specify if the log should start from head or tail. If true is
19331	// specified, the log event starts from the head of the log. If false is specified,
19332	// the log event starts from the tail of the log.
19333	//
19334	// For PostgreSQL, the default value of false is the only option available.
19335	StartFromHead *bool `locationName:"startFromHead" type:"boolean"`
19336
19337	// The start of the time interval from which to get log events.
19338	//
19339	// Constraints:
19340	//
19341	//    * Specified in Coordinated Universal Time (UTC).
19342	//
19343	//    * Specified in the Unix time format. For example, if you wish to use a
19344	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
19345	//    as the start time.
19346	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
19347}
19348
19349// String returns the string representation
19350func (s GetRelationalDatabaseLogEventsInput) String() string {
19351	return awsutil.Prettify(s)
19352}
19353
19354// GoString returns the string representation
19355func (s GetRelationalDatabaseLogEventsInput) GoString() string {
19356	return s.String()
19357}
19358
19359// Validate inspects the fields of the type to determine if they are valid.
19360func (s *GetRelationalDatabaseLogEventsInput) Validate() error {
19361	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogEventsInput"}
19362	if s.LogStreamName == nil {
19363		invalidParams.Add(request.NewErrParamRequired("LogStreamName"))
19364	}
19365	if s.RelationalDatabaseName == nil {
19366		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19367	}
19368
19369	if invalidParams.Len() > 0 {
19370		return invalidParams
19371	}
19372	return nil
19373}
19374
19375// SetEndTime sets the EndTime field's value.
19376func (s *GetRelationalDatabaseLogEventsInput) SetEndTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
19377	s.EndTime = &v
19378	return s
19379}
19380
19381// SetLogStreamName sets the LogStreamName field's value.
19382func (s *GetRelationalDatabaseLogEventsInput) SetLogStreamName(v string) *GetRelationalDatabaseLogEventsInput {
19383	s.LogStreamName = &v
19384	return s
19385}
19386
19387// SetPageToken sets the PageToken field's value.
19388func (s *GetRelationalDatabaseLogEventsInput) SetPageToken(v string) *GetRelationalDatabaseLogEventsInput {
19389	s.PageToken = &v
19390	return s
19391}
19392
19393// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19394func (s *GetRelationalDatabaseLogEventsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogEventsInput {
19395	s.RelationalDatabaseName = &v
19396	return s
19397}
19398
19399// SetStartFromHead sets the StartFromHead field's value.
19400func (s *GetRelationalDatabaseLogEventsInput) SetStartFromHead(v bool) *GetRelationalDatabaseLogEventsInput {
19401	s.StartFromHead = &v
19402	return s
19403}
19404
19405// SetStartTime sets the StartTime field's value.
19406func (s *GetRelationalDatabaseLogEventsInput) SetStartTime(v time.Time) *GetRelationalDatabaseLogEventsInput {
19407	s.StartTime = &v
19408	return s
19409}
19410
19411type GetRelationalDatabaseLogEventsOutput struct {
19412	_ struct{} `type:"structure"`
19413
19414	// A token used for advancing to the previous page of results from your get
19415	// relational database log events request.
19416	NextBackwardToken *string `locationName:"nextBackwardToken" type:"string"`
19417
19418	// A token used for advancing to the next page of results from your get relational
19419	// database log events request.
19420	NextForwardToken *string `locationName:"nextForwardToken" type:"string"`
19421
19422	// An object describing the result of your get relational database log events
19423	// request.
19424	ResourceLogEvents []*LogEvent `locationName:"resourceLogEvents" type:"list"`
19425}
19426
19427// String returns the string representation
19428func (s GetRelationalDatabaseLogEventsOutput) String() string {
19429	return awsutil.Prettify(s)
19430}
19431
19432// GoString returns the string representation
19433func (s GetRelationalDatabaseLogEventsOutput) GoString() string {
19434	return s.String()
19435}
19436
19437// SetNextBackwardToken sets the NextBackwardToken field's value.
19438func (s *GetRelationalDatabaseLogEventsOutput) SetNextBackwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
19439	s.NextBackwardToken = &v
19440	return s
19441}
19442
19443// SetNextForwardToken sets the NextForwardToken field's value.
19444func (s *GetRelationalDatabaseLogEventsOutput) SetNextForwardToken(v string) *GetRelationalDatabaseLogEventsOutput {
19445	s.NextForwardToken = &v
19446	return s
19447}
19448
19449// SetResourceLogEvents sets the ResourceLogEvents field's value.
19450func (s *GetRelationalDatabaseLogEventsOutput) SetResourceLogEvents(v []*LogEvent) *GetRelationalDatabaseLogEventsOutput {
19451	s.ResourceLogEvents = v
19452	return s
19453}
19454
19455type GetRelationalDatabaseLogStreamsInput struct {
19456	_ struct{} `type:"structure"`
19457
19458	// The name of your database for which to get log streams.
19459	//
19460	// RelationalDatabaseName is a required field
19461	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19462}
19463
19464// String returns the string representation
19465func (s GetRelationalDatabaseLogStreamsInput) String() string {
19466	return awsutil.Prettify(s)
19467}
19468
19469// GoString returns the string representation
19470func (s GetRelationalDatabaseLogStreamsInput) GoString() string {
19471	return s.String()
19472}
19473
19474// Validate inspects the fields of the type to determine if they are valid.
19475func (s *GetRelationalDatabaseLogStreamsInput) Validate() error {
19476	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseLogStreamsInput"}
19477	if s.RelationalDatabaseName == nil {
19478		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19479	}
19480
19481	if invalidParams.Len() > 0 {
19482		return invalidParams
19483	}
19484	return nil
19485}
19486
19487// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19488func (s *GetRelationalDatabaseLogStreamsInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseLogStreamsInput {
19489	s.RelationalDatabaseName = &v
19490	return s
19491}
19492
19493type GetRelationalDatabaseLogStreamsOutput struct {
19494	_ struct{} `type:"structure"`
19495
19496	// An object describing the result of your get relational database log streams
19497	// request.
19498	LogStreams []*string `locationName:"logStreams" type:"list"`
19499}
19500
19501// String returns the string representation
19502func (s GetRelationalDatabaseLogStreamsOutput) String() string {
19503	return awsutil.Prettify(s)
19504}
19505
19506// GoString returns the string representation
19507func (s GetRelationalDatabaseLogStreamsOutput) GoString() string {
19508	return s.String()
19509}
19510
19511// SetLogStreams sets the LogStreams field's value.
19512func (s *GetRelationalDatabaseLogStreamsOutput) SetLogStreams(v []*string) *GetRelationalDatabaseLogStreamsOutput {
19513	s.LogStreams = v
19514	return s
19515}
19516
19517type GetRelationalDatabaseMasterUserPasswordInput struct {
19518	_ struct{} `type:"structure"`
19519
19520	// The password version to return.
19521	//
19522	// Specifying CURRENT or PREVIOUS returns the current or previous passwords
19523	// respectively. Specifying PENDING returns the newest version of the password
19524	// that will rotate to CURRENT. After the PENDING password rotates to CURRENT,
19525	// the PENDING password is no longer available.
19526	//
19527	// Default: CURRENT
19528	PasswordVersion *string `locationName:"passwordVersion" type:"string" enum:"RelationalDatabasePasswordVersion"`
19529
19530	// The name of your database for which to get the master user password.
19531	//
19532	// RelationalDatabaseName is a required field
19533	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19534}
19535
19536// String returns the string representation
19537func (s GetRelationalDatabaseMasterUserPasswordInput) String() string {
19538	return awsutil.Prettify(s)
19539}
19540
19541// GoString returns the string representation
19542func (s GetRelationalDatabaseMasterUserPasswordInput) GoString() string {
19543	return s.String()
19544}
19545
19546// Validate inspects the fields of the type to determine if they are valid.
19547func (s *GetRelationalDatabaseMasterUserPasswordInput) Validate() error {
19548	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMasterUserPasswordInput"}
19549	if s.RelationalDatabaseName == nil {
19550		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19551	}
19552
19553	if invalidParams.Len() > 0 {
19554		return invalidParams
19555	}
19556	return nil
19557}
19558
19559// SetPasswordVersion sets the PasswordVersion field's value.
19560func (s *GetRelationalDatabaseMasterUserPasswordInput) SetPasswordVersion(v string) *GetRelationalDatabaseMasterUserPasswordInput {
19561	s.PasswordVersion = &v
19562	return s
19563}
19564
19565// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19566func (s *GetRelationalDatabaseMasterUserPasswordInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMasterUserPasswordInput {
19567	s.RelationalDatabaseName = &v
19568	return s
19569}
19570
19571type GetRelationalDatabaseMasterUserPasswordOutput struct {
19572	_ struct{} `type:"structure"`
19573
19574	// The timestamp when the specified version of the master user password was
19575	// created.
19576	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
19577
19578	// The master user password for the password version specified.
19579	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
19580}
19581
19582// String returns the string representation
19583func (s GetRelationalDatabaseMasterUserPasswordOutput) String() string {
19584	return awsutil.Prettify(s)
19585}
19586
19587// GoString returns the string representation
19588func (s GetRelationalDatabaseMasterUserPasswordOutput) GoString() string {
19589	return s.String()
19590}
19591
19592// SetCreatedAt sets the CreatedAt field's value.
19593func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetCreatedAt(v time.Time) *GetRelationalDatabaseMasterUserPasswordOutput {
19594	s.CreatedAt = &v
19595	return s
19596}
19597
19598// SetMasterUserPassword sets the MasterUserPassword field's value.
19599func (s *GetRelationalDatabaseMasterUserPasswordOutput) SetMasterUserPassword(v string) *GetRelationalDatabaseMasterUserPasswordOutput {
19600	s.MasterUserPassword = &v
19601	return s
19602}
19603
19604type GetRelationalDatabaseMetricDataInput struct {
19605	_ struct{} `type:"structure"`
19606
19607	// The end of the time interval from which to get metric data.
19608	//
19609	// Constraints:
19610	//
19611	//    * Specified in Coordinated Universal Time (UTC).
19612	//
19613	//    * Specified in the Unix time format. For example, if you wish to use an
19614	//    end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as
19615	//    the end time.
19616	//
19617	// EndTime is a required field
19618	EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
19619
19620	// The name of the metric data to return.
19621	//
19622	// MetricName is a required field
19623	MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"RelationalDatabaseMetricName"`
19624
19625	// The granularity, in seconds, of the returned data points.
19626	//
19627	// Period is a required field
19628	Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"`
19629
19630	// The name of your database from which to get metric data.
19631	//
19632	// RelationalDatabaseName is a required field
19633	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19634
19635	// The start of the time interval from which to get metric data.
19636	//
19637	// Constraints:
19638	//
19639	//    * Specified in Coordinated Universal Time (UTC).
19640	//
19641	//    * Specified in the Unix time format. For example, if you wish to use a
19642	//    start time of October 1, 2018, at 8 PM UTC, then you input 1538424000
19643	//    as the start time.
19644	//
19645	// StartTime is a required field
19646	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
19647
19648	// The array of statistics for your metric data request.
19649	//
19650	// Statistics is a required field
19651	Statistics []*string `locationName:"statistics" type:"list" required:"true"`
19652
19653	// The unit for the metric data request.
19654	//
19655	// Unit is a required field
19656	Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"`
19657}
19658
19659// String returns the string representation
19660func (s GetRelationalDatabaseMetricDataInput) String() string {
19661	return awsutil.Prettify(s)
19662}
19663
19664// GoString returns the string representation
19665func (s GetRelationalDatabaseMetricDataInput) GoString() string {
19666	return s.String()
19667}
19668
19669// Validate inspects the fields of the type to determine if they are valid.
19670func (s *GetRelationalDatabaseMetricDataInput) Validate() error {
19671	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseMetricDataInput"}
19672	if s.EndTime == nil {
19673		invalidParams.Add(request.NewErrParamRequired("EndTime"))
19674	}
19675	if s.MetricName == nil {
19676		invalidParams.Add(request.NewErrParamRequired("MetricName"))
19677	}
19678	if s.Period == nil {
19679		invalidParams.Add(request.NewErrParamRequired("Period"))
19680	}
19681	if s.Period != nil && *s.Period < 60 {
19682		invalidParams.Add(request.NewErrParamMinValue("Period", 60))
19683	}
19684	if s.RelationalDatabaseName == nil {
19685		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19686	}
19687	if s.StartTime == nil {
19688		invalidParams.Add(request.NewErrParamRequired("StartTime"))
19689	}
19690	if s.Statistics == nil {
19691		invalidParams.Add(request.NewErrParamRequired("Statistics"))
19692	}
19693	if s.Unit == nil {
19694		invalidParams.Add(request.NewErrParamRequired("Unit"))
19695	}
19696
19697	if invalidParams.Len() > 0 {
19698		return invalidParams
19699	}
19700	return nil
19701}
19702
19703// SetEndTime sets the EndTime field's value.
19704func (s *GetRelationalDatabaseMetricDataInput) SetEndTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
19705	s.EndTime = &v
19706	return s
19707}
19708
19709// SetMetricName sets the MetricName field's value.
19710func (s *GetRelationalDatabaseMetricDataInput) SetMetricName(v string) *GetRelationalDatabaseMetricDataInput {
19711	s.MetricName = &v
19712	return s
19713}
19714
19715// SetPeriod sets the Period field's value.
19716func (s *GetRelationalDatabaseMetricDataInput) SetPeriod(v int64) *GetRelationalDatabaseMetricDataInput {
19717	s.Period = &v
19718	return s
19719}
19720
19721// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19722func (s *GetRelationalDatabaseMetricDataInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseMetricDataInput {
19723	s.RelationalDatabaseName = &v
19724	return s
19725}
19726
19727// SetStartTime sets the StartTime field's value.
19728func (s *GetRelationalDatabaseMetricDataInput) SetStartTime(v time.Time) *GetRelationalDatabaseMetricDataInput {
19729	s.StartTime = &v
19730	return s
19731}
19732
19733// SetStatistics sets the Statistics field's value.
19734func (s *GetRelationalDatabaseMetricDataInput) SetStatistics(v []*string) *GetRelationalDatabaseMetricDataInput {
19735	s.Statistics = v
19736	return s
19737}
19738
19739// SetUnit sets the Unit field's value.
19740func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalDatabaseMetricDataInput {
19741	s.Unit = &v
19742	return s
19743}
19744
19745type GetRelationalDatabaseMetricDataOutput struct {
19746	_ struct{} `type:"structure"`
19747
19748	// An object describing the result of your get relational database metric data
19749	// request.
19750	MetricData []*MetricDatapoint `locationName:"metricData" type:"list"`
19751
19752	// The name of the metric.
19753	MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"`
19754}
19755
19756// String returns the string representation
19757func (s GetRelationalDatabaseMetricDataOutput) String() string {
19758	return awsutil.Prettify(s)
19759}
19760
19761// GoString returns the string representation
19762func (s GetRelationalDatabaseMetricDataOutput) GoString() string {
19763	return s.String()
19764}
19765
19766// SetMetricData sets the MetricData field's value.
19767func (s *GetRelationalDatabaseMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetRelationalDatabaseMetricDataOutput {
19768	s.MetricData = v
19769	return s
19770}
19771
19772// SetMetricName sets the MetricName field's value.
19773func (s *GetRelationalDatabaseMetricDataOutput) SetMetricName(v string) *GetRelationalDatabaseMetricDataOutput {
19774	s.MetricName = &v
19775	return s
19776}
19777
19778type GetRelationalDatabaseOutput struct {
19779	_ struct{} `type:"structure"`
19780
19781	// An object describing the specified database.
19782	RelationalDatabase *RelationalDatabase `locationName:"relationalDatabase" type:"structure"`
19783}
19784
19785// String returns the string representation
19786func (s GetRelationalDatabaseOutput) String() string {
19787	return awsutil.Prettify(s)
19788}
19789
19790// GoString returns the string representation
19791func (s GetRelationalDatabaseOutput) GoString() string {
19792	return s.String()
19793}
19794
19795// SetRelationalDatabase sets the RelationalDatabase field's value.
19796func (s *GetRelationalDatabaseOutput) SetRelationalDatabase(v *RelationalDatabase) *GetRelationalDatabaseOutput {
19797	s.RelationalDatabase = v
19798	return s
19799}
19800
19801type GetRelationalDatabaseParametersInput struct {
19802	_ struct{} `type:"structure"`
19803
19804	// A token used for advancing to a specific page of results for your get relational
19805	// database parameters request.
19806	PageToken *string `locationName:"pageToken" type:"string"`
19807
19808	// The name of your database for which to get parameters.
19809	//
19810	// RelationalDatabaseName is a required field
19811	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
19812}
19813
19814// String returns the string representation
19815func (s GetRelationalDatabaseParametersInput) String() string {
19816	return awsutil.Prettify(s)
19817}
19818
19819// GoString returns the string representation
19820func (s GetRelationalDatabaseParametersInput) GoString() string {
19821	return s.String()
19822}
19823
19824// Validate inspects the fields of the type to determine if they are valid.
19825func (s *GetRelationalDatabaseParametersInput) Validate() error {
19826	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseParametersInput"}
19827	if s.RelationalDatabaseName == nil {
19828		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
19829	}
19830
19831	if invalidParams.Len() > 0 {
19832		return invalidParams
19833	}
19834	return nil
19835}
19836
19837// SetPageToken sets the PageToken field's value.
19838func (s *GetRelationalDatabaseParametersInput) SetPageToken(v string) *GetRelationalDatabaseParametersInput {
19839	s.PageToken = &v
19840	return s
19841}
19842
19843// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
19844func (s *GetRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *GetRelationalDatabaseParametersInput {
19845	s.RelationalDatabaseName = &v
19846	return s
19847}
19848
19849type GetRelationalDatabaseParametersOutput struct {
19850	_ struct{} `type:"structure"`
19851
19852	// A token used for advancing to the next page of results from your get static
19853	// IPs request.
19854	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19855
19856	// An object describing the result of your get relational database parameters
19857	// request.
19858	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list"`
19859}
19860
19861// String returns the string representation
19862func (s GetRelationalDatabaseParametersOutput) String() string {
19863	return awsutil.Prettify(s)
19864}
19865
19866// GoString returns the string representation
19867func (s GetRelationalDatabaseParametersOutput) GoString() string {
19868	return s.String()
19869}
19870
19871// SetNextPageToken sets the NextPageToken field's value.
19872func (s *GetRelationalDatabaseParametersOutput) SetNextPageToken(v string) *GetRelationalDatabaseParametersOutput {
19873	s.NextPageToken = &v
19874	return s
19875}
19876
19877// SetParameters sets the Parameters field's value.
19878func (s *GetRelationalDatabaseParametersOutput) SetParameters(v []*RelationalDatabaseParameter) *GetRelationalDatabaseParametersOutput {
19879	s.Parameters = v
19880	return s
19881}
19882
19883type GetRelationalDatabaseSnapshotInput struct {
19884	_ struct{} `type:"structure"`
19885
19886	// The name of the database snapshot for which to get information.
19887	//
19888	// RelationalDatabaseSnapshotName is a required field
19889	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"`
19890}
19891
19892// String returns the string representation
19893func (s GetRelationalDatabaseSnapshotInput) String() string {
19894	return awsutil.Prettify(s)
19895}
19896
19897// GoString returns the string representation
19898func (s GetRelationalDatabaseSnapshotInput) GoString() string {
19899	return s.String()
19900}
19901
19902// Validate inspects the fields of the type to determine if they are valid.
19903func (s *GetRelationalDatabaseSnapshotInput) Validate() error {
19904	invalidParams := request.ErrInvalidParams{Context: "GetRelationalDatabaseSnapshotInput"}
19905	if s.RelationalDatabaseSnapshotName == nil {
19906		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName"))
19907	}
19908
19909	if invalidParams.Len() > 0 {
19910		return invalidParams
19911	}
19912	return nil
19913}
19914
19915// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
19916func (s *GetRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *GetRelationalDatabaseSnapshotInput {
19917	s.RelationalDatabaseSnapshotName = &v
19918	return s
19919}
19920
19921type GetRelationalDatabaseSnapshotOutput struct {
19922	_ struct{} `type:"structure"`
19923
19924	// An object describing the specified database snapshot.
19925	RelationalDatabaseSnapshot *RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshot" type:"structure"`
19926}
19927
19928// String returns the string representation
19929func (s GetRelationalDatabaseSnapshotOutput) String() string {
19930	return awsutil.Prettify(s)
19931}
19932
19933// GoString returns the string representation
19934func (s GetRelationalDatabaseSnapshotOutput) GoString() string {
19935	return s.String()
19936}
19937
19938// SetRelationalDatabaseSnapshot sets the RelationalDatabaseSnapshot field's value.
19939func (s *GetRelationalDatabaseSnapshotOutput) SetRelationalDatabaseSnapshot(v *RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotOutput {
19940	s.RelationalDatabaseSnapshot = v
19941	return s
19942}
19943
19944type GetRelationalDatabaseSnapshotsInput struct {
19945	_ struct{} `type:"structure"`
19946
19947	// A token used for advancing to a specific page of results for your get relational
19948	// database snapshots request.
19949	PageToken *string `locationName:"pageToken" type:"string"`
19950}
19951
19952// String returns the string representation
19953func (s GetRelationalDatabaseSnapshotsInput) String() string {
19954	return awsutil.Prettify(s)
19955}
19956
19957// GoString returns the string representation
19958func (s GetRelationalDatabaseSnapshotsInput) GoString() string {
19959	return s.String()
19960}
19961
19962// SetPageToken sets the PageToken field's value.
19963func (s *GetRelationalDatabaseSnapshotsInput) SetPageToken(v string) *GetRelationalDatabaseSnapshotsInput {
19964	s.PageToken = &v
19965	return s
19966}
19967
19968type GetRelationalDatabaseSnapshotsOutput struct {
19969	_ struct{} `type:"structure"`
19970
19971	// A token used for advancing to the next page of results from your get relational
19972	// database snapshots request.
19973	NextPageToken *string `locationName:"nextPageToken" type:"string"`
19974
19975	// An object describing the result of your get relational database snapshots
19976	// request.
19977	RelationalDatabaseSnapshots []*RelationalDatabaseSnapshot `locationName:"relationalDatabaseSnapshots" type:"list"`
19978}
19979
19980// String returns the string representation
19981func (s GetRelationalDatabaseSnapshotsOutput) String() string {
19982	return awsutil.Prettify(s)
19983}
19984
19985// GoString returns the string representation
19986func (s GetRelationalDatabaseSnapshotsOutput) GoString() string {
19987	return s.String()
19988}
19989
19990// SetNextPageToken sets the NextPageToken field's value.
19991func (s *GetRelationalDatabaseSnapshotsOutput) SetNextPageToken(v string) *GetRelationalDatabaseSnapshotsOutput {
19992	s.NextPageToken = &v
19993	return s
19994}
19995
19996// SetRelationalDatabaseSnapshots sets the RelationalDatabaseSnapshots field's value.
19997func (s *GetRelationalDatabaseSnapshotsOutput) SetRelationalDatabaseSnapshots(v []*RelationalDatabaseSnapshot) *GetRelationalDatabaseSnapshotsOutput {
19998	s.RelationalDatabaseSnapshots = v
19999	return s
20000}
20001
20002type GetRelationalDatabasesInput struct {
20003	_ struct{} `type:"structure"`
20004
20005	// A token used for advancing to a specific page of results for your get relational
20006	// database request.
20007	PageToken *string `locationName:"pageToken" type:"string"`
20008}
20009
20010// String returns the string representation
20011func (s GetRelationalDatabasesInput) String() string {
20012	return awsutil.Prettify(s)
20013}
20014
20015// GoString returns the string representation
20016func (s GetRelationalDatabasesInput) GoString() string {
20017	return s.String()
20018}
20019
20020// SetPageToken sets the PageToken field's value.
20021func (s *GetRelationalDatabasesInput) SetPageToken(v string) *GetRelationalDatabasesInput {
20022	s.PageToken = &v
20023	return s
20024}
20025
20026type GetRelationalDatabasesOutput struct {
20027	_ struct{} `type:"structure"`
20028
20029	// A token used for advancing to the next page of results from your get relational
20030	// databases request.
20031	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20032
20033	// An object describing the result of your get relational databases request.
20034	RelationalDatabases []*RelationalDatabase `locationName:"relationalDatabases" type:"list"`
20035}
20036
20037// String returns the string representation
20038func (s GetRelationalDatabasesOutput) String() string {
20039	return awsutil.Prettify(s)
20040}
20041
20042// GoString returns the string representation
20043func (s GetRelationalDatabasesOutput) GoString() string {
20044	return s.String()
20045}
20046
20047// SetNextPageToken sets the NextPageToken field's value.
20048func (s *GetRelationalDatabasesOutput) SetNextPageToken(v string) *GetRelationalDatabasesOutput {
20049	s.NextPageToken = &v
20050	return s
20051}
20052
20053// SetRelationalDatabases sets the RelationalDatabases field's value.
20054func (s *GetRelationalDatabasesOutput) SetRelationalDatabases(v []*RelationalDatabase) *GetRelationalDatabasesOutput {
20055	s.RelationalDatabases = v
20056	return s
20057}
20058
20059type GetStaticIpInput struct {
20060	_ struct{} `type:"structure"`
20061
20062	// The name of the static IP in Lightsail.
20063	//
20064	// StaticIpName is a required field
20065	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
20066}
20067
20068// String returns the string representation
20069func (s GetStaticIpInput) String() string {
20070	return awsutil.Prettify(s)
20071}
20072
20073// GoString returns the string representation
20074func (s GetStaticIpInput) GoString() string {
20075	return s.String()
20076}
20077
20078// Validate inspects the fields of the type to determine if they are valid.
20079func (s *GetStaticIpInput) Validate() error {
20080	invalidParams := request.ErrInvalidParams{Context: "GetStaticIpInput"}
20081	if s.StaticIpName == nil {
20082		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
20083	}
20084
20085	if invalidParams.Len() > 0 {
20086		return invalidParams
20087	}
20088	return nil
20089}
20090
20091// SetStaticIpName sets the StaticIpName field's value.
20092func (s *GetStaticIpInput) SetStaticIpName(v string) *GetStaticIpInput {
20093	s.StaticIpName = &v
20094	return s
20095}
20096
20097type GetStaticIpOutput struct {
20098	_ struct{} `type:"structure"`
20099
20100	// An array of key-value pairs containing information about the requested static
20101	// IP.
20102	StaticIp *StaticIp `locationName:"staticIp" type:"structure"`
20103}
20104
20105// String returns the string representation
20106func (s GetStaticIpOutput) String() string {
20107	return awsutil.Prettify(s)
20108}
20109
20110// GoString returns the string representation
20111func (s GetStaticIpOutput) GoString() string {
20112	return s.String()
20113}
20114
20115// SetStaticIp sets the StaticIp field's value.
20116func (s *GetStaticIpOutput) SetStaticIp(v *StaticIp) *GetStaticIpOutput {
20117	s.StaticIp = v
20118	return s
20119}
20120
20121type GetStaticIpsInput struct {
20122	_ struct{} `type:"structure"`
20123
20124	// A token used for advancing to the next page of results from your get static
20125	// IPs request.
20126	PageToken *string `locationName:"pageToken" type:"string"`
20127}
20128
20129// String returns the string representation
20130func (s GetStaticIpsInput) String() string {
20131	return awsutil.Prettify(s)
20132}
20133
20134// GoString returns the string representation
20135func (s GetStaticIpsInput) GoString() string {
20136	return s.String()
20137}
20138
20139// SetPageToken sets the PageToken field's value.
20140func (s *GetStaticIpsInput) SetPageToken(v string) *GetStaticIpsInput {
20141	s.PageToken = &v
20142	return s
20143}
20144
20145type GetStaticIpsOutput struct {
20146	_ struct{} `type:"structure"`
20147
20148	// A token used for advancing to the next page of results from your get static
20149	// IPs request.
20150	NextPageToken *string `locationName:"nextPageToken" type:"string"`
20151
20152	// An array of key-value pairs containing information about your get static
20153	// IPs request.
20154	StaticIps []*StaticIp `locationName:"staticIps" type:"list"`
20155}
20156
20157// String returns the string representation
20158func (s GetStaticIpsOutput) String() string {
20159	return awsutil.Prettify(s)
20160}
20161
20162// GoString returns the string representation
20163func (s GetStaticIpsOutput) GoString() string {
20164	return s.String()
20165}
20166
20167// SetNextPageToken sets the NextPageToken field's value.
20168func (s *GetStaticIpsOutput) SetNextPageToken(v string) *GetStaticIpsOutput {
20169	s.NextPageToken = &v
20170	return s
20171}
20172
20173// SetStaticIps sets the StaticIps field's value.
20174func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput {
20175	s.StaticIps = v
20176	return s
20177}
20178
20179// Describes the public SSH host keys or the RDP certificate.
20180type HostKeyAttributes struct {
20181	_ struct{} `type:"structure"`
20182
20183	// The SSH host key algorithm or the RDP certificate format.
20184	//
20185	// For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519,
20186	// etc. For RDP certificates, the algorithm is always x509-cert.
20187	Algorithm *string `locationName:"algorithm" type:"string"`
20188
20189	// The SHA-1 fingerprint of the returned SSH host key or RDP certificate.
20190	//
20191	//    * Example of an SHA-1 SSH fingerprint: SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0
20192	//
20193	//    * 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
20194	FingerprintSHA1 *string `locationName:"fingerprintSHA1" type:"string"`
20195
20196	// The SHA-256 fingerprint of the returned SSH host key or RDP certificate.
20197	//
20198	//    * Example of an SHA-256 SSH fingerprint: SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o
20199	//
20200	//    * 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
20201	FingerprintSHA256 *string `locationName:"fingerprintSHA256" type:"string"`
20202
20203	// The returned RDP certificate is not valid after this point in time.
20204	//
20205	// This value is listed only for RDP certificates.
20206	NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"`
20207
20208	// The returned RDP certificate is valid after this point in time.
20209	//
20210	// This value is listed only for RDP certificates.
20211	NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"`
20212
20213	// The public SSH host key or the RDP certificate.
20214	PublicKey *string `locationName:"publicKey" type:"string"`
20215
20216	// The time that the SSH host key or RDP certificate was recorded by Lightsail.
20217	WitnessedAt *time.Time `locationName:"witnessedAt" type:"timestamp"`
20218}
20219
20220// String returns the string representation
20221func (s HostKeyAttributes) String() string {
20222	return awsutil.Prettify(s)
20223}
20224
20225// GoString returns the string representation
20226func (s HostKeyAttributes) GoString() string {
20227	return s.String()
20228}
20229
20230// SetAlgorithm sets the Algorithm field's value.
20231func (s *HostKeyAttributes) SetAlgorithm(v string) *HostKeyAttributes {
20232	s.Algorithm = &v
20233	return s
20234}
20235
20236// SetFingerprintSHA1 sets the FingerprintSHA1 field's value.
20237func (s *HostKeyAttributes) SetFingerprintSHA1(v string) *HostKeyAttributes {
20238	s.FingerprintSHA1 = &v
20239	return s
20240}
20241
20242// SetFingerprintSHA256 sets the FingerprintSHA256 field's value.
20243func (s *HostKeyAttributes) SetFingerprintSHA256(v string) *HostKeyAttributes {
20244	s.FingerprintSHA256 = &v
20245	return s
20246}
20247
20248// SetNotValidAfter sets the NotValidAfter field's value.
20249func (s *HostKeyAttributes) SetNotValidAfter(v time.Time) *HostKeyAttributes {
20250	s.NotValidAfter = &v
20251	return s
20252}
20253
20254// SetNotValidBefore sets the NotValidBefore field's value.
20255func (s *HostKeyAttributes) SetNotValidBefore(v time.Time) *HostKeyAttributes {
20256	s.NotValidBefore = &v
20257	return s
20258}
20259
20260// SetPublicKey sets the PublicKey field's value.
20261func (s *HostKeyAttributes) SetPublicKey(v string) *HostKeyAttributes {
20262	s.PublicKey = &v
20263	return s
20264}
20265
20266// SetWitnessedAt sets the WitnessedAt field's value.
20267func (s *HostKeyAttributes) SetWitnessedAt(v time.Time) *HostKeyAttributes {
20268	s.WitnessedAt = &v
20269	return s
20270}
20271
20272type ImportKeyPairInput struct {
20273	_ struct{} `type:"structure"`
20274
20275	// The name of the key pair for which you want to import the public key.
20276	//
20277	// KeyPairName is a required field
20278	KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"`
20279
20280	// A base64-encoded public key of the ssh-rsa type.
20281	//
20282	// PublicKeyBase64 is a required field
20283	PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string" required:"true"`
20284}
20285
20286// String returns the string representation
20287func (s ImportKeyPairInput) String() string {
20288	return awsutil.Prettify(s)
20289}
20290
20291// GoString returns the string representation
20292func (s ImportKeyPairInput) GoString() string {
20293	return s.String()
20294}
20295
20296// Validate inspects the fields of the type to determine if they are valid.
20297func (s *ImportKeyPairInput) Validate() error {
20298	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
20299	if s.KeyPairName == nil {
20300		invalidParams.Add(request.NewErrParamRequired("KeyPairName"))
20301	}
20302	if s.PublicKeyBase64 == nil {
20303		invalidParams.Add(request.NewErrParamRequired("PublicKeyBase64"))
20304	}
20305
20306	if invalidParams.Len() > 0 {
20307		return invalidParams
20308	}
20309	return nil
20310}
20311
20312// SetKeyPairName sets the KeyPairName field's value.
20313func (s *ImportKeyPairInput) SetKeyPairName(v string) *ImportKeyPairInput {
20314	s.KeyPairName = &v
20315	return s
20316}
20317
20318// SetPublicKeyBase64 sets the PublicKeyBase64 field's value.
20319func (s *ImportKeyPairInput) SetPublicKeyBase64(v string) *ImportKeyPairInput {
20320	s.PublicKeyBase64 = &v
20321	return s
20322}
20323
20324type ImportKeyPairOutput struct {
20325	_ struct{} `type:"structure"`
20326
20327	// An array of key-value pairs containing information about the request operation.
20328	Operation *Operation `locationName:"operation" type:"structure"`
20329}
20330
20331// String returns the string representation
20332func (s ImportKeyPairOutput) String() string {
20333	return awsutil.Prettify(s)
20334}
20335
20336// GoString returns the string representation
20337func (s ImportKeyPairOutput) GoString() string {
20338	return s.String()
20339}
20340
20341// SetOperation sets the Operation field's value.
20342func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput {
20343	s.Operation = v
20344	return s
20345}
20346
20347// Describes an instance (a virtual private server).
20348type Instance struct {
20349	_ struct{} `type:"structure"`
20350
20351	// An array of objects representing the add-ons enabled on the instance.
20352	AddOns []*AddOn `locationName:"addOns" type:"list"`
20353
20354	// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).
20355	Arn *string `locationName:"arn" type:"string"`
20356
20357	// The blueprint ID (e.g., os_amlinux_2016_03).
20358	BlueprintId *string `locationName:"blueprintId" type:"string"`
20359
20360	// The friendly name of the blueprint (e.g., Amazon Linux).
20361	BlueprintName *string `locationName:"blueprintName" type:"string"`
20362
20363	// The bundle for the instance (e.g., micro_1_0).
20364	BundleId *string `locationName:"bundleId" type:"string"`
20365
20366	// The timestamp when the instance was created (e.g., 1479734909.17).
20367	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
20368
20369	// The size of the vCPU and the amount of RAM for the instance.
20370	Hardware *InstanceHardware `locationName:"hardware" type:"structure"`
20371
20372	// The IPv6 address of the instance.
20373	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
20374
20375	// A Boolean value indicating whether this instance has a static IP assigned
20376	// to it.
20377	IsStaticIp *bool `locationName:"isStaticIp" type:"boolean"`
20378
20379	// The region name and Availability Zone where the instance is located.
20380	Location *ResourceLocation `locationName:"location" type:"structure"`
20381
20382	// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).
20383	Name *string `locationName:"name" type:"string"`
20384
20385	// Information about the public ports and monthly data transfer rates for the
20386	// instance.
20387	Networking *InstanceNetworking `locationName:"networking" type:"structure"`
20388
20389	// The private IP address of the instance.
20390	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
20391
20392	// The public IP address of the instance.
20393	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
20394
20395	// The type of resource (usually Instance).
20396	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
20397
20398	// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).
20399	SshKeyName *string `locationName:"sshKeyName" type:"string"`
20400
20401	// The status code and the state (e.g., running) for the instance.
20402	State *InstanceState `locationName:"state" type:"structure"`
20403
20404	// The support code. Include this code in your email to support when you have
20405	// questions about an instance or another resource in Lightsail. This code enables
20406	// our support team to look up your Lightsail information more easily.
20407	SupportCode *string `locationName:"supportCode" type:"string"`
20408
20409	// The tag keys and optional values for the resource. For more information about
20410	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
20411	Tags []*Tag `locationName:"tags" type:"list"`
20412
20413	// The user name for connecting to the instance (e.g., ec2-user).
20414	Username *string `locationName:"username" type:"string"`
20415}
20416
20417// String returns the string representation
20418func (s Instance) String() string {
20419	return awsutil.Prettify(s)
20420}
20421
20422// GoString returns the string representation
20423func (s Instance) GoString() string {
20424	return s.String()
20425}
20426
20427// SetAddOns sets the AddOns field's value.
20428func (s *Instance) SetAddOns(v []*AddOn) *Instance {
20429	s.AddOns = v
20430	return s
20431}
20432
20433// SetArn sets the Arn field's value.
20434func (s *Instance) SetArn(v string) *Instance {
20435	s.Arn = &v
20436	return s
20437}
20438
20439// SetBlueprintId sets the BlueprintId field's value.
20440func (s *Instance) SetBlueprintId(v string) *Instance {
20441	s.BlueprintId = &v
20442	return s
20443}
20444
20445// SetBlueprintName sets the BlueprintName field's value.
20446func (s *Instance) SetBlueprintName(v string) *Instance {
20447	s.BlueprintName = &v
20448	return s
20449}
20450
20451// SetBundleId sets the BundleId field's value.
20452func (s *Instance) SetBundleId(v string) *Instance {
20453	s.BundleId = &v
20454	return s
20455}
20456
20457// SetCreatedAt sets the CreatedAt field's value.
20458func (s *Instance) SetCreatedAt(v time.Time) *Instance {
20459	s.CreatedAt = &v
20460	return s
20461}
20462
20463// SetHardware sets the Hardware field's value.
20464func (s *Instance) SetHardware(v *InstanceHardware) *Instance {
20465	s.Hardware = v
20466	return s
20467}
20468
20469// SetIpv6Address sets the Ipv6Address field's value.
20470func (s *Instance) SetIpv6Address(v string) *Instance {
20471	s.Ipv6Address = &v
20472	return s
20473}
20474
20475// SetIsStaticIp sets the IsStaticIp field's value.
20476func (s *Instance) SetIsStaticIp(v bool) *Instance {
20477	s.IsStaticIp = &v
20478	return s
20479}
20480
20481// SetLocation sets the Location field's value.
20482func (s *Instance) SetLocation(v *ResourceLocation) *Instance {
20483	s.Location = v
20484	return s
20485}
20486
20487// SetName sets the Name field's value.
20488func (s *Instance) SetName(v string) *Instance {
20489	s.Name = &v
20490	return s
20491}
20492
20493// SetNetworking sets the Networking field's value.
20494func (s *Instance) SetNetworking(v *InstanceNetworking) *Instance {
20495	s.Networking = v
20496	return s
20497}
20498
20499// SetPrivateIpAddress sets the PrivateIpAddress field's value.
20500func (s *Instance) SetPrivateIpAddress(v string) *Instance {
20501	s.PrivateIpAddress = &v
20502	return s
20503}
20504
20505// SetPublicIpAddress sets the PublicIpAddress field's value.
20506func (s *Instance) SetPublicIpAddress(v string) *Instance {
20507	s.PublicIpAddress = &v
20508	return s
20509}
20510
20511// SetResourceType sets the ResourceType field's value.
20512func (s *Instance) SetResourceType(v string) *Instance {
20513	s.ResourceType = &v
20514	return s
20515}
20516
20517// SetSshKeyName sets the SshKeyName field's value.
20518func (s *Instance) SetSshKeyName(v string) *Instance {
20519	s.SshKeyName = &v
20520	return s
20521}
20522
20523// SetState sets the State field's value.
20524func (s *Instance) SetState(v *InstanceState) *Instance {
20525	s.State = v
20526	return s
20527}
20528
20529// SetSupportCode sets the SupportCode field's value.
20530func (s *Instance) SetSupportCode(v string) *Instance {
20531	s.SupportCode = &v
20532	return s
20533}
20534
20535// SetTags sets the Tags field's value.
20536func (s *Instance) SetTags(v []*Tag) *Instance {
20537	s.Tags = v
20538	return s
20539}
20540
20541// SetUsername sets the Username field's value.
20542func (s *Instance) SetUsername(v string) *Instance {
20543	s.Username = &v
20544	return s
20545}
20546
20547// The parameters for gaining temporary access to one of your Amazon Lightsail
20548// instances.
20549type InstanceAccessDetails struct {
20550	_ struct{} `type:"structure"`
20551
20552	// For SSH access, the public key to use when accessing your instance For OpenSSH
20553	// clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.
20554	CertKey *string `locationName:"certKey" type:"string"`
20555
20556	// For SSH access, the date on which the temporary keys expire.
20557	ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp"`
20558
20559	// Describes the public SSH host keys or the RDP certificate.
20560	HostKeys []*HostKeyAttributes `locationName:"hostKeys" type:"list"`
20561
20562	// The name of this Amazon Lightsail instance.
20563	InstanceName *string `locationName:"instanceName" type:"string"`
20564
20565	// The public IP address of the Amazon Lightsail instance.
20566	IpAddress *string `locationName:"ipAddress" type:"string"`
20567
20568	// For RDP access, the password for your Amazon Lightsail instance. Password
20569	// will be an empty string if the password for your new instance is not ready
20570	// yet. When you create an instance, it can take up to 15 minutes for the instance
20571	// to be ready.
20572	//
20573	// If you create an instance using any key pair other than the default (LightsailDefaultKeyPair),
20574	// password will always be an empty string.
20575	//
20576	// If you change the Administrator password on the instance, Lightsail will
20577	// continue to return the original password value. When accessing the instance
20578	// using RDP, you need to manually enter the Administrator password after changing
20579	// it from the default.
20580	Password *string `locationName:"password" type:"string"`
20581
20582	// For a Windows Server-based instance, an object with the data you can use
20583	// to retrieve your password. This is only needed if password is empty and the
20584	// instance is not new (and therefore the password is not ready yet). When you
20585	// create an instance, it can take up to 15 minutes for the instance to be ready.
20586	PasswordData *PasswordData `locationName:"passwordData" type:"structure"`
20587
20588	// For SSH access, the temporary private key. For OpenSSH clients (e.g., command
20589	// line SSH), you should save this value to tempkey).
20590	PrivateKey *string `locationName:"privateKey" type:"string"`
20591
20592	// The protocol for these Amazon Lightsail instance access details.
20593	Protocol *string `locationName:"protocol" type:"string" enum:"InstanceAccessProtocol"`
20594
20595	// The user name to use when logging in to the Amazon Lightsail instance.
20596	Username *string `locationName:"username" type:"string"`
20597}
20598
20599// String returns the string representation
20600func (s InstanceAccessDetails) String() string {
20601	return awsutil.Prettify(s)
20602}
20603
20604// GoString returns the string representation
20605func (s InstanceAccessDetails) GoString() string {
20606	return s.String()
20607}
20608
20609// SetCertKey sets the CertKey field's value.
20610func (s *InstanceAccessDetails) SetCertKey(v string) *InstanceAccessDetails {
20611	s.CertKey = &v
20612	return s
20613}
20614
20615// SetExpiresAt sets the ExpiresAt field's value.
20616func (s *InstanceAccessDetails) SetExpiresAt(v time.Time) *InstanceAccessDetails {
20617	s.ExpiresAt = &v
20618	return s
20619}
20620
20621// SetHostKeys sets the HostKeys field's value.
20622func (s *InstanceAccessDetails) SetHostKeys(v []*HostKeyAttributes) *InstanceAccessDetails {
20623	s.HostKeys = v
20624	return s
20625}
20626
20627// SetInstanceName sets the InstanceName field's value.
20628func (s *InstanceAccessDetails) SetInstanceName(v string) *InstanceAccessDetails {
20629	s.InstanceName = &v
20630	return s
20631}
20632
20633// SetIpAddress sets the IpAddress field's value.
20634func (s *InstanceAccessDetails) SetIpAddress(v string) *InstanceAccessDetails {
20635	s.IpAddress = &v
20636	return s
20637}
20638
20639// SetPassword sets the Password field's value.
20640func (s *InstanceAccessDetails) SetPassword(v string) *InstanceAccessDetails {
20641	s.Password = &v
20642	return s
20643}
20644
20645// SetPasswordData sets the PasswordData field's value.
20646func (s *InstanceAccessDetails) SetPasswordData(v *PasswordData) *InstanceAccessDetails {
20647	s.PasswordData = v
20648	return s
20649}
20650
20651// SetPrivateKey sets the PrivateKey field's value.
20652func (s *InstanceAccessDetails) SetPrivateKey(v string) *InstanceAccessDetails {
20653	s.PrivateKey = &v
20654	return s
20655}
20656
20657// SetProtocol sets the Protocol field's value.
20658func (s *InstanceAccessDetails) SetProtocol(v string) *InstanceAccessDetails {
20659	s.Protocol = &v
20660	return s
20661}
20662
20663// SetUsername sets the Username field's value.
20664func (s *InstanceAccessDetails) SetUsername(v string) *InstanceAccessDetails {
20665	s.Username = &v
20666	return s
20667}
20668
20669// Describes the Amazon Elastic Compute Cloud instance and related resources
20670// to be created using the create cloud formation stack operation.
20671type InstanceEntry struct {
20672	_ struct{} `type:"structure"`
20673
20674	// The Availability Zone for the new Amazon EC2 instance.
20675	//
20676	// AvailabilityZone is a required field
20677	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
20678
20679	// The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.
20680	//
20681	// InstanceType is a required field
20682	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
20683
20684	// The port configuration to use for the new Amazon EC2 instance.
20685	//
20686	// The following configuration options are available:
20687	//
20688	//    * DEFAULT — Use the default firewall settings from the image.
20689	//
20690	//    * INSTANCE — Use the firewall settings from the source Lightsail instance.
20691	//
20692	//    * NONE — Default to Amazon EC2.
20693	//
20694	//    * CLOSED — All ports closed.
20695	//
20696	// PortInfoSource is a required field
20697	PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"`
20698
20699	// The name of the export snapshot record, which contains the exported Lightsail
20700	// instance snapshot that will be used as the source of the new Amazon EC2 instance.
20701	//
20702	// Use the get export snapshot records operation to get a list of export snapshot
20703	// records that you can use to create a CloudFormation stack.
20704	//
20705	// SourceName is a required field
20706	SourceName *string `locationName:"sourceName" type:"string" required:"true"`
20707
20708	// A launch script you can create that configures a server with additional user
20709	// data. For example, you might want to run apt-get -y update.
20710	//
20711	// Depending on the machine image you choose, the command to get software on
20712	// your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu
20713	// use apt-get, and FreeBSD uses pkg.
20714	UserData *string `locationName:"userData" type:"string"`
20715}
20716
20717// String returns the string representation
20718func (s InstanceEntry) String() string {
20719	return awsutil.Prettify(s)
20720}
20721
20722// GoString returns the string representation
20723func (s InstanceEntry) GoString() string {
20724	return s.String()
20725}
20726
20727// Validate inspects the fields of the type to determine if they are valid.
20728func (s *InstanceEntry) Validate() error {
20729	invalidParams := request.ErrInvalidParams{Context: "InstanceEntry"}
20730	if s.AvailabilityZone == nil {
20731		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
20732	}
20733	if s.InstanceType == nil {
20734		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
20735	}
20736	if s.PortInfoSource == nil {
20737		invalidParams.Add(request.NewErrParamRequired("PortInfoSource"))
20738	}
20739	if s.SourceName == nil {
20740		invalidParams.Add(request.NewErrParamRequired("SourceName"))
20741	}
20742
20743	if invalidParams.Len() > 0 {
20744		return invalidParams
20745	}
20746	return nil
20747}
20748
20749// SetAvailabilityZone sets the AvailabilityZone field's value.
20750func (s *InstanceEntry) SetAvailabilityZone(v string) *InstanceEntry {
20751	s.AvailabilityZone = &v
20752	return s
20753}
20754
20755// SetInstanceType sets the InstanceType field's value.
20756func (s *InstanceEntry) SetInstanceType(v string) *InstanceEntry {
20757	s.InstanceType = &v
20758	return s
20759}
20760
20761// SetPortInfoSource sets the PortInfoSource field's value.
20762func (s *InstanceEntry) SetPortInfoSource(v string) *InstanceEntry {
20763	s.PortInfoSource = &v
20764	return s
20765}
20766
20767// SetSourceName sets the SourceName field's value.
20768func (s *InstanceEntry) SetSourceName(v string) *InstanceEntry {
20769	s.SourceName = &v
20770	return s
20771}
20772
20773// SetUserData sets the UserData field's value.
20774func (s *InstanceEntry) SetUserData(v string) *InstanceEntry {
20775	s.UserData = &v
20776	return s
20777}
20778
20779// Describes the hardware for the instance.
20780type InstanceHardware struct {
20781	_ struct{} `type:"structure"`
20782
20783	// The number of vCPUs the instance has.
20784	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
20785
20786	// The disks attached to the instance.
20787	Disks []*Disk `locationName:"disks" type:"list"`
20788
20789	// The amount of RAM in GB on the instance (e.g., 1.0).
20790	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
20791}
20792
20793// String returns the string representation
20794func (s InstanceHardware) String() string {
20795	return awsutil.Prettify(s)
20796}
20797
20798// GoString returns the string representation
20799func (s InstanceHardware) GoString() string {
20800	return s.String()
20801}
20802
20803// SetCpuCount sets the CpuCount field's value.
20804func (s *InstanceHardware) SetCpuCount(v int64) *InstanceHardware {
20805	s.CpuCount = &v
20806	return s
20807}
20808
20809// SetDisks sets the Disks field's value.
20810func (s *InstanceHardware) SetDisks(v []*Disk) *InstanceHardware {
20811	s.Disks = v
20812	return s
20813}
20814
20815// SetRamSizeInGb sets the RamSizeInGb field's value.
20816func (s *InstanceHardware) SetRamSizeInGb(v float64) *InstanceHardware {
20817	s.RamSizeInGb = &v
20818	return s
20819}
20820
20821// Describes information about the health of the instance.
20822type InstanceHealthSummary struct {
20823	_ struct{} `type:"structure"`
20824
20825	// Describes the overall instance health. Valid values are below.
20826	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthState"`
20827
20828	// More information about the instance health. If the instanceHealth is healthy,
20829	// then an instanceHealthReason value is not provided.
20830	//
20831	// If instanceHealth is initial, the instanceHealthReason value can be one of
20832	// the following:
20833	//
20834	//    * Lb.RegistrationInProgress - The target instance is in the process of
20835	//    being registered with the load balancer.
20836	//
20837	//    * Lb.InitialHealthChecking - The Lightsail load balancer is still sending
20838	//    the target instance the minimum number of health checks required to determine
20839	//    its health status.
20840	//
20841	// If instanceHealth is unhealthy, the instanceHealthReason value can be one
20842	// of the following:
20843	//
20844	//    * Instance.ResponseCodeMismatch - The health checks did not return an
20845	//    expected HTTP code.
20846	//
20847	//    * Instance.Timeout - The health check requests timed out.
20848	//
20849	//    * Instance.FailedHealthChecks - The health checks failed because the connection
20850	//    to the target instance timed out, the target instance response was malformed,
20851	//    or the target instance failed the health check for an unknown reason.
20852	//
20853	//    * Lb.InternalError - The health checks failed due to an internal error.
20854	//
20855	// If instanceHealth is unused, the instanceHealthReason value can be one of
20856	// the following:
20857	//
20858	//    * Instance.NotRegistered - The target instance is not registered with
20859	//    the target group.
20860	//
20861	//    * Instance.NotInUse - The target group is not used by any load balancer,
20862	//    or the target instance is in an Availability Zone that is not enabled
20863	//    for its load balancer.
20864	//
20865	//    * Instance.IpUnusable - The target IP address is reserved for use by a
20866	//    Lightsail load balancer.
20867	//
20868	//    * Instance.InvalidState - The target is in the stopped or terminated state.
20869	//
20870	// If instanceHealth is draining, the instanceHealthReason value can be one
20871	// of the following:
20872	//
20873	//    * Instance.DeregistrationInProgress - The target instance is in the process
20874	//    of being deregistered and the deregistration delay period has not expired.
20875	InstanceHealthReason *string `locationName:"instanceHealthReason" type:"string" enum:"InstanceHealthReason"`
20876
20877	// The name of the Lightsail instance for which you are requesting health check
20878	// data.
20879	InstanceName *string `locationName:"instanceName" type:"string"`
20880}
20881
20882// String returns the string representation
20883func (s InstanceHealthSummary) String() string {
20884	return awsutil.Prettify(s)
20885}
20886
20887// GoString returns the string representation
20888func (s InstanceHealthSummary) GoString() string {
20889	return s.String()
20890}
20891
20892// SetInstanceHealth sets the InstanceHealth field's value.
20893func (s *InstanceHealthSummary) SetInstanceHealth(v string) *InstanceHealthSummary {
20894	s.InstanceHealth = &v
20895	return s
20896}
20897
20898// SetInstanceHealthReason sets the InstanceHealthReason field's value.
20899func (s *InstanceHealthSummary) SetInstanceHealthReason(v string) *InstanceHealthSummary {
20900	s.InstanceHealthReason = &v
20901	return s
20902}
20903
20904// SetInstanceName sets the InstanceName field's value.
20905func (s *InstanceHealthSummary) SetInstanceName(v string) *InstanceHealthSummary {
20906	s.InstanceName = &v
20907	return s
20908}
20909
20910// Describes monthly data transfer rates and port information for an instance.
20911type InstanceNetworking struct {
20912	_ struct{} `type:"structure"`
20913
20914	// The amount of data in GB allocated for monthly data transfers.
20915	MonthlyTransfer *MonthlyTransfer `locationName:"monthlyTransfer" type:"structure"`
20916
20917	// An array of key-value pairs containing information about the ports on the
20918	// instance.
20919	Ports []*InstancePortInfo `locationName:"ports" type:"list"`
20920}
20921
20922// String returns the string representation
20923func (s InstanceNetworking) String() string {
20924	return awsutil.Prettify(s)
20925}
20926
20927// GoString returns the string representation
20928func (s InstanceNetworking) GoString() string {
20929	return s.String()
20930}
20931
20932// SetMonthlyTransfer sets the MonthlyTransfer field's value.
20933func (s *InstanceNetworking) SetMonthlyTransfer(v *MonthlyTransfer) *InstanceNetworking {
20934	s.MonthlyTransfer = v
20935	return s
20936}
20937
20938// SetPorts sets the Ports field's value.
20939func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking {
20940	s.Ports = v
20941	return s
20942}
20943
20944// Describes information about the instance ports.
20945type InstancePortInfo struct {
20946	_ struct{} `type:"structure"`
20947
20948	// The access direction (inbound or outbound).
20949	AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"`
20950
20951	// The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)).
20952	AccessFrom *string `locationName:"accessFrom" type:"string"`
20953
20954	// The type of access (Public or Private).
20955	AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"`
20956
20957	// The common name.
20958	CommonName *string `locationName:"commonName" type:"string"`
20959
20960	// The first port in the range.
20961	FromPort *int64 `locationName:"fromPort" type:"integer"`
20962
20963	// The protocol being used. Can be one of the following.
20964	//
20965	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
20966	//    and error-checked delivery of streamed data between applications running
20967	//    on hosts communicating by an IP network. If you have an application that
20968	//    doesn't require reliable data stream service, use UDP instead.
20969	//
20970	//    * all - All transport layer protocol types. For more general information,
20971	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
20972	//    Wikipedia.
20973	//
20974	//    * udp - With User Datagram Protocol (UDP), computer applications can send
20975	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
20976	//    Prior communications are not required to set up transmission channels
20977	//    or data paths. Applications that don't require reliable data stream service
20978	//    can use UDP, which provides a connectionless datagram service that emphasizes
20979	//    reduced latency over reliability. If you do require reliable data stream
20980	//    service, use TCP instead.
20981	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
20982
20983	// The last port in the range.
20984	ToPort *int64 `locationName:"toPort" type:"integer"`
20985}
20986
20987// String returns the string representation
20988func (s InstancePortInfo) String() string {
20989	return awsutil.Prettify(s)
20990}
20991
20992// GoString returns the string representation
20993func (s InstancePortInfo) GoString() string {
20994	return s.String()
20995}
20996
20997// SetAccessDirection sets the AccessDirection field's value.
20998func (s *InstancePortInfo) SetAccessDirection(v string) *InstancePortInfo {
20999	s.AccessDirection = &v
21000	return s
21001}
21002
21003// SetAccessFrom sets the AccessFrom field's value.
21004func (s *InstancePortInfo) SetAccessFrom(v string) *InstancePortInfo {
21005	s.AccessFrom = &v
21006	return s
21007}
21008
21009// SetAccessType sets the AccessType field's value.
21010func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo {
21011	s.AccessType = &v
21012	return s
21013}
21014
21015// SetCommonName sets the CommonName field's value.
21016func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo {
21017	s.CommonName = &v
21018	return s
21019}
21020
21021// SetFromPort sets the FromPort field's value.
21022func (s *InstancePortInfo) SetFromPort(v int64) *InstancePortInfo {
21023	s.FromPort = &v
21024	return s
21025}
21026
21027// SetProtocol sets the Protocol field's value.
21028func (s *InstancePortInfo) SetProtocol(v string) *InstancePortInfo {
21029	s.Protocol = &v
21030	return s
21031}
21032
21033// SetToPort sets the ToPort field's value.
21034func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo {
21035	s.ToPort = &v
21036	return s
21037}
21038
21039// Describes the port state.
21040type InstancePortState struct {
21041	_ struct{} `type:"structure"`
21042
21043	// The first port in the range.
21044	FromPort *int64 `locationName:"fromPort" type:"integer"`
21045
21046	// The protocol being used. Can be one of the following.
21047	//
21048	//    * tcp - Transmission Control Protocol (TCP) provides reliable, ordered,
21049	//    and error-checked delivery of streamed data between applications running
21050	//    on hosts communicating by an IP network. If you have an application that
21051	//    doesn't require reliable data stream service, use UDP instead.
21052	//
21053	//    * all - All transport layer protocol types. For more general information,
21054	//    see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on
21055	//    Wikipedia.
21056	//
21057	//    * udp - With User Datagram Protocol (UDP), computer applications can send
21058	//    messages (or datagrams) to other hosts on an Internet Protocol (IP) network.
21059	//    Prior communications are not required to set up transmission channels
21060	//    or data paths. Applications that don't require reliable data stream service
21061	//    can use UDP, which provides a connectionless datagram service that emphasizes
21062	//    reduced latency over reliability. If you do require reliable data stream
21063	//    service, use TCP instead.
21064	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
21065
21066	// Specifies whether the instance port is open or closed.
21067	State *string `locationName:"state" type:"string" enum:"PortState"`
21068
21069	// The last port in the range.
21070	ToPort *int64 `locationName:"toPort" type:"integer"`
21071}
21072
21073// String returns the string representation
21074func (s InstancePortState) String() string {
21075	return awsutil.Prettify(s)
21076}
21077
21078// GoString returns the string representation
21079func (s InstancePortState) GoString() string {
21080	return s.String()
21081}
21082
21083// SetFromPort sets the FromPort field's value.
21084func (s *InstancePortState) SetFromPort(v int64) *InstancePortState {
21085	s.FromPort = &v
21086	return s
21087}
21088
21089// SetProtocol sets the Protocol field's value.
21090func (s *InstancePortState) SetProtocol(v string) *InstancePortState {
21091	s.Protocol = &v
21092	return s
21093}
21094
21095// SetState sets the State field's value.
21096func (s *InstancePortState) SetState(v string) *InstancePortState {
21097	s.State = &v
21098	return s
21099}
21100
21101// SetToPort sets the ToPort field's value.
21102func (s *InstancePortState) SetToPort(v int64) *InstancePortState {
21103	s.ToPort = &v
21104	return s
21105}
21106
21107// Describes an instance snapshot.
21108type InstanceSnapshot struct {
21109	_ struct{} `type:"structure"`
21110
21111	// The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).
21112	Arn *string `locationName:"arn" type:"string"`
21113
21114	// The timestamp when the snapshot was created (e.g., 1479907467.024).
21115	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21116
21117	// An array of disk objects containing information about all block storage disks.
21118	FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"`
21119
21120	// The blueprint ID from which you created the snapshot (e.g., os_debian_8_3).
21121	// A blueprint is a virtual private server (or instance) image used to create
21122	// instances quickly.
21123	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
21124
21125	// The bundle ID from which you created the snapshot (e.g., micro_1_0).
21126	FromBundleId *string `locationName:"fromBundleId" type:"string"`
21127
21128	// The Amazon Resource Name (ARN) of the instance from which the snapshot was
21129	// created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).
21130	FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"`
21131
21132	// The instance from which the snapshot was created.
21133	FromInstanceName *string `locationName:"fromInstanceName" type:"string"`
21134
21135	// A Boolean value indicating whether the snapshot was created from an automatic
21136	// snapshot.
21137	IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"`
21138
21139	// The region name and Availability Zone where you created the snapshot.
21140	Location *ResourceLocation `locationName:"location" type:"structure"`
21141
21142	// The name of the snapshot.
21143	Name *string `locationName:"name" type:"string"`
21144
21145	// The progress of the snapshot.
21146	Progress *string `locationName:"progress" type:"string"`
21147
21148	// The type of resource (usually InstanceSnapshot).
21149	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21150
21151	// The size in GB of the SSD.
21152	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
21153
21154	// The state the snapshot is in.
21155	State *string `locationName:"state" type:"string" enum:"InstanceSnapshotState"`
21156
21157	// The support code. Include this code in your email to support when you have
21158	// questions about an instance or another resource in Lightsail. This code enables
21159	// our support team to look up your Lightsail information more easily.
21160	SupportCode *string `locationName:"supportCode" type:"string"`
21161
21162	// The tag keys and optional values for the resource. For more information about
21163	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
21164	Tags []*Tag `locationName:"tags" type:"list"`
21165}
21166
21167// String returns the string representation
21168func (s InstanceSnapshot) String() string {
21169	return awsutil.Prettify(s)
21170}
21171
21172// GoString returns the string representation
21173func (s InstanceSnapshot) GoString() string {
21174	return s.String()
21175}
21176
21177// SetArn sets the Arn field's value.
21178func (s *InstanceSnapshot) SetArn(v string) *InstanceSnapshot {
21179	s.Arn = &v
21180	return s
21181}
21182
21183// SetCreatedAt sets the CreatedAt field's value.
21184func (s *InstanceSnapshot) SetCreatedAt(v time.Time) *InstanceSnapshot {
21185	s.CreatedAt = &v
21186	return s
21187}
21188
21189// SetFromAttachedDisks sets the FromAttachedDisks field's value.
21190func (s *InstanceSnapshot) SetFromAttachedDisks(v []*Disk) *InstanceSnapshot {
21191	s.FromAttachedDisks = v
21192	return s
21193}
21194
21195// SetFromBlueprintId sets the FromBlueprintId field's value.
21196func (s *InstanceSnapshot) SetFromBlueprintId(v string) *InstanceSnapshot {
21197	s.FromBlueprintId = &v
21198	return s
21199}
21200
21201// SetFromBundleId sets the FromBundleId field's value.
21202func (s *InstanceSnapshot) SetFromBundleId(v string) *InstanceSnapshot {
21203	s.FromBundleId = &v
21204	return s
21205}
21206
21207// SetFromInstanceArn sets the FromInstanceArn field's value.
21208func (s *InstanceSnapshot) SetFromInstanceArn(v string) *InstanceSnapshot {
21209	s.FromInstanceArn = &v
21210	return s
21211}
21212
21213// SetFromInstanceName sets the FromInstanceName field's value.
21214func (s *InstanceSnapshot) SetFromInstanceName(v string) *InstanceSnapshot {
21215	s.FromInstanceName = &v
21216	return s
21217}
21218
21219// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value.
21220func (s *InstanceSnapshot) SetIsFromAutoSnapshot(v bool) *InstanceSnapshot {
21221	s.IsFromAutoSnapshot = &v
21222	return s
21223}
21224
21225// SetLocation sets the Location field's value.
21226func (s *InstanceSnapshot) SetLocation(v *ResourceLocation) *InstanceSnapshot {
21227	s.Location = v
21228	return s
21229}
21230
21231// SetName sets the Name field's value.
21232func (s *InstanceSnapshot) SetName(v string) *InstanceSnapshot {
21233	s.Name = &v
21234	return s
21235}
21236
21237// SetProgress sets the Progress field's value.
21238func (s *InstanceSnapshot) SetProgress(v string) *InstanceSnapshot {
21239	s.Progress = &v
21240	return s
21241}
21242
21243// SetResourceType sets the ResourceType field's value.
21244func (s *InstanceSnapshot) SetResourceType(v string) *InstanceSnapshot {
21245	s.ResourceType = &v
21246	return s
21247}
21248
21249// SetSizeInGb sets the SizeInGb field's value.
21250func (s *InstanceSnapshot) SetSizeInGb(v int64) *InstanceSnapshot {
21251	s.SizeInGb = &v
21252	return s
21253}
21254
21255// SetState sets the State field's value.
21256func (s *InstanceSnapshot) SetState(v string) *InstanceSnapshot {
21257	s.State = &v
21258	return s
21259}
21260
21261// SetSupportCode sets the SupportCode field's value.
21262func (s *InstanceSnapshot) SetSupportCode(v string) *InstanceSnapshot {
21263	s.SupportCode = &v
21264	return s
21265}
21266
21267// SetTags sets the Tags field's value.
21268func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot {
21269	s.Tags = v
21270	return s
21271}
21272
21273// Describes an instance snapshot.
21274type InstanceSnapshotInfo struct {
21275	_ struct{} `type:"structure"`
21276
21277	// The blueprint ID from which the source instance (e.g., os_debian_8_3).
21278	FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"`
21279
21280	// The bundle ID from which the source instance was created (e.g., micro_1_0).
21281	FromBundleId *string `locationName:"fromBundleId" type:"string"`
21282
21283	// A list of objects describing the disks that were attached to the source instance.
21284	FromDiskInfo []*DiskInfo `locationName:"fromDiskInfo" type:"list"`
21285}
21286
21287// String returns the string representation
21288func (s InstanceSnapshotInfo) String() string {
21289	return awsutil.Prettify(s)
21290}
21291
21292// GoString returns the string representation
21293func (s InstanceSnapshotInfo) GoString() string {
21294	return s.String()
21295}
21296
21297// SetFromBlueprintId sets the FromBlueprintId field's value.
21298func (s *InstanceSnapshotInfo) SetFromBlueprintId(v string) *InstanceSnapshotInfo {
21299	s.FromBlueprintId = &v
21300	return s
21301}
21302
21303// SetFromBundleId sets the FromBundleId field's value.
21304func (s *InstanceSnapshotInfo) SetFromBundleId(v string) *InstanceSnapshotInfo {
21305	s.FromBundleId = &v
21306	return s
21307}
21308
21309// SetFromDiskInfo sets the FromDiskInfo field's value.
21310func (s *InstanceSnapshotInfo) SetFromDiskInfo(v []*DiskInfo) *InstanceSnapshotInfo {
21311	s.FromDiskInfo = v
21312	return s
21313}
21314
21315// Describes the virtual private server (or instance) status.
21316type InstanceState struct {
21317	_ struct{} `type:"structure"`
21318
21319	// The status code for the instance.
21320	Code *int64 `locationName:"code" type:"integer"`
21321
21322	// The state of the instance (e.g., running or pending).
21323	Name *string `locationName:"name" type:"string"`
21324}
21325
21326// String returns the string representation
21327func (s InstanceState) String() string {
21328	return awsutil.Prettify(s)
21329}
21330
21331// GoString returns the string representation
21332func (s InstanceState) GoString() string {
21333	return s.String()
21334}
21335
21336// SetCode sets the Code field's value.
21337func (s *InstanceState) SetCode(v int64) *InstanceState {
21338	s.Code = &v
21339	return s
21340}
21341
21342// SetName sets the Name field's value.
21343func (s *InstanceState) SetName(v string) *InstanceState {
21344	s.Name = &v
21345	return s
21346}
21347
21348type IsVpcPeeredInput struct {
21349	_ struct{} `type:"structure"`
21350}
21351
21352// String returns the string representation
21353func (s IsVpcPeeredInput) String() string {
21354	return awsutil.Prettify(s)
21355}
21356
21357// GoString returns the string representation
21358func (s IsVpcPeeredInput) GoString() string {
21359	return s.String()
21360}
21361
21362type IsVpcPeeredOutput struct {
21363	_ struct{} `type:"structure"`
21364
21365	// Returns true if the Lightsail VPC is peered; otherwise, false.
21366	IsPeered *bool `locationName:"isPeered" type:"boolean"`
21367}
21368
21369// String returns the string representation
21370func (s IsVpcPeeredOutput) String() string {
21371	return awsutil.Prettify(s)
21372}
21373
21374// GoString returns the string representation
21375func (s IsVpcPeeredOutput) GoString() string {
21376	return s.String()
21377}
21378
21379// SetIsPeered sets the IsPeered field's value.
21380func (s *IsVpcPeeredOutput) SetIsPeered(v bool) *IsVpcPeeredOutput {
21381	s.IsPeered = &v
21382	return s
21383}
21384
21385// Describes the SSH key pair.
21386type KeyPair struct {
21387	_ struct{} `type:"structure"`
21388
21389	// The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).
21390	Arn *string `locationName:"arn" type:"string"`
21391
21392	// The timestamp when the key pair was created (e.g., 1479816991.349).
21393	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21394
21395	// The RSA fingerprint of the key pair.
21396	Fingerprint *string `locationName:"fingerprint" type:"string"`
21397
21398	// The region name and Availability Zone where the key pair was created.
21399	Location *ResourceLocation `locationName:"location" type:"structure"`
21400
21401	// The friendly name of the SSH key pair.
21402	Name *string `locationName:"name" type:"string"`
21403
21404	// The resource type (usually KeyPair).
21405	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21406
21407	// The support code. Include this code in your email to support when you have
21408	// questions about an instance or another resource in Lightsail. This code enables
21409	// our support team to look up your Lightsail information more easily.
21410	SupportCode *string `locationName:"supportCode" type:"string"`
21411
21412	// The tag keys and optional values for the resource. For more information about
21413	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
21414	Tags []*Tag `locationName:"tags" type:"list"`
21415}
21416
21417// String returns the string representation
21418func (s KeyPair) String() string {
21419	return awsutil.Prettify(s)
21420}
21421
21422// GoString returns the string representation
21423func (s KeyPair) GoString() string {
21424	return s.String()
21425}
21426
21427// SetArn sets the Arn field's value.
21428func (s *KeyPair) SetArn(v string) *KeyPair {
21429	s.Arn = &v
21430	return s
21431}
21432
21433// SetCreatedAt sets the CreatedAt field's value.
21434func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair {
21435	s.CreatedAt = &v
21436	return s
21437}
21438
21439// SetFingerprint sets the Fingerprint field's value.
21440func (s *KeyPair) SetFingerprint(v string) *KeyPair {
21441	s.Fingerprint = &v
21442	return s
21443}
21444
21445// SetLocation sets the Location field's value.
21446func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair {
21447	s.Location = v
21448	return s
21449}
21450
21451// SetName sets the Name field's value.
21452func (s *KeyPair) SetName(v string) *KeyPair {
21453	s.Name = &v
21454	return s
21455}
21456
21457// SetResourceType sets the ResourceType field's value.
21458func (s *KeyPair) SetResourceType(v string) *KeyPair {
21459	s.ResourceType = &v
21460	return s
21461}
21462
21463// SetSupportCode sets the SupportCode field's value.
21464func (s *KeyPair) SetSupportCode(v string) *KeyPair {
21465	s.SupportCode = &v
21466	return s
21467}
21468
21469// SetTags sets the Tags field's value.
21470func (s *KeyPair) SetTags(v []*Tag) *KeyPair {
21471	s.Tags = v
21472	return s
21473}
21474
21475// Describes the Lightsail load balancer.
21476type LoadBalancer struct {
21477	_ struct{} `type:"structure"`
21478
21479	// The Amazon Resource Name (ARN) of the load balancer.
21480	Arn *string `locationName:"arn" type:"string"`
21481
21482	// A string to string map of the configuration options for your load balancer.
21483	// Valid values are listed below.
21484	ConfigurationOptions map[string]*string `locationName:"configurationOptions" type:"map"`
21485
21486	// The date when your load balancer was created.
21487	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21488
21489	// The DNS name of your Lightsail load balancer.
21490	DnsName *string `locationName:"dnsName" type:"string"`
21491
21492	// The path you specified to perform your health checks. If no path is specified,
21493	// the load balancer tries to make a request to the default (root) page.
21494	HealthCheckPath *string `locationName:"healthCheckPath" type:"string"`
21495
21496	// An array of InstanceHealthSummary objects describing the health of the load
21497	// balancer.
21498	InstanceHealthSummary []*InstanceHealthSummary `locationName:"instanceHealthSummary" type:"list"`
21499
21500	// The port where the load balancer will direct traffic to your Lightsail instances.
21501	// For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.
21502	InstancePort *int64 `locationName:"instancePort" type:"integer"`
21503
21504	// The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail
21505	// automatically creates your load balancer across Availability Zones.
21506	Location *ResourceLocation `locationName:"location" type:"structure"`
21507
21508	// The name of the load balancer (e.g., my-load-balancer).
21509	Name *string `locationName:"name" type:"string"`
21510
21511	// The protocol you have enabled for your load balancer. Valid values are below.
21512	//
21513	// You can't just have HTTP_HTTPS, but you can have just HTTP.
21514	Protocol *string `locationName:"protocol" type:"string" enum:"LoadBalancerProtocol"`
21515
21516	// An array of public port settings for your load balancer. For HTTP, use port
21517	// 80. For HTTPS, use port 443.
21518	PublicPorts []*int64 `locationName:"publicPorts" type:"list"`
21519
21520	// The resource type (e.g., LoadBalancer.
21521	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21522
21523	// The status of your load balancer. Valid values are below.
21524	State *string `locationName:"state" type:"string" enum:"LoadBalancerState"`
21525
21526	// The support code. Include this code in your email to support when you have
21527	// questions about your Lightsail load balancer. This code enables our support
21528	// team to look up your Lightsail information more easily.
21529	SupportCode *string `locationName:"supportCode" type:"string"`
21530
21531	// The tag keys and optional values for the resource. For more information about
21532	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
21533	Tags []*Tag `locationName:"tags" type:"list"`
21534
21535	// An array of LoadBalancerTlsCertificateSummary objects that provide additional
21536	// information about the SSL/TLS certificates. For example, if true, the certificate
21537	// is attached to the load balancer.
21538	TlsCertificateSummaries []*LoadBalancerTlsCertificateSummary `locationName:"tlsCertificateSummaries" type:"list"`
21539}
21540
21541// String returns the string representation
21542func (s LoadBalancer) String() string {
21543	return awsutil.Prettify(s)
21544}
21545
21546// GoString returns the string representation
21547func (s LoadBalancer) GoString() string {
21548	return s.String()
21549}
21550
21551// SetArn sets the Arn field's value.
21552func (s *LoadBalancer) SetArn(v string) *LoadBalancer {
21553	s.Arn = &v
21554	return s
21555}
21556
21557// SetConfigurationOptions sets the ConfigurationOptions field's value.
21558func (s *LoadBalancer) SetConfigurationOptions(v map[string]*string) *LoadBalancer {
21559	s.ConfigurationOptions = v
21560	return s
21561}
21562
21563// SetCreatedAt sets the CreatedAt field's value.
21564func (s *LoadBalancer) SetCreatedAt(v time.Time) *LoadBalancer {
21565	s.CreatedAt = &v
21566	return s
21567}
21568
21569// SetDnsName sets the DnsName field's value.
21570func (s *LoadBalancer) SetDnsName(v string) *LoadBalancer {
21571	s.DnsName = &v
21572	return s
21573}
21574
21575// SetHealthCheckPath sets the HealthCheckPath field's value.
21576func (s *LoadBalancer) SetHealthCheckPath(v string) *LoadBalancer {
21577	s.HealthCheckPath = &v
21578	return s
21579}
21580
21581// SetInstanceHealthSummary sets the InstanceHealthSummary field's value.
21582func (s *LoadBalancer) SetInstanceHealthSummary(v []*InstanceHealthSummary) *LoadBalancer {
21583	s.InstanceHealthSummary = v
21584	return s
21585}
21586
21587// SetInstancePort sets the InstancePort field's value.
21588func (s *LoadBalancer) SetInstancePort(v int64) *LoadBalancer {
21589	s.InstancePort = &v
21590	return s
21591}
21592
21593// SetLocation sets the Location field's value.
21594func (s *LoadBalancer) SetLocation(v *ResourceLocation) *LoadBalancer {
21595	s.Location = v
21596	return s
21597}
21598
21599// SetName sets the Name field's value.
21600func (s *LoadBalancer) SetName(v string) *LoadBalancer {
21601	s.Name = &v
21602	return s
21603}
21604
21605// SetProtocol sets the Protocol field's value.
21606func (s *LoadBalancer) SetProtocol(v string) *LoadBalancer {
21607	s.Protocol = &v
21608	return s
21609}
21610
21611// SetPublicPorts sets the PublicPorts field's value.
21612func (s *LoadBalancer) SetPublicPorts(v []*int64) *LoadBalancer {
21613	s.PublicPorts = v
21614	return s
21615}
21616
21617// SetResourceType sets the ResourceType field's value.
21618func (s *LoadBalancer) SetResourceType(v string) *LoadBalancer {
21619	s.ResourceType = &v
21620	return s
21621}
21622
21623// SetState sets the State field's value.
21624func (s *LoadBalancer) SetState(v string) *LoadBalancer {
21625	s.State = &v
21626	return s
21627}
21628
21629// SetSupportCode sets the SupportCode field's value.
21630func (s *LoadBalancer) SetSupportCode(v string) *LoadBalancer {
21631	s.SupportCode = &v
21632	return s
21633}
21634
21635// SetTags sets the Tags field's value.
21636func (s *LoadBalancer) SetTags(v []*Tag) *LoadBalancer {
21637	s.Tags = v
21638	return s
21639}
21640
21641// SetTlsCertificateSummaries sets the TlsCertificateSummaries field's value.
21642func (s *LoadBalancer) SetTlsCertificateSummaries(v []*LoadBalancerTlsCertificateSummary) *LoadBalancer {
21643	s.TlsCertificateSummaries = v
21644	return s
21645}
21646
21647// Describes a load balancer SSL/TLS certificate.
21648//
21649// TLS is just an updated, more secure version of Secure Socket Layer (SSL).
21650type LoadBalancerTlsCertificate struct {
21651	_ struct{} `type:"structure"`
21652
21653	// The Amazon Resource Name (ARN) of the SSL/TLS certificate.
21654	Arn *string `locationName:"arn" type:"string"`
21655
21656	// The time when you created your SSL/TLS certificate.
21657	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
21658
21659	// The domain name for your SSL/TLS certificate.
21660	DomainName *string `locationName:"domainName" type:"string"`
21661
21662	// An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing
21663	// the records.
21664	DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"`
21665
21666	// The reason for the SSL/TLS certificate validation failure.
21667	FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"`
21668
21669	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
21670	IsAttached *bool `locationName:"isAttached" type:"boolean"`
21671
21672	// The time when the SSL/TLS certificate was issued.
21673	IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"`
21674
21675	// The issuer of the certificate.
21676	Issuer *string `locationName:"issuer" type:"string"`
21677
21678	// The algorithm that was used to generate the key pair (the public and private
21679	// key).
21680	KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"`
21681
21682	// The load balancer name where your SSL/TLS certificate is attached.
21683	LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
21684
21685	// The AWS Region and Availability Zone where you created your certificate.
21686	Location *ResourceLocation `locationName:"location" type:"structure"`
21687
21688	// The name of the SSL/TLS certificate (e.g., my-certificate).
21689	Name *string `locationName:"name" type:"string"`
21690
21691	// The timestamp when the SSL/TLS certificate expires.
21692	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
21693
21694	// The timestamp when the SSL/TLS certificate is first valid.
21695	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
21696
21697	// An object containing information about the status of Lightsail's managed
21698	// renewal for the certificate.
21699	RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"`
21700
21701	// The resource type (e.g., LoadBalancerTlsCertificate).
21702	//
21703	//    * Instance - A Lightsail instance (a virtual private server)
21704	//
21705	//    * StaticIp - A static IP address
21706	//
21707	//    * KeyPair - The key pair used to connect to a Lightsail instance
21708	//
21709	//    * InstanceSnapshot - A Lightsail instance snapshot
21710	//
21711	//    * Domain - A DNS zone
21712	//
21713	//    * PeeredVpc - A peered VPC
21714	//
21715	//    * LoadBalancer - A Lightsail load balancer
21716	//
21717	//    * LoadBalancerTlsCertificate - An SSL/TLS certificate associated with
21718	//    a Lightsail load balancer
21719	//
21720	//    * Disk - A Lightsail block storage disk
21721	//
21722	//    * DiskSnapshot - A block storage disk snapshot
21723	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21724
21725	// The reason the certificate was revoked. Valid values are below.
21726	RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"`
21727
21728	// The timestamp when the SSL/TLS certificate was revoked.
21729	RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"`
21730
21731	// The serial number of the certificate.
21732	Serial *string `locationName:"serial" type:"string"`
21733
21734	// The algorithm that was used to sign the certificate.
21735	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
21736
21737	// The status of the SSL/TLS certificate. Valid values are below.
21738	Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"`
21739
21740	// The name of the entity that is associated with the public key contained in
21741	// the certificate.
21742	Subject *string `locationName:"subject" type:"string"`
21743
21744	// One or more domains or subdomains included in the certificate. This list
21745	// contains the domain names that are bound to the public key that is contained
21746	// in the certificate. The subject alternative names include the canonical domain
21747	// name (CNAME) of the certificate and additional domain names that can be used
21748	// to connect to the website, such as example.com, www.example.com, or m.example.com.
21749	SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"`
21750
21751	// The support code. Include this code in your email to support when you have
21752	// questions about your Lightsail load balancer or SSL/TLS certificate. This
21753	// code enables our support team to look up your Lightsail information more
21754	// easily.
21755	SupportCode *string `locationName:"supportCode" type:"string"`
21756
21757	// The tag keys and optional values for the resource. For more information about
21758	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
21759	Tags []*Tag `locationName:"tags" type:"list"`
21760}
21761
21762// String returns the string representation
21763func (s LoadBalancerTlsCertificate) String() string {
21764	return awsutil.Prettify(s)
21765}
21766
21767// GoString returns the string representation
21768func (s LoadBalancerTlsCertificate) GoString() string {
21769	return s.String()
21770}
21771
21772// SetArn sets the Arn field's value.
21773func (s *LoadBalancerTlsCertificate) SetArn(v string) *LoadBalancerTlsCertificate {
21774	s.Arn = &v
21775	return s
21776}
21777
21778// SetCreatedAt sets the CreatedAt field's value.
21779func (s *LoadBalancerTlsCertificate) SetCreatedAt(v time.Time) *LoadBalancerTlsCertificate {
21780	s.CreatedAt = &v
21781	return s
21782}
21783
21784// SetDomainName sets the DomainName field's value.
21785func (s *LoadBalancerTlsCertificate) SetDomainName(v string) *LoadBalancerTlsCertificate {
21786	s.DomainName = &v
21787	return s
21788}
21789
21790// SetDomainValidationRecords sets the DomainValidationRecords field's value.
21791func (s *LoadBalancerTlsCertificate) SetDomainValidationRecords(v []*LoadBalancerTlsCertificateDomainValidationRecord) *LoadBalancerTlsCertificate {
21792	s.DomainValidationRecords = v
21793	return s
21794}
21795
21796// SetFailureReason sets the FailureReason field's value.
21797func (s *LoadBalancerTlsCertificate) SetFailureReason(v string) *LoadBalancerTlsCertificate {
21798	s.FailureReason = &v
21799	return s
21800}
21801
21802// SetIsAttached sets the IsAttached field's value.
21803func (s *LoadBalancerTlsCertificate) SetIsAttached(v bool) *LoadBalancerTlsCertificate {
21804	s.IsAttached = &v
21805	return s
21806}
21807
21808// SetIssuedAt sets the IssuedAt field's value.
21809func (s *LoadBalancerTlsCertificate) SetIssuedAt(v time.Time) *LoadBalancerTlsCertificate {
21810	s.IssuedAt = &v
21811	return s
21812}
21813
21814// SetIssuer sets the Issuer field's value.
21815func (s *LoadBalancerTlsCertificate) SetIssuer(v string) *LoadBalancerTlsCertificate {
21816	s.Issuer = &v
21817	return s
21818}
21819
21820// SetKeyAlgorithm sets the KeyAlgorithm field's value.
21821func (s *LoadBalancerTlsCertificate) SetKeyAlgorithm(v string) *LoadBalancerTlsCertificate {
21822	s.KeyAlgorithm = &v
21823	return s
21824}
21825
21826// SetLoadBalancerName sets the LoadBalancerName field's value.
21827func (s *LoadBalancerTlsCertificate) SetLoadBalancerName(v string) *LoadBalancerTlsCertificate {
21828	s.LoadBalancerName = &v
21829	return s
21830}
21831
21832// SetLocation sets the Location field's value.
21833func (s *LoadBalancerTlsCertificate) SetLocation(v *ResourceLocation) *LoadBalancerTlsCertificate {
21834	s.Location = v
21835	return s
21836}
21837
21838// SetName sets the Name field's value.
21839func (s *LoadBalancerTlsCertificate) SetName(v string) *LoadBalancerTlsCertificate {
21840	s.Name = &v
21841	return s
21842}
21843
21844// SetNotAfter sets the NotAfter field's value.
21845func (s *LoadBalancerTlsCertificate) SetNotAfter(v time.Time) *LoadBalancerTlsCertificate {
21846	s.NotAfter = &v
21847	return s
21848}
21849
21850// SetNotBefore sets the NotBefore field's value.
21851func (s *LoadBalancerTlsCertificate) SetNotBefore(v time.Time) *LoadBalancerTlsCertificate {
21852	s.NotBefore = &v
21853	return s
21854}
21855
21856// SetRenewalSummary sets the RenewalSummary field's value.
21857func (s *LoadBalancerTlsCertificate) SetRenewalSummary(v *LoadBalancerTlsCertificateRenewalSummary) *LoadBalancerTlsCertificate {
21858	s.RenewalSummary = v
21859	return s
21860}
21861
21862// SetResourceType sets the ResourceType field's value.
21863func (s *LoadBalancerTlsCertificate) SetResourceType(v string) *LoadBalancerTlsCertificate {
21864	s.ResourceType = &v
21865	return s
21866}
21867
21868// SetRevocationReason sets the RevocationReason field's value.
21869func (s *LoadBalancerTlsCertificate) SetRevocationReason(v string) *LoadBalancerTlsCertificate {
21870	s.RevocationReason = &v
21871	return s
21872}
21873
21874// SetRevokedAt sets the RevokedAt field's value.
21875func (s *LoadBalancerTlsCertificate) SetRevokedAt(v time.Time) *LoadBalancerTlsCertificate {
21876	s.RevokedAt = &v
21877	return s
21878}
21879
21880// SetSerial sets the Serial field's value.
21881func (s *LoadBalancerTlsCertificate) SetSerial(v string) *LoadBalancerTlsCertificate {
21882	s.Serial = &v
21883	return s
21884}
21885
21886// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
21887func (s *LoadBalancerTlsCertificate) SetSignatureAlgorithm(v string) *LoadBalancerTlsCertificate {
21888	s.SignatureAlgorithm = &v
21889	return s
21890}
21891
21892// SetStatus sets the Status field's value.
21893func (s *LoadBalancerTlsCertificate) SetStatus(v string) *LoadBalancerTlsCertificate {
21894	s.Status = &v
21895	return s
21896}
21897
21898// SetSubject sets the Subject field's value.
21899func (s *LoadBalancerTlsCertificate) SetSubject(v string) *LoadBalancerTlsCertificate {
21900	s.Subject = &v
21901	return s
21902}
21903
21904// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
21905func (s *LoadBalancerTlsCertificate) SetSubjectAlternativeNames(v []*string) *LoadBalancerTlsCertificate {
21906	s.SubjectAlternativeNames = v
21907	return s
21908}
21909
21910// SetSupportCode sets the SupportCode field's value.
21911func (s *LoadBalancerTlsCertificate) SetSupportCode(v string) *LoadBalancerTlsCertificate {
21912	s.SupportCode = &v
21913	return s
21914}
21915
21916// SetTags sets the Tags field's value.
21917func (s *LoadBalancerTlsCertificate) SetTags(v []*Tag) *LoadBalancerTlsCertificate {
21918	s.Tags = v
21919	return s
21920}
21921
21922// Contains information about the domain names on an SSL/TLS certificate that
21923// you will use to validate domain ownership.
21924type LoadBalancerTlsCertificateDomainValidationOption struct {
21925	_ struct{} `type:"structure"`
21926
21927	// The fully qualified domain name in the certificate request.
21928	DomainName *string `locationName:"domainName" type:"string"`
21929
21930	// The status of the domain validation. Valid values are listed below.
21931	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
21932}
21933
21934// String returns the string representation
21935func (s LoadBalancerTlsCertificateDomainValidationOption) String() string {
21936	return awsutil.Prettify(s)
21937}
21938
21939// GoString returns the string representation
21940func (s LoadBalancerTlsCertificateDomainValidationOption) GoString() string {
21941	return s.String()
21942}
21943
21944// SetDomainName sets the DomainName field's value.
21945func (s *LoadBalancerTlsCertificateDomainValidationOption) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationOption {
21946	s.DomainName = &v
21947	return s
21948}
21949
21950// SetValidationStatus sets the ValidationStatus field's value.
21951func (s *LoadBalancerTlsCertificateDomainValidationOption) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationOption {
21952	s.ValidationStatus = &v
21953	return s
21954}
21955
21956// Describes the validation record of each domain name in the SSL/TLS certificate.
21957type LoadBalancerTlsCertificateDomainValidationRecord struct {
21958	_ struct{} `type:"structure"`
21959
21960	// The domain name against which your SSL/TLS certificate was validated.
21961	DomainName *string `locationName:"domainName" type:"string"`
21962
21963	// A fully qualified domain name in the certificate. For example, example.com.
21964	Name *string `locationName:"name" type:"string"`
21965
21966	// The type of validation record. For example, CNAME for domain validation.
21967	Type *string `locationName:"type" type:"string"`
21968
21969	// The validation status. Valid values are listed below.
21970	ValidationStatus *string `locationName:"validationStatus" type:"string" enum:"LoadBalancerTlsCertificateDomainStatus"`
21971
21972	// The value for that type.
21973	Value *string `locationName:"value" type:"string"`
21974}
21975
21976// String returns the string representation
21977func (s LoadBalancerTlsCertificateDomainValidationRecord) String() string {
21978	return awsutil.Prettify(s)
21979}
21980
21981// GoString returns the string representation
21982func (s LoadBalancerTlsCertificateDomainValidationRecord) GoString() string {
21983	return s.String()
21984}
21985
21986// SetDomainName sets the DomainName field's value.
21987func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetDomainName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
21988	s.DomainName = &v
21989	return s
21990}
21991
21992// SetName sets the Name field's value.
21993func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetName(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
21994	s.Name = &v
21995	return s
21996}
21997
21998// SetType sets the Type field's value.
21999func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetType(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
22000	s.Type = &v
22001	return s
22002}
22003
22004// SetValidationStatus sets the ValidationStatus field's value.
22005func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValidationStatus(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
22006	s.ValidationStatus = &v
22007	return s
22008}
22009
22010// SetValue sets the Value field's value.
22011func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *LoadBalancerTlsCertificateDomainValidationRecord {
22012	s.Value = &v
22013	return s
22014}
22015
22016// Contains information about the status of Lightsail's managed renewal for
22017// the certificate.
22018type LoadBalancerTlsCertificateRenewalSummary struct {
22019	_ struct{} `type:"structure"`
22020
22021	// Contains information about the validation of each domain name in the certificate,
22022	// as it pertains to Lightsail's managed renewal. This is different from the
22023	// initial validation that occurs as a result of the RequestCertificate request.
22024	DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"`
22025
22026	// The status of Lightsail's managed renewal of the certificate. Valid values
22027	// are listed below.
22028	RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"`
22029}
22030
22031// String returns the string representation
22032func (s LoadBalancerTlsCertificateRenewalSummary) String() string {
22033	return awsutil.Prettify(s)
22034}
22035
22036// GoString returns the string representation
22037func (s LoadBalancerTlsCertificateRenewalSummary) GoString() string {
22038	return s.String()
22039}
22040
22041// SetDomainValidationOptions sets the DomainValidationOptions field's value.
22042func (s *LoadBalancerTlsCertificateRenewalSummary) SetDomainValidationOptions(v []*LoadBalancerTlsCertificateDomainValidationOption) *LoadBalancerTlsCertificateRenewalSummary {
22043	s.DomainValidationOptions = v
22044	return s
22045}
22046
22047// SetRenewalStatus sets the RenewalStatus field's value.
22048func (s *LoadBalancerTlsCertificateRenewalSummary) SetRenewalStatus(v string) *LoadBalancerTlsCertificateRenewalSummary {
22049	s.RenewalStatus = &v
22050	return s
22051}
22052
22053// Provides a summary of SSL/TLS certificate metadata.
22054type LoadBalancerTlsCertificateSummary struct {
22055	_ struct{} `type:"structure"`
22056
22057	// When true, the SSL/TLS certificate is attached to the Lightsail load balancer.
22058	IsAttached *bool `locationName:"isAttached" type:"boolean"`
22059
22060	// The name of the SSL/TLS certificate.
22061	Name *string `locationName:"name" type:"string"`
22062}
22063
22064// String returns the string representation
22065func (s LoadBalancerTlsCertificateSummary) String() string {
22066	return awsutil.Prettify(s)
22067}
22068
22069// GoString returns the string representation
22070func (s LoadBalancerTlsCertificateSummary) GoString() string {
22071	return s.String()
22072}
22073
22074// SetIsAttached sets the IsAttached field's value.
22075func (s *LoadBalancerTlsCertificateSummary) SetIsAttached(v bool) *LoadBalancerTlsCertificateSummary {
22076	s.IsAttached = &v
22077	return s
22078}
22079
22080// SetName sets the Name field's value.
22081func (s *LoadBalancerTlsCertificateSummary) SetName(v string) *LoadBalancerTlsCertificateSummary {
22082	s.Name = &v
22083	return s
22084}
22085
22086// Describes a database log event.
22087type LogEvent struct {
22088	_ struct{} `type:"structure"`
22089
22090	// The timestamp when the database log event was created.
22091	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22092
22093	// The message of the database log event.
22094	Message *string `locationName:"message" type:"string"`
22095}
22096
22097// String returns the string representation
22098func (s LogEvent) String() string {
22099	return awsutil.Prettify(s)
22100}
22101
22102// GoString returns the string representation
22103func (s LogEvent) GoString() string {
22104	return s.String()
22105}
22106
22107// SetCreatedAt sets the CreatedAt field's value.
22108func (s *LogEvent) SetCreatedAt(v time.Time) *LogEvent {
22109	s.CreatedAt = &v
22110	return s
22111}
22112
22113// SetMessage sets the Message field's value.
22114func (s *LogEvent) SetMessage(v string) *LogEvent {
22115	s.Message = &v
22116	return s
22117}
22118
22119// Describes the metric data point.
22120type MetricDatapoint struct {
22121	_ struct{} `type:"structure"`
22122
22123	// The average.
22124	Average *float64 `locationName:"average" type:"double"`
22125
22126	// The maximum.
22127	Maximum *float64 `locationName:"maximum" type:"double"`
22128
22129	// The minimum.
22130	Minimum *float64 `locationName:"minimum" type:"double"`
22131
22132	// The sample count.
22133	SampleCount *float64 `locationName:"sampleCount" type:"double"`
22134
22135	// The sum.
22136	Sum *float64 `locationName:"sum" type:"double"`
22137
22138	// The timestamp (e.g., 1479816991.349).
22139	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
22140
22141	// The unit.
22142	Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"`
22143}
22144
22145// String returns the string representation
22146func (s MetricDatapoint) String() string {
22147	return awsutil.Prettify(s)
22148}
22149
22150// GoString returns the string representation
22151func (s MetricDatapoint) GoString() string {
22152	return s.String()
22153}
22154
22155// SetAverage sets the Average field's value.
22156func (s *MetricDatapoint) SetAverage(v float64) *MetricDatapoint {
22157	s.Average = &v
22158	return s
22159}
22160
22161// SetMaximum sets the Maximum field's value.
22162func (s *MetricDatapoint) SetMaximum(v float64) *MetricDatapoint {
22163	s.Maximum = &v
22164	return s
22165}
22166
22167// SetMinimum sets the Minimum field's value.
22168func (s *MetricDatapoint) SetMinimum(v float64) *MetricDatapoint {
22169	s.Minimum = &v
22170	return s
22171}
22172
22173// SetSampleCount sets the SampleCount field's value.
22174func (s *MetricDatapoint) SetSampleCount(v float64) *MetricDatapoint {
22175	s.SampleCount = &v
22176	return s
22177}
22178
22179// SetSum sets the Sum field's value.
22180func (s *MetricDatapoint) SetSum(v float64) *MetricDatapoint {
22181	s.Sum = &v
22182	return s
22183}
22184
22185// SetTimestamp sets the Timestamp field's value.
22186func (s *MetricDatapoint) SetTimestamp(v time.Time) *MetricDatapoint {
22187	s.Timestamp = &v
22188	return s
22189}
22190
22191// SetUnit sets the Unit field's value.
22192func (s *MetricDatapoint) SetUnit(v string) *MetricDatapoint {
22193	s.Unit = &v
22194	return s
22195}
22196
22197// Describes the monthly data transfer in and out of your virtual private server
22198// (or instance).
22199type MonthlyTransfer struct {
22200	_ struct{} `type:"structure"`
22201
22202	// The amount allocated per month (in GB).
22203	GbPerMonthAllocated *int64 `locationName:"gbPerMonthAllocated" type:"integer"`
22204}
22205
22206// String returns the string representation
22207func (s MonthlyTransfer) String() string {
22208	return awsutil.Prettify(s)
22209}
22210
22211// GoString returns the string representation
22212func (s MonthlyTransfer) GoString() string {
22213	return s.String()
22214}
22215
22216// SetGbPerMonthAllocated sets the GbPerMonthAllocated field's value.
22217func (s *MonthlyTransfer) SetGbPerMonthAllocated(v int64) *MonthlyTransfer {
22218	s.GbPerMonthAllocated = &v
22219	return s
22220}
22221
22222type OpenInstancePublicPortsInput struct {
22223	_ struct{} `type:"structure"`
22224
22225	// The name of the instance for which you want to open the public ports.
22226	//
22227	// InstanceName is a required field
22228	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22229
22230	// An array of key-value pairs containing information about the port mappings.
22231	//
22232	// PortInfo is a required field
22233	PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"`
22234}
22235
22236// String returns the string representation
22237func (s OpenInstancePublicPortsInput) String() string {
22238	return awsutil.Prettify(s)
22239}
22240
22241// GoString returns the string representation
22242func (s OpenInstancePublicPortsInput) GoString() string {
22243	return s.String()
22244}
22245
22246// Validate inspects the fields of the type to determine if they are valid.
22247func (s *OpenInstancePublicPortsInput) Validate() error {
22248	invalidParams := request.ErrInvalidParams{Context: "OpenInstancePublicPortsInput"}
22249	if s.InstanceName == nil {
22250		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22251	}
22252	if s.PortInfo == nil {
22253		invalidParams.Add(request.NewErrParamRequired("PortInfo"))
22254	}
22255
22256	if invalidParams.Len() > 0 {
22257		return invalidParams
22258	}
22259	return nil
22260}
22261
22262// SetInstanceName sets the InstanceName field's value.
22263func (s *OpenInstancePublicPortsInput) SetInstanceName(v string) *OpenInstancePublicPortsInput {
22264	s.InstanceName = &v
22265	return s
22266}
22267
22268// SetPortInfo sets the PortInfo field's value.
22269func (s *OpenInstancePublicPortsInput) SetPortInfo(v *PortInfo) *OpenInstancePublicPortsInput {
22270	s.PortInfo = v
22271	return s
22272}
22273
22274type OpenInstancePublicPortsOutput struct {
22275	_ struct{} `type:"structure"`
22276
22277	// An array of key-value pairs containing information about the request operation.
22278	Operation *Operation `locationName:"operation" type:"structure"`
22279}
22280
22281// String returns the string representation
22282func (s OpenInstancePublicPortsOutput) String() string {
22283	return awsutil.Prettify(s)
22284}
22285
22286// GoString returns the string representation
22287func (s OpenInstancePublicPortsOutput) GoString() string {
22288	return s.String()
22289}
22290
22291// SetOperation sets the Operation field's value.
22292func (s *OpenInstancePublicPortsOutput) SetOperation(v *Operation) *OpenInstancePublicPortsOutput {
22293	s.Operation = v
22294	return s
22295}
22296
22297// Describes the API operation.
22298type Operation struct {
22299	_ struct{} `type:"structure"`
22300
22301	// The timestamp when the operation was initialized (e.g., 1479816991.349).
22302	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22303
22304	// The error code.
22305	ErrorCode *string `locationName:"errorCode" type:"string"`
22306
22307	// The error details.
22308	ErrorDetails *string `locationName:"errorDetails" type:"string"`
22309
22310	// The ID of the operation.
22311	Id *string `locationName:"id" type:"string"`
22312
22313	// A Boolean value indicating whether the operation is terminal.
22314	IsTerminal *bool `locationName:"isTerminal" type:"boolean"`
22315
22316	// The AWS Region and Availability Zone.
22317	Location *ResourceLocation `locationName:"location" type:"structure"`
22318
22319	// Details about the operation (e.g., Debian-1GB-Ohio-1).
22320	OperationDetails *string `locationName:"operationDetails" type:"string"`
22321
22322	// The type of operation.
22323	OperationType *string `locationName:"operationType" type:"string" enum:"OperationType"`
22324
22325	// The resource name.
22326	ResourceName *string `locationName:"resourceName" type:"string"`
22327
22328	// The resource type.
22329	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22330
22331	// The status of the operation.
22332	Status *string `locationName:"status" type:"string" enum:"OperationStatus"`
22333
22334	// The timestamp when the status was changed (e.g., 1479816991.349).
22335	StatusChangedAt *time.Time `locationName:"statusChangedAt" type:"timestamp"`
22336}
22337
22338// String returns the string representation
22339func (s Operation) String() string {
22340	return awsutil.Prettify(s)
22341}
22342
22343// GoString returns the string representation
22344func (s Operation) GoString() string {
22345	return s.String()
22346}
22347
22348// SetCreatedAt sets the CreatedAt field's value.
22349func (s *Operation) SetCreatedAt(v time.Time) *Operation {
22350	s.CreatedAt = &v
22351	return s
22352}
22353
22354// SetErrorCode sets the ErrorCode field's value.
22355func (s *Operation) SetErrorCode(v string) *Operation {
22356	s.ErrorCode = &v
22357	return s
22358}
22359
22360// SetErrorDetails sets the ErrorDetails field's value.
22361func (s *Operation) SetErrorDetails(v string) *Operation {
22362	s.ErrorDetails = &v
22363	return s
22364}
22365
22366// SetId sets the Id field's value.
22367func (s *Operation) SetId(v string) *Operation {
22368	s.Id = &v
22369	return s
22370}
22371
22372// SetIsTerminal sets the IsTerminal field's value.
22373func (s *Operation) SetIsTerminal(v bool) *Operation {
22374	s.IsTerminal = &v
22375	return s
22376}
22377
22378// SetLocation sets the Location field's value.
22379func (s *Operation) SetLocation(v *ResourceLocation) *Operation {
22380	s.Location = v
22381	return s
22382}
22383
22384// SetOperationDetails sets the OperationDetails field's value.
22385func (s *Operation) SetOperationDetails(v string) *Operation {
22386	s.OperationDetails = &v
22387	return s
22388}
22389
22390// SetOperationType sets the OperationType field's value.
22391func (s *Operation) SetOperationType(v string) *Operation {
22392	s.OperationType = &v
22393	return s
22394}
22395
22396// SetResourceName sets the ResourceName field's value.
22397func (s *Operation) SetResourceName(v string) *Operation {
22398	s.ResourceName = &v
22399	return s
22400}
22401
22402// SetResourceType sets the ResourceType field's value.
22403func (s *Operation) SetResourceType(v string) *Operation {
22404	s.ResourceType = &v
22405	return s
22406}
22407
22408// SetStatus sets the Status field's value.
22409func (s *Operation) SetStatus(v string) *Operation {
22410	s.Status = &v
22411	return s
22412}
22413
22414// SetStatusChangedAt sets the StatusChangedAt field's value.
22415func (s *Operation) SetStatusChangedAt(v time.Time) *Operation {
22416	s.StatusChangedAt = &v
22417	return s
22418}
22419
22420// The password data for the Windows Server-based instance, including the ciphertext
22421// and the key pair name.
22422type PasswordData struct {
22423	_ struct{} `type:"structure"`
22424
22425	// The encrypted password. Ciphertext will be an empty string if access to your
22426	// new instance is not ready yet. When you create an instance, it can take up
22427	// to 15 minutes for the instance to be ready.
22428	//
22429	// If you use the default key pair (LightsailDefaultKeyPair), the decrypted
22430	// password will be available in the password field.
22431	//
22432	// If you are using a custom key pair, you need to use your own means of decryption.
22433	//
22434	// If you change the Administrator password on the instance, Lightsail will
22435	// continue to return the original ciphertext value. When accessing the instance
22436	// using RDP, you need to manually enter the Administrator password after changing
22437	// it from the default.
22438	Ciphertext *string `locationName:"ciphertext" type:"string"`
22439
22440	// The name of the key pair that you used when creating your instance. If no
22441	// key pair name was specified when creating the instance, Lightsail uses the
22442	// default key pair (LightsailDefaultKeyPair).
22443	//
22444	// If you are using a custom key pair, you need to use your own means of decrypting
22445	// your password using the ciphertext. Lightsail creates the ciphertext by encrypting
22446	// your password with the public key part of this key pair.
22447	KeyPairName *string `locationName:"keyPairName" type:"string"`
22448}
22449
22450// String returns the string representation
22451func (s PasswordData) String() string {
22452	return awsutil.Prettify(s)
22453}
22454
22455// GoString returns the string representation
22456func (s PasswordData) GoString() string {
22457	return s.String()
22458}
22459
22460// SetCiphertext sets the Ciphertext field's value.
22461func (s *PasswordData) SetCiphertext(v string) *PasswordData {
22462	s.Ciphertext = &v
22463	return s
22464}
22465
22466// SetKeyPairName sets the KeyPairName field's value.
22467func (s *PasswordData) SetKeyPairName(v string) *PasswordData {
22468	s.KeyPairName = &v
22469	return s
22470}
22471
22472type PeerVpcInput struct {
22473	_ struct{} `type:"structure"`
22474}
22475
22476// String returns the string representation
22477func (s PeerVpcInput) String() string {
22478	return awsutil.Prettify(s)
22479}
22480
22481// GoString returns the string representation
22482func (s PeerVpcInput) GoString() string {
22483	return s.String()
22484}
22485
22486type PeerVpcOutput struct {
22487	_ struct{} `type:"structure"`
22488
22489	// An array of key-value pairs containing information about the request operation.
22490	Operation *Operation `locationName:"operation" type:"structure"`
22491}
22492
22493// String returns the string representation
22494func (s PeerVpcOutput) String() string {
22495	return awsutil.Prettify(s)
22496}
22497
22498// GoString returns the string representation
22499func (s PeerVpcOutput) GoString() string {
22500	return s.String()
22501}
22502
22503// SetOperation sets the Operation field's value.
22504func (s *PeerVpcOutput) SetOperation(v *Operation) *PeerVpcOutput {
22505	s.Operation = v
22506	return s
22507}
22508
22509// Describes a pending database maintenance action.
22510type PendingMaintenanceAction struct {
22511	_ struct{} `type:"structure"`
22512
22513	// The type of pending database maintenance action.
22514	Action *string `locationName:"action" type:"string"`
22515
22516	// The effective date of the pending database maintenance action.
22517	CurrentApplyDate *time.Time `locationName:"currentApplyDate" type:"timestamp"`
22518
22519	// Additional detail about the pending database maintenance action.
22520	Description *string `locationName:"description" type:"string"`
22521}
22522
22523// String returns the string representation
22524func (s PendingMaintenanceAction) String() string {
22525	return awsutil.Prettify(s)
22526}
22527
22528// GoString returns the string representation
22529func (s PendingMaintenanceAction) GoString() string {
22530	return s.String()
22531}
22532
22533// SetAction sets the Action field's value.
22534func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
22535	s.Action = &v
22536	return s
22537}
22538
22539// SetCurrentApplyDate sets the CurrentApplyDate field's value.
22540func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
22541	s.CurrentApplyDate = &v
22542	return s
22543}
22544
22545// SetDescription sets the Description field's value.
22546func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
22547	s.Description = &v
22548	return s
22549}
22550
22551// Describes a pending database value modification.
22552type PendingModifiedRelationalDatabaseValues struct {
22553	_ struct{} `type:"structure"`
22554
22555	// A Boolean value indicating whether automated backup retention is enabled.
22556	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
22557
22558	// The database engine version.
22559	EngineVersion *string `locationName:"engineVersion" type:"string"`
22560
22561	// The password for the master user of the database.
22562	MasterUserPassword *string `locationName:"masterUserPassword" type:"string"`
22563}
22564
22565// String returns the string representation
22566func (s PendingModifiedRelationalDatabaseValues) String() string {
22567	return awsutil.Prettify(s)
22568}
22569
22570// GoString returns the string representation
22571func (s PendingModifiedRelationalDatabaseValues) GoString() string {
22572	return s.String()
22573}
22574
22575// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
22576func (s *PendingModifiedRelationalDatabaseValues) SetBackupRetentionEnabled(v bool) *PendingModifiedRelationalDatabaseValues {
22577	s.BackupRetentionEnabled = &v
22578	return s
22579}
22580
22581// SetEngineVersion sets the EngineVersion field's value.
22582func (s *PendingModifiedRelationalDatabaseValues) SetEngineVersion(v string) *PendingModifiedRelationalDatabaseValues {
22583	s.EngineVersion = &v
22584	return s
22585}
22586
22587// SetMasterUserPassword sets the MasterUserPassword field's value.
22588func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string) *PendingModifiedRelationalDatabaseValues {
22589	s.MasterUserPassword = &v
22590	return s
22591}
22592
22593// Describes information about the ports on your virtual private server (or
22594// instance).
22595type PortInfo struct {
22596	_ struct{} `type:"structure"`
22597
22598	// The first port in the range.
22599	FromPort *int64 `locationName:"fromPort" type:"integer"`
22600
22601	// The protocol.
22602	Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"`
22603
22604	// The last port in the range.
22605	ToPort *int64 `locationName:"toPort" type:"integer"`
22606}
22607
22608// String returns the string representation
22609func (s PortInfo) String() string {
22610	return awsutil.Prettify(s)
22611}
22612
22613// GoString returns the string representation
22614func (s PortInfo) GoString() string {
22615	return s.String()
22616}
22617
22618// SetFromPort sets the FromPort field's value.
22619func (s *PortInfo) SetFromPort(v int64) *PortInfo {
22620	s.FromPort = &v
22621	return s
22622}
22623
22624// SetProtocol sets the Protocol field's value.
22625func (s *PortInfo) SetProtocol(v string) *PortInfo {
22626	s.Protocol = &v
22627	return s
22628}
22629
22630// SetToPort sets the ToPort field's value.
22631func (s *PortInfo) SetToPort(v int64) *PortInfo {
22632	s.ToPort = &v
22633	return s
22634}
22635
22636type PutInstancePublicPortsInput struct {
22637	_ struct{} `type:"structure"`
22638
22639	// The Lightsail instance name of the public port(s) you are setting.
22640	//
22641	// InstanceName is a required field
22642	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
22643
22644	// Specifies information about the public port(s).
22645	//
22646	// PortInfos is a required field
22647	PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"`
22648}
22649
22650// String returns the string representation
22651func (s PutInstancePublicPortsInput) String() string {
22652	return awsutil.Prettify(s)
22653}
22654
22655// GoString returns the string representation
22656func (s PutInstancePublicPortsInput) GoString() string {
22657	return s.String()
22658}
22659
22660// Validate inspects the fields of the type to determine if they are valid.
22661func (s *PutInstancePublicPortsInput) Validate() error {
22662	invalidParams := request.ErrInvalidParams{Context: "PutInstancePublicPortsInput"}
22663	if s.InstanceName == nil {
22664		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
22665	}
22666	if s.PortInfos == nil {
22667		invalidParams.Add(request.NewErrParamRequired("PortInfos"))
22668	}
22669
22670	if invalidParams.Len() > 0 {
22671		return invalidParams
22672	}
22673	return nil
22674}
22675
22676// SetInstanceName sets the InstanceName field's value.
22677func (s *PutInstancePublicPortsInput) SetInstanceName(v string) *PutInstancePublicPortsInput {
22678	s.InstanceName = &v
22679	return s
22680}
22681
22682// SetPortInfos sets the PortInfos field's value.
22683func (s *PutInstancePublicPortsInput) SetPortInfos(v []*PortInfo) *PutInstancePublicPortsInput {
22684	s.PortInfos = v
22685	return s
22686}
22687
22688type PutInstancePublicPortsOutput struct {
22689	_ struct{} `type:"structure"`
22690
22691	// Describes metadata about the operation you just executed.
22692	Operation *Operation `locationName:"operation" type:"structure"`
22693}
22694
22695// String returns the string representation
22696func (s PutInstancePublicPortsOutput) String() string {
22697	return awsutil.Prettify(s)
22698}
22699
22700// GoString returns the string representation
22701func (s PutInstancePublicPortsOutput) GoString() string {
22702	return s.String()
22703}
22704
22705// SetOperation sets the Operation field's value.
22706func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePublicPortsOutput {
22707	s.Operation = v
22708	return s
22709}
22710
22711type RebootInstanceInput struct {
22712	_ struct{} `type:"structure"`
22713
22714	// The name of the instance to reboot.
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 RebootInstanceInput) String() string {
22722	return awsutil.Prettify(s)
22723}
22724
22725// GoString returns the string representation
22726func (s RebootInstanceInput) GoString() string {
22727	return s.String()
22728}
22729
22730// Validate inspects the fields of the type to determine if they are valid.
22731func (s *RebootInstanceInput) Validate() error {
22732	invalidParams := request.ErrInvalidParams{Context: "RebootInstanceInput"}
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 *RebootInstanceInput) SetInstanceName(v string) *RebootInstanceInput {
22745	s.InstanceName = &v
22746	return s
22747}
22748
22749type RebootInstanceOutput struct {
22750	_ struct{} `type:"structure"`
22751
22752	// An array of key-value pairs containing information about the request operations.
22753	Operations []*Operation `locationName:"operations" type:"list"`
22754}
22755
22756// String returns the string representation
22757func (s RebootInstanceOutput) String() string {
22758	return awsutil.Prettify(s)
22759}
22760
22761// GoString returns the string representation
22762func (s RebootInstanceOutput) GoString() string {
22763	return s.String()
22764}
22765
22766// SetOperations sets the Operations field's value.
22767func (s *RebootInstanceOutput) SetOperations(v []*Operation) *RebootInstanceOutput {
22768	s.Operations = v
22769	return s
22770}
22771
22772type RebootRelationalDatabaseInput struct {
22773	_ struct{} `type:"structure"`
22774
22775	// The name of your database to reboot.
22776	//
22777	// RelationalDatabaseName is a required field
22778	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
22779}
22780
22781// String returns the string representation
22782func (s RebootRelationalDatabaseInput) String() string {
22783	return awsutil.Prettify(s)
22784}
22785
22786// GoString returns the string representation
22787func (s RebootRelationalDatabaseInput) GoString() string {
22788	return s.String()
22789}
22790
22791// Validate inspects the fields of the type to determine if they are valid.
22792func (s *RebootRelationalDatabaseInput) Validate() error {
22793	invalidParams := request.ErrInvalidParams{Context: "RebootRelationalDatabaseInput"}
22794	if s.RelationalDatabaseName == nil {
22795		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
22796	}
22797
22798	if invalidParams.Len() > 0 {
22799		return invalidParams
22800	}
22801	return nil
22802}
22803
22804// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
22805func (s *RebootRelationalDatabaseInput) SetRelationalDatabaseName(v string) *RebootRelationalDatabaseInput {
22806	s.RelationalDatabaseName = &v
22807	return s
22808}
22809
22810type RebootRelationalDatabaseOutput struct {
22811	_ struct{} `type:"structure"`
22812
22813	// An object describing the result of your reboot relational database request.
22814	Operations []*Operation `locationName:"operations" type:"list"`
22815}
22816
22817// String returns the string representation
22818func (s RebootRelationalDatabaseOutput) String() string {
22819	return awsutil.Prettify(s)
22820}
22821
22822// GoString returns the string representation
22823func (s RebootRelationalDatabaseOutput) GoString() string {
22824	return s.String()
22825}
22826
22827// SetOperations sets the Operations field's value.
22828func (s *RebootRelationalDatabaseOutput) SetOperations(v []*Operation) *RebootRelationalDatabaseOutput {
22829	s.Operations = v
22830	return s
22831}
22832
22833// Describes the AWS Region.
22834type Region struct {
22835	_ struct{} `type:"structure"`
22836
22837	// The Availability Zones. Follows the format us-east-2a (case-sensitive).
22838	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZones" type:"list"`
22839
22840	// The continent code (e.g., NA, meaning North America).
22841	ContinentCode *string `locationName:"continentCode" type:"string"`
22842
22843	// The description of the AWS Region (e.g., This region is recommended to serve
22844	// users in the eastern United States and eastern Canada).
22845	Description *string `locationName:"description" type:"string"`
22846
22847	// The display name (e.g., Ohio).
22848	DisplayName *string `locationName:"displayName" type:"string"`
22849
22850	// The region name (e.g., us-east-2).
22851	Name *string `locationName:"name" type:"string" enum:"RegionName"`
22852
22853	// The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).
22854	RelationalDatabaseAvailabilityZones []*AvailabilityZone `locationName:"relationalDatabaseAvailabilityZones" type:"list"`
22855}
22856
22857// String returns the string representation
22858func (s Region) String() string {
22859	return awsutil.Prettify(s)
22860}
22861
22862// GoString returns the string representation
22863func (s Region) GoString() string {
22864	return s.String()
22865}
22866
22867// SetAvailabilityZones sets the AvailabilityZones field's value.
22868func (s *Region) SetAvailabilityZones(v []*AvailabilityZone) *Region {
22869	s.AvailabilityZones = v
22870	return s
22871}
22872
22873// SetContinentCode sets the ContinentCode field's value.
22874func (s *Region) SetContinentCode(v string) *Region {
22875	s.ContinentCode = &v
22876	return s
22877}
22878
22879// SetDescription sets the Description field's value.
22880func (s *Region) SetDescription(v string) *Region {
22881	s.Description = &v
22882	return s
22883}
22884
22885// SetDisplayName sets the DisplayName field's value.
22886func (s *Region) SetDisplayName(v string) *Region {
22887	s.DisplayName = &v
22888	return s
22889}
22890
22891// SetName sets the Name field's value.
22892func (s *Region) SetName(v string) *Region {
22893	s.Name = &v
22894	return s
22895}
22896
22897// SetRelationalDatabaseAvailabilityZones sets the RelationalDatabaseAvailabilityZones field's value.
22898func (s *Region) SetRelationalDatabaseAvailabilityZones(v []*AvailabilityZone) *Region {
22899	s.RelationalDatabaseAvailabilityZones = v
22900	return s
22901}
22902
22903// Describes a database.
22904type RelationalDatabase struct {
22905	_ struct{} `type:"structure"`
22906
22907	// The Amazon Resource Name (ARN) of the database.
22908	Arn *string `locationName:"arn" type:"string"`
22909
22910	// A Boolean value indicating whether automated backup retention is enabled
22911	// for the database.
22912	BackupRetentionEnabled *bool `locationName:"backupRetentionEnabled" type:"boolean"`
22913
22914	// The certificate associated with the database.
22915	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
22916
22917	// The timestamp when the database was created. Formatted in Unix time.
22918	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
22919
22920	// The database software (for example, MySQL).
22921	Engine *string `locationName:"engine" type:"string"`
22922
22923	// The database engine version (for example, 5.7.23).
22924	EngineVersion *string `locationName:"engineVersion" type:"string"`
22925
22926	// Describes the hardware of the database.
22927	Hardware *RelationalDatabaseHardware `locationName:"hardware" type:"structure"`
22928
22929	// The latest point in time to which the database can be restored. Formatted
22930	// in Unix time.
22931	LatestRestorableTime *time.Time `locationName:"latestRestorableTime" type:"timestamp"`
22932
22933	// The Region name and Availability Zone where the database is located.
22934	Location *ResourceLocation `locationName:"location" type:"structure"`
22935
22936	// The name of the master database created when the Lightsail database resource
22937	// is created.
22938	MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string"`
22939
22940	// The master endpoint for the database.
22941	MasterEndpoint *RelationalDatabaseEndpoint `locationName:"masterEndpoint" type:"structure"`
22942
22943	// The master user name of the database.
22944	MasterUsername *string `locationName:"masterUsername" type:"string"`
22945
22946	// The unique name of the database resource in Lightsail.
22947	Name *string `locationName:"name" type:"string"`
22948
22949	// The status of parameter updates for the database.
22950	ParameterApplyStatus *string `locationName:"parameterApplyStatus" type:"string"`
22951
22952	// Describes the pending maintenance actions for the database.
22953	PendingMaintenanceActions []*PendingMaintenanceAction `locationName:"pendingMaintenanceActions" type:"list"`
22954
22955	// Describes pending database value modifications.
22956	PendingModifiedValues *PendingModifiedRelationalDatabaseValues `locationName:"pendingModifiedValues" type:"structure"`
22957
22958	// The daily time range during which automated backups are created for the database
22959	// (for example, 16:00-16:30).
22960	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
22961
22962	// The weekly time range during which system maintenance can occur on the database.
22963	//
22964	// In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.
22965	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
22966
22967	// A Boolean value indicating whether the database is publicly accessible.
22968	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
22969
22970	// The blueprint ID for the database. A blueprint describes the major engine
22971	// version of a database.
22972	RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string"`
22973
22974	// The bundle ID for the database. A bundle describes the performance specifications
22975	// for your database.
22976	RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"`
22977
22978	// The Lightsail resource type for the database (for example, RelationalDatabase).
22979	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22980
22981	// Describes the secondary Availability Zone of a high availability database.
22982	//
22983	// The secondary database is used for failover support of a high availability
22984	// database.
22985	SecondaryAvailabilityZone *string `locationName:"secondaryAvailabilityZone" type:"string"`
22986
22987	// Describes the current state of the database.
22988	State *string `locationName:"state" type:"string"`
22989
22990	// The support code for the database. Include this code in your email to support
22991	// when you have questions about a database in Lightsail. This code enables
22992	// our support team to look up your Lightsail information more easily.
22993	SupportCode *string `locationName:"supportCode" type:"string"`
22994
22995	// The tag keys and optional values for the resource. For more information about
22996	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
22997	Tags []*Tag `locationName:"tags" type:"list"`
22998}
22999
23000// String returns the string representation
23001func (s RelationalDatabase) String() string {
23002	return awsutil.Prettify(s)
23003}
23004
23005// GoString returns the string representation
23006func (s RelationalDatabase) GoString() string {
23007	return s.String()
23008}
23009
23010// SetArn sets the Arn field's value.
23011func (s *RelationalDatabase) SetArn(v string) *RelationalDatabase {
23012	s.Arn = &v
23013	return s
23014}
23015
23016// SetBackupRetentionEnabled sets the BackupRetentionEnabled field's value.
23017func (s *RelationalDatabase) SetBackupRetentionEnabled(v bool) *RelationalDatabase {
23018	s.BackupRetentionEnabled = &v
23019	return s
23020}
23021
23022// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
23023func (s *RelationalDatabase) SetCaCertificateIdentifier(v string) *RelationalDatabase {
23024	s.CaCertificateIdentifier = &v
23025	return s
23026}
23027
23028// SetCreatedAt sets the CreatedAt field's value.
23029func (s *RelationalDatabase) SetCreatedAt(v time.Time) *RelationalDatabase {
23030	s.CreatedAt = &v
23031	return s
23032}
23033
23034// SetEngine sets the Engine field's value.
23035func (s *RelationalDatabase) SetEngine(v string) *RelationalDatabase {
23036	s.Engine = &v
23037	return s
23038}
23039
23040// SetEngineVersion sets the EngineVersion field's value.
23041func (s *RelationalDatabase) SetEngineVersion(v string) *RelationalDatabase {
23042	s.EngineVersion = &v
23043	return s
23044}
23045
23046// SetHardware sets the Hardware field's value.
23047func (s *RelationalDatabase) SetHardware(v *RelationalDatabaseHardware) *RelationalDatabase {
23048	s.Hardware = v
23049	return s
23050}
23051
23052// SetLatestRestorableTime sets the LatestRestorableTime field's value.
23053func (s *RelationalDatabase) SetLatestRestorableTime(v time.Time) *RelationalDatabase {
23054	s.LatestRestorableTime = &v
23055	return s
23056}
23057
23058// SetLocation sets the Location field's value.
23059func (s *RelationalDatabase) SetLocation(v *ResourceLocation) *RelationalDatabase {
23060	s.Location = v
23061	return s
23062}
23063
23064// SetMasterDatabaseName sets the MasterDatabaseName field's value.
23065func (s *RelationalDatabase) SetMasterDatabaseName(v string) *RelationalDatabase {
23066	s.MasterDatabaseName = &v
23067	return s
23068}
23069
23070// SetMasterEndpoint sets the MasterEndpoint field's value.
23071func (s *RelationalDatabase) SetMasterEndpoint(v *RelationalDatabaseEndpoint) *RelationalDatabase {
23072	s.MasterEndpoint = v
23073	return s
23074}
23075
23076// SetMasterUsername sets the MasterUsername field's value.
23077func (s *RelationalDatabase) SetMasterUsername(v string) *RelationalDatabase {
23078	s.MasterUsername = &v
23079	return s
23080}
23081
23082// SetName sets the Name field's value.
23083func (s *RelationalDatabase) SetName(v string) *RelationalDatabase {
23084	s.Name = &v
23085	return s
23086}
23087
23088// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
23089func (s *RelationalDatabase) SetParameterApplyStatus(v string) *RelationalDatabase {
23090	s.ParameterApplyStatus = &v
23091	return s
23092}
23093
23094// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
23095func (s *RelationalDatabase) SetPendingMaintenanceActions(v []*PendingMaintenanceAction) *RelationalDatabase {
23096	s.PendingMaintenanceActions = v
23097	return s
23098}
23099
23100// SetPendingModifiedValues sets the PendingModifiedValues field's value.
23101func (s *RelationalDatabase) SetPendingModifiedValues(v *PendingModifiedRelationalDatabaseValues) *RelationalDatabase {
23102	s.PendingModifiedValues = v
23103	return s
23104}
23105
23106// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23107func (s *RelationalDatabase) SetPreferredBackupWindow(v string) *RelationalDatabase {
23108	s.PreferredBackupWindow = &v
23109	return s
23110}
23111
23112// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23113func (s *RelationalDatabase) SetPreferredMaintenanceWindow(v string) *RelationalDatabase {
23114	s.PreferredMaintenanceWindow = &v
23115	return s
23116}
23117
23118// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23119func (s *RelationalDatabase) SetPubliclyAccessible(v bool) *RelationalDatabase {
23120	s.PubliclyAccessible = &v
23121	return s
23122}
23123
23124// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value.
23125func (s *RelationalDatabase) SetRelationalDatabaseBlueprintId(v string) *RelationalDatabase {
23126	s.RelationalDatabaseBlueprintId = &v
23127	return s
23128}
23129
23130// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value.
23131func (s *RelationalDatabase) SetRelationalDatabaseBundleId(v string) *RelationalDatabase {
23132	s.RelationalDatabaseBundleId = &v
23133	return s
23134}
23135
23136// SetResourceType sets the ResourceType field's value.
23137func (s *RelationalDatabase) SetResourceType(v string) *RelationalDatabase {
23138	s.ResourceType = &v
23139	return s
23140}
23141
23142// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
23143func (s *RelationalDatabase) SetSecondaryAvailabilityZone(v string) *RelationalDatabase {
23144	s.SecondaryAvailabilityZone = &v
23145	return s
23146}
23147
23148// SetState sets the State field's value.
23149func (s *RelationalDatabase) SetState(v string) *RelationalDatabase {
23150	s.State = &v
23151	return s
23152}
23153
23154// SetSupportCode sets the SupportCode field's value.
23155func (s *RelationalDatabase) SetSupportCode(v string) *RelationalDatabase {
23156	s.SupportCode = &v
23157	return s
23158}
23159
23160// SetTags sets the Tags field's value.
23161func (s *RelationalDatabase) SetTags(v []*Tag) *RelationalDatabase {
23162	s.Tags = v
23163	return s
23164}
23165
23166// Describes a database image, or blueprint. A blueprint describes the major
23167// engine version of a database.
23168type RelationalDatabaseBlueprint struct {
23169	_ struct{} `type:"structure"`
23170
23171	// The ID for the database blueprint.
23172	BlueprintId *string `locationName:"blueprintId" type:"string"`
23173
23174	// The database software of the database blueprint (for example, MySQL).
23175	Engine *string `locationName:"engine" type:"string" enum:"RelationalDatabaseEngine"`
23176
23177	// The description of the database engine for the database blueprint.
23178	EngineDescription *string `locationName:"engineDescription" type:"string"`
23179
23180	// The database engine version for the database blueprint (for example, 5.7.23).
23181	EngineVersion *string `locationName:"engineVersion" type:"string"`
23182
23183	// The description of the database engine version for the database blueprint.
23184	EngineVersionDescription *string `locationName:"engineVersionDescription" type:"string"`
23185
23186	// A Boolean value indicating whether the engine version is the default for
23187	// the database blueprint.
23188	IsEngineDefault *bool `locationName:"isEngineDefault" type:"boolean"`
23189}
23190
23191// String returns the string representation
23192func (s RelationalDatabaseBlueprint) String() string {
23193	return awsutil.Prettify(s)
23194}
23195
23196// GoString returns the string representation
23197func (s RelationalDatabaseBlueprint) GoString() string {
23198	return s.String()
23199}
23200
23201// SetBlueprintId sets the BlueprintId field's value.
23202func (s *RelationalDatabaseBlueprint) SetBlueprintId(v string) *RelationalDatabaseBlueprint {
23203	s.BlueprintId = &v
23204	return s
23205}
23206
23207// SetEngine sets the Engine field's value.
23208func (s *RelationalDatabaseBlueprint) SetEngine(v string) *RelationalDatabaseBlueprint {
23209	s.Engine = &v
23210	return s
23211}
23212
23213// SetEngineDescription sets the EngineDescription field's value.
23214func (s *RelationalDatabaseBlueprint) SetEngineDescription(v string) *RelationalDatabaseBlueprint {
23215	s.EngineDescription = &v
23216	return s
23217}
23218
23219// SetEngineVersion sets the EngineVersion field's value.
23220func (s *RelationalDatabaseBlueprint) SetEngineVersion(v string) *RelationalDatabaseBlueprint {
23221	s.EngineVersion = &v
23222	return s
23223}
23224
23225// SetEngineVersionDescription sets the EngineVersionDescription field's value.
23226func (s *RelationalDatabaseBlueprint) SetEngineVersionDescription(v string) *RelationalDatabaseBlueprint {
23227	s.EngineVersionDescription = &v
23228	return s
23229}
23230
23231// SetIsEngineDefault sets the IsEngineDefault field's value.
23232func (s *RelationalDatabaseBlueprint) SetIsEngineDefault(v bool) *RelationalDatabaseBlueprint {
23233	s.IsEngineDefault = &v
23234	return s
23235}
23236
23237// Describes a database bundle. A bundle describes the performance specifications
23238// of the database.
23239type RelationalDatabaseBundle struct {
23240	_ struct{} `type:"structure"`
23241
23242	// The ID for the database bundle.
23243	BundleId *string `locationName:"bundleId" type:"string"`
23244
23245	// The number of virtual CPUs (vCPUs) for the database bundle.
23246	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
23247
23248	// The size of the disk for the database bundle.
23249	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
23250
23251	// A Boolean value indicating whether the database bundle is active.
23252	IsActive *bool `locationName:"isActive" type:"boolean"`
23253
23254	// A Boolean value indicating whether the database bundle is encrypted.
23255	IsEncrypted *bool `locationName:"isEncrypted" type:"boolean"`
23256
23257	// The name for the database bundle.
23258	Name *string `locationName:"name" type:"string"`
23259
23260	// The cost of the database bundle in US currency.
23261	Price *float64 `locationName:"price" type:"float"`
23262
23263	// The amount of RAM in GB (for example, 2.0) for the database bundle.
23264	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
23265
23266	// The data transfer rate per month in GB for the database bundle.
23267	TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"`
23268}
23269
23270// String returns the string representation
23271func (s RelationalDatabaseBundle) String() string {
23272	return awsutil.Prettify(s)
23273}
23274
23275// GoString returns the string representation
23276func (s RelationalDatabaseBundle) GoString() string {
23277	return s.String()
23278}
23279
23280// SetBundleId sets the BundleId field's value.
23281func (s *RelationalDatabaseBundle) SetBundleId(v string) *RelationalDatabaseBundle {
23282	s.BundleId = &v
23283	return s
23284}
23285
23286// SetCpuCount sets the CpuCount field's value.
23287func (s *RelationalDatabaseBundle) SetCpuCount(v int64) *RelationalDatabaseBundle {
23288	s.CpuCount = &v
23289	return s
23290}
23291
23292// SetDiskSizeInGb sets the DiskSizeInGb field's value.
23293func (s *RelationalDatabaseBundle) SetDiskSizeInGb(v int64) *RelationalDatabaseBundle {
23294	s.DiskSizeInGb = &v
23295	return s
23296}
23297
23298// SetIsActive sets the IsActive field's value.
23299func (s *RelationalDatabaseBundle) SetIsActive(v bool) *RelationalDatabaseBundle {
23300	s.IsActive = &v
23301	return s
23302}
23303
23304// SetIsEncrypted sets the IsEncrypted field's value.
23305func (s *RelationalDatabaseBundle) SetIsEncrypted(v bool) *RelationalDatabaseBundle {
23306	s.IsEncrypted = &v
23307	return s
23308}
23309
23310// SetName sets the Name field's value.
23311func (s *RelationalDatabaseBundle) SetName(v string) *RelationalDatabaseBundle {
23312	s.Name = &v
23313	return s
23314}
23315
23316// SetPrice sets the Price field's value.
23317func (s *RelationalDatabaseBundle) SetPrice(v float64) *RelationalDatabaseBundle {
23318	s.Price = &v
23319	return s
23320}
23321
23322// SetRamSizeInGb sets the RamSizeInGb field's value.
23323func (s *RelationalDatabaseBundle) SetRamSizeInGb(v float64) *RelationalDatabaseBundle {
23324	s.RamSizeInGb = &v
23325	return s
23326}
23327
23328// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value.
23329func (s *RelationalDatabaseBundle) SetTransferPerMonthInGb(v int64) *RelationalDatabaseBundle {
23330	s.TransferPerMonthInGb = &v
23331	return s
23332}
23333
23334// Describes an endpoint for a database.
23335type RelationalDatabaseEndpoint struct {
23336	_ struct{} `type:"structure"`
23337
23338	// Specifies the DNS address of the database.
23339	Address *string `locationName:"address" type:"string"`
23340
23341	// Specifies the port that the database is listening on.
23342	Port *int64 `locationName:"port" type:"integer"`
23343}
23344
23345// String returns the string representation
23346func (s RelationalDatabaseEndpoint) String() string {
23347	return awsutil.Prettify(s)
23348}
23349
23350// GoString returns the string representation
23351func (s RelationalDatabaseEndpoint) GoString() string {
23352	return s.String()
23353}
23354
23355// SetAddress sets the Address field's value.
23356func (s *RelationalDatabaseEndpoint) SetAddress(v string) *RelationalDatabaseEndpoint {
23357	s.Address = &v
23358	return s
23359}
23360
23361// SetPort sets the Port field's value.
23362func (s *RelationalDatabaseEndpoint) SetPort(v int64) *RelationalDatabaseEndpoint {
23363	s.Port = &v
23364	return s
23365}
23366
23367// Describes an event for a database.
23368type RelationalDatabaseEvent struct {
23369	_ struct{} `type:"structure"`
23370
23371	// The timestamp when the database event was created.
23372	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23373
23374	// The category that the database event belongs to.
23375	EventCategories []*string `locationName:"eventCategories" type:"list"`
23376
23377	// The message of the database event.
23378	Message *string `locationName:"message" type:"string"`
23379
23380	// The database that the database event relates to.
23381	Resource *string `locationName:"resource" type:"string"`
23382}
23383
23384// String returns the string representation
23385func (s RelationalDatabaseEvent) String() string {
23386	return awsutil.Prettify(s)
23387}
23388
23389// GoString returns the string representation
23390func (s RelationalDatabaseEvent) GoString() string {
23391	return s.String()
23392}
23393
23394// SetCreatedAt sets the CreatedAt field's value.
23395func (s *RelationalDatabaseEvent) SetCreatedAt(v time.Time) *RelationalDatabaseEvent {
23396	s.CreatedAt = &v
23397	return s
23398}
23399
23400// SetEventCategories sets the EventCategories field's value.
23401func (s *RelationalDatabaseEvent) SetEventCategories(v []*string) *RelationalDatabaseEvent {
23402	s.EventCategories = v
23403	return s
23404}
23405
23406// SetMessage sets the Message field's value.
23407func (s *RelationalDatabaseEvent) SetMessage(v string) *RelationalDatabaseEvent {
23408	s.Message = &v
23409	return s
23410}
23411
23412// SetResource sets the Resource field's value.
23413func (s *RelationalDatabaseEvent) SetResource(v string) *RelationalDatabaseEvent {
23414	s.Resource = &v
23415	return s
23416}
23417
23418// Describes the hardware of a database.
23419type RelationalDatabaseHardware struct {
23420	_ struct{} `type:"structure"`
23421
23422	// The number of vCPUs for the database.
23423	CpuCount *int64 `locationName:"cpuCount" type:"integer"`
23424
23425	// The size of the disk for the database.
23426	DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"`
23427
23428	// The amount of RAM in GB for the database.
23429	RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"`
23430}
23431
23432// String returns the string representation
23433func (s RelationalDatabaseHardware) String() string {
23434	return awsutil.Prettify(s)
23435}
23436
23437// GoString returns the string representation
23438func (s RelationalDatabaseHardware) GoString() string {
23439	return s.String()
23440}
23441
23442// SetCpuCount sets the CpuCount field's value.
23443func (s *RelationalDatabaseHardware) SetCpuCount(v int64) *RelationalDatabaseHardware {
23444	s.CpuCount = &v
23445	return s
23446}
23447
23448// SetDiskSizeInGb sets the DiskSizeInGb field's value.
23449func (s *RelationalDatabaseHardware) SetDiskSizeInGb(v int64) *RelationalDatabaseHardware {
23450	s.DiskSizeInGb = &v
23451	return s
23452}
23453
23454// SetRamSizeInGb sets the RamSizeInGb field's value.
23455func (s *RelationalDatabaseHardware) SetRamSizeInGb(v float64) *RelationalDatabaseHardware {
23456	s.RamSizeInGb = &v
23457	return s
23458}
23459
23460// Describes the parameters of a database.
23461type RelationalDatabaseParameter struct {
23462	_ struct{} `type:"structure"`
23463
23464	// Specifies the valid range of values for the parameter.
23465	AllowedValues *string `locationName:"allowedValues" type:"string"`
23466
23467	// Indicates when parameter updates are applied.
23468	//
23469	// Can be immediate or pending-reboot.
23470	ApplyMethod *string `locationName:"applyMethod" type:"string"`
23471
23472	// Specifies the engine-specific parameter type.
23473	ApplyType *string `locationName:"applyType" type:"string"`
23474
23475	// Specifies the valid data type for the parameter.
23476	DataType *string `locationName:"dataType" type:"string"`
23477
23478	// Provides a description of the parameter.
23479	Description *string `locationName:"description" type:"string"`
23480
23481	// A Boolean value indicating whether the parameter can be modified.
23482	IsModifiable *bool `locationName:"isModifiable" type:"boolean"`
23483
23484	// Specifies the name of the parameter.
23485	ParameterName *string `locationName:"parameterName" type:"string"`
23486
23487	// Specifies the value of the parameter.
23488	ParameterValue *string `locationName:"parameterValue" type:"string"`
23489}
23490
23491// String returns the string representation
23492func (s RelationalDatabaseParameter) String() string {
23493	return awsutil.Prettify(s)
23494}
23495
23496// GoString returns the string representation
23497func (s RelationalDatabaseParameter) GoString() string {
23498	return s.String()
23499}
23500
23501// SetAllowedValues sets the AllowedValues field's value.
23502func (s *RelationalDatabaseParameter) SetAllowedValues(v string) *RelationalDatabaseParameter {
23503	s.AllowedValues = &v
23504	return s
23505}
23506
23507// SetApplyMethod sets the ApplyMethod field's value.
23508func (s *RelationalDatabaseParameter) SetApplyMethod(v string) *RelationalDatabaseParameter {
23509	s.ApplyMethod = &v
23510	return s
23511}
23512
23513// SetApplyType sets the ApplyType field's value.
23514func (s *RelationalDatabaseParameter) SetApplyType(v string) *RelationalDatabaseParameter {
23515	s.ApplyType = &v
23516	return s
23517}
23518
23519// SetDataType sets the DataType field's value.
23520func (s *RelationalDatabaseParameter) SetDataType(v string) *RelationalDatabaseParameter {
23521	s.DataType = &v
23522	return s
23523}
23524
23525// SetDescription sets the Description field's value.
23526func (s *RelationalDatabaseParameter) SetDescription(v string) *RelationalDatabaseParameter {
23527	s.Description = &v
23528	return s
23529}
23530
23531// SetIsModifiable sets the IsModifiable field's value.
23532func (s *RelationalDatabaseParameter) SetIsModifiable(v bool) *RelationalDatabaseParameter {
23533	s.IsModifiable = &v
23534	return s
23535}
23536
23537// SetParameterName sets the ParameterName field's value.
23538func (s *RelationalDatabaseParameter) SetParameterName(v string) *RelationalDatabaseParameter {
23539	s.ParameterName = &v
23540	return s
23541}
23542
23543// SetParameterValue sets the ParameterValue field's value.
23544func (s *RelationalDatabaseParameter) SetParameterValue(v string) *RelationalDatabaseParameter {
23545	s.ParameterValue = &v
23546	return s
23547}
23548
23549// Describes a database snapshot.
23550type RelationalDatabaseSnapshot struct {
23551	_ struct{} `type:"structure"`
23552
23553	// The Amazon Resource Name (ARN) of the database snapshot.
23554	Arn *string `locationName:"arn" type:"string"`
23555
23556	// The timestamp when the database snapshot was created.
23557	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23558
23559	// The software of the database snapshot (for example, MySQL)
23560	Engine *string `locationName:"engine" type:"string"`
23561
23562	// The database engine version for the database snapshot (for example, 5.7.23).
23563	EngineVersion *string `locationName:"engineVersion" type:"string"`
23564
23565	// The Amazon Resource Name (ARN) of the database from which the database snapshot
23566	// was created.
23567	FromRelationalDatabaseArn *string `locationName:"fromRelationalDatabaseArn" type:"string"`
23568
23569	// The blueprint ID of the database from which the database snapshot was created.
23570	// A blueprint describes the major engine version of a database.
23571	FromRelationalDatabaseBlueprintId *string `locationName:"fromRelationalDatabaseBlueprintId" type:"string"`
23572
23573	// The bundle ID of the database from which the database snapshot was created.
23574	FromRelationalDatabaseBundleId *string `locationName:"fromRelationalDatabaseBundleId" type:"string"`
23575
23576	// The name of the source database from which the database snapshot was created.
23577	FromRelationalDatabaseName *string `locationName:"fromRelationalDatabaseName" type:"string"`
23578
23579	// The Region name and Availability Zone where the database snapshot is located.
23580	Location *ResourceLocation `locationName:"location" type:"structure"`
23581
23582	// The name of the database snapshot.
23583	Name *string `locationName:"name" type:"string"`
23584
23585	// The Lightsail resource type.
23586	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23587
23588	// The size of the disk in GB (for example, 32) for the database snapshot.
23589	SizeInGb *int64 `locationName:"sizeInGb" type:"integer"`
23590
23591	// The state of the database snapshot.
23592	State *string `locationName:"state" type:"string"`
23593
23594	// The support code for the database snapshot. Include this code in your email
23595	// to support when you have questions about a database snapshot in Lightsail.
23596	// This code enables our support team to look up your Lightsail information
23597	// more easily.
23598	SupportCode *string `locationName:"supportCode" type:"string"`
23599
23600	// The tag keys and optional values for the resource. For more information about
23601	// tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
23602	Tags []*Tag `locationName:"tags" type:"list"`
23603}
23604
23605// String returns the string representation
23606func (s RelationalDatabaseSnapshot) String() string {
23607	return awsutil.Prettify(s)
23608}
23609
23610// GoString returns the string representation
23611func (s RelationalDatabaseSnapshot) GoString() string {
23612	return s.String()
23613}
23614
23615// SetArn sets the Arn field's value.
23616func (s *RelationalDatabaseSnapshot) SetArn(v string) *RelationalDatabaseSnapshot {
23617	s.Arn = &v
23618	return s
23619}
23620
23621// SetCreatedAt sets the CreatedAt field's value.
23622func (s *RelationalDatabaseSnapshot) SetCreatedAt(v time.Time) *RelationalDatabaseSnapshot {
23623	s.CreatedAt = &v
23624	return s
23625}
23626
23627// SetEngine sets the Engine field's value.
23628func (s *RelationalDatabaseSnapshot) SetEngine(v string) *RelationalDatabaseSnapshot {
23629	s.Engine = &v
23630	return s
23631}
23632
23633// SetEngineVersion sets the EngineVersion field's value.
23634func (s *RelationalDatabaseSnapshot) SetEngineVersion(v string) *RelationalDatabaseSnapshot {
23635	s.EngineVersion = &v
23636	return s
23637}
23638
23639// SetFromRelationalDatabaseArn sets the FromRelationalDatabaseArn field's value.
23640func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseArn(v string) *RelationalDatabaseSnapshot {
23641	s.FromRelationalDatabaseArn = &v
23642	return s
23643}
23644
23645// SetFromRelationalDatabaseBlueprintId sets the FromRelationalDatabaseBlueprintId field's value.
23646func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBlueprintId(v string) *RelationalDatabaseSnapshot {
23647	s.FromRelationalDatabaseBlueprintId = &v
23648	return s
23649}
23650
23651// SetFromRelationalDatabaseBundleId sets the FromRelationalDatabaseBundleId field's value.
23652func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseBundleId(v string) *RelationalDatabaseSnapshot {
23653	s.FromRelationalDatabaseBundleId = &v
23654	return s
23655}
23656
23657// SetFromRelationalDatabaseName sets the FromRelationalDatabaseName field's value.
23658func (s *RelationalDatabaseSnapshot) SetFromRelationalDatabaseName(v string) *RelationalDatabaseSnapshot {
23659	s.FromRelationalDatabaseName = &v
23660	return s
23661}
23662
23663// SetLocation sets the Location field's value.
23664func (s *RelationalDatabaseSnapshot) SetLocation(v *ResourceLocation) *RelationalDatabaseSnapshot {
23665	s.Location = v
23666	return s
23667}
23668
23669// SetName sets the Name field's value.
23670func (s *RelationalDatabaseSnapshot) SetName(v string) *RelationalDatabaseSnapshot {
23671	s.Name = &v
23672	return s
23673}
23674
23675// SetResourceType sets the ResourceType field's value.
23676func (s *RelationalDatabaseSnapshot) SetResourceType(v string) *RelationalDatabaseSnapshot {
23677	s.ResourceType = &v
23678	return s
23679}
23680
23681// SetSizeInGb sets the SizeInGb field's value.
23682func (s *RelationalDatabaseSnapshot) SetSizeInGb(v int64) *RelationalDatabaseSnapshot {
23683	s.SizeInGb = &v
23684	return s
23685}
23686
23687// SetState sets the State field's value.
23688func (s *RelationalDatabaseSnapshot) SetState(v string) *RelationalDatabaseSnapshot {
23689	s.State = &v
23690	return s
23691}
23692
23693// SetSupportCode sets the SupportCode field's value.
23694func (s *RelationalDatabaseSnapshot) SetSupportCode(v string) *RelationalDatabaseSnapshot {
23695	s.SupportCode = &v
23696	return s
23697}
23698
23699// SetTags sets the Tags field's value.
23700func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapshot {
23701	s.Tags = v
23702	return s
23703}
23704
23705type ReleaseStaticIpInput struct {
23706	_ struct{} `type:"structure"`
23707
23708	// The name of the static IP to delete.
23709	//
23710	// StaticIpName is a required field
23711	StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"`
23712}
23713
23714// String returns the string representation
23715func (s ReleaseStaticIpInput) String() string {
23716	return awsutil.Prettify(s)
23717}
23718
23719// GoString returns the string representation
23720func (s ReleaseStaticIpInput) GoString() string {
23721	return s.String()
23722}
23723
23724// Validate inspects the fields of the type to determine if they are valid.
23725func (s *ReleaseStaticIpInput) Validate() error {
23726	invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"}
23727	if s.StaticIpName == nil {
23728		invalidParams.Add(request.NewErrParamRequired("StaticIpName"))
23729	}
23730
23731	if invalidParams.Len() > 0 {
23732		return invalidParams
23733	}
23734	return nil
23735}
23736
23737// SetStaticIpName sets the StaticIpName field's value.
23738func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput {
23739	s.StaticIpName = &v
23740	return s
23741}
23742
23743type ReleaseStaticIpOutput struct {
23744	_ struct{} `type:"structure"`
23745
23746	// An array of key-value pairs containing information about the request operation.
23747	Operations []*Operation `locationName:"operations" type:"list"`
23748}
23749
23750// String returns the string representation
23751func (s ReleaseStaticIpOutput) String() string {
23752	return awsutil.Prettify(s)
23753}
23754
23755// GoString returns the string representation
23756func (s ReleaseStaticIpOutput) GoString() string {
23757	return s.String()
23758}
23759
23760// SetOperations sets the Operations field's value.
23761func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput {
23762	s.Operations = v
23763	return s
23764}
23765
23766// Describes the resource location.
23767type ResourceLocation struct {
23768	_ struct{} `type:"structure"`
23769
23770	// The Availability Zone. Follows the format us-east-2a (case-sensitive).
23771	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
23772
23773	// The AWS Region name.
23774	RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"`
23775}
23776
23777// String returns the string representation
23778func (s ResourceLocation) String() string {
23779	return awsutil.Prettify(s)
23780}
23781
23782// GoString returns the string representation
23783func (s ResourceLocation) GoString() string {
23784	return s.String()
23785}
23786
23787// SetAvailabilityZone sets the AvailabilityZone field's value.
23788func (s *ResourceLocation) SetAvailabilityZone(v string) *ResourceLocation {
23789	s.AvailabilityZone = &v
23790	return s
23791}
23792
23793// SetRegionName sets the RegionName field's value.
23794func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation {
23795	s.RegionName = &v
23796	return s
23797}
23798
23799type StartInstanceInput struct {
23800	_ struct{} `type:"structure"`
23801
23802	// The name of the instance (a virtual private server) to start.
23803	//
23804	// InstanceName is a required field
23805	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
23806}
23807
23808// String returns the string representation
23809func (s StartInstanceInput) String() string {
23810	return awsutil.Prettify(s)
23811}
23812
23813// GoString returns the string representation
23814func (s StartInstanceInput) GoString() string {
23815	return s.String()
23816}
23817
23818// Validate inspects the fields of the type to determine if they are valid.
23819func (s *StartInstanceInput) Validate() error {
23820	invalidParams := request.ErrInvalidParams{Context: "StartInstanceInput"}
23821	if s.InstanceName == nil {
23822		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
23823	}
23824
23825	if invalidParams.Len() > 0 {
23826		return invalidParams
23827	}
23828	return nil
23829}
23830
23831// SetInstanceName sets the InstanceName field's value.
23832func (s *StartInstanceInput) SetInstanceName(v string) *StartInstanceInput {
23833	s.InstanceName = &v
23834	return s
23835}
23836
23837type StartInstanceOutput struct {
23838	_ struct{} `type:"structure"`
23839
23840	// An array of key-value pairs containing information about the request operation.
23841	Operations []*Operation `locationName:"operations" type:"list"`
23842}
23843
23844// String returns the string representation
23845func (s StartInstanceOutput) String() string {
23846	return awsutil.Prettify(s)
23847}
23848
23849// GoString returns the string representation
23850func (s StartInstanceOutput) GoString() string {
23851	return s.String()
23852}
23853
23854// SetOperations sets the Operations field's value.
23855func (s *StartInstanceOutput) SetOperations(v []*Operation) *StartInstanceOutput {
23856	s.Operations = v
23857	return s
23858}
23859
23860type StartRelationalDatabaseInput struct {
23861	_ struct{} `type:"structure"`
23862
23863	// The name of your database to start.
23864	//
23865	// RelationalDatabaseName is a required field
23866	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
23867}
23868
23869// String returns the string representation
23870func (s StartRelationalDatabaseInput) String() string {
23871	return awsutil.Prettify(s)
23872}
23873
23874// GoString returns the string representation
23875func (s StartRelationalDatabaseInput) GoString() string {
23876	return s.String()
23877}
23878
23879// Validate inspects the fields of the type to determine if they are valid.
23880func (s *StartRelationalDatabaseInput) Validate() error {
23881	invalidParams := request.ErrInvalidParams{Context: "StartRelationalDatabaseInput"}
23882	if s.RelationalDatabaseName == nil {
23883		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
23884	}
23885
23886	if invalidParams.Len() > 0 {
23887		return invalidParams
23888	}
23889	return nil
23890}
23891
23892// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
23893func (s *StartRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StartRelationalDatabaseInput {
23894	s.RelationalDatabaseName = &v
23895	return s
23896}
23897
23898type StartRelationalDatabaseOutput struct {
23899	_ struct{} `type:"structure"`
23900
23901	// An object describing the result of your start relational database request.
23902	Operations []*Operation `locationName:"operations" type:"list"`
23903}
23904
23905// String returns the string representation
23906func (s StartRelationalDatabaseOutput) String() string {
23907	return awsutil.Prettify(s)
23908}
23909
23910// GoString returns the string representation
23911func (s StartRelationalDatabaseOutput) GoString() string {
23912	return s.String()
23913}
23914
23915// SetOperations sets the Operations field's value.
23916func (s *StartRelationalDatabaseOutput) SetOperations(v []*Operation) *StartRelationalDatabaseOutput {
23917	s.Operations = v
23918	return s
23919}
23920
23921// Describes the static IP.
23922type StaticIp struct {
23923	_ struct{} `type:"structure"`
23924
23925	// The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).
23926	Arn *string `locationName:"arn" type:"string"`
23927
23928	// The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).
23929	AttachedTo *string `locationName:"attachedTo" type:"string"`
23930
23931	// The timestamp when the static IP was created (e.g., 1479735304.222).
23932	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
23933
23934	// The static IP address.
23935	IpAddress *string `locationName:"ipAddress" type:"string"`
23936
23937	// A Boolean value indicating whether the static IP is attached.
23938	IsAttached *bool `locationName:"isAttached" type:"boolean"`
23939
23940	// The region and Availability Zone where the static IP was created.
23941	Location *ResourceLocation `locationName:"location" type:"structure"`
23942
23943	// The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).
23944	Name *string `locationName:"name" type:"string"`
23945
23946	// The resource type (usually StaticIp).
23947	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23948
23949	// The support code. Include this code in your email to support when you have
23950	// questions about an instance or another resource in Lightsail. This code enables
23951	// our support team to look up your Lightsail information more easily.
23952	SupportCode *string `locationName:"supportCode" type:"string"`
23953}
23954
23955// String returns the string representation
23956func (s StaticIp) String() string {
23957	return awsutil.Prettify(s)
23958}
23959
23960// GoString returns the string representation
23961func (s StaticIp) GoString() string {
23962	return s.String()
23963}
23964
23965// SetArn sets the Arn field's value.
23966func (s *StaticIp) SetArn(v string) *StaticIp {
23967	s.Arn = &v
23968	return s
23969}
23970
23971// SetAttachedTo sets the AttachedTo field's value.
23972func (s *StaticIp) SetAttachedTo(v string) *StaticIp {
23973	s.AttachedTo = &v
23974	return s
23975}
23976
23977// SetCreatedAt sets the CreatedAt field's value.
23978func (s *StaticIp) SetCreatedAt(v time.Time) *StaticIp {
23979	s.CreatedAt = &v
23980	return s
23981}
23982
23983// SetIpAddress sets the IpAddress field's value.
23984func (s *StaticIp) SetIpAddress(v string) *StaticIp {
23985	s.IpAddress = &v
23986	return s
23987}
23988
23989// SetIsAttached sets the IsAttached field's value.
23990func (s *StaticIp) SetIsAttached(v bool) *StaticIp {
23991	s.IsAttached = &v
23992	return s
23993}
23994
23995// SetLocation sets the Location field's value.
23996func (s *StaticIp) SetLocation(v *ResourceLocation) *StaticIp {
23997	s.Location = v
23998	return s
23999}
24000
24001// SetName sets the Name field's value.
24002func (s *StaticIp) SetName(v string) *StaticIp {
24003	s.Name = &v
24004	return s
24005}
24006
24007// SetResourceType sets the ResourceType field's value.
24008func (s *StaticIp) SetResourceType(v string) *StaticIp {
24009	s.ResourceType = &v
24010	return s
24011}
24012
24013// SetSupportCode sets the SupportCode field's value.
24014func (s *StaticIp) SetSupportCode(v string) *StaticIp {
24015	s.SupportCode = &v
24016	return s
24017}
24018
24019type StopInstanceInput struct {
24020	_ struct{} `type:"structure"`
24021
24022	// When set to True, forces a Lightsail instance that is stuck in a stopping
24023	// state to stop.
24024	//
24025	// Only use the force parameter if your instance is stuck in the stopping state.
24026	// In any other state, your instance should stop normally without adding this
24027	// parameter to your API request.
24028	Force *bool `locationName:"force" type:"boolean"`
24029
24030	// The name of the instance (a virtual private server) to stop.
24031	//
24032	// InstanceName is a required field
24033	InstanceName *string `locationName:"instanceName" type:"string" required:"true"`
24034}
24035
24036// String returns the string representation
24037func (s StopInstanceInput) String() string {
24038	return awsutil.Prettify(s)
24039}
24040
24041// GoString returns the string representation
24042func (s StopInstanceInput) GoString() string {
24043	return s.String()
24044}
24045
24046// Validate inspects the fields of the type to determine if they are valid.
24047func (s *StopInstanceInput) Validate() error {
24048	invalidParams := request.ErrInvalidParams{Context: "StopInstanceInput"}
24049	if s.InstanceName == nil {
24050		invalidParams.Add(request.NewErrParamRequired("InstanceName"))
24051	}
24052
24053	if invalidParams.Len() > 0 {
24054		return invalidParams
24055	}
24056	return nil
24057}
24058
24059// SetForce sets the Force field's value.
24060func (s *StopInstanceInput) SetForce(v bool) *StopInstanceInput {
24061	s.Force = &v
24062	return s
24063}
24064
24065// SetInstanceName sets the InstanceName field's value.
24066func (s *StopInstanceInput) SetInstanceName(v string) *StopInstanceInput {
24067	s.InstanceName = &v
24068	return s
24069}
24070
24071type StopInstanceOutput struct {
24072	_ struct{} `type:"structure"`
24073
24074	// An array of key-value pairs containing information about the request operation.
24075	Operations []*Operation `locationName:"operations" type:"list"`
24076}
24077
24078// String returns the string representation
24079func (s StopInstanceOutput) String() string {
24080	return awsutil.Prettify(s)
24081}
24082
24083// GoString returns the string representation
24084func (s StopInstanceOutput) GoString() string {
24085	return s.String()
24086}
24087
24088// SetOperations sets the Operations field's value.
24089func (s *StopInstanceOutput) SetOperations(v []*Operation) *StopInstanceOutput {
24090	s.Operations = v
24091	return s
24092}
24093
24094type StopRelationalDatabaseInput struct {
24095	_ struct{} `type:"structure"`
24096
24097	// The name of your database to stop.
24098	//
24099	// RelationalDatabaseName is a required field
24100	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24101
24102	// The name of your new database snapshot to be created before stopping your
24103	// database.
24104	RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"`
24105}
24106
24107// String returns the string representation
24108func (s StopRelationalDatabaseInput) String() string {
24109	return awsutil.Prettify(s)
24110}
24111
24112// GoString returns the string representation
24113func (s StopRelationalDatabaseInput) GoString() string {
24114	return s.String()
24115}
24116
24117// Validate inspects the fields of the type to determine if they are valid.
24118func (s *StopRelationalDatabaseInput) Validate() error {
24119	invalidParams := request.ErrInvalidParams{Context: "StopRelationalDatabaseInput"}
24120	if s.RelationalDatabaseName == nil {
24121		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24122	}
24123
24124	if invalidParams.Len() > 0 {
24125		return invalidParams
24126	}
24127	return nil
24128}
24129
24130// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24131func (s *StopRelationalDatabaseInput) SetRelationalDatabaseName(v string) *StopRelationalDatabaseInput {
24132	s.RelationalDatabaseName = &v
24133	return s
24134}
24135
24136// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value.
24137func (s *StopRelationalDatabaseInput) SetRelationalDatabaseSnapshotName(v string) *StopRelationalDatabaseInput {
24138	s.RelationalDatabaseSnapshotName = &v
24139	return s
24140}
24141
24142type StopRelationalDatabaseOutput struct {
24143	_ struct{} `type:"structure"`
24144
24145	// An object describing the result of your stop relational database request.
24146	Operations []*Operation `locationName:"operations" type:"list"`
24147}
24148
24149// String returns the string representation
24150func (s StopRelationalDatabaseOutput) String() string {
24151	return awsutil.Prettify(s)
24152}
24153
24154// GoString returns the string representation
24155func (s StopRelationalDatabaseOutput) GoString() string {
24156	return s.String()
24157}
24158
24159// SetOperations sets the Operations field's value.
24160func (s *StopRelationalDatabaseOutput) SetOperations(v []*Operation) *StopRelationalDatabaseOutput {
24161	s.Operations = v
24162	return s
24163}
24164
24165// Describes a tag key and optional value assigned to an Amazon Lightsail resource.
24166//
24167// For more information about tags in Lightsail, see the Lightsail Dev Guide
24168// (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags).
24169type Tag struct {
24170	_ struct{} `type:"structure"`
24171
24172	// The key of the tag.
24173	//
24174	// Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in
24175	// UTF-8, or the following characters: + - = . _ : / @
24176	Key *string `locationName:"key" type:"string"`
24177
24178	// The value of the tag.
24179	//
24180	// Constraints: Tag values accept a maximum of 256 letters, numbers, spaces
24181	// in UTF-8, or the following characters: + - = . _ : / @
24182	Value *string `locationName:"value" type:"string"`
24183}
24184
24185// String returns the string representation
24186func (s Tag) String() string {
24187	return awsutil.Prettify(s)
24188}
24189
24190// GoString returns the string representation
24191func (s Tag) GoString() string {
24192	return s.String()
24193}
24194
24195// SetKey sets the Key field's value.
24196func (s *Tag) SetKey(v string) *Tag {
24197	s.Key = &v
24198	return s
24199}
24200
24201// SetValue sets the Value field's value.
24202func (s *Tag) SetValue(v string) *Tag {
24203	s.Value = &v
24204	return s
24205}
24206
24207type TagResourceInput struct {
24208	_ struct{} `type:"structure"`
24209
24210	// The Amazon Resource Name (ARN) of the resource to which you want to add a
24211	// tag.
24212	ResourceArn *string `locationName:"resourceArn" type:"string"`
24213
24214	// The name of the resource to which you are adding tags.
24215	//
24216	// ResourceName is a required field
24217	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24218
24219	// The tag key and optional value.
24220	//
24221	// Tags is a required field
24222	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
24223}
24224
24225// String returns the string representation
24226func (s TagResourceInput) String() string {
24227	return awsutil.Prettify(s)
24228}
24229
24230// GoString returns the string representation
24231func (s TagResourceInput) GoString() string {
24232	return s.String()
24233}
24234
24235// Validate inspects the fields of the type to determine if they are valid.
24236func (s *TagResourceInput) Validate() error {
24237	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
24238	if s.ResourceName == nil {
24239		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24240	}
24241	if s.Tags == nil {
24242		invalidParams.Add(request.NewErrParamRequired("Tags"))
24243	}
24244
24245	if invalidParams.Len() > 0 {
24246		return invalidParams
24247	}
24248	return nil
24249}
24250
24251// SetResourceArn sets the ResourceArn field's value.
24252func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
24253	s.ResourceArn = &v
24254	return s
24255}
24256
24257// SetResourceName sets the ResourceName field's value.
24258func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput {
24259	s.ResourceName = &v
24260	return s
24261}
24262
24263// SetTags sets the Tags field's value.
24264func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
24265	s.Tags = v
24266	return s
24267}
24268
24269type TagResourceOutput struct {
24270	_ struct{} `type:"structure"`
24271
24272	// A list of objects describing the API operation.
24273	Operations []*Operation `locationName:"operations" type:"list"`
24274}
24275
24276// String returns the string representation
24277func (s TagResourceOutput) String() string {
24278	return awsutil.Prettify(s)
24279}
24280
24281// GoString returns the string representation
24282func (s TagResourceOutput) GoString() string {
24283	return s.String()
24284}
24285
24286// SetOperations sets the Operations field's value.
24287func (s *TagResourceOutput) SetOperations(v []*Operation) *TagResourceOutput {
24288	s.Operations = v
24289	return s
24290}
24291
24292type UnpeerVpcInput struct {
24293	_ struct{} `type:"structure"`
24294}
24295
24296// String returns the string representation
24297func (s UnpeerVpcInput) String() string {
24298	return awsutil.Prettify(s)
24299}
24300
24301// GoString returns the string representation
24302func (s UnpeerVpcInput) GoString() string {
24303	return s.String()
24304}
24305
24306type UnpeerVpcOutput struct {
24307	_ struct{} `type:"structure"`
24308
24309	// An array of key-value pairs containing information about the request operation.
24310	Operation *Operation `locationName:"operation" type:"structure"`
24311}
24312
24313// String returns the string representation
24314func (s UnpeerVpcOutput) String() string {
24315	return awsutil.Prettify(s)
24316}
24317
24318// GoString returns the string representation
24319func (s UnpeerVpcOutput) GoString() string {
24320	return s.String()
24321}
24322
24323// SetOperation sets the Operation field's value.
24324func (s *UnpeerVpcOutput) SetOperation(v *Operation) *UnpeerVpcOutput {
24325	s.Operation = v
24326	return s
24327}
24328
24329type UntagResourceInput struct {
24330	_ struct{} `type:"structure"`
24331
24332	// The Amazon Resource Name (ARN) of the resource from which you want to remove
24333	// a tag.
24334	ResourceArn *string `locationName:"resourceArn" type:"string"`
24335
24336	// The name of the resource from which you are removing a tag.
24337	//
24338	// ResourceName is a required field
24339	ResourceName *string `locationName:"resourceName" type:"string" required:"true"`
24340
24341	// The tag keys to delete from the specified resource.
24342	//
24343	// TagKeys is a required field
24344	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
24345}
24346
24347// String returns the string representation
24348func (s UntagResourceInput) String() string {
24349	return awsutil.Prettify(s)
24350}
24351
24352// GoString returns the string representation
24353func (s UntagResourceInput) GoString() string {
24354	return s.String()
24355}
24356
24357// Validate inspects the fields of the type to determine if they are valid.
24358func (s *UntagResourceInput) Validate() error {
24359	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
24360	if s.ResourceName == nil {
24361		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
24362	}
24363	if s.TagKeys == nil {
24364		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
24365	}
24366
24367	if invalidParams.Len() > 0 {
24368		return invalidParams
24369	}
24370	return nil
24371}
24372
24373// SetResourceArn sets the ResourceArn field's value.
24374func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
24375	s.ResourceArn = &v
24376	return s
24377}
24378
24379// SetResourceName sets the ResourceName field's value.
24380func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput {
24381	s.ResourceName = &v
24382	return s
24383}
24384
24385// SetTagKeys sets the TagKeys field's value.
24386func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
24387	s.TagKeys = v
24388	return s
24389}
24390
24391type UntagResourceOutput struct {
24392	_ struct{} `type:"structure"`
24393
24394	// A list of objects describing the API operation.
24395	Operations []*Operation `locationName:"operations" type:"list"`
24396}
24397
24398// String returns the string representation
24399func (s UntagResourceOutput) String() string {
24400	return awsutil.Prettify(s)
24401}
24402
24403// GoString returns the string representation
24404func (s UntagResourceOutput) GoString() string {
24405	return s.String()
24406}
24407
24408// SetOperations sets the Operations field's value.
24409func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput {
24410	s.Operations = v
24411	return s
24412}
24413
24414type UpdateDomainEntryInput struct {
24415	_ struct{} `type:"structure"`
24416
24417	// An array of key-value pairs containing information about the domain entry.
24418	//
24419	// DomainEntry is a required field
24420	DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"`
24421
24422	// The name of the domain recordset to update.
24423	//
24424	// DomainName is a required field
24425	DomainName *string `locationName:"domainName" type:"string" required:"true"`
24426}
24427
24428// String returns the string representation
24429func (s UpdateDomainEntryInput) String() string {
24430	return awsutil.Prettify(s)
24431}
24432
24433// GoString returns the string representation
24434func (s UpdateDomainEntryInput) GoString() string {
24435	return s.String()
24436}
24437
24438// Validate inspects the fields of the type to determine if they are valid.
24439func (s *UpdateDomainEntryInput) Validate() error {
24440	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainEntryInput"}
24441	if s.DomainEntry == nil {
24442		invalidParams.Add(request.NewErrParamRequired("DomainEntry"))
24443	}
24444	if s.DomainName == nil {
24445		invalidParams.Add(request.NewErrParamRequired("DomainName"))
24446	}
24447
24448	if invalidParams.Len() > 0 {
24449		return invalidParams
24450	}
24451	return nil
24452}
24453
24454// SetDomainEntry sets the DomainEntry field's value.
24455func (s *UpdateDomainEntryInput) SetDomainEntry(v *DomainEntry) *UpdateDomainEntryInput {
24456	s.DomainEntry = v
24457	return s
24458}
24459
24460// SetDomainName sets the DomainName field's value.
24461func (s *UpdateDomainEntryInput) SetDomainName(v string) *UpdateDomainEntryInput {
24462	s.DomainName = &v
24463	return s
24464}
24465
24466type UpdateDomainEntryOutput struct {
24467	_ struct{} `type:"structure"`
24468
24469	// An array of key-value pairs containing information about the request operation.
24470	Operations []*Operation `locationName:"operations" type:"list"`
24471}
24472
24473// String returns the string representation
24474func (s UpdateDomainEntryOutput) String() string {
24475	return awsutil.Prettify(s)
24476}
24477
24478// GoString returns the string representation
24479func (s UpdateDomainEntryOutput) GoString() string {
24480	return s.String()
24481}
24482
24483// SetOperations sets the Operations field's value.
24484func (s *UpdateDomainEntryOutput) SetOperations(v []*Operation) *UpdateDomainEntryOutput {
24485	s.Operations = v
24486	return s
24487}
24488
24489type UpdateLoadBalancerAttributeInput struct {
24490	_ struct{} `type:"structure"`
24491
24492	// The name of the attribute you want to update. Valid values are below.
24493	//
24494	// AttributeName is a required field
24495	AttributeName *string `locationName:"attributeName" type:"string" required:"true" enum:"LoadBalancerAttributeName"`
24496
24497	// The value that you want to specify for the attribute name.
24498	//
24499	// AttributeValue is a required field
24500	AttributeValue *string `locationName:"attributeValue" min:"1" type:"string" required:"true"`
24501
24502	// The name of the load balancer that you want to modify (e.g., my-load-balancer.
24503	//
24504	// LoadBalancerName is a required field
24505	LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"`
24506}
24507
24508// String returns the string representation
24509func (s UpdateLoadBalancerAttributeInput) String() string {
24510	return awsutil.Prettify(s)
24511}
24512
24513// GoString returns the string representation
24514func (s UpdateLoadBalancerAttributeInput) GoString() string {
24515	return s.String()
24516}
24517
24518// Validate inspects the fields of the type to determine if they are valid.
24519func (s *UpdateLoadBalancerAttributeInput) Validate() error {
24520	invalidParams := request.ErrInvalidParams{Context: "UpdateLoadBalancerAttributeInput"}
24521	if s.AttributeName == nil {
24522		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
24523	}
24524	if s.AttributeValue == nil {
24525		invalidParams.Add(request.NewErrParamRequired("AttributeValue"))
24526	}
24527	if s.AttributeValue != nil && len(*s.AttributeValue) < 1 {
24528		invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1))
24529	}
24530	if s.LoadBalancerName == nil {
24531		invalidParams.Add(request.NewErrParamRequired("LoadBalancerName"))
24532	}
24533
24534	if invalidParams.Len() > 0 {
24535		return invalidParams
24536	}
24537	return nil
24538}
24539
24540// SetAttributeName sets the AttributeName field's value.
24541func (s *UpdateLoadBalancerAttributeInput) SetAttributeName(v string) *UpdateLoadBalancerAttributeInput {
24542	s.AttributeName = &v
24543	return s
24544}
24545
24546// SetAttributeValue sets the AttributeValue field's value.
24547func (s *UpdateLoadBalancerAttributeInput) SetAttributeValue(v string) *UpdateLoadBalancerAttributeInput {
24548	s.AttributeValue = &v
24549	return s
24550}
24551
24552// SetLoadBalancerName sets the LoadBalancerName field's value.
24553func (s *UpdateLoadBalancerAttributeInput) SetLoadBalancerName(v string) *UpdateLoadBalancerAttributeInput {
24554	s.LoadBalancerName = &v
24555	return s
24556}
24557
24558type UpdateLoadBalancerAttributeOutput struct {
24559	_ struct{} `type:"structure"`
24560
24561	// An object describing the API operations.
24562	Operations []*Operation `locationName:"operations" type:"list"`
24563}
24564
24565// String returns the string representation
24566func (s UpdateLoadBalancerAttributeOutput) String() string {
24567	return awsutil.Prettify(s)
24568}
24569
24570// GoString returns the string representation
24571func (s UpdateLoadBalancerAttributeOutput) GoString() string {
24572	return s.String()
24573}
24574
24575// SetOperations sets the Operations field's value.
24576func (s *UpdateLoadBalancerAttributeOutput) SetOperations(v []*Operation) *UpdateLoadBalancerAttributeOutput {
24577	s.Operations = v
24578	return s
24579}
24580
24581type UpdateRelationalDatabaseInput struct {
24582	_ struct{} `type:"structure"`
24583
24584	// When true, applies changes immediately. When false, applies changes during
24585	// the preferred maintenance window. Some changes may cause an outage.
24586	//
24587	// Default: false
24588	ApplyImmediately *bool `locationName:"applyImmediately" type:"boolean"`
24589
24590	// Indicates the certificate that needs to be associated with the database.
24591	CaCertificateIdentifier *string `locationName:"caCertificateIdentifier" type:"string"`
24592
24593	// When true, disables automated backup retention for your database.
24594	//
24595	// Disabling backup retention deletes all automated database backups. Before
24596	// disabling this, you may want to create a snapshot of your database using
24597	// the create relational database snapshot operation.
24598	//
24599	// Updates are applied during the next maintenance window because this can result
24600	// in an outage.
24601	DisableBackupRetention *bool `locationName:"disableBackupRetention" type:"boolean"`
24602
24603	// When true, enables automated backup retention for your database.
24604	//
24605	// Updates are applied during the next maintenance window because this can result
24606	// in an outage.
24607	EnableBackupRetention *bool `locationName:"enableBackupRetention" type:"boolean"`
24608
24609	// The password for the master user of your database. The password can include
24610	// any printable ASCII character except "/", """, or "@".
24611	//
24612	// Constraints: Must contain 8 to 41 characters.
24613	MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"`
24614
24615	// The daily time range during which automated backups are created for your
24616	// database if automated backups are enabled.
24617	//
24618	// Constraints:
24619	//
24620	//    * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30
24621	//
24622	//    * Specified in Coordinated Universal Time (UTC).
24623	//
24624	//    * Must not conflict with the preferred maintenance window.
24625	//
24626	//    * Must be at least 30 minutes.
24627	PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"`
24628
24629	// The weekly time range during which system maintenance can occur on your database.
24630	//
24631	// The default is a 30-minute window selected at random from an 8-hour block
24632	// of time for each AWS Region, occurring on a random day of the week.
24633	//
24634	// Constraints:
24635	//
24636	//    * Must be in the ddd:hh24:mi-ddd:hh24:mi format.
24637	//
24638	//    * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
24639	//
24640	//    * Must be at least 30 minutes.
24641	//
24642	//    * Specified in Coordinated Universal Time (UTC).
24643	//
24644	//    * Example: Tue:17:00-Tue:17:30
24645	PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"`
24646
24647	// Specifies the accessibility options for your database. A value of true specifies
24648	// a database that is available to resources outside of your Lightsail account.
24649	// A value of false specifies a database that is available only to your Lightsail
24650	// resources in the same region as your database.
24651	PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"`
24652
24653	// The name of your database to update.
24654	//
24655	// RelationalDatabaseName is a required field
24656	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24657
24658	// When true, the master user password is changed to a new strong password generated
24659	// by Lightsail.
24660	//
24661	// Use the get relational database master user password operation to get the
24662	// new password.
24663	RotateMasterUserPassword *bool `locationName:"rotateMasterUserPassword" type:"boolean"`
24664}
24665
24666// String returns the string representation
24667func (s UpdateRelationalDatabaseInput) String() string {
24668	return awsutil.Prettify(s)
24669}
24670
24671// GoString returns the string representation
24672func (s UpdateRelationalDatabaseInput) GoString() string {
24673	return s.String()
24674}
24675
24676// Validate inspects the fields of the type to determine if they are valid.
24677func (s *UpdateRelationalDatabaseInput) Validate() error {
24678	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseInput"}
24679	if s.RelationalDatabaseName == nil {
24680		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24681	}
24682
24683	if invalidParams.Len() > 0 {
24684		return invalidParams
24685	}
24686	return nil
24687}
24688
24689// SetApplyImmediately sets the ApplyImmediately field's value.
24690func (s *UpdateRelationalDatabaseInput) SetApplyImmediately(v bool) *UpdateRelationalDatabaseInput {
24691	s.ApplyImmediately = &v
24692	return s
24693}
24694
24695// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
24696func (s *UpdateRelationalDatabaseInput) SetCaCertificateIdentifier(v string) *UpdateRelationalDatabaseInput {
24697	s.CaCertificateIdentifier = &v
24698	return s
24699}
24700
24701// SetDisableBackupRetention sets the DisableBackupRetention field's value.
24702func (s *UpdateRelationalDatabaseInput) SetDisableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
24703	s.DisableBackupRetention = &v
24704	return s
24705}
24706
24707// SetEnableBackupRetention sets the EnableBackupRetention field's value.
24708func (s *UpdateRelationalDatabaseInput) SetEnableBackupRetention(v bool) *UpdateRelationalDatabaseInput {
24709	s.EnableBackupRetention = &v
24710	return s
24711}
24712
24713// SetMasterUserPassword sets the MasterUserPassword field's value.
24714func (s *UpdateRelationalDatabaseInput) SetMasterUserPassword(v string) *UpdateRelationalDatabaseInput {
24715	s.MasterUserPassword = &v
24716	return s
24717}
24718
24719// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
24720func (s *UpdateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *UpdateRelationalDatabaseInput {
24721	s.PreferredBackupWindow = &v
24722	return s
24723}
24724
24725// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
24726func (s *UpdateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *UpdateRelationalDatabaseInput {
24727	s.PreferredMaintenanceWindow = &v
24728	return s
24729}
24730
24731// SetPubliclyAccessible sets the PubliclyAccessible field's value.
24732func (s *UpdateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *UpdateRelationalDatabaseInput {
24733	s.PubliclyAccessible = &v
24734	return s
24735}
24736
24737// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24738func (s *UpdateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseInput {
24739	s.RelationalDatabaseName = &v
24740	return s
24741}
24742
24743// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
24744func (s *UpdateRelationalDatabaseInput) SetRotateMasterUserPassword(v bool) *UpdateRelationalDatabaseInput {
24745	s.RotateMasterUserPassword = &v
24746	return s
24747}
24748
24749type UpdateRelationalDatabaseOutput struct {
24750	_ struct{} `type:"structure"`
24751
24752	// An object describing the result of your update relational database request.
24753	Operations []*Operation `locationName:"operations" type:"list"`
24754}
24755
24756// String returns the string representation
24757func (s UpdateRelationalDatabaseOutput) String() string {
24758	return awsutil.Prettify(s)
24759}
24760
24761// GoString returns the string representation
24762func (s UpdateRelationalDatabaseOutput) GoString() string {
24763	return s.String()
24764}
24765
24766// SetOperations sets the Operations field's value.
24767func (s *UpdateRelationalDatabaseOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseOutput {
24768	s.Operations = v
24769	return s
24770}
24771
24772type UpdateRelationalDatabaseParametersInput struct {
24773	_ struct{} `type:"structure"`
24774
24775	// The database parameters to update.
24776	//
24777	// Parameters is a required field
24778	Parameters []*RelationalDatabaseParameter `locationName:"parameters" type:"list" required:"true"`
24779
24780	// The name of your database for which to update parameters.
24781	//
24782	// RelationalDatabaseName is a required field
24783	RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"`
24784}
24785
24786// String returns the string representation
24787func (s UpdateRelationalDatabaseParametersInput) String() string {
24788	return awsutil.Prettify(s)
24789}
24790
24791// GoString returns the string representation
24792func (s UpdateRelationalDatabaseParametersInput) GoString() string {
24793	return s.String()
24794}
24795
24796// Validate inspects the fields of the type to determine if they are valid.
24797func (s *UpdateRelationalDatabaseParametersInput) Validate() error {
24798	invalidParams := request.ErrInvalidParams{Context: "UpdateRelationalDatabaseParametersInput"}
24799	if s.Parameters == nil {
24800		invalidParams.Add(request.NewErrParamRequired("Parameters"))
24801	}
24802	if s.RelationalDatabaseName == nil {
24803		invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName"))
24804	}
24805
24806	if invalidParams.Len() > 0 {
24807		return invalidParams
24808	}
24809	return nil
24810}
24811
24812// SetParameters sets the Parameters field's value.
24813func (s *UpdateRelationalDatabaseParametersInput) SetParameters(v []*RelationalDatabaseParameter) *UpdateRelationalDatabaseParametersInput {
24814	s.Parameters = v
24815	return s
24816}
24817
24818// SetRelationalDatabaseName sets the RelationalDatabaseName field's value.
24819func (s *UpdateRelationalDatabaseParametersInput) SetRelationalDatabaseName(v string) *UpdateRelationalDatabaseParametersInput {
24820	s.RelationalDatabaseName = &v
24821	return s
24822}
24823
24824type UpdateRelationalDatabaseParametersOutput struct {
24825	_ struct{} `type:"structure"`
24826
24827	// An object describing the result of your update relational database parameters
24828	// request.
24829	Operations []*Operation `locationName:"operations" type:"list"`
24830}
24831
24832// String returns the string representation
24833func (s UpdateRelationalDatabaseParametersOutput) String() string {
24834	return awsutil.Prettify(s)
24835}
24836
24837// GoString returns the string representation
24838func (s UpdateRelationalDatabaseParametersOutput) GoString() string {
24839	return s.String()
24840}
24841
24842// SetOperations sets the Operations field's value.
24843func (s *UpdateRelationalDatabaseParametersOutput) SetOperations(v []*Operation) *UpdateRelationalDatabaseParametersOutput {
24844	s.Operations = v
24845	return s
24846}
24847
24848const (
24849	// AccessDirectionInbound is a AccessDirection enum value
24850	AccessDirectionInbound = "inbound"
24851
24852	// AccessDirectionOutbound is a AccessDirection enum value
24853	AccessDirectionOutbound = "outbound"
24854)
24855
24856const (
24857	// AddOnTypeAutoSnapshot is a AddOnType enum value
24858	AddOnTypeAutoSnapshot = "AutoSnapshot"
24859)
24860
24861const (
24862	// AutoSnapshotStatusSuccess is a AutoSnapshotStatus enum value
24863	AutoSnapshotStatusSuccess = "Success"
24864
24865	// AutoSnapshotStatusFailed is a AutoSnapshotStatus enum value
24866	AutoSnapshotStatusFailed = "Failed"
24867
24868	// AutoSnapshotStatusInProgress is a AutoSnapshotStatus enum value
24869	AutoSnapshotStatusInProgress = "InProgress"
24870
24871	// AutoSnapshotStatusNotFound is a AutoSnapshotStatus enum value
24872	AutoSnapshotStatusNotFound = "NotFound"
24873)
24874
24875const (
24876	// BlueprintTypeOs is a BlueprintType enum value
24877	BlueprintTypeOs = "os"
24878
24879	// BlueprintTypeApp is a BlueprintType enum value
24880	BlueprintTypeApp = "app"
24881)
24882
24883const (
24884	// CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value
24885	CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
24886)
24887
24888const (
24889	// DiskSnapshotStatePending is a DiskSnapshotState enum value
24890	DiskSnapshotStatePending = "pending"
24891
24892	// DiskSnapshotStateCompleted is a DiskSnapshotState enum value
24893	DiskSnapshotStateCompleted = "completed"
24894
24895	// DiskSnapshotStateError is a DiskSnapshotState enum value
24896	DiskSnapshotStateError = "error"
24897
24898	// DiskSnapshotStateUnknown is a DiskSnapshotState enum value
24899	DiskSnapshotStateUnknown = "unknown"
24900)
24901
24902const (
24903	// DiskStatePending is a DiskState enum value
24904	DiskStatePending = "pending"
24905
24906	// DiskStateError is a DiskState enum value
24907	DiskStateError = "error"
24908
24909	// DiskStateAvailable is a DiskState enum value
24910	DiskStateAvailable = "available"
24911
24912	// DiskStateInUse is a DiskState enum value
24913	DiskStateInUse = "in-use"
24914
24915	// DiskStateUnknown is a DiskState enum value
24916	DiskStateUnknown = "unknown"
24917)
24918
24919const (
24920	// ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value
24921	ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot"
24922
24923	// ExportSnapshotRecordSourceTypeDiskSnapshot is a ExportSnapshotRecordSourceType enum value
24924	ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot"
24925)
24926
24927const (
24928	// InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value
24929	InstanceAccessProtocolSsh = "ssh"
24930
24931	// InstanceAccessProtocolRdp is a InstanceAccessProtocol enum value
24932	InstanceAccessProtocolRdp = "rdp"
24933)
24934
24935const (
24936	// InstanceHealthReasonLbRegistrationInProgress is a InstanceHealthReason enum value
24937	InstanceHealthReasonLbRegistrationInProgress = "Lb.RegistrationInProgress"
24938
24939	// InstanceHealthReasonLbInitialHealthChecking is a InstanceHealthReason enum value
24940	InstanceHealthReasonLbInitialHealthChecking = "Lb.InitialHealthChecking"
24941
24942	// InstanceHealthReasonLbInternalError is a InstanceHealthReason enum value
24943	InstanceHealthReasonLbInternalError = "Lb.InternalError"
24944
24945	// InstanceHealthReasonInstanceResponseCodeMismatch is a InstanceHealthReason enum value
24946	InstanceHealthReasonInstanceResponseCodeMismatch = "Instance.ResponseCodeMismatch"
24947
24948	// InstanceHealthReasonInstanceTimeout is a InstanceHealthReason enum value
24949	InstanceHealthReasonInstanceTimeout = "Instance.Timeout"
24950
24951	// InstanceHealthReasonInstanceFailedHealthChecks is a InstanceHealthReason enum value
24952	InstanceHealthReasonInstanceFailedHealthChecks = "Instance.FailedHealthChecks"
24953
24954	// InstanceHealthReasonInstanceNotRegistered is a InstanceHealthReason enum value
24955	InstanceHealthReasonInstanceNotRegistered = "Instance.NotRegistered"
24956
24957	// InstanceHealthReasonInstanceNotInUse is a InstanceHealthReason enum value
24958	InstanceHealthReasonInstanceNotInUse = "Instance.NotInUse"
24959
24960	// InstanceHealthReasonInstanceDeregistrationInProgress is a InstanceHealthReason enum value
24961	InstanceHealthReasonInstanceDeregistrationInProgress = "Instance.DeregistrationInProgress"
24962
24963	// InstanceHealthReasonInstanceInvalidState is a InstanceHealthReason enum value
24964	InstanceHealthReasonInstanceInvalidState = "Instance.InvalidState"
24965
24966	// InstanceHealthReasonInstanceIpUnusable is a InstanceHealthReason enum value
24967	InstanceHealthReasonInstanceIpUnusable = "Instance.IpUnusable"
24968)
24969
24970const (
24971	// InstanceHealthStateInitial is a InstanceHealthState enum value
24972	InstanceHealthStateInitial = "initial"
24973
24974	// InstanceHealthStateHealthy is a InstanceHealthState enum value
24975	InstanceHealthStateHealthy = "healthy"
24976
24977	// InstanceHealthStateUnhealthy is a InstanceHealthState enum value
24978	InstanceHealthStateUnhealthy = "unhealthy"
24979
24980	// InstanceHealthStateUnused is a InstanceHealthState enum value
24981	InstanceHealthStateUnused = "unused"
24982
24983	// InstanceHealthStateDraining is a InstanceHealthState enum value
24984	InstanceHealthStateDraining = "draining"
24985
24986	// InstanceHealthStateUnavailable is a InstanceHealthState enum value
24987	InstanceHealthStateUnavailable = "unavailable"
24988)
24989
24990const (
24991	// InstanceMetricNameCpuutilization is a InstanceMetricName enum value
24992	InstanceMetricNameCpuutilization = "CPUUtilization"
24993
24994	// InstanceMetricNameNetworkIn is a InstanceMetricName enum value
24995	InstanceMetricNameNetworkIn = "NetworkIn"
24996
24997	// InstanceMetricNameNetworkOut is a InstanceMetricName enum value
24998	InstanceMetricNameNetworkOut = "NetworkOut"
24999
25000	// InstanceMetricNameStatusCheckFailed is a InstanceMetricName enum value
25001	InstanceMetricNameStatusCheckFailed = "StatusCheckFailed"
25002
25003	// InstanceMetricNameStatusCheckFailedInstance is a InstanceMetricName enum value
25004	InstanceMetricNameStatusCheckFailedInstance = "StatusCheckFailed_Instance"
25005
25006	// InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value
25007	InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System"
25008)
25009
25010const (
25011	// InstancePlatformLinuxUnix is a InstancePlatform enum value
25012	InstancePlatformLinuxUnix = "LINUX_UNIX"
25013
25014	// InstancePlatformWindows is a InstancePlatform enum value
25015	InstancePlatformWindows = "WINDOWS"
25016)
25017
25018const (
25019	// InstanceSnapshotStatePending is a InstanceSnapshotState enum value
25020	InstanceSnapshotStatePending = "pending"
25021
25022	// InstanceSnapshotStateError is a InstanceSnapshotState enum value
25023	InstanceSnapshotStateError = "error"
25024
25025	// InstanceSnapshotStateAvailable is a InstanceSnapshotState enum value
25026	InstanceSnapshotStateAvailable = "available"
25027)
25028
25029const (
25030	// LoadBalancerAttributeNameHealthCheckPath is a LoadBalancerAttributeName enum value
25031	LoadBalancerAttributeNameHealthCheckPath = "HealthCheckPath"
25032
25033	// LoadBalancerAttributeNameSessionStickinessEnabled is a LoadBalancerAttributeName enum value
25034	LoadBalancerAttributeNameSessionStickinessEnabled = "SessionStickinessEnabled"
25035
25036	// LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds is a LoadBalancerAttributeName enum value
25037	LoadBalancerAttributeNameSessionStickinessLbCookieDurationSeconds = "SessionStickiness_LB_CookieDurationSeconds"
25038)
25039
25040const (
25041	// LoadBalancerMetricNameClientTlsnegotiationErrorCount is a LoadBalancerMetricName enum value
25042	LoadBalancerMetricNameClientTlsnegotiationErrorCount = "ClientTLSNegotiationErrorCount"
25043
25044	// LoadBalancerMetricNameHealthyHostCount is a LoadBalancerMetricName enum value
25045	LoadBalancerMetricNameHealthyHostCount = "HealthyHostCount"
25046
25047	// LoadBalancerMetricNameUnhealthyHostCount is a LoadBalancerMetricName enum value
25048	LoadBalancerMetricNameUnhealthyHostCount = "UnhealthyHostCount"
25049
25050	// LoadBalancerMetricNameHttpcodeLb4xxCount is a LoadBalancerMetricName enum value
25051	LoadBalancerMetricNameHttpcodeLb4xxCount = "HTTPCode_LB_4XX_Count"
25052
25053	// LoadBalancerMetricNameHttpcodeLb5xxCount is a LoadBalancerMetricName enum value
25054	LoadBalancerMetricNameHttpcodeLb5xxCount = "HTTPCode_LB_5XX_Count"
25055
25056	// LoadBalancerMetricNameHttpcodeInstance2xxCount is a LoadBalancerMetricName enum value
25057	LoadBalancerMetricNameHttpcodeInstance2xxCount = "HTTPCode_Instance_2XX_Count"
25058
25059	// LoadBalancerMetricNameHttpcodeInstance3xxCount is a LoadBalancerMetricName enum value
25060	LoadBalancerMetricNameHttpcodeInstance3xxCount = "HTTPCode_Instance_3XX_Count"
25061
25062	// LoadBalancerMetricNameHttpcodeInstance4xxCount is a LoadBalancerMetricName enum value
25063	LoadBalancerMetricNameHttpcodeInstance4xxCount = "HTTPCode_Instance_4XX_Count"
25064
25065	// LoadBalancerMetricNameHttpcodeInstance5xxCount is a LoadBalancerMetricName enum value
25066	LoadBalancerMetricNameHttpcodeInstance5xxCount = "HTTPCode_Instance_5XX_Count"
25067
25068	// LoadBalancerMetricNameInstanceResponseTime is a LoadBalancerMetricName enum value
25069	LoadBalancerMetricNameInstanceResponseTime = "InstanceResponseTime"
25070
25071	// LoadBalancerMetricNameRejectedConnectionCount is a LoadBalancerMetricName enum value
25072	LoadBalancerMetricNameRejectedConnectionCount = "RejectedConnectionCount"
25073
25074	// LoadBalancerMetricNameRequestCount is a LoadBalancerMetricName enum value
25075	LoadBalancerMetricNameRequestCount = "RequestCount"
25076)
25077
25078const (
25079	// LoadBalancerProtocolHttpHttps is a LoadBalancerProtocol enum value
25080	LoadBalancerProtocolHttpHttps = "HTTP_HTTPS"
25081
25082	// LoadBalancerProtocolHttp is a LoadBalancerProtocol enum value
25083	LoadBalancerProtocolHttp = "HTTP"
25084)
25085
25086const (
25087	// LoadBalancerStateActive is a LoadBalancerState enum value
25088	LoadBalancerStateActive = "active"
25089
25090	// LoadBalancerStateProvisioning is a LoadBalancerState enum value
25091	LoadBalancerStateProvisioning = "provisioning"
25092
25093	// LoadBalancerStateActiveImpaired is a LoadBalancerState enum value
25094	LoadBalancerStateActiveImpaired = "active_impaired"
25095
25096	// LoadBalancerStateFailed is a LoadBalancerState enum value
25097	LoadBalancerStateFailed = "failed"
25098
25099	// LoadBalancerStateUnknown is a LoadBalancerState enum value
25100	LoadBalancerStateUnknown = "unknown"
25101)
25102
25103const (
25104	// LoadBalancerTlsCertificateDomainStatusPendingValidation is a LoadBalancerTlsCertificateDomainStatus enum value
25105	LoadBalancerTlsCertificateDomainStatusPendingValidation = "PENDING_VALIDATION"
25106
25107	// LoadBalancerTlsCertificateDomainStatusFailed is a LoadBalancerTlsCertificateDomainStatus enum value
25108	LoadBalancerTlsCertificateDomainStatusFailed = "FAILED"
25109
25110	// LoadBalancerTlsCertificateDomainStatusSuccess is a LoadBalancerTlsCertificateDomainStatus enum value
25111	LoadBalancerTlsCertificateDomainStatusSuccess = "SUCCESS"
25112)
25113
25114const (
25115	// LoadBalancerTlsCertificateFailureReasonNoAvailableContacts is a LoadBalancerTlsCertificateFailureReason enum value
25116	LoadBalancerTlsCertificateFailureReasonNoAvailableContacts = "NO_AVAILABLE_CONTACTS"
25117
25118	// LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired is a LoadBalancerTlsCertificateFailureReason enum value
25119	LoadBalancerTlsCertificateFailureReasonAdditionalVerificationRequired = "ADDITIONAL_VERIFICATION_REQUIRED"
25120
25121	// LoadBalancerTlsCertificateFailureReasonDomainNotAllowed is a LoadBalancerTlsCertificateFailureReason enum value
25122	LoadBalancerTlsCertificateFailureReasonDomainNotAllowed = "DOMAIN_NOT_ALLOWED"
25123
25124	// LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain is a LoadBalancerTlsCertificateFailureReason enum value
25125	LoadBalancerTlsCertificateFailureReasonInvalidPublicDomain = "INVALID_PUBLIC_DOMAIN"
25126
25127	// LoadBalancerTlsCertificateFailureReasonOther is a LoadBalancerTlsCertificateFailureReason enum value
25128	LoadBalancerTlsCertificateFailureReasonOther = "OTHER"
25129)
25130
25131const (
25132	// LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal is a LoadBalancerTlsCertificateRenewalStatus enum value
25133	LoadBalancerTlsCertificateRenewalStatusPendingAutoRenewal = "PENDING_AUTO_RENEWAL"
25134
25135	// LoadBalancerTlsCertificateRenewalStatusPendingValidation is a LoadBalancerTlsCertificateRenewalStatus enum value
25136	LoadBalancerTlsCertificateRenewalStatusPendingValidation = "PENDING_VALIDATION"
25137
25138	// LoadBalancerTlsCertificateRenewalStatusSuccess is a LoadBalancerTlsCertificateRenewalStatus enum value
25139	LoadBalancerTlsCertificateRenewalStatusSuccess = "SUCCESS"
25140
25141	// LoadBalancerTlsCertificateRenewalStatusFailed is a LoadBalancerTlsCertificateRenewalStatus enum value
25142	LoadBalancerTlsCertificateRenewalStatusFailed = "FAILED"
25143)
25144
25145const (
25146	// LoadBalancerTlsCertificateRevocationReasonUnspecified is a LoadBalancerTlsCertificateRevocationReason enum value
25147	LoadBalancerTlsCertificateRevocationReasonUnspecified = "UNSPECIFIED"
25148
25149	// LoadBalancerTlsCertificateRevocationReasonKeyCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
25150	LoadBalancerTlsCertificateRevocationReasonKeyCompromise = "KEY_COMPROMISE"
25151
25152	// LoadBalancerTlsCertificateRevocationReasonCaCompromise is a LoadBalancerTlsCertificateRevocationReason enum value
25153	LoadBalancerTlsCertificateRevocationReasonCaCompromise = "CA_COMPROMISE"
25154
25155	// LoadBalancerTlsCertificateRevocationReasonAffiliationChanged is a LoadBalancerTlsCertificateRevocationReason enum value
25156	LoadBalancerTlsCertificateRevocationReasonAffiliationChanged = "AFFILIATION_CHANGED"
25157
25158	// LoadBalancerTlsCertificateRevocationReasonSuperceded is a LoadBalancerTlsCertificateRevocationReason enum value
25159	LoadBalancerTlsCertificateRevocationReasonSuperceded = "SUPERCEDED"
25160
25161	// LoadBalancerTlsCertificateRevocationReasonCessationOfOperation is a LoadBalancerTlsCertificateRevocationReason enum value
25162	LoadBalancerTlsCertificateRevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION"
25163
25164	// LoadBalancerTlsCertificateRevocationReasonCertificateHold is a LoadBalancerTlsCertificateRevocationReason enum value
25165	LoadBalancerTlsCertificateRevocationReasonCertificateHold = "CERTIFICATE_HOLD"
25166
25167	// LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl is a LoadBalancerTlsCertificateRevocationReason enum value
25168	LoadBalancerTlsCertificateRevocationReasonRemoveFromCrl = "REMOVE_FROM_CRL"
25169
25170	// LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn is a LoadBalancerTlsCertificateRevocationReason enum value
25171	LoadBalancerTlsCertificateRevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN"
25172
25173	// LoadBalancerTlsCertificateRevocationReasonAACompromise is a LoadBalancerTlsCertificateRevocationReason enum value
25174	LoadBalancerTlsCertificateRevocationReasonAACompromise = "A_A_COMPROMISE"
25175)
25176
25177const (
25178	// LoadBalancerTlsCertificateStatusPendingValidation is a LoadBalancerTlsCertificateStatus enum value
25179	LoadBalancerTlsCertificateStatusPendingValidation = "PENDING_VALIDATION"
25180
25181	// LoadBalancerTlsCertificateStatusIssued is a LoadBalancerTlsCertificateStatus enum value
25182	LoadBalancerTlsCertificateStatusIssued = "ISSUED"
25183
25184	// LoadBalancerTlsCertificateStatusInactive is a LoadBalancerTlsCertificateStatus enum value
25185	LoadBalancerTlsCertificateStatusInactive = "INACTIVE"
25186
25187	// LoadBalancerTlsCertificateStatusExpired is a LoadBalancerTlsCertificateStatus enum value
25188	LoadBalancerTlsCertificateStatusExpired = "EXPIRED"
25189
25190	// LoadBalancerTlsCertificateStatusValidationTimedOut is a LoadBalancerTlsCertificateStatus enum value
25191	LoadBalancerTlsCertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT"
25192
25193	// LoadBalancerTlsCertificateStatusRevoked is a LoadBalancerTlsCertificateStatus enum value
25194	LoadBalancerTlsCertificateStatusRevoked = "REVOKED"
25195
25196	// LoadBalancerTlsCertificateStatusFailed is a LoadBalancerTlsCertificateStatus enum value
25197	LoadBalancerTlsCertificateStatusFailed = "FAILED"
25198
25199	// LoadBalancerTlsCertificateStatusUnknown is a LoadBalancerTlsCertificateStatus enum value
25200	LoadBalancerTlsCertificateStatusUnknown = "UNKNOWN"
25201)
25202
25203const (
25204	// MetricStatisticMinimum is a MetricStatistic enum value
25205	MetricStatisticMinimum = "Minimum"
25206
25207	// MetricStatisticMaximum is a MetricStatistic enum value
25208	MetricStatisticMaximum = "Maximum"
25209
25210	// MetricStatisticSum is a MetricStatistic enum value
25211	MetricStatisticSum = "Sum"
25212
25213	// MetricStatisticAverage is a MetricStatistic enum value
25214	MetricStatisticAverage = "Average"
25215
25216	// MetricStatisticSampleCount is a MetricStatistic enum value
25217	MetricStatisticSampleCount = "SampleCount"
25218)
25219
25220const (
25221	// MetricUnitSeconds is a MetricUnit enum value
25222	MetricUnitSeconds = "Seconds"
25223
25224	// MetricUnitMicroseconds is a MetricUnit enum value
25225	MetricUnitMicroseconds = "Microseconds"
25226
25227	// MetricUnitMilliseconds is a MetricUnit enum value
25228	MetricUnitMilliseconds = "Milliseconds"
25229
25230	// MetricUnitBytes is a MetricUnit enum value
25231	MetricUnitBytes = "Bytes"
25232
25233	// MetricUnitKilobytes is a MetricUnit enum value
25234	MetricUnitKilobytes = "Kilobytes"
25235
25236	// MetricUnitMegabytes is a MetricUnit enum value
25237	MetricUnitMegabytes = "Megabytes"
25238
25239	// MetricUnitGigabytes is a MetricUnit enum value
25240	MetricUnitGigabytes = "Gigabytes"
25241
25242	// MetricUnitTerabytes is a MetricUnit enum value
25243	MetricUnitTerabytes = "Terabytes"
25244
25245	// MetricUnitBits is a MetricUnit enum value
25246	MetricUnitBits = "Bits"
25247
25248	// MetricUnitKilobits is a MetricUnit enum value
25249	MetricUnitKilobits = "Kilobits"
25250
25251	// MetricUnitMegabits is a MetricUnit enum value
25252	MetricUnitMegabits = "Megabits"
25253
25254	// MetricUnitGigabits is a MetricUnit enum value
25255	MetricUnitGigabits = "Gigabits"
25256
25257	// MetricUnitTerabits is a MetricUnit enum value
25258	MetricUnitTerabits = "Terabits"
25259
25260	// MetricUnitPercent is a MetricUnit enum value
25261	MetricUnitPercent = "Percent"
25262
25263	// MetricUnitCount is a MetricUnit enum value
25264	MetricUnitCount = "Count"
25265
25266	// MetricUnitBytesSecond is a MetricUnit enum value
25267	MetricUnitBytesSecond = "Bytes/Second"
25268
25269	// MetricUnitKilobytesSecond is a MetricUnit enum value
25270	MetricUnitKilobytesSecond = "Kilobytes/Second"
25271
25272	// MetricUnitMegabytesSecond is a MetricUnit enum value
25273	MetricUnitMegabytesSecond = "Megabytes/Second"
25274
25275	// MetricUnitGigabytesSecond is a MetricUnit enum value
25276	MetricUnitGigabytesSecond = "Gigabytes/Second"
25277
25278	// MetricUnitTerabytesSecond is a MetricUnit enum value
25279	MetricUnitTerabytesSecond = "Terabytes/Second"
25280
25281	// MetricUnitBitsSecond is a MetricUnit enum value
25282	MetricUnitBitsSecond = "Bits/Second"
25283
25284	// MetricUnitKilobitsSecond is a MetricUnit enum value
25285	MetricUnitKilobitsSecond = "Kilobits/Second"
25286
25287	// MetricUnitMegabitsSecond is a MetricUnit enum value
25288	MetricUnitMegabitsSecond = "Megabits/Second"
25289
25290	// MetricUnitGigabitsSecond is a MetricUnit enum value
25291	MetricUnitGigabitsSecond = "Gigabits/Second"
25292
25293	// MetricUnitTerabitsSecond is a MetricUnit enum value
25294	MetricUnitTerabitsSecond = "Terabits/Second"
25295
25296	// MetricUnitCountSecond is a MetricUnit enum value
25297	MetricUnitCountSecond = "Count/Second"
25298
25299	// MetricUnitNone is a MetricUnit enum value
25300	MetricUnitNone = "None"
25301)
25302
25303const (
25304	// NetworkProtocolTcp is a NetworkProtocol enum value
25305	NetworkProtocolTcp = "tcp"
25306
25307	// NetworkProtocolAll is a NetworkProtocol enum value
25308	NetworkProtocolAll = "all"
25309
25310	// NetworkProtocolUdp is a NetworkProtocol enum value
25311	NetworkProtocolUdp = "udp"
25312)
25313
25314const (
25315	// OperationStatusNotStarted is a OperationStatus enum value
25316	OperationStatusNotStarted = "NotStarted"
25317
25318	// OperationStatusStarted is a OperationStatus enum value
25319	OperationStatusStarted = "Started"
25320
25321	// OperationStatusFailed is a OperationStatus enum value
25322	OperationStatusFailed = "Failed"
25323
25324	// OperationStatusCompleted is a OperationStatus enum value
25325	OperationStatusCompleted = "Completed"
25326
25327	// OperationStatusSucceeded is a OperationStatus enum value
25328	OperationStatusSucceeded = "Succeeded"
25329)
25330
25331const (
25332	// OperationTypeDeleteKnownHostKeys is a OperationType enum value
25333	OperationTypeDeleteKnownHostKeys = "DeleteKnownHostKeys"
25334
25335	// OperationTypeDeleteInstance is a OperationType enum value
25336	OperationTypeDeleteInstance = "DeleteInstance"
25337
25338	// OperationTypeCreateInstance is a OperationType enum value
25339	OperationTypeCreateInstance = "CreateInstance"
25340
25341	// OperationTypeStopInstance is a OperationType enum value
25342	OperationTypeStopInstance = "StopInstance"
25343
25344	// OperationTypeStartInstance is a OperationType enum value
25345	OperationTypeStartInstance = "StartInstance"
25346
25347	// OperationTypeRebootInstance is a OperationType enum value
25348	OperationTypeRebootInstance = "RebootInstance"
25349
25350	// OperationTypeOpenInstancePublicPorts is a OperationType enum value
25351	OperationTypeOpenInstancePublicPorts = "OpenInstancePublicPorts"
25352
25353	// OperationTypePutInstancePublicPorts is a OperationType enum value
25354	OperationTypePutInstancePublicPorts = "PutInstancePublicPorts"
25355
25356	// OperationTypeCloseInstancePublicPorts is a OperationType enum value
25357	OperationTypeCloseInstancePublicPorts = "CloseInstancePublicPorts"
25358
25359	// OperationTypeAllocateStaticIp is a OperationType enum value
25360	OperationTypeAllocateStaticIp = "AllocateStaticIp"
25361
25362	// OperationTypeReleaseStaticIp is a OperationType enum value
25363	OperationTypeReleaseStaticIp = "ReleaseStaticIp"
25364
25365	// OperationTypeAttachStaticIp is a OperationType enum value
25366	OperationTypeAttachStaticIp = "AttachStaticIp"
25367
25368	// OperationTypeDetachStaticIp is a OperationType enum value
25369	OperationTypeDetachStaticIp = "DetachStaticIp"
25370
25371	// OperationTypeUpdateDomainEntry is a OperationType enum value
25372	OperationTypeUpdateDomainEntry = "UpdateDomainEntry"
25373
25374	// OperationTypeDeleteDomainEntry is a OperationType enum value
25375	OperationTypeDeleteDomainEntry = "DeleteDomainEntry"
25376
25377	// OperationTypeCreateDomain is a OperationType enum value
25378	OperationTypeCreateDomain = "CreateDomain"
25379
25380	// OperationTypeDeleteDomain is a OperationType enum value
25381	OperationTypeDeleteDomain = "DeleteDomain"
25382
25383	// OperationTypeCreateInstanceSnapshot is a OperationType enum value
25384	OperationTypeCreateInstanceSnapshot = "CreateInstanceSnapshot"
25385
25386	// OperationTypeDeleteInstanceSnapshot is a OperationType enum value
25387	OperationTypeDeleteInstanceSnapshot = "DeleteInstanceSnapshot"
25388
25389	// OperationTypeCreateInstancesFromSnapshot is a OperationType enum value
25390	OperationTypeCreateInstancesFromSnapshot = "CreateInstancesFromSnapshot"
25391
25392	// OperationTypeCreateLoadBalancer is a OperationType enum value
25393	OperationTypeCreateLoadBalancer = "CreateLoadBalancer"
25394
25395	// OperationTypeDeleteLoadBalancer is a OperationType enum value
25396	OperationTypeDeleteLoadBalancer = "DeleteLoadBalancer"
25397
25398	// OperationTypeAttachInstancesToLoadBalancer is a OperationType enum value
25399	OperationTypeAttachInstancesToLoadBalancer = "AttachInstancesToLoadBalancer"
25400
25401	// OperationTypeDetachInstancesFromLoadBalancer is a OperationType enum value
25402	OperationTypeDetachInstancesFromLoadBalancer = "DetachInstancesFromLoadBalancer"
25403
25404	// OperationTypeUpdateLoadBalancerAttribute is a OperationType enum value
25405	OperationTypeUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute"
25406
25407	// OperationTypeCreateLoadBalancerTlsCertificate is a OperationType enum value
25408	OperationTypeCreateLoadBalancerTlsCertificate = "CreateLoadBalancerTlsCertificate"
25409
25410	// OperationTypeDeleteLoadBalancerTlsCertificate is a OperationType enum value
25411	OperationTypeDeleteLoadBalancerTlsCertificate = "DeleteLoadBalancerTlsCertificate"
25412
25413	// OperationTypeAttachLoadBalancerTlsCertificate is a OperationType enum value
25414	OperationTypeAttachLoadBalancerTlsCertificate = "AttachLoadBalancerTlsCertificate"
25415
25416	// OperationTypeCreateDisk is a OperationType enum value
25417	OperationTypeCreateDisk = "CreateDisk"
25418
25419	// OperationTypeDeleteDisk is a OperationType enum value
25420	OperationTypeDeleteDisk = "DeleteDisk"
25421
25422	// OperationTypeAttachDisk is a OperationType enum value
25423	OperationTypeAttachDisk = "AttachDisk"
25424
25425	// OperationTypeDetachDisk is a OperationType enum value
25426	OperationTypeDetachDisk = "DetachDisk"
25427
25428	// OperationTypeCreateDiskSnapshot is a OperationType enum value
25429	OperationTypeCreateDiskSnapshot = "CreateDiskSnapshot"
25430
25431	// OperationTypeDeleteDiskSnapshot is a OperationType enum value
25432	OperationTypeDeleteDiskSnapshot = "DeleteDiskSnapshot"
25433
25434	// OperationTypeCreateDiskFromSnapshot is a OperationType enum value
25435	OperationTypeCreateDiskFromSnapshot = "CreateDiskFromSnapshot"
25436
25437	// OperationTypeCreateRelationalDatabase is a OperationType enum value
25438	OperationTypeCreateRelationalDatabase = "CreateRelationalDatabase"
25439
25440	// OperationTypeUpdateRelationalDatabase is a OperationType enum value
25441	OperationTypeUpdateRelationalDatabase = "UpdateRelationalDatabase"
25442
25443	// OperationTypeDeleteRelationalDatabase is a OperationType enum value
25444	OperationTypeDeleteRelationalDatabase = "DeleteRelationalDatabase"
25445
25446	// OperationTypeCreateRelationalDatabaseFromSnapshot is a OperationType enum value
25447	OperationTypeCreateRelationalDatabaseFromSnapshot = "CreateRelationalDatabaseFromSnapshot"
25448
25449	// OperationTypeCreateRelationalDatabaseSnapshot is a OperationType enum value
25450	OperationTypeCreateRelationalDatabaseSnapshot = "CreateRelationalDatabaseSnapshot"
25451
25452	// OperationTypeDeleteRelationalDatabaseSnapshot is a OperationType enum value
25453	OperationTypeDeleteRelationalDatabaseSnapshot = "DeleteRelationalDatabaseSnapshot"
25454
25455	// OperationTypeUpdateRelationalDatabaseParameters is a OperationType enum value
25456	OperationTypeUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters"
25457
25458	// OperationTypeStartRelationalDatabase is a OperationType enum value
25459	OperationTypeStartRelationalDatabase = "StartRelationalDatabase"
25460
25461	// OperationTypeRebootRelationalDatabase is a OperationType enum value
25462	OperationTypeRebootRelationalDatabase = "RebootRelationalDatabase"
25463
25464	// OperationTypeStopRelationalDatabase is a OperationType enum value
25465	OperationTypeStopRelationalDatabase = "StopRelationalDatabase"
25466
25467	// OperationTypeEnableAddOn is a OperationType enum value
25468	OperationTypeEnableAddOn = "EnableAddOn"
25469
25470	// OperationTypeDisableAddOn is a OperationType enum value
25471	OperationTypeDisableAddOn = "DisableAddOn"
25472)
25473
25474const (
25475	// PortAccessTypePublic is a PortAccessType enum value
25476	PortAccessTypePublic = "Public"
25477
25478	// PortAccessTypePrivate is a PortAccessType enum value
25479	PortAccessTypePrivate = "Private"
25480)
25481
25482const (
25483	// PortInfoSourceTypeDefault is a PortInfoSourceType enum value
25484	PortInfoSourceTypeDefault = "DEFAULT"
25485
25486	// PortInfoSourceTypeInstance is a PortInfoSourceType enum value
25487	PortInfoSourceTypeInstance = "INSTANCE"
25488
25489	// PortInfoSourceTypeNone is a PortInfoSourceType enum value
25490	PortInfoSourceTypeNone = "NONE"
25491
25492	// PortInfoSourceTypeClosed is a PortInfoSourceType enum value
25493	PortInfoSourceTypeClosed = "CLOSED"
25494)
25495
25496const (
25497	// PortStateOpen is a PortState enum value
25498	PortStateOpen = "open"
25499
25500	// PortStateClosed is a PortState enum value
25501	PortStateClosed = "closed"
25502)
25503
25504const (
25505	// RecordStateStarted is a RecordState enum value
25506	RecordStateStarted = "Started"
25507
25508	// RecordStateSucceeded is a RecordState enum value
25509	RecordStateSucceeded = "Succeeded"
25510
25511	// RecordStateFailed is a RecordState enum value
25512	RecordStateFailed = "Failed"
25513)
25514
25515const (
25516	// RegionNameUsEast1 is a RegionName enum value
25517	RegionNameUsEast1 = "us-east-1"
25518
25519	// RegionNameUsEast2 is a RegionName enum value
25520	RegionNameUsEast2 = "us-east-2"
25521
25522	// RegionNameUsWest1 is a RegionName enum value
25523	RegionNameUsWest1 = "us-west-1"
25524
25525	// RegionNameUsWest2 is a RegionName enum value
25526	RegionNameUsWest2 = "us-west-2"
25527
25528	// RegionNameEuWest1 is a RegionName enum value
25529	RegionNameEuWest1 = "eu-west-1"
25530
25531	// RegionNameEuWest2 is a RegionName enum value
25532	RegionNameEuWest2 = "eu-west-2"
25533
25534	// RegionNameEuWest3 is a RegionName enum value
25535	RegionNameEuWest3 = "eu-west-3"
25536
25537	// RegionNameEuCentral1 is a RegionName enum value
25538	RegionNameEuCentral1 = "eu-central-1"
25539
25540	// RegionNameCaCentral1 is a RegionName enum value
25541	RegionNameCaCentral1 = "ca-central-1"
25542
25543	// RegionNameApSouth1 is a RegionName enum value
25544	RegionNameApSouth1 = "ap-south-1"
25545
25546	// RegionNameApSoutheast1 is a RegionName enum value
25547	RegionNameApSoutheast1 = "ap-southeast-1"
25548
25549	// RegionNameApSoutheast2 is a RegionName enum value
25550	RegionNameApSoutheast2 = "ap-southeast-2"
25551
25552	// RegionNameApNortheast1 is a RegionName enum value
25553	RegionNameApNortheast1 = "ap-northeast-1"
25554
25555	// RegionNameApNortheast2 is a RegionName enum value
25556	RegionNameApNortheast2 = "ap-northeast-2"
25557)
25558
25559const (
25560	// RelationalDatabaseEngineMysql is a RelationalDatabaseEngine enum value
25561	RelationalDatabaseEngineMysql = "mysql"
25562)
25563
25564const (
25565	// RelationalDatabaseMetricNameCpuutilization is a RelationalDatabaseMetricName enum value
25566	RelationalDatabaseMetricNameCpuutilization = "CPUUtilization"
25567
25568	// RelationalDatabaseMetricNameDatabaseConnections is a RelationalDatabaseMetricName enum value
25569	RelationalDatabaseMetricNameDatabaseConnections = "DatabaseConnections"
25570
25571	// RelationalDatabaseMetricNameDiskQueueDepth is a RelationalDatabaseMetricName enum value
25572	RelationalDatabaseMetricNameDiskQueueDepth = "DiskQueueDepth"
25573
25574	// RelationalDatabaseMetricNameFreeStorageSpace is a RelationalDatabaseMetricName enum value
25575	RelationalDatabaseMetricNameFreeStorageSpace = "FreeStorageSpace"
25576
25577	// RelationalDatabaseMetricNameNetworkReceiveThroughput is a RelationalDatabaseMetricName enum value
25578	RelationalDatabaseMetricNameNetworkReceiveThroughput = "NetworkReceiveThroughput"
25579
25580	// RelationalDatabaseMetricNameNetworkTransmitThroughput is a RelationalDatabaseMetricName enum value
25581	RelationalDatabaseMetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput"
25582)
25583
25584const (
25585	// RelationalDatabasePasswordVersionCurrent is a RelationalDatabasePasswordVersion enum value
25586	RelationalDatabasePasswordVersionCurrent = "CURRENT"
25587
25588	// RelationalDatabasePasswordVersionPrevious is a RelationalDatabasePasswordVersion enum value
25589	RelationalDatabasePasswordVersionPrevious = "PREVIOUS"
25590
25591	// RelationalDatabasePasswordVersionPending is a RelationalDatabasePasswordVersion enum value
25592	RelationalDatabasePasswordVersionPending = "PENDING"
25593)
25594
25595const (
25596	// ResourceTypeInstance is a ResourceType enum value
25597	ResourceTypeInstance = "Instance"
25598
25599	// ResourceTypeStaticIp is a ResourceType enum value
25600	ResourceTypeStaticIp = "StaticIp"
25601
25602	// ResourceTypeKeyPair is a ResourceType enum value
25603	ResourceTypeKeyPair = "KeyPair"
25604
25605	// ResourceTypeInstanceSnapshot is a ResourceType enum value
25606	ResourceTypeInstanceSnapshot = "InstanceSnapshot"
25607
25608	// ResourceTypeDomain is a ResourceType enum value
25609	ResourceTypeDomain = "Domain"
25610
25611	// ResourceTypePeeredVpc is a ResourceType enum value
25612	ResourceTypePeeredVpc = "PeeredVpc"
25613
25614	// ResourceTypeLoadBalancer is a ResourceType enum value
25615	ResourceTypeLoadBalancer = "LoadBalancer"
25616
25617	// ResourceTypeLoadBalancerTlsCertificate is a ResourceType enum value
25618	ResourceTypeLoadBalancerTlsCertificate = "LoadBalancerTlsCertificate"
25619
25620	// ResourceTypeDisk is a ResourceType enum value
25621	ResourceTypeDisk = "Disk"
25622
25623	// ResourceTypeDiskSnapshot is a ResourceType enum value
25624	ResourceTypeDiskSnapshot = "DiskSnapshot"
25625
25626	// ResourceTypeRelationalDatabase is a ResourceType enum value
25627	ResourceTypeRelationalDatabase = "RelationalDatabase"
25628
25629	// ResourceTypeRelationalDatabaseSnapshot is a ResourceType enum value
25630	ResourceTypeRelationalDatabaseSnapshot = "RelationalDatabaseSnapshot"
25631
25632	// ResourceTypeExportSnapshotRecord is a ResourceType enum value
25633	ResourceTypeExportSnapshotRecord = "ExportSnapshotRecord"
25634
25635	// ResourceTypeCloudFormationStackRecord is a ResourceType enum value
25636	ResourceTypeCloudFormationStackRecord = "CloudFormationStackRecord"
25637)
25638